diff --git a/macx64/mpi/mpich/bin/hydra_nameserver b/macx64/mpi/mpich/bin/hydra_nameserver new file mode 100755 index 00000000..6f86173f Binary files /dev/null and b/macx64/mpi/mpich/bin/hydra_nameserver differ diff --git a/macx64/mpi/mpich/bin/hydra_persist b/macx64/mpi/mpich/bin/hydra_persist new file mode 100755 index 00000000..a137db45 Binary files /dev/null and b/macx64/mpi/mpich/bin/hydra_persist differ diff --git a/macx64/mpi/mpich/bin/hydra_pmi_proxy b/macx64/mpi/mpich/bin/hydra_pmi_proxy new file mode 100755 index 00000000..bb6dd03b Binary files /dev/null and b/macx64/mpi/mpich/bin/hydra_pmi_proxy differ diff --git a/macx64/mpi/mpich/bin/mpicc b/macx64/mpi/mpich/bin/mpicc new file mode 100755 index 00000000..1ddee31b --- /dev/null +++ b/macx64/mpi/mpich/bin/mpicc @@ -0,0 +1,305 @@ +#! /bin/bash +# +# (C) 2006 by Argonne National Laboratory. +# See COPYRIGHT in top-level directory. +# +# mpicc +# Simple script to compile and/or link MPI programs. +# This script knows the default flags and libraries, and can handle +# alternative C compilers and the associated flags and libraries. +# The important terms are: +# includedir, libdir - Directories containing an *installed* mpich +# prefix, execprefix - Often used to define includedir and libdir +# CC - C compiler +# WRAPPER_CFLAGS - Any special flags needed to compile +# WRAPPER_LDFLAGS - Any special flags needed to link +# WRAPPER_LIBS - Any special libraries needed in order to link +# +# We assume that (a) the C compiler can both compile and link programs +# +# Handling of command-line options: +# This is a little tricky because some options may contain blanks. +# +# Special issues with shared libraries - todo +# +# -------------------------------------------------------------------------- +# Set the default values of all variables. +# +# Directory locations: Fixed for any MPI implementation. +# Set from the directory arguments to configure (e.g., --prefix=/usr/local) +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +sysconfdir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/etc +includedir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/include +libdir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib + +# Default settings for compiler, flags, and libraries. +# Determined by a combination of environment variables and tests within +# configure (e.g., determining whehter -lsocket is needee) +CC="gcc" +MPICH_VERSION="3.3.1" + +enable_wrapper_rpath="yes" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Static library suffix (normally "a"). +libext="a" + +# Shared library suffix (normally "so"). +shlibext="dylib" + +# Format of library name prefix. +libname_spec="lib\$name" + +# Library names that the linker finds when passed -lNAME. +library_names_spec="\$libname\$shrext" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="no" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="no" + + +# Internal variables +# Show is set to echo to cause the compilation command to be echoed instead +# of executed. +Show= +# +# End of initialization of variables +#--------------------------------------------------------------------- +# Environment Variables. +# The environment variables MPICH_CC may be used to override the +# default choices. +# In addition, if there is a file $sysconfdir/mpicc-$CCname.conf, +# where CCname is the name of the compiler with all spaces replaced by hyphens +# (e.g., "cc -64" becomes "cc--64", that file is sources, allowing other +# changes to the compilation environment. See the variables used by the +# script (defined above) +# Added MPICH_CC_OLD, MPICH_CC can be used to prefix CC with external utility, +# e.g. setenv MPICH_CC 'eval linkcache $MPICH_CC_OLD' +if [ -n "$MPICH_CC" ] ; then + MPICH_CC_OLD="$CC" + CC="$MPICH_CC" + CCname=`echo $CC | sed 's/ /-/g'` + if [ -s $sysconfdir/mpicc-$CCname.conf ] ; then + . $sysconfdir/mpicc-$CCname.conf + fi +fi +# Allow a profiling option to be selected through an environment variable +if [ -n "$MPICC_PROFILE" ] ; then + profConf=$MPICC_PROFILE +fi +# +# ------------------------------------------------------------------------ +# Argument processing. +# This is somewhat awkward because of the handling of arguments within +# the shell. We want to handle arguments that include spaces without +# loosing the spacing (an alternative would be to use a more powerful +# scripting language that would allow us to retain the array of values, +# which the basic (rather than enhanced) Bourne shell does not. +# +# Look through the arguments for arguments that indicate compile only. +# If these are *not* found, add the library options + +linking=yes +allargs=("$@") +argno=0 +interlib_deps=yes +static_mpi=no +for arg in "$@" ; do + # Set addarg to no if this arg should be ignored by the C compiler + addarg=yes + case "$arg" in + # ---------------------------------------------------------------- + # Compiler options that affect whether we are linking or no + -c|-S|-E|-M|-MM) + # The compiler links by default + linking=no + ;; + # ---------------------------------------------------------------- + # Options that control how we use mpicc (e.g., -show, + # -cc=* -config=* + -static) + interlib_deps=no + ;; + -static-mpi) + interlib_deps=no + static_mpi=yes + addarg=no + ;; + -echo) + addarg=no + set -x + ;; + -cc=*) + CC=`echo A$arg | sed -e 's/A-cc=//g'` + addarg=no + ;; + -show) + addarg=no + Show=echo + ;; + -config=*) + addarg=no + CCname=`echo A$arg | sed -e 's/A-config=//g'` + if [ -s "$sysconfdir/mpicc-$CCname.conf" ] ; then + . "$sysconfdir/mpicc-$CCname.conf" + else + echo "Configuration file mpicc-$CCname.conf not found" + fi + ;; + -compile-info|-compile_info) + # -compile_info included for backward compatibility + Show=echo + addarg=no + ;; + -link-info|-link_info) + # -link_info included for backward compatibility + Show=echo + addarg=no + ;; + -v) + # Pass this argument to the compiler as well. + echo "mpicc for MPICH version $MPICH_VERSION" + # if there is only 1 argument, it must be -v. + if [ "$#" -eq "1" ] ; then + linking=no + fi + ;; + -profile=*) + # Pass the name of a profiling configuration. As + # a special case, lib.so or lib.la may be used + # if the library is in $libdir + profConf=`echo A$arg | sed -e 's/A-profile=//g'` + addarg=no + # Loading the profConf file is handled below + ;; + -nativelinking) + # Internal option to use native compiler for linking without MPI libraries + nativelinking=yes + addarg=no + ;; + -help) + NC=`echo "$CC" | sed 's%\/% %g' | awk '{print $NF}' -` + if [ -f "$sysconfdir/mpixxx_opts.conf" ] ; then + . $sysconfdir/mpixxx_opts.conf + echo " -cc=xxx - Reset the native compiler to xxx." + else + if [ -f "./mpixxx_opts.conf" ] ; then + . ./mpixxx_opts.conf + echo " -cc=xxx - Reset the native compiler to xxx." + fi + fi + exit 0 + ;; + *) + ;; + + esac + if [ $addarg = no ] ; then + unset allargs[$argno] + fi + # Some versions of bash do not accept ((argno++)) + argno=`expr $argno + 1` +done + +if [ $# -eq 0 ] ; then + echo "Error: Command line argument is needed!" + "$0" -help + exit 1 +fi + +# ----------------------------------------------------------------------- +# Derived variables. These are assembled from variables set from the +# default, environment, configuration file (if any) and command-line +# options (if any) + +PROFILE_FOO= +# Handle the case of a profile switch +if [ -n "$profConf" ] ; then + profConffile= + if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then + PROFILE_FOO="-l$profConf" + elif [ -s "$sysconfdir/$profConf.conf" ] ; then + profConffile="$sysconfdir/$profConf.conf" + elif [ -s "$profConf.conf" ] ; then + profConffile="$profConf.conf" + else + echo "Profiling configuration file $profConf.conf not found in $sysconfdir" + fi + if [ -n "$profConffile" -a -s "$profConffile" ] ; then + . $profConffile + fi +fi + +final_cflags=" " +final_cppflags=" " +final_ldflags=" -Wl,-flat_namespace" +final_libs="" +if test "yes" = "no" -o "${interlib_deps}" = "no" ; then + final_ldflags="${final_ldflags} -Wl,-flat_namespace" + final_libs="${final_libs} -lm -lpthread " +fi + +# ----------------------------------------------------------------------- +# +# A temporary statement to invoke the compiler +# Place the -L before any args incase there are any mpi libraries in there. +# Eventually, we'll want to move this after any non-MPI implementation +# libraries. +# We use a single invocation of the compiler. This will be adequate until +# we run into a system that uses a separate linking command. With any luck, +# such archaic systems are no longer with us. This also lets us +# accept any argument; we don't need to know if we've seen a source +# file or an object file. Instead, we just check for an option that +# suppressing linking, such as -c or -M. +if [ "$linking" = yes ] ; then + # Attempt to encode rpath info into the executable if the user has not + # disabled rpath usage and some flavor of rpath makes sense on this + # platform. + # TODO configure and config.rpath are computing more sophisticated rpath + # schemes than this simple one. Consider updating this logic accordingly. + if test "X$enable_wrapper_rpath" = "Xyes" ; then + eval rpath_flags=\"${hardcode_libdir_flag_spec}\" + else + rpath_flags="" + fi + + if [ "$nativelinking" = yes ] ; then + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir + rc=$? + else + if [ "$static_mpi" = no ] ; then + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $PROFILE_PRELIB $PROFILE_FOO $rpath_flags -lmpi -lpmpi $PROFILE_POSTLIB ${final_libs} + else + fabric_dep="" + if [ "" = yes ] ; then + fabric_dep=`pkg-config --static --libs $libdir/pkgconfig/libfabric.pc` + fabric_dep=`echo $fabric_dep | sed 's/-lfabric//'` + elif [ -f /lib/pkgconfig/libfabric.pc ] ; then + fabric_dep=`pkg-config --static --libs /lib/pkgconfig/libfabric.pc` + else + fabric_dep=`pkg-config --static --libs libfabric` + fi + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $PROFILE_PRELIB $PROFILE_FOO $rpath_flags $libdir/libmpi.a -lpmpi $PROFILE_POSTLIB ${final_libs} ${fabric_dep} + fi + rc=$? + fi +else + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} "${allargs[@]}" -I$includedir + rc=$? +fi + +exit $rc diff --git a/macx64/mpi/mpich/bin/mpichversion b/macx64/mpi/mpich/bin/mpichversion new file mode 100755 index 00000000..4e4a539f Binary files /dev/null and b/macx64/mpi/mpich/bin/mpichversion differ diff --git a/macx64/mpi/mpich/bin/mpiexec b/macx64/mpi/mpich/bin/mpiexec new file mode 120000 index 00000000..482a6929 --- /dev/null +++ b/macx64/mpi/mpich/bin/mpiexec @@ -0,0 +1 @@ +mpiexec.hydra \ No newline at end of file diff --git a/macx64/mpi/mpich/bin/mpiexec.hydra b/macx64/mpi/mpich/bin/mpiexec.hydra new file mode 100755 index 00000000..5ee32b32 Binary files /dev/null and b/macx64/mpi/mpich/bin/mpiexec.hydra differ diff --git a/macx64/mpi/mpich/bin/mpirun b/macx64/mpi/mpich/bin/mpirun new file mode 120000 index 00000000..482a6929 --- /dev/null +++ b/macx64/mpi/mpich/bin/mpirun @@ -0,0 +1 @@ +mpiexec.hydra \ No newline at end of file diff --git a/macx64/mpi/mpich/bin/mpivars b/macx64/mpi/mpich/bin/mpivars new file mode 100755 index 00000000..feb522ce Binary files /dev/null and b/macx64/mpi/mpich/bin/mpivars differ diff --git a/macx64/mpi/mpich/bin/parkill b/macx64/mpi/mpich/bin/parkill new file mode 100755 index 00000000..8789c6de --- /dev/null +++ b/macx64/mpi/mpich/bin/parkill @@ -0,0 +1,127 @@ +#! /usr/bin/perl +# -*- Mode: perl; -*- +# +# Kill all processes running a specified command +# +# Many systems also have the "killall" command; this should be used instead +# if it is available. +# +# This script relies on the ps command; where possible, it uses the +# /proc//cmdline interface to more reliably access the commandline +# (to avoid matching command line parameters as if they were functions). +# +$user = $ENV{'LOGNAME'}; +$progname = ""; +$noaddresses = 1; +$debug = 0; +$verbose = 0; +$testing = 0; +foreach $_ (@ARGV) { + if (/-debug/) { + $debug = 1; + } + elsif (/-verbose/) { + $verbose = 1; + } + elsif (/-user=(.*)/) { + $user = $1; + } + elsif (/-help/ || /-usage/) { + print STDOUT "$0 [ -debug ] [ -verbose ] [ -user=name ] program\n"; + print STDOUT "Kill all processes running \"program\". To use the -user option +you must have superuser privilege.\n"; + exit(1); + } + $progname = $_; +} + +if ( $progname eq "" ) { + print STDERR "You must specify a program name\n"; + exit(1); +} + +print "user is $user\n" if $debug; +# +# Get pids +$remoteps = "ps"; +$sysname=`uname -s`; +chop $sysname; +# Try to get nicer behavior from GNU ps. +$ENV{'COLUMNS'} = 200; +$ENV{'PS_PERSONALITY'} = "linux"; +if ($sysname eq "Linux") { + print "linux style ps\n" if $debug; + # The -width option can cause trouble, even with GNU ps, if the ps + # program either doesn't support it or + #$psopts = "-width 200 -lfu"; # LINUX + $psopts = "-lfu"; # LINUX + $pidloc = 3; # 4 sometimes? +} +elsif ($sysname eq "SunOS" || $sysname eq "IRIX64") { + print "solaris style ps\n" if $debug; + $psopts = "-fu"; # Solaris + $pidloc = 2; +} +elsif ($sysname eq "OSF1" ) { + $psopts = "-fu"; + $pidloc = 1; +} +elsif ($sysname eq "Darwin") { + $psopts = "-aux -U"; + $pidloc = 1; +} +else { + print STDERR "Unsupported system \"$sysname\"\n"; + exit(1); +} + +open( FD, "$remoteps $psopts $user |" ) || die "Cannot execute ps\n"; + +while () { + print $_ if $verbose; + # Skip lines that may match this command + if (/tcsh/) { next; } + if (/grep/) { next; } + if (/perl/) { next; } + if (/\/bin\/sh /) { next; } + if ($progname ne "mpiexec" && /mpiexec/) { next; } + print $_ if $debug; + + my @items = split(/\s+/); + my $pid = $items[$pidloc]; + print "PID for this job is $pid\n" if $debug; + my $procfile = "/proc/$pid/cmdline"; + print "Looking for $procfile\n" if $debug; + # We *CANNOT USE* -s with a file in /proc because -s filename returns + # false alwyas ! (BUG BUG BUG). Instead, we try to open and read from it + $rc = open PFD, "<$procfile"; + if ($rc) { + my $cmdline = ; + $cmdline =~ s/\r?\n//; + print "Cmdline in /proc/$pid is $cmdline\n" if $debug; + if ($cmdline =~ /^$progname/ || $cmdline =~ /^\.\/$progname/) { + print "Found $progname in /proc/$pid/cmdline\n" if $debug; + $pids[$#pids+1] = @items[$pidloc]; + } + close PFD; + } + else { + # Just try to match the commandline to the entire ps output. + if (/$progname/) { + $pids[$#pids+1] = @items[$pidloc]; + } + } +} +close FD; + +if ($#pids >= 0) { + print "Processes to kill are " . join(',',@pids) . "\n" if $debug; + if ($testing) { exit 0; } + foreach my $sig ("INT","QUIT","KILL") { + my $cnt = kill $sig, @pids; + print "Signaled (SIG$sig) $cnt processes\n" if ($debug || $verbose); + } +} +else { + print "No processes matched $progname for user $user\n" if $verbose; +} diff --git a/macx64/mpi/mpich/include/mpi.h b/macx64/mpi/mpich/include/mpi.h new file mode 100644 index 00000000..a29e1046 --- /dev/null +++ b/macx64/mpi/mpich/include/mpi.h @@ -0,0 +1,2296 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * (C) 2001 by Argonne National Laboratory. + * See COPYRIGHT in top-level directory. + */ +/* src/include/mpi.h. Generated from mpi.h.in by configure. */ +#ifndef MPI_INCLUDED +#define MPI_INCLUDED + +/* user include file for MPI programs */ + +#if defined(HAVE_VISIBILITY) +#define MPICH_API_PUBLIC __attribute__((visibility ("default"))) +#else +#define MPICH_API_PUBLIC +#endif + +/* Keep C++ compilers from getting confused */ +#if defined(__cplusplus) +extern "C" { +#endif + +#define NO_TAGS_WITH_MODIFIERS 1 +#undef MPICH_DEFINE_ATTR_TYPE_TYPES +#if defined(__has_attribute) +# if __has_attribute(pointer_with_type_tag) && \ + __has_attribute(type_tag_for_datatype) && \ + !defined(NO_TAGS_WITH_MODIFIERS) &&\ + !defined(MPICH_NO_ATTR_TYPE_TAGS) +# define MPICH_DEFINE_ATTR_TYPE_TYPES 1 +# define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx) __attribute__((pointer_with_type_tag(MPI,buffer_idx,type_idx))) +# define MPICH_ATTR_TYPE_TAG(type) __attribute__((type_tag_for_datatype(MPI,type))) +# define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type) __attribute__((type_tag_for_datatype(MPI,type,layout_compatible))) +# define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() __attribute__((type_tag_for_datatype(MPI,void,must_be_null))) +# include +# endif +#endif + +#if !defined(MPICH_ATTR_POINTER_WITH_TYPE_TAG) +# define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx) +# define MPICH_ATTR_TYPE_TAG(type) +# define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type) +# define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() +#endif + +#if !defined(INT8_C) +/* stdint.h was not included, see if we can get it */ +# if defined(__cplusplus) +# if __cplusplus >= 201103 +# include +# endif +# endif +#endif + +#if !defined(INT8_C) +/* stdint.h was not included, see if we can get it */ +# if defined(__STDC_VERSION__) +# if __STDC_VERSION__ >= 199901 +# include +# endif +# endif +#endif + +#if defined(INT8_C) +/* stdint.h was included, so we can annotate these types */ +# define MPICH_ATTR_TYPE_TAG_STDINT(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_STDINT(type) +#endif + +#ifdef __STDC_VERSION__ +#if __STDC_VERSION__ >= 199901 +# define MPICH_ATTR_TYPE_TAG_C99(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_C99(type) +#endif +#else +# define MPICH_ATTR_TYPE_TAG_C99(type) +#endif + +#if defined(__cplusplus) +# define MPICH_ATTR_TYPE_TAG_CXX(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_CXX(type) +#endif + + +/* Define some null objects */ +#define MPI_COMM_NULL ((MPI_Comm)0x04000000) +#define MPI_OP_NULL ((MPI_Op)0x18000000) +#define MPI_GROUP_NULL ((MPI_Group)0x08000000) +#define MPI_DATATYPE_NULL ((MPI_Datatype)0x0c000000) +#define MPI_REQUEST_NULL ((MPI_Request)0x2c000000) +#define MPI_ERRHANDLER_NULL ((MPI_Errhandler)0x14000000) +#define MPI_MESSAGE_NULL ((MPI_Message)0x2c000000) +#define MPI_MESSAGE_NO_PROC ((MPI_Message)0x6c000000) + +/* Results of the compare operations. */ +#define MPI_IDENT 0 +#define MPI_CONGRUENT 1 +#define MPI_SIMILAR 2 +#define MPI_UNEQUAL 3 + +typedef int MPI_Datatype; +#define MPI_CHAR ((MPI_Datatype)0x4c000101) +#define MPI_SIGNED_CHAR ((MPI_Datatype)0x4c000118) +#define MPI_UNSIGNED_CHAR ((MPI_Datatype)0x4c000102) +#define MPI_BYTE ((MPI_Datatype)0x4c00010d) +#define MPI_WCHAR ((MPI_Datatype)0x4c00040e) +#define MPI_SHORT ((MPI_Datatype)0x4c000203) +#define MPI_UNSIGNED_SHORT ((MPI_Datatype)0x4c000204) +#define MPI_INT ((MPI_Datatype)0x4c000405) +#define MPI_UNSIGNED ((MPI_Datatype)0x4c000406) +#define MPI_LONG ((MPI_Datatype)0x4c000807) +#define MPI_UNSIGNED_LONG ((MPI_Datatype)0x4c000808) +#define MPI_FLOAT ((MPI_Datatype)0x4c00040a) +#define MPI_DOUBLE ((MPI_Datatype)0x4c00080b) +#define MPI_LONG_DOUBLE ((MPI_Datatype)0x4c00100c) +#define MPI_LONG_LONG_INT ((MPI_Datatype)0x4c000809) +#define MPI_UNSIGNED_LONG_LONG ((MPI_Datatype)0x4c000819) +#define MPI_LONG_LONG MPI_LONG_LONG_INT + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_char MPICH_ATTR_TYPE_TAG(char) = MPI_CHAR; +static const MPI_Datatype mpich_mpi_signed_char MPICH_ATTR_TYPE_TAG(signed char) = MPI_SIGNED_CHAR; +static const MPI_Datatype mpich_mpi_unsigned_char MPICH_ATTR_TYPE_TAG(unsigned char) = MPI_UNSIGNED_CHAR; +/*static const MPI_Datatype mpich_mpi_byte MPICH_ATTR_TYPE_TAG(char) = MPI_BYTE;*/ +static const MPI_Datatype mpich_mpi_wchar MPICH_ATTR_TYPE_TAG(wchar_t) = MPI_WCHAR; +static const MPI_Datatype mpich_mpi_short MPICH_ATTR_TYPE_TAG(short) = MPI_SHORT; +static const MPI_Datatype mpich_mpi_unsigned_short MPICH_ATTR_TYPE_TAG(unsigned short) = MPI_UNSIGNED_SHORT; +static const MPI_Datatype mpich_mpi_int MPICH_ATTR_TYPE_TAG(int) = MPI_INT; +static const MPI_Datatype mpich_mpi_unsigned MPICH_ATTR_TYPE_TAG(unsigned) = MPI_UNSIGNED; +static const MPI_Datatype mpich_mpi_long MPICH_ATTR_TYPE_TAG(long) = MPI_LONG; +static const MPI_Datatype mpich_mpi_unsigned_long MPICH_ATTR_TYPE_TAG(unsigned long) = MPI_UNSIGNED_LONG; +static const MPI_Datatype mpich_mpi_float MPICH_ATTR_TYPE_TAG(float) = MPI_FLOAT; +static const MPI_Datatype mpich_mpi_double MPICH_ATTR_TYPE_TAG(double) = MPI_DOUBLE; +#if 0x4c00100c != 0x0c000000 +static const MPI_Datatype mpich_mpi_long_double MPICH_ATTR_TYPE_TAG(long double) = MPI_LONG_DOUBLE; +#endif +static const MPI_Datatype mpich_mpi_long_long_int MPICH_ATTR_TYPE_TAG(long long int) = MPI_LONG_LONG_INT; +static const MPI_Datatype mpich_mpi_unsigned_long_long MPICH_ATTR_TYPE_TAG(unsigned long long) = MPI_UNSIGNED_LONG_LONG; +#endif + +#define MPI_PACKED ((MPI_Datatype)0x4c00010f) +#define MPI_LB ((MPI_Datatype)0x4c000010) +#define MPI_UB ((MPI_Datatype)0x4c000011) + +/* + The layouts for the types MPI_DOUBLE_INT etc are simply + struct { + double var; + int loc; + } + This is documented in the man pages on the various datatypes. + */ +#define MPI_FLOAT_INT ((MPI_Datatype)0x8c000000) +#define MPI_DOUBLE_INT ((MPI_Datatype)0x8c000001) +#define MPI_LONG_INT ((MPI_Datatype)0x8c000002) +#define MPI_SHORT_INT ((MPI_Datatype)0x8c000003) +#define MPI_2INT ((MPI_Datatype)0x4c000816) +#define MPI_LONG_DOUBLE_INT ((MPI_Datatype)0x8c000004) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +struct mpich_struct_mpi_float_int { float f; int i; }; +struct mpich_struct_mpi_double_int { double d; int i; }; +struct mpich_struct_mpi_long_int { long l; int i; }; +struct mpich_struct_mpi_short_int { short s; int i; }; +struct mpich_struct_mpi_2int { int i1; int i2; }; +#if 0x8c000004 != 0x0c000000 +struct mpich_struct_mpi_long_double_int { long double ld; int i; }; +#endif + +static const MPI_Datatype mpich_mpi_float_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_float_int) = MPI_FLOAT_INT; +static const MPI_Datatype mpich_mpi_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_double_int) = MPI_DOUBLE_INT; +static const MPI_Datatype mpich_mpi_long_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_int) = MPI_LONG_INT; +static const MPI_Datatype mpich_mpi_short_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_short_int) = MPI_SHORT_INT; + +/* + * The MPI_2INT line is commented out because currently Clang 3.3 flags + * struct {int i1; int i2;} as different from int[2]. But actually these + * two types are of the same layout. Clang gives a type mismatch warning + * for a definitely correct code like the following: + * int in[2], out[2]; + * MPI_Reduce(in, out, 1, MPI_2INT, MPI_MAXLOC, 0, MPI_COMM_WORLD); + * + * So, we disable type checking for MPI_2INT until Clang fixes this bug. + */ + +/* static const MPI_Datatype mpich_mpi_2int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_2int) = MPI_2INT + */ + +#if 0x8c000004 != 0x0c000000 +static const MPI_Datatype mpich_mpi_long_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_double_int) = MPI_LONG_DOUBLE_INT; +#endif +#endif + +/* Fortran types */ +#define MPI_COMPLEX ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_DOUBLE_COMPLEX ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_LOGICAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_REAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_DOUBLE_PRECISION ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_INTEGER ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_2INTEGER ((MPI_Datatype)MPI_DATATYPE_NULL) +/* + * MPI_2COMPLEX and MPI_2DOUBLE_COMPLEX were defined by accident in + * MPI 1.0 and removed in MPI 1.1. + * + * This definition provides backward compatibility. These definitions + * will be removed in a subsequent MPICH release + */ +#ifdef MPICH_DEFINE_2COMPLEX +#define MPI_2COMPLEX ((MPI_Datatype)) +#define MPI_2DOUBLE_COMPLEX ((MPI_Datatype)) +#endif +#define MPI_2REAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_2DOUBLE_PRECISION ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_CHARACTER ((MPI_Datatype)MPI_DATATYPE_NULL) + +/* Size-specific types (see MPI-2, 10.2.5) */ +#define MPI_REAL4 ((MPI_Datatype)0x4c000427) +#define MPI_REAL8 ((MPI_Datatype)0x4c000829) +#define MPI_REAL16 ((MPI_Datatype)0x4c00102b) +#define MPI_COMPLEX8 ((MPI_Datatype)0x4c000828) +#define MPI_COMPLEX16 ((MPI_Datatype)0x4c00102a) +#define MPI_COMPLEX32 ((MPI_Datatype)0x4c00202c) +#define MPI_INTEGER1 ((MPI_Datatype)0x4c00012d) +#define MPI_INTEGER2 ((MPI_Datatype)0x4c00022f) +#define MPI_INTEGER4 ((MPI_Datatype)0x4c000430) +#define MPI_INTEGER8 ((MPI_Datatype)0x4c000831) +#define MPI_INTEGER16 ((MPI_Datatype)MPI_DATATYPE_NULL) + +/* C99 fixed-width datatypes */ +#define MPI_INT8_T ((MPI_Datatype)0x4c000137) +#define MPI_INT16_T ((MPI_Datatype)0x4c000238) +#define MPI_INT32_T ((MPI_Datatype)0x4c000439) +#define MPI_INT64_T ((MPI_Datatype)0x4c00083a) +#define MPI_UINT8_T ((MPI_Datatype)0x4c00013b) +#define MPI_UINT16_T ((MPI_Datatype)0x4c00023c) +#define MPI_UINT32_T ((MPI_Datatype)0x4c00043d) +#define MPI_UINT64_T ((MPI_Datatype)0x4c00083e) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_int8_t MPICH_ATTR_TYPE_TAG_STDINT(int8_t) = MPI_INT8_T; +static const MPI_Datatype mpich_mpi_int16_t MPICH_ATTR_TYPE_TAG_STDINT(int16_t) = MPI_INT16_T; +static const MPI_Datatype mpich_mpi_int32_t MPICH_ATTR_TYPE_TAG_STDINT(int32_t) = MPI_INT32_T; +static const MPI_Datatype mpich_mpi_int64_t MPICH_ATTR_TYPE_TAG_STDINT(int64_t) = MPI_INT64_T; +static const MPI_Datatype mpich_mpi_uint8_t MPICH_ATTR_TYPE_TAG_STDINT(uint8_t) = MPI_UINT8_T; +static const MPI_Datatype mpich_mpi_uint16_t MPICH_ATTR_TYPE_TAG_STDINT(uint16_t) = MPI_UINT16_T; +static const MPI_Datatype mpich_mpi_uint32_t MPICH_ATTR_TYPE_TAG_STDINT(uint32_t) = MPI_UINT32_T; +static const MPI_Datatype mpich_mpi_uint64_t MPICH_ATTR_TYPE_TAG_STDINT(uint64_t) = MPI_UINT64_T; +#endif + +/* other C99 types */ +#define MPI_C_BOOL ((MPI_Datatype)0x4c00013f) +#define MPI_C_FLOAT_COMPLEX ((MPI_Datatype)0x4c000840) +#define MPI_C_COMPLEX MPI_C_FLOAT_COMPLEX +#define MPI_C_DOUBLE_COMPLEX ((MPI_Datatype)0x4c001041) +#define MPI_C_LONG_DOUBLE_COMPLEX ((MPI_Datatype)0x4c002042) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_c_bool MPICH_ATTR_TYPE_TAG_C99(_Bool) = MPI_C_BOOL; +static const MPI_Datatype mpich_mpi_c_float_complex MPICH_ATTR_TYPE_TAG_C99(float _Complex) = MPI_C_FLOAT_COMPLEX; +static const MPI_Datatype mpich_mpi_c_double_complex MPICH_ATTR_TYPE_TAG_C99(double _Complex) = MPI_C_DOUBLE_COMPLEX; +#if 0x4c002042 != 0x0c000000 +static const MPI_Datatype mpich_mpi_c_long_double_complex MPICH_ATTR_TYPE_TAG_C99(long double _Complex) = MPI_C_LONG_DOUBLE_COMPLEX; +#endif +#endif + +/* address/offset types */ +#define MPI_AINT ((MPI_Datatype)0x4c000843) +#define MPI_OFFSET ((MPI_Datatype)0x4c000844) +#define MPI_COUNT ((MPI_Datatype)0x4c000845) + +/* MPI-3 C++ types */ +#define MPI_CXX_BOOL ((MPI_Datatype)0x0c000000) +#define MPI_CXX_FLOAT_COMPLEX ((MPI_Datatype)0x0c000000) +#define MPI_CXX_DOUBLE_COMPLEX ((MPI_Datatype)0x0c000000) +#define MPI_CXX_LONG_DOUBLE_COMPLEX ((MPI_Datatype)0x0c000000) + +/* typeclasses */ +#define MPI_TYPECLASS_REAL 1 +#define MPI_TYPECLASS_INTEGER 2 +#define MPI_TYPECLASS_COMPLEX 3 + +/* Communicators */ +typedef int MPI_Comm; +#define MPI_COMM_WORLD ((MPI_Comm)0x44000000) +#define MPI_COMM_SELF ((MPI_Comm)0x44000001) + +/* Groups */ +typedef int MPI_Group; +#define MPI_GROUP_EMPTY ((MPI_Group)0x48000000) + +/* RMA and Windows */ +typedef int MPI_Win; +#define MPI_WIN_NULL ((MPI_Win)0x20000000) + +/* File and IO */ +/* This define lets ROMIO know that MPI_File has been defined */ +#define MPI_FILE_DEFINED +/* ROMIO uses a pointer for MPI_File objects. This must be the same definition + as in src/mpi/romio/include/mpio.h.in */ +typedef struct ADIOI_FileD *MPI_File; +#define MPI_FILE_NULL ((MPI_File)0) + +/* Collective operations */ +typedef int MPI_Op; + +#define MPI_MAX (MPI_Op)(0x58000001) +#define MPI_MIN (MPI_Op)(0x58000002) +#define MPI_SUM (MPI_Op)(0x58000003) +#define MPI_PROD (MPI_Op)(0x58000004) +#define MPI_LAND (MPI_Op)(0x58000005) +#define MPI_BAND (MPI_Op)(0x58000006) +#define MPI_LOR (MPI_Op)(0x58000007) +#define MPI_BOR (MPI_Op)(0x58000008) +#define MPI_LXOR (MPI_Op)(0x58000009) +#define MPI_BXOR (MPI_Op)(0x5800000a) +#define MPI_MINLOC (MPI_Op)(0x5800000b) +#define MPI_MAXLOC (MPI_Op)(0x5800000c) +#define MPI_REPLACE (MPI_Op)(0x5800000d) +#define MPI_NO_OP (MPI_Op)(0x5800000e) + +/* Permanent key values */ +/* C Versions (return pointer to value), + Fortran Versions (return integer value). + Handled directly by the attribute value routine + + DO NOT CHANGE THESE. The values encode: + builtin kind (0x1 in bit 30-31) + Keyval object (0x9 in bits 26-29) + for communicator (0x1 in bits 22-25) + + Fortran versions of the attributes are formed by adding one to + the C version. + */ +#define MPI_TAG_UB 0x64400001 +#define MPI_HOST 0x64400003 +#define MPI_IO 0x64400005 +#define MPI_WTIME_IS_GLOBAL 0x64400007 +#define MPI_UNIVERSE_SIZE 0x64400009 +#define MPI_LASTUSEDCODE 0x6440000b +#define MPI_APPNUM 0x6440000d + +/* In addition, there are 5 predefined window attributes that are + defined for every window */ +#define MPI_WIN_BASE 0x66000001 +#define MPI_WIN_SIZE 0x66000003 +#define MPI_WIN_DISP_UNIT 0x66000005 +#define MPI_WIN_CREATE_FLAVOR 0x66000007 +#define MPI_WIN_MODEL 0x66000009 + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_datatype_null MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() = MPI_DATATYPE_NULL; +#endif + +/* These are only guesses; make sure you change them in mpif.h as well */ +#define MPI_MAX_PROCESSOR_NAME 128 +#define MPI_MAX_LIBRARY_VERSION_STRING 8192 +#define MPI_MAX_ERROR_STRING 512 +#define MPI_MAX_PORT_NAME 256 +#define MPI_MAX_OBJECT_NAME 128 + +/* Pre-defined constants */ +#define MPI_UNDEFINED (-32766) +#define MPI_KEYVAL_INVALID 0x24000000 + +/* MPI-3 window flavors */ +typedef enum MPIR_Win_flavor { + MPI_WIN_FLAVOR_CREATE = 1, + MPI_WIN_FLAVOR_ALLOCATE = 2, + MPI_WIN_FLAVOR_DYNAMIC = 3, + MPI_WIN_FLAVOR_SHARED = 4 +} MPIR_Win_flavor_t; + +/* MPI-3 window consistency models */ +typedef enum MPIR_Win_model { + MPI_WIN_SEPARATE = 1, + MPI_WIN_UNIFIED = 2 +} MPIR_Win_model_t; + +/* Upper bound on the overhead in bsend for each message buffer */ +#define MPI_BSEND_OVERHEAD 96 + +/* Topology types */ +typedef enum MPIR_Topo_type { MPI_GRAPH=1, MPI_CART=2, MPI_DIST_GRAPH=3 } MPIR_Topo_type; + +#define MPI_BOTTOM (void *)0 +extern int * const MPI_UNWEIGHTED MPICH_API_PUBLIC; +extern int * const MPI_WEIGHTS_EMPTY MPICH_API_PUBLIC; + +#define MPI_PROC_NULL (-1) +#define MPI_ANY_SOURCE (-2) +#define MPI_ROOT (-3) +#define MPI_ANY_TAG (-1) + +#define MPI_LOCK_EXCLUSIVE 234 +#define MPI_LOCK_SHARED 235 + +/* C functions */ +typedef void (MPI_Handler_function) ( MPI_Comm *, int *, ... ); +typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, void *, + void *, int *); +typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); +typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, void *, + void *, int *); +typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, void *, void *); +typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, void *, void *, + int *); +typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); +/* added in MPI-2.2 */ +typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); +typedef void (MPI_File_errhandler_function)(MPI_File *, int *, ...); +typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); +/* names that were added in MPI-2.0 and deprecated in MPI-2.2 */ +typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn; +typedef MPI_File_errhandler_function MPI_File_errhandler_fn; +typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn; + +/* Built in (0x1 in 30-31), errhandler (0x5 in bits 26-29, allkind (0 + in 22-25), index in the low bits */ +#define MPI_ERRORS_ARE_FATAL ((MPI_Errhandler)0x54000000) +#define MPI_ERRORS_RETURN ((MPI_Errhandler)0x54000001) +/* MPIR_ERRORS_THROW_EXCEPTIONS is not part of the MPI standard, it is here to + facilitate the c++ binding which has MPI::ERRORS_THROW_EXCEPTIONS. + Using the MPIR prefix preserved the MPI_ names for objects defined by + the standard. */ +#define MPIR_ERRORS_THROW_EXCEPTIONS ((MPI_Errhandler)0x54000002) +typedef int MPI_Errhandler; + +/* Make the C names for the dup function mixed case. + This is required for systems that use all uppercase names for Fortran + externals. */ +/* MPI 1 names */ +#define MPI_NULL_COPY_FN ((MPI_Copy_function *)0) +#define MPI_NULL_DELETE_FN ((MPI_Delete_function *)0) +#define MPI_DUP_FN MPIR_Dup_fn +/* MPI 2 names */ +#define MPI_COMM_NULL_COPY_FN ((MPI_Comm_copy_attr_function*)0) +#define MPI_COMM_NULL_DELETE_FN ((MPI_Comm_delete_attr_function*)0) +#define MPI_COMM_DUP_FN ((MPI_Comm_copy_attr_function *)MPI_DUP_FN) +#define MPI_WIN_NULL_COPY_FN ((MPI_Win_copy_attr_function*)0) +#define MPI_WIN_NULL_DELETE_FN ((MPI_Win_delete_attr_function*)0) +#define MPI_WIN_DUP_FN ((MPI_Win_copy_attr_function*)MPI_DUP_FN) +#define MPI_TYPE_NULL_COPY_FN ((MPI_Type_copy_attr_function*)0) +#define MPI_TYPE_NULL_DELETE_FN ((MPI_Type_delete_attr_function*)0) +#define MPI_TYPE_DUP_FN ((MPI_Type_copy_attr_function*)MPI_DUP_FN) + +/* MPI request opjects */ +typedef int MPI_Request; + +/* MPI message objects for Mprobe and related functions */ +typedef int MPI_Message; + +/* User combination function */ +typedef void (MPI_User_function) ( void *, void *, int *, MPI_Datatype * ); + +/* MPI Attribute copy and delete functions */ +typedef int (MPI_Copy_function) ( MPI_Comm, int, void *, void *, void *, int * ); +typedef int (MPI_Delete_function) ( MPI_Comm, int, void *, void * ); + +#define MPI_VERSION 3 +#define MPI_SUBVERSION 1 +#define MPICH_NAME 3 +#define MPICH 1 +#define MPICH_HAS_C2F 1 + + +/* MPICH_VERSION is the version string. MPICH_NUMVERSION is the + * numeric version that can be used in numeric comparisons. + * + * MPICH_VERSION uses the following format: + * Version: [MAJ].[MIN].[REV][EXT][EXT_NUMBER] + * Example: 1.0.7rc1 has + * MAJ = 1 + * MIN = 0 + * REV = 7 + * EXT = rc + * EXT_NUMBER = 1 + * + * MPICH_NUMVERSION will convert EXT to a format number: + * ALPHA (a) = 0 + * BETA (b) = 1 + * RC (rc) = 2 + * PATCH (p) = 3 + * Regular releases are treated as patch 0 + * + * Numeric version will have 1 digit for MAJ, 2 digits for MIN, 2 + * digits for REV, 1 digit for EXT and 2 digits for EXT_NUMBER. So, + * 1.0.7rc1 will have the numeric version 10007201. + */ +#define MPICH_VERSION "3.3.1" +#define MPICH_NUMVERSION 30301300 + +#define MPICH_RELEASE_TYPE_ALPHA 0 +#define MPICH_RELEASE_TYPE_BETA 1 +#define MPICH_RELEASE_TYPE_RC 2 +#define MPICH_RELEASE_TYPE_PATCH 3 + +#define MPICH_CALC_VERSION(MAJOR, MINOR, REVISION, TYPE, PATCH) \ + (((MAJOR) * 10000000) + ((MINOR) * 100000) + ((REVISION) * 1000) + ((TYPE) * 100) + (PATCH)) + +/* for the datatype decoders */ +enum MPIR_Combiner_enum { + MPI_COMBINER_NAMED = 1, + MPI_COMBINER_DUP = 2, + MPI_COMBINER_CONTIGUOUS = 3, + MPI_COMBINER_VECTOR = 4, + MPI_COMBINER_HVECTOR_INTEGER = 5, + MPI_COMBINER_HVECTOR = 6, + MPI_COMBINER_INDEXED = 7, + MPI_COMBINER_HINDEXED_INTEGER = 8, + MPI_COMBINER_HINDEXED = 9, + MPI_COMBINER_INDEXED_BLOCK = 10, + MPI_COMBINER_STRUCT_INTEGER = 11, + MPI_COMBINER_STRUCT = 12, + MPI_COMBINER_SUBARRAY = 13, + MPI_COMBINER_DARRAY = 14, + MPI_COMBINER_F90_REAL = 15, + MPI_COMBINER_F90_COMPLEX = 16, + MPI_COMBINER_F90_INTEGER = 17, + MPI_COMBINER_RESIZED = 18, + MPI_COMBINER_HINDEXED_BLOCK = 19 +}; + +/* for info */ +typedef int MPI_Info; +#define MPI_INFO_NULL ((MPI_Info)0x1c000000) +#define MPI_INFO_ENV ((MPI_Info)0x5c000001) +#define MPI_MAX_INFO_KEY 255 +#define MPI_MAX_INFO_VAL 1024 + +/* for subarray and darray constructors */ +#define MPI_ORDER_C 56 +#define MPI_ORDER_FORTRAN 57 +#define MPI_DISTRIBUTE_BLOCK 121 +#define MPI_DISTRIBUTE_CYCLIC 122 +#define MPI_DISTRIBUTE_NONE 123 +#define MPI_DISTRIBUTE_DFLT_DARG -49767 + +#define MPI_IN_PLACE (void *) -1 + +/* asserts for one-sided communication */ +#define MPI_MODE_NOCHECK 1024 +#define MPI_MODE_NOSTORE 2048 +#define MPI_MODE_NOPUT 4096 +#define MPI_MODE_NOPRECEDE 8192 +#define MPI_MODE_NOSUCCEED 16384 + +/* predefined types for MPI_Comm_split_type */ +#define MPI_COMM_TYPE_SHARED 1 + +/* MPICH-specific types */ +#define MPIX_COMM_TYPE_NEIGHBORHOOD 2 + +/* Definitions that are determined by configure. */ +typedef long MPI_Aint; +typedef int MPI_Fint; +typedef long long MPI_Count; + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_aint MPICH_ATTR_TYPE_TAG(MPI_Aint) = MPI_AINT; +#endif + +/* FIXME: The following two definition are not defined by MPI and must not be + included in the mpi.h file, as the MPI namespace is reserved to the MPI + standard */ +#define MPI_AINT_FMT_DEC_SPEC "%ld" +#define MPI_AINT_FMT_HEX_SPEC "%lx" + +/* Let ROMIO know that MPI_Offset is already defined */ +#define HAVE_MPI_OFFSET +/* MPI_OFFSET_TYPEDEF is set in configure and is + typedef $MPI_OFFSET MPI_Offset; + where $MPI_OFFSET is the correct C type */ +typedef long long MPI_Offset; + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_offset MPICH_ATTR_TYPE_TAG(MPI_Offset) = MPI_OFFSET; +#endif + +/* The order of these elements must match that in mpif.h, mpi_f08_types.f90, + and mpi_c_interface_types.f90 */ +typedef struct MPI_Status { + int count_lo; + int count_hi_and_cancelled; + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; +} MPI_Status; + +/* types for the MPI_T_ interface */ +struct MPIR_T_enum_s; +struct MPIR_T_cvar_handle_s; +struct MPIR_T_pvar_handle_s; +struct MPIR_T_pvar_session_s; + +typedef struct MPIR_T_enum_s * MPI_T_enum; +typedef struct MPIR_T_cvar_handle_s * MPI_T_cvar_handle; +typedef struct MPIR_T_pvar_handle_s * MPI_T_pvar_handle; +typedef struct MPIR_T_pvar_session_s * MPI_T_pvar_session; + +/* extra const at front would be safer, but is incompatible with MPI_T_ prototypes */ +extern struct MPIR_T_pvar_handle_s * const MPI_T_PVAR_ALL_HANDLES MPICH_API_PUBLIC; + +#define MPI_T_ENUM_NULL ((MPI_T_enum)NULL) +#define MPI_T_CVAR_HANDLE_NULL ((MPI_T_cvar_handle)NULL) +#define MPI_T_PVAR_HANDLE_NULL ((MPI_T_pvar_handle)NULL) +#define MPI_T_PVAR_SESSION_NULL ((MPI_T_pvar_session)NULL) + +/* the MPI_T_ interface requires that these VERBOSITY constants occur in this + * relative order with increasing values */ +typedef enum MPIR_T_verbosity_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_VERBOSITY_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_VERBOSITY_USER_BASIC = 221, + MPI_T_VERBOSITY_USER_DETAIL, + MPI_T_VERBOSITY_USER_ALL, + + MPI_T_VERBOSITY_TUNER_BASIC, + MPI_T_VERBOSITY_TUNER_DETAIL, + MPI_T_VERBOSITY_TUNER_ALL, + + MPI_T_VERBOSITY_MPIDEV_BASIC, + MPI_T_VERBOSITY_MPIDEV_DETAIL, + MPI_T_VERBOSITY_MPIDEV_ALL +} MPIR_T_verbosity_t; + +typedef enum MPIR_T_bind_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_BIND_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_BIND_NO_OBJECT = 9700, + MPI_T_BIND_MPI_COMM, + MPI_T_BIND_MPI_DATATYPE, + MPI_T_BIND_MPI_ERRHANDLER, + MPI_T_BIND_MPI_FILE, + MPI_T_BIND_MPI_GROUP, + MPI_T_BIND_MPI_OP, + MPI_T_BIND_MPI_REQUEST, + MPI_T_BIND_MPI_WIN, + MPI_T_BIND_MPI_MESSAGE, + MPI_T_BIND_MPI_INFO +} MPIR_T_bind_t; + +typedef enum MPIR_T_scope_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_SCOPE_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_SCOPE_CONSTANT = 60438, + MPI_T_SCOPE_READONLY, + MPI_T_SCOPE_LOCAL, + MPI_T_SCOPE_GROUP, + MPI_T_SCOPE_GROUP_EQ, + MPI_T_SCOPE_ALL, + MPI_T_SCOPE_ALL_EQ +} MPIR_T_scope_t; + +typedef enum MPIR_T_pvar_class_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_PVAR_CLASS_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPIR_T_PVAR_CLASS_FIRST = 240, + MPI_T_PVAR_CLASS_STATE = MPIR_T_PVAR_CLASS_FIRST, + MPI_T_PVAR_CLASS_LEVEL, + MPI_T_PVAR_CLASS_SIZE, + MPI_T_PVAR_CLASS_PERCENTAGE, + MPI_T_PVAR_CLASS_HIGHWATERMARK, + MPI_T_PVAR_CLASS_LOWWATERMARK, + MPI_T_PVAR_CLASS_COUNTER, + MPI_T_PVAR_CLASS_AGGREGATE, + MPI_T_PVAR_CLASS_TIMER, + MPI_T_PVAR_CLASS_GENERIC, + MPIR_T_PVAR_CLASS_LAST, + MPIR_T_PVAR_CLASS_NUMBER = MPIR_T_PVAR_CLASS_LAST - MPIR_T_PVAR_CLASS_FIRST +} MPIR_T_pvar_class_t; + +/* Handle conversion types/functions */ + +/* Programs that need to convert types used in MPICH should use these */ +#define MPI_Comm_c2f(comm) (MPI_Fint)(comm) +#define MPI_Comm_f2c(comm) (MPI_Comm)(comm) +#define MPI_Type_c2f(datatype) (MPI_Fint)(datatype) +#define MPI_Type_f2c(datatype) (MPI_Datatype)(datatype) +#define MPI_Group_c2f(group) (MPI_Fint)(group) +#define MPI_Group_f2c(group) (MPI_Group)(group) +#define MPI_Info_c2f(info) (MPI_Fint)(info) +#define MPI_Info_f2c(info) (MPI_Info)(info) +#define MPI_Request_f2c(request) (MPI_Request)(request) +#define MPI_Request_c2f(request) (MPI_Fint)(request) +#define MPI_Op_c2f(op) (MPI_Fint)(op) +#define MPI_Op_f2c(op) (MPI_Op)(op) +#define MPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler) +#define MPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler) +#define MPI_Win_c2f(win) (MPI_Fint)(win) +#define MPI_Win_f2c(win) (MPI_Win)(win) +#define MPI_Message_c2f(msg) ((MPI_Fint)(msg)) +#define MPI_Message_f2c(msg) ((MPI_Message)(msg)) + +/* PMPI versions of the handle transfer functions. See section 4.17 */ +#define PMPI_Comm_c2f(comm) (MPI_Fint)(comm) +#define PMPI_Comm_f2c(comm) (MPI_Comm)(comm) +#define PMPI_Type_c2f(datatype) (MPI_Fint)(datatype) +#define PMPI_Type_f2c(datatype) (MPI_Datatype)(datatype) +#define PMPI_Group_c2f(group) (MPI_Fint)(group) +#define PMPI_Group_f2c(group) (MPI_Group)(group) +#define PMPI_Info_c2f(info) (MPI_Fint)(info) +#define PMPI_Info_f2c(info) (MPI_Info)(info) +#define PMPI_Request_f2c(request) (MPI_Request)(request) +#define PMPI_Request_c2f(request) (MPI_Fint)(request) +#define PMPI_Op_c2f(op) (MPI_Fint)(op) +#define PMPI_Op_f2c(op) (MPI_Op)(op) +#define PMPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler) +#define PMPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler) +#define PMPI_Win_c2f(win) (MPI_Fint)(win) +#define PMPI_Win_f2c(win) (MPI_Win)(win) +#define PMPI_Message_c2f(msg) ((MPI_Fint)(msg)) +#define PMPI_Message_f2c(msg) ((MPI_Message)(msg)) + +#define MPI_STATUS_IGNORE (MPI_Status *)1 +#define MPI_STATUSES_IGNORE (MPI_Status *)1 +#define MPI_ERRCODES_IGNORE (int *)0 + +/* See 4.12.5 for MPI_F_STATUS(ES)_IGNORE */ +#define MPIU_DLL_SPEC +extern MPIU_DLL_SPEC MPI_Fint * MPI_F_STATUS_IGNORE MPICH_API_PUBLIC; +extern MPIU_DLL_SPEC MPI_Fint * MPI_F_STATUSES_IGNORE MPICH_API_PUBLIC; +/* The annotation MPIU_DLL_SPEC to the extern statements is used + as a hook for systems that require C extensions to correctly construct + DLLs, and is defined as an empty string otherwise + */ + +/* The MPI standard requires that the ARGV_NULL values be the same as + NULL (see 5.3.2) */ +#define MPI_ARGV_NULL (char **)0 +#define MPI_ARGVS_NULL (char ***)0 + +/* C type for MPI_STATUS in F08. + The field order should match that in mpi_f08_types.f90, and mpi_c_interface_types.f90. + */ +typedef struct { + MPI_Fint count_lo; + MPI_Fint count_hi_and_cancelled; + MPI_Fint MPI_SOURCE; + MPI_Fint MPI_TAG; + MPI_Fint MPI_ERROR; +} MPI_F08_status; + +extern MPI_F08_status MPIR_F08_MPI_STATUS_IGNORE_OBJ MPICH_API_PUBLIC; +extern MPI_F08_status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1] MPICH_API_PUBLIC; +extern int MPIR_F08_MPI_IN_PLACE MPICH_API_PUBLIC; +extern int MPIR_F08_MPI_BOTTOM MPICH_API_PUBLIC; + +/* Pointers to above objects */ +extern MPI_F08_status *MPI_F08_STATUS_IGNORE MPICH_API_PUBLIC; +extern MPI_F08_status *MPI_F08_STATUSES_IGNORE MPICH_API_PUBLIC; + +/* For supported thread levels */ +#define MPI_THREAD_SINGLE 0 +#define MPI_THREAD_FUNNELED 1 +#define MPI_THREAD_SERIALIZED 2 +#define MPI_THREAD_MULTIPLE 3 + +/* Typedefs for generalized requests */ +typedef int (MPI_Grequest_cancel_function)(void *, int); +typedef int (MPI_Grequest_free_function)(void *); +typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); +typedef int (MPIX_Grequest_poll_function)(void *, MPI_Status *); +typedef int (MPIX_Grequest_wait_function)(int, void **, double, MPI_Status *); + +/* MPI's error classes */ +#define MPI_SUCCESS 0 /* Successful return code */ +/* Communication argument parameters */ +#define MPI_ERR_BUFFER 1 /* Invalid buffer pointer */ +#define MPI_ERR_COUNT 2 /* Invalid count argument */ +#define MPI_ERR_TYPE 3 /* Invalid datatype argument */ +#define MPI_ERR_TAG 4 /* Invalid tag argument */ +#define MPI_ERR_COMM 5 /* Invalid communicator */ +#define MPI_ERR_RANK 6 /* Invalid rank */ +#define MPI_ERR_ROOT 7 /* Invalid root */ +#define MPI_ERR_TRUNCATE 14 /* Message truncated on receive */ + +/* MPI Objects (other than COMM) */ +#define MPI_ERR_GROUP 8 /* Invalid group */ +#define MPI_ERR_OP 9 /* Invalid operation */ +#define MPI_ERR_REQUEST 19 /* Invalid mpi_request handle */ + +/* Special topology argument parameters */ +#define MPI_ERR_TOPOLOGY 10 /* Invalid topology */ +#define MPI_ERR_DIMS 11 /* Invalid dimension argument */ + +/* All other arguments. This is a class with many kinds */ +#define MPI_ERR_ARG 12 /* Invalid argument */ + +/* Other errors that are not simply an invalid argument */ +#define MPI_ERR_OTHER 15 /* Other error; use Error_string */ + +#define MPI_ERR_UNKNOWN 13 /* Unknown error */ +#define MPI_ERR_INTERN 16 /* Internal error code */ + +/* Multiple completion has three special error classes */ +#define MPI_ERR_IN_STATUS 17 /* Look in status for error value */ +#define MPI_ERR_PENDING 18 /* Pending request */ + +/* New MPI-2 Error classes */ +#define MPI_ERR_ACCESS 20 /* */ +#define MPI_ERR_AMODE 21 /* */ +#define MPI_ERR_BAD_FILE 22 /* */ +#define MPI_ERR_CONVERSION 23 /* */ +#define MPI_ERR_DUP_DATAREP 24 /* */ +#define MPI_ERR_FILE_EXISTS 25 /* */ +#define MPI_ERR_FILE_IN_USE 26 /* */ +#define MPI_ERR_FILE 27 /* */ +#define MPI_ERR_IO 32 /* */ +#define MPI_ERR_NO_SPACE 36 /* */ +#define MPI_ERR_NO_SUCH_FILE 37 /* */ +#define MPI_ERR_READ_ONLY 40 /* */ +#define MPI_ERR_UNSUPPORTED_DATAREP 43 /* */ + +/* MPI_ERR_INFO is NOT defined in the MPI-2 standard. I believe that + this is an oversight */ +#define MPI_ERR_INFO 28 /* */ +#define MPI_ERR_INFO_KEY 29 /* */ +#define MPI_ERR_INFO_VALUE 30 /* */ +#define MPI_ERR_INFO_NOKEY 31 /* */ + +#define MPI_ERR_NAME 33 /* */ +#define MPI_ERR_NO_MEM 34 /* Alloc_mem could not allocate memory */ +#define MPI_ERR_NOT_SAME 35 /* */ +#define MPI_ERR_PORT 38 /* */ +#define MPI_ERR_QUOTA 39 /* */ +#define MPI_ERR_SERVICE 41 /* */ +#define MPI_ERR_SPAWN 42 /* */ +#define MPI_ERR_UNSUPPORTED_OPERATION 44 /* */ +#define MPI_ERR_WIN 45 /* */ + +#define MPI_ERR_BASE 46 /* */ +#define MPI_ERR_LOCKTYPE 47 /* */ +#define MPI_ERR_KEYVAL 48 /* Erroneous attribute key */ +#define MPI_ERR_RMA_CONFLICT 49 /* */ +#define MPI_ERR_RMA_SYNC 50 /* */ +#define MPI_ERR_SIZE 51 /* */ +#define MPI_ERR_DISP 52 /* */ +#define MPI_ERR_ASSERT 53 /* */ + +#define MPI_ERR_RMA_RANGE 55 /* */ +#define MPI_ERR_RMA_ATTACH 56 /* */ +#define MPI_ERR_RMA_SHARED 57 /* */ +#define MPI_ERR_RMA_FLAVOR 58 /* */ + +/* Return codes for functions in the MPI Tool Information Interface */ +#define MPI_T_ERR_MEMORY 59 /* Out of memory */ +#define MPI_T_ERR_NOT_INITIALIZED 60 /* Interface not initialized */ +#define MPI_T_ERR_CANNOT_INIT 61 /* Interface not in the state to + be initialized */ +#define MPI_T_ERR_INVALID_INDEX 62 /* The index is invalid or + has been deleted */ +#define MPI_T_ERR_INVALID_ITEM 63 /* Item index queried is out of range */ +#define MPI_T_ERR_INVALID_HANDLE 64 /* The handle is invalid */ +#define MPI_T_ERR_OUT_OF_HANDLES 65 /* No more handles available */ +#define MPI_T_ERR_OUT_OF_SESSIONS 66 /* No more sessions available */ +#define MPI_T_ERR_INVALID_SESSION 67 /* Session argument is not valid */ +#define MPI_T_ERR_CVAR_SET_NOT_NOW 68 /* Cvar can't be set at this moment */ +#define MPI_T_ERR_CVAR_SET_NEVER 69 /* Cvar can't be set until + end of execution */ +#define MPI_T_ERR_PVAR_NO_STARTSTOP 70 /* Pvar can't be started or stopped */ +#define MPI_T_ERR_PVAR_NO_WRITE 71 /* Pvar can't be written or reset */ +#define MPI_T_ERR_PVAR_NO_ATOMIC 72 /* Pvar can't be R/W atomically */ +#define MPI_T_ERR_INVALID_NAME 73 /* Name doesn't match */ +#define MPI_T_ERR_INVALID 74 /* Generic error code for MPI_T added in MPI-3.1 */ + + +#define MPI_ERR_LASTCODE 0x3fffffff /* Last valid error code for a + predefined error class */ +#define MPICH_ERR_LAST_CLASS 74 /* It is also helpful to know the + last valid class */ + +#define MPICH_ERR_FIRST_MPIX 100 /* Define a gap here because sock is + * already using some of the values in this + * range. All MPIX error codes will be + * above this value to be ABI complaint. */ + +#define MPIX_ERR_PROC_FAILED MPICH_ERR_FIRST_MPIX+1 /* Process failure */ +#define MPIX_ERR_PROC_FAILED_PENDING MPICH_ERR_FIRST_MPIX+2 /* A failure has caused this request + * to be pending */ +#define MPIX_ERR_REVOKED MPICH_ERR_FIRST_MPIX+3 /* The communciation object has been revoked */ +#define MPIX_ERR_EAGAIN MPICH_ERR_FIRST_MPIX+4 /* Operation could not be issued */ +#define MPIX_ERR_NOREQ MPICH_ERR_FIRST_MPIX+5 /* Cannot allocate request */ + +#define MPICH_ERR_LAST_MPIX MPICH_ERR_FIRST_MPIX+5 + + +/* End of MPI's error classes */ + +/* Function type defs */ +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, + void *, MPI_Offset, void *); +typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *, + void *); +#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function *)0) + +/* + For systems that may need to add additional definitions to support + different declaration styles and options (e.g., different calling + conventions or DLL import/export controls). +*/ +/* --Insert Additional Definitions Here-- */ + +/* + * Normally, we provide prototypes for all MPI routines. In a few weird + * cases, we need to suppress the prototypes. + */ +#ifndef MPICH_SUPPRESS_PROTOTYPES +/* We require that the C compiler support prototypes */ +/* Begin Prototypes */ +int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Buffer_attach(void *buffer, int size) MPICH_API_PUBLIC; +int MPI_Buffer_detach(void *buffer_addr, int *size) MPICH_API_PUBLIC; +int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Wait(MPI_Request *request, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Request_free(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Cancel(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Test_cancelled(const MPI_Status *status, int *flag) MPICH_API_PUBLIC; +int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Start(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Startall(int count, MPI_Request array_of_requests[]) MPICH_API_PUBLIC; +int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, + int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(6,8) MPICH_API_PUBLIC; +int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, + int sendtag, int source, int recvtag, MPI_Comm comm, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_indexed(int count, const int *array_of_blocklengths, + const int *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_hindexed(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_struct(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, + MPI_Datatype *array_of_types, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Address(void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent) MPICH_API_PUBLIC; +int MPI_Type_size(MPI_Datatype datatype, int *size) MPICH_API_PUBLIC; +int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int MPI_Type_commit(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Type_free(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, + int outsize, int *position, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, + MPI_Datatype datatype, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Barrier(MPI_Comm comm) MPICH_API_PUBLIC; +int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, + MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, + const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; +int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) MPICH_API_PUBLIC; +int MPI_Op_free(MPI_Op *op) MPICH_API_PUBLIC; +int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Group_size(MPI_Group group, int *size) MPICH_API_PUBLIC; +int MPI_Group_rank(MPI_Group group, int *rank) MPICH_API_PUBLIC; +int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, + int ranks2[]) MPICH_API_PUBLIC; +int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) MPICH_API_PUBLIC; +int MPI_Comm_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_free(MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Comm_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Comm_rank(MPI_Comm comm, int *rank) MPICH_API_PUBLIC; +int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) MPICH_API_PUBLIC; +int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_free(MPI_Comm *comm) MPICH_API_PUBLIC; +int MPI_Comm_test_inter(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; +int MPI_Comm_remote_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, + int remote_leader, int tag, MPI_Comm *newintercomm) MPICH_API_PUBLIC; +int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm) MPICH_API_PUBLIC; +int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) MPICH_API_PUBLIC; +int MPI_Keyval_free(int *keyval) MPICH_API_PUBLIC; +int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Attr_delete(MPI_Comm comm, int keyval) MPICH_API_PUBLIC; +int MPI_Topo_test(MPI_Comm comm, int *status) MPICH_API_PUBLIC; +int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], + int reorder, MPI_Comm *comm_cart) MPICH_API_PUBLIC; +int MPI_Dims_create(int nnodes, int ndims, int dims[]) MPICH_API_PUBLIC; +int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], + int reorder, MPI_Comm *comm_graph) MPICH_API_PUBLIC; +int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) MPICH_API_PUBLIC; +int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) MPICH_API_PUBLIC; +int MPI_Cartdim_get(MPI_Comm comm, int *ndims) MPICH_API_PUBLIC; +int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]) MPICH_API_PUBLIC; +int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank) MPICH_API_PUBLIC; +int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]) MPICH_API_PUBLIC; +int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) MPICH_API_PUBLIC; +int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) MPICH_API_PUBLIC; +int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPICH_API_PUBLIC; +int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank) MPICH_API_PUBLIC; +int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) MPICH_API_PUBLIC; +int MPI_Get_processor_name(char *name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Get_version(int *version, int *subversion) MPICH_API_PUBLIC; +int MPI_Get_library_version(char *version, int *resultlen) MPICH_API_PUBLIC; +int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_free(MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Error_string(int errorcode, char *string, int *resultlen) MPICH_API_PUBLIC; +int MPI_Error_class(int errorcode, int *errorclass) MPICH_API_PUBLIC; +double MPI_Wtime(void) MPICH_API_PUBLIC; +double MPI_Wtick(void) MPICH_API_PUBLIC; +int MPI_Init(int *argc, char ***argv) MPICH_API_PUBLIC; +int MPI_Finalize(void) MPICH_API_PUBLIC; +int MPI_Initialized(int *flag) MPICH_API_PUBLIC; +int MPI_Abort(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; + +/* Note that we may need to define a @PCONTROL_LIST@ depending on whether + stdargs are supported */ +int MPI_Pcontrol(const int level, ...) MPICH_API_PUBLIC; +int MPI_DUP_FN(MPI_Comm oldcomm, int keyval, void *extra_state, void *attribute_val_in, + void *attribute_val_out, int *flag) MPICH_API_PUBLIC; + +/* Process Creation and Management */ +int MPI_Close_port(const char *port_name) MPICH_API_PUBLIC; +int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_disconnect(MPI_Comm *comm) MPICH_API_PUBLIC; +int MPI_Comm_get_parent(MPI_Comm *parent) MPICH_API_PUBLIC; +int MPI_Comm_join(int fd, MPI_Comm *intercomm) MPICH_API_PUBLIC; +int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int MPI_Open_port(MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info) MPICH_API_PUBLIC; +int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info) MPICH_API_PUBLIC; + +/* One-Sided Communications */ +int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Win_complete(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_fence(int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_free(MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_get_group(MPI_Win win, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_post(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_start(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_test(MPI_Win win, int *flag) MPICH_API_PUBLIC; +int MPI_Win_unlock(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_wait(MPI_Win win) MPICH_API_PUBLIC; + +/* MPI-3 One-Sided Communication Routines */ +int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, + MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr) MPICH_API_PUBLIC; +int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) MPICH_API_PUBLIC; +int MPI_Win_detach(MPI_Win win, const void *base) MPICH_API_PUBLIC; +int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used) MPICH_API_PUBLIC; +int MPI_Win_set_info(MPI_Win win, MPI_Info info) MPICH_API_PUBLIC; +int MPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,4) MPICH_API_PUBLIC; +int MPI_Rput(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rget(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Raccumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Win_lock_all(int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_unlock_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_local(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_local_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_sync(MPI_Win win) MPICH_API_PUBLIC; + +/* External Interfaces */ +int MPI_Add_error_class(int *errorclass) MPICH_API_PUBLIC; +int MPI_Add_error_code(int errorclass, int *errorcode) MPICH_API_PUBLIC; +int MPI_Add_error_string(int errorcode, const char *string) MPICH_API_PUBLIC; +int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, + void *extra_state) MPICH_API_PUBLIC; +int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) MPICH_API_PUBLIC; +int MPI_Comm_free_keyval(int *comm_keyval) MPICH_API_PUBLIC; +int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name) MPICH_API_PUBLIC; +int MPI_File_call_errhandler(MPI_File fh, int errorcode) MPICH_API_PUBLIC; +int MPI_Grequest_complete(MPI_Request request) MPICH_API_PUBLIC; +int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Init_thread(int *argc, char ***argv, int required, int *provided) MPICH_API_PUBLIC; +int MPI_Is_thread_main(int *flag) MPICH_API_PUBLIC; +int MPI_Query_thread(int *provided) MPICH_API_PUBLIC; +int MPI_Status_set_cancelled(MPI_Status *status, int flag) MPICH_API_PUBLIC; +int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count) MPICH_API_PUBLIC; +int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state) MPICH_API_PUBLIC; +int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) MPICH_API_PUBLIC; +int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_free_keyval(int *type_keyval) MPICH_API_PUBLIC; +int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, + int max_datatypes, int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) MPICH_API_PUBLIC; +int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, + int *num_datatypes, int *combiner) MPICH_API_PUBLIC; +int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name) MPICH_API_PUBLIC; +int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Win_call_errhandler(MPI_Win win, int errorcode) MPICH_API_PUBLIC; +int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, + void *extra_state) MPICH_API_PUBLIC; +int MPI_Win_delete_attr(MPI_Win win, int win_keyval) MPICH_API_PUBLIC; +int MPI_Win_free_keyval(int *win_keyval) MPICH_API_PUBLIC; +int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Win_set_name(MPI_Win win, const char *win_name) MPICH_API_PUBLIC; + +int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) MPICH_API_PUBLIC; +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_Finalized(int *flag) MPICH_API_PUBLIC; +int MPI_Free_mem(void *base) MPICH_API_PUBLIC; +int MPI_Get_address(const void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int MPI_Info_create(MPI_Info *info) MPICH_API_PUBLIC; +int MPI_Info_delete(MPI_Info info, const char *key) MPICH_API_PUBLIC; +int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo) MPICH_API_PUBLIC; +int MPI_Info_free(MPI_Info *info) MPICH_API_PUBLIC; +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) MPICH_API_PUBLIC; +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) MPICH_API_PUBLIC; +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) MPICH_API_PUBLIC; +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) MPICH_API_PUBLIC; +int MPI_Info_set(MPI_Info info, const char *key, const char *value) MPICH_API_PUBLIC; +int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, + MPI_Aint *size) MPICH_API_PUBLIC; +int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status) MPICH_API_PUBLIC; +int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status) MPICH_API_PUBLIC; +int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_struct(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], + const int array_of_subsizes[], const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent) MPICH_API_PUBLIC; +int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent) MPICH_API_PUBLIC; +int MPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) MPICH_API_PUBLIC; + +/* Fortran 90-related functions. These routines are available only if + Fortran 90 support is enabled +*/ +int MPI_Type_create_f90_integer(int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_f90_real(int precision, int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_f90_complex(int precision, int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; + +int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, + MPI_Op op) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Op_commutative(MPI_Op op, int *commute) MPICH_API_PUBLIC; +int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], + const int sourceweights[], int outdegree, + const int destinations[], const int destweights[], + MPI_Info info, int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], + const int destinations[], const int weights[], MPI_Info info, + int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) MPICH_API_PUBLIC; +int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) MPICH_API_PUBLIC; + +/* Matched probe functionality */ +int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, + MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; + +/* Nonblocking collectives */ +int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; + +/* Neighborhood collectives */ +int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], + const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; + +/* Shared memory */ +int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI-3 "large count" routines */ +int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count) MPICH_API_PUBLIC; +int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count) MPICH_API_PUBLIC; +int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size) MPICH_API_PUBLIC; + +/* Noncollective communicator creation */ +int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI_Aint addressing arithmetic */ +MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp) MPICH_API_PUBLIC; +MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) MPICH_API_PUBLIC; + +/* MPI_T interface */ +/* The MPI_T routines are available only in C bindings - tell tools that they + can skip these prototypes */ +/* Begin Skip Prototypes */ +int MPI_T_init_thread(int required, int *provided) MPICH_API_PUBLIC; +int MPI_T_finalize(void) MPICH_API_PUBLIC; +int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) MPICH_API_PUBLIC; +int MPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len) MPICH_API_PUBLIC; +int MPI_T_cvar_get_num(int *num_cvar) MPICH_API_PUBLIC; +int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *scope) MPICH_API_PUBLIC; +int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, + int *count) MPICH_API_PUBLIC; +int MPI_T_cvar_handle_free(MPI_T_cvar_handle *handle) MPICH_API_PUBLIC; +int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_get_num(int *num_pvar) MPICH_API_PUBLIC; +int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *readonly, int *continuous, int *atomic) MPICH_API_PUBLIC; +int MPI_T_pvar_session_create(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int MPI_T_pvar_session_free(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, + MPI_T_pvar_handle *handle, int *count) MPICH_API_PUBLIC; +int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle) MPICH_API_PUBLIC; +int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_category_get_num(int *num_cat) MPICH_API_PUBLIC; +int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, + int *num_cvars, int *num_pvars, int *num_categories) MPICH_API_PUBLIC; +int MPI_T_category_get_cvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_changed(int *stamp) MPICH_API_PUBLIC; +int MPI_T_cvar_get_index(const char *name, int *cvar_index) MPICH_API_PUBLIC; +int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) MPICH_API_PUBLIC; +int MPI_T_category_get_index(const char *name, int *cat_index) MPICH_API_PUBLIC; +/* End Skip Prototypes */ + + +/* Non-standard but public extensions to MPI */ +/* Fault Tolerance Extensions */ +int MPIX_Comm_failure_ack(MPI_Comm comm) MPICH_API_PUBLIC; +int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp) MPICH_API_PUBLIC; +int MPIX_Comm_revoke(MPI_Comm comm) MPICH_API_PUBLIC; +int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPIX_Comm_agree(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; + + +/* End Prototypes */ +#endif /* MPICH_SUPPRESS_PROTOTYPES */ + + +/* Here are the bindings of the profiling routines */ +#if !defined(MPI_BUILD_PROFILING) +int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Buffer_attach(void *buffer, int size) MPICH_API_PUBLIC; +int PMPI_Buffer_detach(void *buffer_addr, int *size) MPICH_API_PUBLIC; +int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Wait(MPI_Request *request, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Request_free(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Cancel(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Test_cancelled(const MPI_Status *status, int *flag) MPICH_API_PUBLIC; +int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Start(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Startall(int count, MPI_Request array_of_requests[]) MPICH_API_PUBLIC; +int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, + int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(6,8) MPICH_API_PUBLIC; +int PMPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, + int sendtag, int source, int recvtag, MPI_Comm comm, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_indexed(int count, const int *array_of_blocklengths, + const int *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_hindexed(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_struct(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, + MPI_Datatype *array_of_types, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Address(void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int PMPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent) MPICH_API_PUBLIC; +int PMPI_Type_size(MPI_Datatype datatype, int *size) MPICH_API_PUBLIC; +int PMPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int PMPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int PMPI_Type_commit(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Type_free(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, + int outsize, int *position, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, + MPI_Datatype datatype, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Barrier(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, + MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, + const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; +int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) MPICH_API_PUBLIC; +int PMPI_Op_free(MPI_Op *op) MPICH_API_PUBLIC; +int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Group_size(MPI_Group group, int *size) MPICH_API_PUBLIC; +int PMPI_Group_rank(MPI_Group group, int *rank) MPICH_API_PUBLIC; +int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, + int ranks2[]) MPICH_API_PUBLIC; +int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) MPICH_API_PUBLIC; +int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_free(MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Comm_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Comm_rank(MPI_Comm comm, int *rank) MPICH_API_PUBLIC; +int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) MPICH_API_PUBLIC; +int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_free(MPI_Comm *comm) MPICH_API_PUBLIC; +int PMPI_Comm_test_inter(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; +int PMPI_Comm_remote_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, + int remote_leader, int tag, MPI_Comm *newintercomm) MPICH_API_PUBLIC; +int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm) MPICH_API_PUBLIC; +int PMPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) MPICH_API_PUBLIC; +int PMPI_Keyval_free(int *keyval) MPICH_API_PUBLIC; +int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Attr_delete(MPI_Comm comm, int keyval) MPICH_API_PUBLIC; +int PMPI_Topo_test(MPI_Comm comm, int *status) MPICH_API_PUBLIC; +int PMPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], + int reorder, MPI_Comm *comm_cart) MPICH_API_PUBLIC; +int PMPI_Dims_create(int nnodes, int ndims, int dims[]) MPICH_API_PUBLIC; +int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], + int reorder, MPI_Comm *comm_graph) MPICH_API_PUBLIC; +int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) MPICH_API_PUBLIC; +int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) MPICH_API_PUBLIC; +int PMPI_Cartdim_get(MPI_Comm comm, int *ndims) MPICH_API_PUBLIC; +int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]) MPICH_API_PUBLIC; +int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank) MPICH_API_PUBLIC; +int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]) MPICH_API_PUBLIC; +int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) MPICH_API_PUBLIC; +int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) MPICH_API_PUBLIC; +int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPICH_API_PUBLIC; +int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank) MPICH_API_PUBLIC; +int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) MPICH_API_PUBLIC; +int PMPI_Get_processor_name(char *name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Get_version(int *version, int *subversion) MPICH_API_PUBLIC; +int PMPI_Get_library_version(char *version, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_free(MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Error_string(int errorcode, char *string, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Error_class(int errorcode, int *errorclass) MPICH_API_PUBLIC; +double PMPI_Wtime(void) MPICH_API_PUBLIC; +double PMPI_Wtick(void) MPICH_API_PUBLIC; +int PMPI_Init(int *argc, char ***argv) MPICH_API_PUBLIC; +int PMPI_Finalize(void) MPICH_API_PUBLIC; +int PMPI_Initialized(int *flag) MPICH_API_PUBLIC; +int PMPI_Abort(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; + +/* Note that we may need to define a @PCONTROL_LIST@ depending on whether + stdargs are supported */ +int PMPI_Pcontrol(const int level, ...) MPICH_API_PUBLIC; + +/* Process Creation and Management */ +int PMPI_Close_port(const char *port_name) MPICH_API_PUBLIC; +int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_disconnect(MPI_Comm *comm) MPICH_API_PUBLIC; +int PMPI_Comm_get_parent(MPI_Comm *parent) MPICH_API_PUBLIC; +int PMPI_Comm_join(int fd, MPI_Comm *intercomm) MPICH_API_PUBLIC; +int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int PMPI_Open_port(MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int PMPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int PMPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info) MPICH_API_PUBLIC; +int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info) MPICH_API_PUBLIC; + +/* One-Sided Communications */ +int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Win_complete(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_fence(int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_free(MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_get_group(MPI_Win win, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_test(MPI_Win win, int *flag) MPICH_API_PUBLIC; +int PMPI_Win_unlock(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_wait(MPI_Win win) MPICH_API_PUBLIC; + +/* MPI-3 One-Sided Communication Routines */ +int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, + MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr) MPICH_API_PUBLIC; +int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) MPICH_API_PUBLIC; +int PMPI_Win_detach(MPI_Win win, const void *base) MPICH_API_PUBLIC; +int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used) MPICH_API_PUBLIC; +int PMPI_Win_set_info(MPI_Win win, MPI_Info info) MPICH_API_PUBLIC; +int PMPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,4) MPICH_API_PUBLIC; +int PMPI_Rput(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rget(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Raccumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Win_lock_all(int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_unlock_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_local(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_local_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_sync(MPI_Win win) MPICH_API_PUBLIC; + +/* External Interfaces */ +int PMPI_Add_error_class(int *errorclass) MPICH_API_PUBLIC; +int PMPI_Add_error_code(int errorclass, int *errorcode) MPICH_API_PUBLIC; +int PMPI_Add_error_string(int errorcode, const char *string) MPICH_API_PUBLIC; +int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; +int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, + void *extra_state) MPICH_API_PUBLIC; +int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) MPICH_API_PUBLIC; +int PMPI_Comm_free_keyval(int *comm_keyval) MPICH_API_PUBLIC; +int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name) MPICH_API_PUBLIC; +int PMPI_File_call_errhandler(MPI_File fh, int errorcode) MPICH_API_PUBLIC; +int PMPI_Grequest_complete(MPI_Request request) MPICH_API_PUBLIC; +int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Init_thread(int *argc, char ***argv, int required, int *provided) MPICH_API_PUBLIC; +int PMPI_Is_thread_main(int *flag) MPICH_API_PUBLIC; +int PMPI_Query_thread(int *provided) MPICH_API_PUBLIC; +int PMPI_Status_set_cancelled(MPI_Status *status, int flag) MPICH_API_PUBLIC; +int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count) MPICH_API_PUBLIC; +int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state) MPICH_API_PUBLIC; +int PMPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) MPICH_API_PUBLIC; +int PMPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_free_keyval(int *type_keyval) MPICH_API_PUBLIC; +int PMPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, + int max_datatypes, int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) MPICH_API_PUBLIC; +int PMPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, + int *num_datatypes, int *combiner) MPICH_API_PUBLIC; +int PMPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Type_set_name(MPI_Datatype datatype, const char *type_name) MPICH_API_PUBLIC; +int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Win_call_errhandler(MPI_Win win, int errorcode) MPICH_API_PUBLIC; +int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, + void *extra_state) MPICH_API_PUBLIC; +int PMPI_Win_delete_attr(MPI_Win win, int win_keyval) MPICH_API_PUBLIC; +int PMPI_Win_free_keyval(int *win_keyval) MPICH_API_PUBLIC; +int PMPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Win_set_name(MPI_Win win, const char *win_name) MPICH_API_PUBLIC; + +int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) MPICH_API_PUBLIC; +int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_Finalized(int *flag) MPICH_API_PUBLIC; +int PMPI_Free_mem(void *base) MPICH_API_PUBLIC; +int PMPI_Get_address(const void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int PMPI_Info_create(MPI_Info *info) MPICH_API_PUBLIC; +int PMPI_Info_delete(MPI_Info info, const char *key) MPICH_API_PUBLIC; +int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo) MPICH_API_PUBLIC; +int PMPI_Info_free(MPI_Info *info) MPICH_API_PUBLIC; +int PMPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) MPICH_API_PUBLIC; +int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys) MPICH_API_PUBLIC; +int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key) MPICH_API_PUBLIC; +int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) MPICH_API_PUBLIC; +int PMPI_Info_set(MPI_Info info, const char *key, const char *value) MPICH_API_PUBLIC; +int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, + MPI_Aint *size) MPICH_API_PUBLIC; +int PMPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status) MPICH_API_PUBLIC; +int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status) MPICH_API_PUBLIC; +int PMPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_struct(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_subarray(int ndims, const int array_of_sizes[], + const int array_of_subsizes[], const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent) MPICH_API_PUBLIC; +int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent) MPICH_API_PUBLIC; +int PMPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) MPICH_API_PUBLIC; + +/* Fortran 90-related functions. These routines are available only if + Fortran 90 support is enabled +*/ +int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; + +int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, + MPI_Op op) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Op_commutative(MPI_Op op, int *commute) MPICH_API_PUBLIC; +int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], + const int sourceweights[], int outdegree, + const int destinations[], const int destweights[], + MPI_Info info, int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], + const int destinations[], const int weights[], MPI_Info info, + int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int PMPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) MPICH_API_PUBLIC; +int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) MPICH_API_PUBLIC; + +/* Matched probe functionality */ +int PMPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, + MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; + +/* Nonblocking collectives */ +int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; + +/* Neighborhood collectives */ +int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], + const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm) MPICH_API_PUBLIC; + +/* Shared memory */ +int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* Noncollective communicator creation */ +int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI-3 "large count" routines */ +int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count) MPICH_API_PUBLIC; +int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count) MPICH_API_PUBLIC; +int PMPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int PMPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size) MPICH_API_PUBLIC; + +/* MPI_Aint addressing arithmetic */ +MPI_Aint PMPI_Aint_add(MPI_Aint base, MPI_Aint disp) MPICH_API_PUBLIC; +MPI_Aint PMPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) MPICH_API_PUBLIC; + +/* MPI_T interface */ +/* The MPI_T routines are available only in C bindings - tell tools that they + can skip these prototypes */ +/* Begin Skip Prototypes */ +int PMPI_T_init_thread(int required, int *provided) MPICH_API_PUBLIC; +int PMPI_T_finalize(void) MPICH_API_PUBLIC; +int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) MPICH_API_PUBLIC; +int PMPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_num(int *num_cvar) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *scope) MPICH_API_PUBLIC; +int PMPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, + int *count) MPICH_API_PUBLIC; +int PMPI_T_cvar_handle_free(MPI_T_cvar_handle *handle) MPICH_API_PUBLIC; +int PMPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_num(int *num_pvar) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *readonly, int *continuous, int *atomic) MPICH_API_PUBLIC; +int PMPI_T_pvar_session_create(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int PMPI_T_pvar_session_free(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, + MPI_T_pvar_handle *handle, int *count) MPICH_API_PUBLIC; +int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_category_get_num(int *num_cat) MPICH_API_PUBLIC; +int PMPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, + int *num_cvars, int *num_pvars, int *num_categories) MPICH_API_PUBLIC; +int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_get_categories(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_changed(int *stamp) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_index(const char *name, int *cvar_index) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) MPICH_API_PUBLIC; +int PMPI_T_category_get_index(const char *name, int *cat_index) MPICH_API_PUBLIC; +/* End Skip Prototypes */ + + +/* Non-standard but public extensions to MPI */ +/* Fault Tolerance Extensions */ +int PMPIX_Comm_failure_ack(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp) MPICH_API_PUBLIC; +int PMPIX_Comm_revoke(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPIX_Comm_agree(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; + +#endif /* MPI_BUILD_PROFILING */ +/* End of MPI bindings */ + +/* feature advertisement */ +#define MPIIMPL_ADVERTISES_FEATURES 1 +#define MPIIMPL_HAVE_MPI_INFO 1 +#define MPIIMPL_HAVE_MPI_COMBINER_DARRAY 1 +#define MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY 1 +#define MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY 1 +#define MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY 1 +#define MPIIMPL_HAVE_MPI_COMBINER_DUP 1 +#define MPIIMPL_HAVE_MPI_GREQUEST 1 +#define MPIIMPL_HAVE_STATUS_SET_BYTES 1 +#define MPIIMPL_HAVE_STATUS_SET_INFO 1 + +#include "mpio.h" + +#if defined(__cplusplus) +} +/* Add the C++ bindings */ +/* + If MPICH_SKIP_MPICXX is defined, the mpicxx.h file will *not* be included. + This is necessary, for example, when building the C++ interfaces. It + can also be used when you want to use a C++ compiler to compile C code, + and do not want to load the C++ bindings. These definitions can + be made by the C++ compilation script + */ +#if !defined(MPICH_SKIP_MPICXX) +/* mpicxx.h contains the MPI C++ binding. In the mpi.h.in file, this + include is in an autoconf variable in case the compiler is a C++ + compiler but MPI was built without the C++ bindings */ + +#endif +#endif + + +/* Generalized requests extensions */ +typedef int MPIX_Grequest_class; +int MPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, + MPIX_Grequest_class *greq_class) MPICH_API_PUBLIC; +int MPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int MPIX_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; + +/* RMA Mutexes Extensions */ +struct mpixi_mutex_s; +typedef struct mpixi_mutex_s * MPIX_Mutex; +int MPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int MPIX_Mutex_free(MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int MPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +int MPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; + + +#if !defined(MPI_BUILD_PROFILING) +/* Generalized requests extensions */ +int PMPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, + MPIX_Grequest_class *greq_class) MPICH_API_PUBLIC; +int PMPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPIX_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; + +/* RMA Mutexes Extensions */ +int PMPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int PMPIX_Mutex_free(MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int PMPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +int PMPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +#endif /* MPI_BUILD_PROFILING */ + +#endif diff --git a/macx64/mpi/mpich/include/mpio.h b/macx64/mpi/mpich/include/mpio.h new file mode 100644 index 00000000..e057dd93 --- /dev/null +++ b/macx64/mpi/mpich/include/mpio.h @@ -0,0 +1,551 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * + * Copyright (C) 1997 University of Chicago. + * See COPYRIGHT notice in top-level directory. + */ + +/* user include file for MPI-IO programs */ + +#ifndef MPIO_INCLUDE +#define MPIO_INCLUDE + +#include "mpi.h" + +#if defined(HAVE_VISIBILITY) +#define ROMIO_API_PUBLIC __attribute__((visibility ("default"))) +#else +#define ROMIO_API_PUBLIC +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#define ROMIO_VERSION 126 /* version 1.2.6 */ + +/* define MPI-IO datatypes and constants */ + +#ifndef MPI_FILE_DEFINED +typedef struct ADIOI_FileD *MPI_File; +#endif + +/* *INDENT-OFF* */ +#define HAVE_MPI_GREQUEST 1 +/* *INDENT-ON* */ +#ifndef HAVE_MPI_GREQUEST +typedef struct ADIOI_RequestD *MPIO_Request; +#else +#define MPIO_Request MPI_Request +#define MPIO_USES_MPI_REQUEST +/* Also rename the MPIO routines to get the MPI versions */ +#define MPIO_Wait MPI_Wait +#define MPIO_Test MPI_Test +#define PMPIO_Wait PMPI_Wait +#define PMPIO_Test PMPI_Test +#endif +#define MPIO_REQUEST_DEFINED + +#ifndef HAVE_MPI_OFFSET +/* *INDENT-OFF* */ +typedef long long MPI_Offset; +/* *INDENT-ON* */ +/* If we needed to define MPI_Offset, then we also need to make + this definition. */ +#ifndef HAVE_MPI_DATAREP_FUNCTIONS +#define HAVE_MPI_DATAREP_FUNCTIONS +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, + void *, MPI_Offset, void *); +typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *, + void *); +#endif +#endif + +#ifndef NEEDS_MPI_FINT +/* *INDENT-OFF* */ + +/* *INDENT-ON* */ +#endif +#ifdef NEEDS_MPI_FINT +typedef int MPI_Fint; +#endif + +#ifndef HAVE_MPI_INFO +/* *INDENT-OFF* */ +#define HAVE_MPI_INFO +/* *INDENT-ON* */ +#endif +#ifndef HAVE_MPI_INFO + typedef struct MPIR_Info *MPI_Info; +# define MPI_INFO_NULL ((MPI_Info) 0) +# define MPI_MAX_INFO_KEY 255 +# define MPI_MAX_INFO_VAL 1024 +#endif + +#define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */ +#define MPI_MODE_RDWR 8 /* ADIO_RDWR */ +#define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */ +#define MPI_MODE_CREATE 1 /* ADIO_CREATE */ +#define MPI_MODE_EXCL 64 /* ADIO_EXCL */ +#define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */ +#define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */ +#define MPI_MODE_APPEND 128 /* ADIO_APPEND */ +#define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */ + +#define MPI_DISPLACEMENT_CURRENT -54278278 + +#ifndef MPICH +/* FIXME: Make sure that we get a consistent definition of MPI_FILE_NULL + in MPICH */ +/* MPICH defines null object handles differently */ +#define MPI_FILE_NULL ((MPI_File) 0) +#endif +#define MPIO_REQUEST_NULL ((MPIO_Request) 0) + +#define MPI_SEEK_SET 600 +#define MPI_SEEK_CUR 602 +#define MPI_SEEK_END 604 + +/* Open MPI: don't define MPI_MAX_DATAREP_STRING here; it's defined in + OMPI's mpi.h. */ +#ifndef OPEN_MPI +#define MPI_MAX_DATAREP_STRING 128 +#endif + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* *INDENT-OFF* */ +#define HAVE_MPI_DARRAY_SUBARRAY +/* *INDENT-ON* */ +#endif +#ifndef HAVE_MPI_DARRAY_SUBARRAY +# define MPI_ORDER_C 56 +# define MPI_ORDER_FORTRAN 57 +# define MPI_DISTRIBUTE_BLOCK 121 +# define MPI_DISTRIBUTE_CYCLIC 122 +# define MPI_DISTRIBUTE_NONE 123 +# define MPI_DISTRIBUTE_DFLT_DARG -49767 +#endif + + +/* MPI-IO function prototypes */ + +/* The compiler must support ANSI C style prototypes, otherwise + long long constants (e.g. 0) may get passed as ints. */ + +#ifndef HAVE_PRAGMA_HP_SEC_DEF + +/* Section 9.2 */ +/* Begin Prototypes */ +int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh) ROMIO_API_PUBLIC; +int MPI_File_close(MPI_File *fh) ROMIO_API_PUBLIC; +int MPI_File_delete(const char *filename, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_set_size(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC; +int MPI_File_preallocate(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC; +int MPI_File_get_size(MPI_File fh, MPI_Offset *size) ROMIO_API_PUBLIC; +int MPI_File_get_group(MPI_File fh, MPI_Group *group) ROMIO_API_PUBLIC; +int MPI_File_get_amode(MPI_File fh, int *amode) ROMIO_API_PUBLIC; +int MPI_File_set_info(MPI_File fh, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_get_info(MPI_File fh, MPI_Info *info_used) ROMIO_API_PUBLIC; + +/* Section 9.3 */ +int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, + const char *datarep, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, + char *datarep) ROMIO_API_PUBLIC; + +/* Section 9.4.2 */ +int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ +int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPIO_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* Section 9.4.3 */ +int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPIO_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC; +int MPI_File_get_position(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC; +int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp) ROMIO_API_PUBLIC; + +/* Section 9.4.4 */ +int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC; +int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC; + +/* Section 9.4.5 */ +int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; + +/* Section 9.5.1 */ +int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent) ROMIO_API_PUBLIC; + +/* Section 9.5.3 */ +int MPI_Register_datarep(const char *datarep, MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state) ROMIO_API_PUBLIC; + +/* Section 9.6.1 */ +int MPI_File_set_atomicity(MPI_File fh, int flag) ROMIO_API_PUBLIC; +int MPI_File_get_atomicity(MPI_File fh, int *flag) ROMIO_API_PUBLIC; +int MPI_File_sync(MPI_File fh) ROMIO_API_PUBLIC; + +/* Section 4.13.3 */ +#ifndef MPICH +/* MPICH provides these definitions */ +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) ROMIO_API_PUBLIC; +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) ROMIO_API_PUBLIC; +#endif + +/* For MPI 3.1 */ +int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +/* End Prototypes */ + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* Section 4.14.4 */ +int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], + const int array_of_starts[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) ROMIO_API_PUBLIC; + +/* Section 4.14.5 */ +int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes, int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) ROMIO_API_PUBLIC; +#endif + +/* The globus2 device has to rename MPI_ symbols in order to use the vendor + MPI as one of its transport mechanisms. Therefore, the following undefines + should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */ +/* Section 4.12.4 */ +#if !defined(MPICH_RENAMING_MPI_FUNCS) +#ifdef MPI_File_f2c +#undef MPI_File_f2c +#endif +#ifdef MPI_File_c2f +#undef MPI_File_c2f +#endif +#endif +/* above needed for some versions of mpi.h in MPICH!! */ +MPI_File MPI_File_f2c(MPI_Fint file) ROMIO_API_PUBLIC; +MPI_Fint MPI_File_c2f(MPI_File file) ROMIO_API_PUBLIC; + + +#ifndef HAVE_MPI_GREQUEST +/* The following functions are required if generalized requests are not + available, because in that case, an MPIO_Request object + is currently used for nonblocking I/O. */ +int MPIO_Test(MPIO_Request *request, int *flag, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Wait(MPIO_Request *request, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Testall(int count, MPIO_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Waitall(int count, MPIO_Request array_of_requests[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Testany(int count, MPIO_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Waitany(int count, MPIO_Request array_of_requests[], int *indx, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Waitsome(int incount, MPIO_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Testsome(int incount, MPIO_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; + +MPI_Fint MPIO_Request_c2f(MPIO_Request request) ROMIO_API_PUBLIC; +MPIO_Request MPIO_Request_f2c(MPI_Fint request) ROMIO_API_PUBLIC; +#endif /* HAVE_MPI_GREQUEST */ + +/* info functions if not defined in the MPI implementation */ +#ifndef HAVE_MPI_INFO + +int MPI_Info_create(MPI_Info *info) ROMIO_API_PUBLIC; +int MPI_Info_set(MPI_Info info, const char *key, const char *value) ROMIO_API_PUBLIC; +int MPI_Info_delete(MPI_Info info, const char *key) ROMIO_API_PUBLIC; +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) ROMIO_API_PUBLIC; +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) ROMIO_API_PUBLIC; +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) ROMIO_API_PUBLIC; +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) ROMIO_API_PUBLIC; +int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo) ROMIO_API_PUBLIC; +int MPI_Info_free(MPI_Info *info) ROMIO_API_PUBLIC; + +/* The globus2 device has to rename MPI_ symbols in order to use the vendor + MPI as one of its transport mechanisms. Therefore, the following undefines + should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */ +#if !defined(MPICH_RENAMING_MPI_FUNCS) +#ifdef MPI_Info_f2c +#undef MPI_Info_f2c +#endif +#ifdef MPI_Info_c2f +#undef MPI_Info_c2f +#endif +#endif +/* above needed for some versions of mpi.h in MPICH!! */ +MPI_Fint MPI_Info_c2f(MPI_Info info) ROMIO_API_PUBLIC; +MPI_Info MPI_Info_f2c(MPI_Fint info) ROMIO_API_PUBLIC; +#endif + +#endif /* HAVE_PRAGMA_HP_SEC_DEF */ + + +/**************** BINDINGS FOR THE PROFILING INTERFACE ***************/ + + +/* Section 9.2 */ +int PMPI_File_open(MPI_Comm, const char *, int, MPI_Info, MPI_File *) ROMIO_API_PUBLIC; +int PMPI_File_close(MPI_File *) ROMIO_API_PUBLIC; +int PMPI_File_delete(const char *, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_set_size(MPI_File, MPI_Offset) ROMIO_API_PUBLIC; +int PMPI_File_preallocate(MPI_File, MPI_Offset) ROMIO_API_PUBLIC; +int PMPI_File_get_size(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; +int PMPI_File_get_group(MPI_File, MPI_Group *) ROMIO_API_PUBLIC; +int PMPI_File_get_amode(MPI_File, int *) ROMIO_API_PUBLIC; +int PMPI_File_set_info(MPI_File, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_get_info(MPI_File, MPI_Info *) ROMIO_API_PUBLIC; + +/* Section 9.3 */ +int PMPI_File_set_view(MPI_File, MPI_Offset, + MPI_Datatype, MPI_Datatype, const char *, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_get_view(MPI_File, MPI_Offset *, + MPI_Datatype *, MPI_Datatype *, char *) ROMIO_API_PUBLIC; + +/* Section 9.4.2 */ +int PMPI_File_read_at(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_read_at_all(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int PMPI_File_iread_at(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_at(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* Section 9.4.3 */ +int PMPI_File_read(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_all(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_all(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int PMPI_File_iread(MPI_File, void *, int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite(MPI_File, const void *, int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +int PMPI_File_seek(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC; +int PMPI_File_get_position(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; +int PMPI_File_get_byte_offset(MPI_File, MPI_Offset, MPI_Offset *) ROMIO_API_PUBLIC; + +/* Section 9.4.4 */ +int PMPI_File_read_shared(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_shared(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iread_shared(MPI_File, void *, int, + MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_shared(MPI_File, const void *, int, + MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_seek_shared(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC; +int PMPI_File_get_position_shared(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; + +/* Section 9.4.5 */ +int PMPI_File_read_at_all_begin(MPI_File, MPI_Offset, void *, + int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_read_at_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all_begin(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_read_all_begin(MPI_File, void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_all_begin(MPI_File, const void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered_begin(MPI_File, void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered_begin(MPI_File, const void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; + +/* Section 9.5.1 */ +int PMPI_File_get_type_extent(MPI_File, MPI_Datatype, MPI_Aint *) ROMIO_API_PUBLIC; + +/* Section 9.5.3 */ +int PMPI_Register_datarep(const char *, + MPI_Datarep_conversion_function *, + MPI_Datarep_conversion_function *, + MPI_Datarep_extent_function *, + void *) ROMIO_API_PUBLIC; + +/* Section 9.6.1 */ +int PMPI_File_set_atomicity(MPI_File, int) ROMIO_API_PUBLIC; +int PMPI_File_get_atomicity(MPI_File, int *) ROMIO_API_PUBLIC; +int PMPI_File_sync(MPI_File) ROMIO_API_PUBLIC; + +/* Section 4.13.3 */ +#ifndef MPICH +/* MPICH provides these definitions */ +int PMPI_File_set_errhandler( MPI_File, MPI_Errhandler ) ROMIO_API_PUBLIC; +int PMPI_File_get_errhandler( MPI_File, MPI_Errhandler * ) ROMIO_API_PUBLIC; +#endif + +/* For MPI 3.1 */ +int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* Section 4.14.4 */ +int PMPI_Type_create_subarray(int, int *, int *, int *, int, + MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC; + +/* Section 4.14.5 */ +int PMPI_Type_create_darray(int, int, int, int *, int *, + int *, int *, int, MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC; +#endif + +/* Section 4.12.4 */ +MPI_File PMPI_File_f2c(MPI_Fint) ROMIO_API_PUBLIC; +MPI_Fint PMPI_File_c2f(MPI_File) ROMIO_API_PUBLIC; + +#ifndef HAVE_MPI_GREQUEST +/* The following functions are required if generalized requests are not + available, because in that case, an MPIO_Request object + is currently used for nonblocking I/O. */ +int PMPIO_Test(MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Wait(MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testall(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitall(int, MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testany(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitany(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +MPI_Fint PMPIO_Request_c2f(MPIO_Request) ROMIO_API_PUBLIC; +MPIO_Request PMPIO_Request_f2c(MPI_Fint) ROMIO_API_PUBLIC; +#endif /* HAVE_MPI_GREQUEST */ + +/* info functions if not defined in the MPI implementation */ +#ifndef HAVE_MPI_INFO + +int PMPI_Info_create(MPI_Info *) ROMIO_API_PUBLIC; +int PMPI_Info_set(MPI_Info, char *, char *) ROMIO_API_PUBLIC; +int PMPI_Info_delete(MPI_Info, char *) ROMIO_API_PUBLIC; +int PMPI_Info_get(MPI_Info, char *, int, char *, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_valuelen(MPI_Info, char *, int *, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_nkeys(MPI_Info, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_nthkey(MPI_Info, int, char *) ROMIO_API_PUBLIC; +int PMPI_Info_dup(MPI_Info, MPI_Info *) ROMIO_API_PUBLIC; +int PMPI_Info_free(MPI_Info *) ROMIO_API_PUBLIC; + +MPI_Fint PMPI_Info_c2f(MPI_Info) ROMIO_API_PUBLIC; +MPI_Info PMPI_Info_f2c(MPI_Fint) ROMIO_API_PUBLIC; +#endif + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/macx64/mpi/mpich/include/mpiof.h b/macx64/mpi/mpich/include/mpiof.h new file mode 100644 index 00000000..6d865d15 --- /dev/null +++ b/macx64/mpi/mpich/include/mpiof.h @@ -0,0 +1,46 @@ +! +! Copyright (C) 1997 University of Chicago. +! See COPYRIGHT notice in top-level directory. +! +! +! user include file for Fortran MPI-IO programs +! + INTEGER MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY + INTEGER MPI_MODE_DELETE_ON_CLOSE, MPI_MODE_UNIQUE_OPEN + INTEGER MPI_MODE_CREATE, MPI_MODE_EXCL + INTEGER MPI_MODE_APPEND, MPI_MODE_SEQUENTIAL + PARAMETER (MPI_MODE_RDONLY=2, MPI_MODE_RDWR=8, MPI_MODE_WRONLY=4) + PARAMETER (MPI_MODE_CREATE=1, MPI_MODE_DELETE_ON_CLOSE=16) + PARAMETER (MPI_MODE_UNIQUE_OPEN=32, MPI_MODE_EXCL=64) + PARAMETER (MPI_MODE_APPEND=128, MPI_MODE_SEQUENTIAL=256) +! + INTEGER MPI_FILE_NULL + PARAMETER (MPI_FILE_NULL=0) +! + INTEGER MPI_MAX_DATAREP_STRING + PARAMETER (MPI_MAX_DATAREP_STRING=128) +! + INTEGER MPI_SEEK_SET, MPI_SEEK_CUR, MPI_SEEK_END + PARAMETER (MPI_SEEK_SET=600, MPI_SEEK_CUR=602, MPI_SEEK_END=604) +! + INTEGER MPIO_REQUEST_NULL + PARAMETER (MPIO_REQUEST_NULL=0) +! + integer*8 MPI_DISPLACEMENT_CURRENT + PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278) +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! diff --git a/macx64/mpi/mpich/lib/libmpi.12.dylib b/macx64/mpi/mpich/lib/libmpi.12.dylib new file mode 100755 index 00000000..2e682908 Binary files /dev/null and b/macx64/mpi/mpich/lib/libmpi.12.dylib differ diff --git a/macx64/mpi/mpich/lib/libmpi.a b/macx64/mpi/mpich/lib/libmpi.a new file mode 100644 index 00000000..36414ba2 Binary files /dev/null and b/macx64/mpi/mpich/lib/libmpi.a differ diff --git a/macx64/mpi/mpich/lib/libmpi.dylib b/macx64/mpi/mpich/lib/libmpi.dylib new file mode 120000 index 00000000..809391c9 --- /dev/null +++ b/macx64/mpi/mpich/lib/libmpi.dylib @@ -0,0 +1 @@ +libmpi.12.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libmpi.la b/macx64/mpi/mpich/lib/libmpi.la new file mode 100755 index 00000000..afcd6ba2 --- /dev/null +++ b/macx64/mpi/mpich/lib/libmpi.la @@ -0,0 +1,41 @@ +# libmpi.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libmpi.12.dylib' + +# Names of this library. +library_names='libmpi.12.dylib libmpi.dylib' + +# The name of the static archive. +old_library='libmpi.a' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' -framework OpenCL' + +# Libraries that this one depends upon. +dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib/libpmpi.la -lm -lpthread' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libmpi. +current=13 +age=1 +revision=7 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib' diff --git a/macx64/mpi/mpich/lib/libmpich.dylib b/macx64/mpi/mpich/lib/libmpich.dylib new file mode 120000 index 00000000..9480a290 --- /dev/null +++ b/macx64/mpi/mpich/lib/libmpich.dylib @@ -0,0 +1 @@ +libmpi.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libmpl.dylib b/macx64/mpi/mpich/lib/libmpl.dylib new file mode 120000 index 00000000..9480a290 --- /dev/null +++ b/macx64/mpi/mpich/lib/libmpl.dylib @@ -0,0 +1 @@ +libmpi.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libopa.dylib b/macx64/mpi/mpich/lib/libopa.dylib new file mode 120000 index 00000000..9480a290 --- /dev/null +++ b/macx64/mpi/mpich/lib/libopa.dylib @@ -0,0 +1 @@ +libmpi.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libpmpi.12.dylib b/macx64/mpi/mpich/lib/libpmpi.12.dylib new file mode 100755 index 00000000..48da8ac4 Binary files /dev/null and b/macx64/mpi/mpich/lib/libpmpi.12.dylib differ diff --git a/macx64/mpi/mpich/lib/libpmpi.a b/macx64/mpi/mpich/lib/libpmpi.a new file mode 100644 index 00000000..1fdbf505 Binary files /dev/null and b/macx64/mpi/mpich/lib/libpmpi.a differ diff --git a/macx64/mpi/mpich/lib/libpmpi.dylib b/macx64/mpi/mpich/lib/libpmpi.dylib new file mode 120000 index 00000000..e329819c --- /dev/null +++ b/macx64/mpi/mpich/lib/libpmpi.dylib @@ -0,0 +1 @@ +libpmpi.12.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libpmpi.la b/macx64/mpi/mpich/lib/libpmpi.la new file mode 100755 index 00000000..5ab90e21 --- /dev/null +++ b/macx64/mpi/mpich/lib/libpmpi.la @@ -0,0 +1,41 @@ +# libpmpi.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libpmpi.12.dylib' + +# Names of this library. +library_names='libpmpi.12.dylib libpmpi.dylib' + +# The name of the static archive. +old_library='libpmpi.a' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' -framework OpenCL' + +# Libraries that this one depends upon. +dependency_libs=' -lm -lpthread' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libpmpi. +current=13 +age=1 +revision=7 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib' diff --git a/macx64/mpi/mpich/lib/pkgconfig/mpich.pc b/macx64/mpi/mpich/lib/pkgconfig/mpich.pc new file mode 100644 index 00000000..f8637092 --- /dev/null +++ b/macx64/mpi/mpich/lib/pkgconfig/mpich.pc @@ -0,0 +1,20 @@ +# this gives access to the mpich header files +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: mpich +Description: High Performance and portable MPI +Version: 3.3.1 +URL: http://www.mcs.anl.gov/research/projects/mpich +Requires: +Libs: -Wl,-flat_namespace -L${libdir} -lmpi -lpmpi -lm -lpthread +Cflags: -I${includedir} + +# pkg-config does not understand Cxxflags, etc. So we allow users to +# query them using the --variable option + +cxxflags= -I${includedir} +fflags= -I${includedir} +fcflags= -I${includedir} diff --git a/macx64/mpi/mpich/lib/pkgconfig/openpa.pc b/macx64/mpi/mpich/lib/pkgconfig/openpa.pc new file mode 100644 index 00000000..b45642bb --- /dev/null +++ b/macx64/mpi/mpich/lib/pkgconfig/openpa.pc @@ -0,0 +1,15 @@ +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +# Technically, the -lopa below isn't needed if you are only using the atomic +# primitives (not the queue code) and you are not using mutex emulation. + +Name: OpenPA +Description: Portable library for atomic operations +Version: 1.0.3 +Libs: -L${libdir} -lopa +Libs.private: -lpthread +Cflags: -I${includedir} + diff --git a/macx64/mpi/mpich/share/doc/mpich/index.html b/macx64/mpi/mpich/share/doc/mpich/index.html new file mode 100644 index 00000000..030549a3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/index.html @@ -0,0 +1,563 @@ + + +Web pages for MPI + + + +

Web pages for MPI

+

MPI Commands

+ + + + + + + + + +
mpiccmpiexecmpifort
mpicxxmpif77
+

MPI Routines and Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstantsMPI_File_read_ordered_endMPI_Rget_accumulate
MPIR_Type_commitMPI_File_read_sharedMPI_Rput
MPIR_Type_contiguousMPI_File_seekMPI_Rsend
MPIR_Type_dupMPI_File_seek_sharedMPI_Rsend_init
MPIR_Type_get_contentsMPI_File_set_atomicityMPI_Scan
MPIR_Type_indexedMPI_File_set_errhandlerMPI_Scatter
MPIR_Type_structMPI_File_set_infoMPI_Scatterv
MPIR_Type_vectorMPI_File_set_sizeMPI_Send
MPIX_Comm_agreeMPI_File_set_viewMPI_Send_init
MPIX_Comm_failure_ackMPI_File_syncMPI_Sendrecv
MPIX_Comm_failure_get_ackedMPI_File_writeMPI_Sendrecv_replace
MPIX_Comm_revokeMPI_File_write_allMPI_Ssend
MPIX_Comm_shrinkMPI_File_write_all_beginMPI_Ssend_init
MPI_AbortMPI_File_write_all_endMPI_Start
MPI_AccumulateMPI_File_write_atMPI_Startall
MPI_Add_error_classMPI_File_write_at_allMPI_Status_set_cancelled
MPI_Add_error_codeMPI_File_write_at_all_beginMPI_Status_set_elements
MPI_Add_error_stringMPI_File_write_at_all_endMPI_Status_set_elements_x
MPI_AddressMPI_File_write_orderedMPI_T_category_changed
MPI_Aint_addMPI_File_write_ordered_beginMPI_T_category_get_categories
MPI_Aint_diffMPI_File_write_ordered_endMPI_T_category_get_cvars
MPI_AllgatherMPI_File_write_sharedMPI_T_category_get_info
MPI_AllgathervMPI_FinalizeMPI_T_category_get_num
MPI_Alloc_memMPI_FinalizedMPI_T_category_get_pvars
MPI_AllreduceMPI_Free_memMPI_T_cvar_get_info
MPI_AlltoallMPI_GatherMPI_T_cvar_get_num
MPI_AlltoallvMPI_GathervMPI_T_cvar_handle_alloc
MPI_AlltoallwMPI_GetMPI_T_cvar_handle_free
MPI_Attr_deleteMPI_Get_accumulateMPI_T_cvar_read
MPI_Attr_getMPI_Get_addressMPI_T_cvar_write
MPI_Attr_putMPI_Get_countMPI_T_enum_get_info
MPI_BarrierMPI_Get_elementsMPI_T_enum_get_item
MPI_BcastMPI_Get_elements_xMPI_T_finalize
MPI_BsendMPI_Get_library_versionMPI_T_init_thread
MPI_Bsend_initMPI_Get_processor_nameMPI_T_pvar_get_info
MPI_Buffer_attachMPI_Get_versionMPI_T_pvar_get_num
MPI_Buffer_detachMPI_Graph_createMPI_T_pvar_handle_alloc
MPI_CancelMPI_Graph_getMPI_T_pvar_handle_free
MPI_Cart_coordsMPI_Graph_mapMPI_T_pvar_read
MPI_Cart_createMPI_Graph_neighborsMPI_T_pvar_readreset
MPI_Cart_getMPI_Graph_neighbors_countMPI_T_pvar_reset
MPI_Cart_mapMPI_Graphdims_getMPI_T_pvar_session_create
MPI_Cart_rankMPI_Grequest_completeMPI_T_pvar_session_free
MPI_Cart_shiftMPI_Grequest_startMPI_T_pvar_start
MPI_Cart_subMPI_Group_compareMPI_T_pvar_stop
MPI_Cartdim_getMPI_Group_differenceMPI_T_pvar_write
MPI_Close_portMPI_Group_exclMPI_Test
MPI_Comm_acceptMPI_Group_freeMPI_Test_cancelled
MPI_Comm_call_errhandlerMPI_Group_inclMPI_Testall
MPI_Comm_compareMPI_Group_intersectionMPI_Testany
MPI_Comm_connectMPI_Group_range_exclMPI_Testsome
MPI_Comm_createMPI_Group_range_inclMPI_Topo_test
MPI_Comm_create_errhandlerMPI_Group_rankMPI_Type_commit
MPI_Comm_create_groupMPI_Group_sizeMPI_Type_contiguous
MPI_Comm_create_keyvalMPI_Group_translate_ranksMPI_Type_create_darray
MPI_Comm_delete_attrMPI_Group_unionMPI_Type_create_hindexed
MPI_Comm_disconnectMPI_IallgatherMPI_Type_create_hindexed_block
MPI_Comm_dupMPI_IallgathervMPI_Type_create_hvector
MPI_Comm_dup_with_infoMPI_IallreduceMPI_Type_create_indexed_block
MPI_Comm_freeMPI_IalltoallMPI_Type_create_keyval
MPI_Comm_free_keyvalMPI_IalltoallvMPI_Type_create_resized
MPI_Comm_get_attrMPI_IalltoallwMPI_Type_create_struct
MPI_Comm_get_errhandlerMPI_IbarrierMPI_Type_create_subarray
MPI_Comm_get_infoMPI_IbcastMPI_Type_delete_attr
MPI_Comm_get_nameMPI_IbsendMPI_Type_dup
MPI_Comm_get_parentMPI_IexscanMPI_Type_extent
MPI_Comm_groupMPI_IgatherMPI_Type_free
MPI_Comm_idupMPI_IgathervMPI_Type_free_keyval
MPI_Comm_joinMPI_ImprobeMPI_Type_get_attr
MPI_Comm_rankMPI_ImrecvMPI_Type_get_contents
MPI_Comm_remote_groupMPI_Ineighbor_allgatherMPI_Type_get_envelope
MPI_Comm_remote_sizeMPI_Ineighbor_allgathervMPI_Type_get_extent
MPI_Comm_set_attrMPI_Ineighbor_alltoallMPI_Type_get_extent_x
MPI_Comm_set_errhandlerMPI_Ineighbor_alltoallvMPI_Type_get_name
MPI_Comm_set_infoMPI_Ineighbor_alltoallwMPI_Type_get_true_extent
MPI_Comm_set_nameMPI_Info_createMPI_Type_get_true_extent_x
MPI_Comm_sizeMPI_Info_deleteMPI_Type_hindexed
MPI_Comm_spawnMPI_Info_dupMPI_Type_hvector
MPI_Comm_spawn_multipleMPI_Info_freeMPI_Type_indexed
MPI_Comm_splitMPI_Info_getMPI_Type_lb
MPI_Comm_split_typeMPI_Info_get_nkeysMPI_Type_match_size
MPI_Comm_test_interMPI_Info_get_nthkeyMPI_Type_set_attr
MPI_Compare_and_swapMPI_Info_get_valuelenMPI_Type_set_name
MPI_Dims_createMPI_Info_setMPI_Type_size
MPI_Dist_graph_createMPI_InitMPI_Type_size_x
MPI_Dist_graph_create_adjacentMPI_Init_threadMPI_Type_struct
MPI_Dist_graph_neighborsMPI_InitializedMPI_Type_ub
MPI_Dist_graph_neighbors_countMPI_Intercomm_createMPI_Type_vector
MPI_Errhandler_createMPI_Intercomm_mergeMPI_Unpack
MPI_Errhandler_freeMPI_IprobeMPI_Unpack_external
MPI_Errhandler_getMPI_IrecvMPI_Unpublish_name
MPI_Errhandler_setMPI_IreduceMPI_Wait
MPI_Error_classMPI_Ireduce_scatterMPI_Waitall
MPI_Error_stringMPI_Ireduce_scatter_blockMPI_Waitany
MPI_ExscanMPI_IrsendMPI_Waitsome
MPI_Fetch_and_opMPI_Is_thread_mainMPI_Win_allocate
MPI_File_c2fMPI_IscanMPI_Win_allocate_shared
MPI_File_call_errhandlerMPI_IscatterMPI_Win_attach
MPI_File_closeMPI_IscattervMPI_Win_call_errhandler
MPI_File_create_errhandlerMPI_IsendMPI_Win_complete
MPI_File_deleteMPI_IssendMPI_Win_create
MPI_File_f2cMPI_Keyval_createMPI_Win_create_dynamic
MPI_File_get_amodeMPI_Keyval_freeMPI_Win_create_errhandler
MPI_File_get_atomicityMPI_Lookup_nameMPI_Win_create_keyval
MPI_File_get_byte_offsetMPI_MprobeMPI_Win_delete_attr
MPI_File_get_errhandlerMPI_MrecvMPI_Win_detach
MPI_File_get_groupMPI_Neighbor_allgatherMPI_Win_fence
MPI_File_get_infoMPI_Neighbor_allgathervMPI_Win_flush
MPI_File_get_positionMPI_Neighbor_alltoallMPI_Win_flush_all
MPI_File_get_position_sharedMPI_Neighbor_alltoallvMPI_Win_flush_local
MPI_File_get_sizeMPI_Neighbor_alltoallwMPI_Win_flush_local_all
MPI_File_get_type_extentMPI_Op_commuteMPI_Win_free
MPI_File_get_viewMPI_Op_createMPI_Win_free_keyval
MPI_File_ireadMPI_Op_freeMPI_Win_get_attr
MPI_File_iread_allMPI_Open_portMPI_Win_get_errhandler
MPI_File_iread_atMPI_PackMPI_Win_get_group
MPI_File_iread_at_allMPI_Pack_externalMPI_Win_get_info
MPI_File_iread_sharedMPI_Pack_external_sizeMPI_Win_get_name
MPI_File_iwriteMPI_Pack_sizeMPI_Win_lock
MPI_File_iwrite_allMPI_PcontrolMPI_Win_lock_all
MPI_File_iwrite_atMPI_ProbeMPI_Win_post
MPI_File_iwrite_at_allMPI_Publish_nameMPI_Win_set_attr
MPI_File_iwrite_sharedMPI_PutMPI_Win_set_errhandler
MPI_File_openMPI_Query_threadMPI_Win_set_info
MPI_File_preallocateMPI_RaccumulateMPI_Win_set_name
MPI_File_readMPI_RecvMPI_Win_shared_query
MPI_File_read_allMPI_Recv_initMPI_Win_start
MPI_File_read_all_beginMPI_ReduceMPI_Win_sync
MPI_File_read_all_endMPI_Reduce_localMPI_Win_test
MPI_File_read_atMPI_Reduce_scatterMPI_Win_unlock
MPI_File_read_at_allMPI_Reduce_scatter_blockMPI_Win_unlock_all
MPI_File_read_at_all_beginMPI_Register_datarepMPI_Win_wait
MPI_File_read_at_all_endMPI_Request_freeMPI_Wtick
MPI_File_read_orderedMPI_Request_get_statusMPI_Wtime
MPI_File_read_ordered_beginMPI_Rget
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/install.pdf b/macx64/mpi/mpich/share/doc/mpich/install.pdf new file mode 100644 index 00000000..3b6b8220 Binary files /dev/null and b/macx64/mpi/mpich/share/doc/mpich/install.pdf differ diff --git a/macx64/mpi/mpich/share/doc/mpich/logging.pdf b/macx64/mpi/mpich/share/doc/mpich/logging.pdf new file mode 100644 index 00000000..0115b9ad Binary files /dev/null and b/macx64/mpi/mpich/share/doc/mpich/logging.pdf differ diff --git a/macx64/mpi/mpich/share/doc/mpich/user.pdf b/macx64/mpi/mpich/share/doc/mpich/user.pdf new file mode 100644 index 00000000..a8ed99f0 Binary files /dev/null and b/macx64/mpi/mpich/share/doc/mpich/user.pdf differ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/index.htm b/macx64/mpi/mpich/share/doc/mpich/www1/index.htm new file mode 100644 index 00000000..665ebe1e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/index.htm @@ -0,0 +1,19 @@ + + +Manpages for MPICH + + + +

Manpages for MPICH

+ + + + + + + + + +
mpiccmpiexecmpifort
mpicxxmpif77
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html new file mode 100644 index 00000000..76150b9f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html @@ -0,0 +1,137 @@ + + + + +mpicc + + +

mpicc

+Compiles and links MPI programs written in C +

Description

+This command can be used to compile and link MPI programs written in +C. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-cc=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpicc command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicc. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicc. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variable MPICH_CC may be used +to select different C compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+The environment variable MPICC_PROFILE specifies a profile library +and has the same effect as if \-profile=$MPICC_PROFILE were used as +an argument to mpicc. See the discussion of \-profile below for more +details. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_CC environment variable or the +\-cc=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.c, use +
+   mpicc -c foo.c
+
+ +

+To link the output and make an executable, use +

+   mpicc -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpicc -o foo foo.c
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html new file mode 100644 index 00000000..5d301224 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html @@ -0,0 +1,137 @@ + + + + +mpicxx + + +

mpicxx

+Compiles and links MPI programs written in C++ +

Description

+This command can be used to compile and link MPI programs written in +C++. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-cxx=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpicxx command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicxx. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicxx. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_CXX may be used +to select different C++ compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+The environment variable MPICC_PROFILE specifies a profile library +and has the same effect as if \-profile=$MPICC_PROFILE were used as +an argument to mpicc. See the discussion of \-profile below for more +details. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_CXX environment variable or the +\-cxx=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler, +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.c, use +
+   mpicxx -c foo.cxx
+
+ +

+To link the output and make an executable, use +

+   mpicxx -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpicxx -o foo foo.cxx
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html new file mode 100644 index 00000000..270c44ba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html @@ -0,0 +1,152 @@ + + + + +mpiexec + + +

mpiexec

+Run an MPI program +

Synopsis

+
+
+
+    mpiexec args executable pgmargs [ : args executable pgmargs ... ]
+
+ +where args are command line arguments for mpiexec (see below), +executable is the name of an executable MPI program, and pgmargs +are command line arguments for the executable. Multiple executables +can be specified by using the colon notation (for MPMD - Multiple Program +Multiple Data applications). For example, the following command will run +the MPI program a.out on 4 processes: +
+    mpiexec -n 4 a.out
+
+ +

+The MPI standard specifies the following arguments and their meanings: +

+

+
-n <np>
Specify the number of processes to use + +
-host <hostname>
Name of host on which to run processes + +
-arch <architecture name>
Pick hosts with this architecture type + +
-wdir <working directory>
cd to this one before running executable + +
-path <pathlist>
use this to find the executable + +
-soft <triplets>
comma separated triplets that specify requested numbers +of processes (see the MPI-2 specification for more details) + +
-file <name>
implementation-defined specification file + +
-configfile <name>
file containing specifications of host/program, +one per line, with # as a comment indicator, e.g., the usual +mpiexec input, but with ":" replaced with a newline. That is, +the configfile contains lines with -soft, -n etc. +
+

+Additional arguments that are specific to the MPICH implementation +are discussed below. +

+Note that not all of these parameters are meaningful for all +systems. For example, the gforker version of mpiexec creates all +processes on the same system on which it is running; in that case, the +\-arch and \-host options are ignored. +

+The colon character (:) may be used to separate different executables +for MPMD (multiple program multiple data) programming. For example, +to run the program ocean on 4 processes and air on 8 processes, use: +

+

+    mpiexec -n 4 ocean : -n 8 air
+
+ +

+

+

MPICH-Specific Arguments

+

+Many of the implementations of process managers in MPICH support the +following arguments to mpiexec: +

+

+
-np <num>
A synonym for the standard \-n argument + +
-env <name> <value>
Set the environment variable <name> to <value> for +the processes being run by mpiexec + +
-envnone
Pass no environment variables (other than ones specified with +other \-env or \-genv arguments) to the processes being run by mpiexec. +By default, all environment +variables are provided to each MPI process (rationale: principle of +least surprise for the user) + +
-envlist <list>
Pass the listed environment variables (names separated +by commas), with their current values, to the processes being run by +mpiexec. + +
-genv <name> <value>
The \-genv options have the same meaning as their +corresponding \-env version, except they apply to all executables, not just +the current executable (in the case that the colon syntax is used to specify +multiple execuables). + +
-genvnone
Like \-envnone, but for all executables + +
-genvlist <list>
Like \-envlist, but for all executables + +
-usize <n>
Specify the value returned for the value of the attribute +MPI_UNIVERSE_SIZE. + +
-l
Label standard out and standard error (stdout and stderr) with +the rank of the process + +
-maxtime <n>
Set a timelimit of <n> seconds. + +
-exitinfo
Provide more information on the reason each process exited if +there is an abnormal exit +
+

+

Environment variables for mpiexec

+The following environment variables are understood by some versions of +mpiexec. The command line arguments have priority over these; that is, +if both the environment variable and command line argument are used, the +value specified by the command line argument is used. +

+

+
MPIEXEC_TIMEOUT
Maximum running time in seconds. mpiexec will +terminate MPI programs that take longer than the value specified by +MPIEXEC_TIMEOUT. + +
MPIEXEC_UNIVERSE_SIZE
Set the universe size + +
MPIEXEC_PORT_RANGE
Set the range of ports that mpiexec will use +in communicating with the processes that it starts. The format of +this is <low>:<high>. For example, to specify any port between +10000 and 10100, use 10000:10100. + +
MPICH_PORT_RANGE
Has the same meaning as MPIEXEC_PORT_RANGE and +is used if MPIEXEC_PORT_RANGE is not set. + +
MPIEXEC_PREFIX_DEFAULT
If this environment variable is set, output +to standard output is prefixed by the rank in MPI_COMM_WORLD of the +process and output to standard error is prefixed by the rank and the +text (err); both are followed by an angle bracket (>). If +this variable is not set, there is no prefix. + +
MPIEXEC_PREFIX_STDOUT
Set the prefix used for lines sent to standard +output. A %d is replaced with the rank in MPI_COMM_WORLD; a %w is +replaced with an indication of which MPI_COMM_WORLD in MPI jobs that +involve multiple MPI_COMM_WORLDs (e.g., ones that use MPI_Comm_spawn or +MPI_Comm_connect). + +
MPIEXEC_PREFIX_STDERR
Like MPIEXEC_PREFIX_STDOUT, but for standard error. +
+

+

Return Status

+mpiexec returns the maximum of the exit status values of all of the +processes created by mpiexec. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html new file mode 100644 index 00000000..98649881 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html @@ -0,0 +1,132 @@ + + + + +mpif77 + + +

mpif77

+Compiles and links MPI programs written in Fortran 77 +

Description

+This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-f77=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpif77 command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpif77. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpif77. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_F77 may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_F77 environment variable or the +\-f77=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.f, use +
+   mpif77 -c foo.f
+
+ +

+To link the output and make an executable, use +

+   mpif77 -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpif77 -o foo foo.f
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html new file mode 100644 index 00000000..d9a9d287 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html @@ -0,0 +1,132 @@ + + + + +mpifort + + +

mpifort

+Compiles and links MPI programs written in Fortran 90 +

Description

+This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-fc=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpifort command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpifort. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpifort. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_FC may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_FC environment variable or the +\-fc=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.f, use +
+   mpifort -c foo.f
+
+ +

+To link the output and make an executable, use +

+   mpifort -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpifort -o foo foo.f
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html b/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html new file mode 100644 index 00000000..45642d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html @@ -0,0 +1,891 @@ + + + + +Constants + + +

Constants

+Meaning of MPI's defined constants +

Data types

+Note that the Fortran types should only be used in Fortran programs, +and the C types should only be used in C programs. For example, +it is in error to use MPI_INT for a Fortran INTEGER. +Datatypes are of type MPI_Datatype in C, type INTEGER in Fortran, +and Type(MPI_Datatype) in Fortran08 +

+

C datatypes

+MPI_CHAR - char +
MPI_SIGNED_CHAR
signed char +
+
MPI_UNSIGNED_CHAR
unsigned char +
+
MPI_BYTE
See standard; like unsigned char +
+
MPI_WCHAR
wide character (wchar_t) +
+
MPI_SHORT
short +
+
MPI_UNSIGNED_SHORT
unsigned short +
+
MPI_INT
int +
+
MPI_UNSIGNED
unsigned int +
+
MPI_LONG
long +
+
MPI_UNSIGNED_LONG
unsigned long +
+
MPI_LONG_LONG_INT
long long +
+
MPI_LONG_LONG
synonyn for MPI_LONG_LONG_INT + +
+
MPI_UNSIGNED_LONG_LONG
unsigned long long +
+
MPI_FLOAT
float +
+
MPI_DOUBLE
double +
+
MPI_LONG_DOUBLE
long double (some systems may not implement this) +
+
MPI_INT8_T
int8_t +
+
MPI_INT16_T
int16_t +
+
MPI_INT32_T
int32_t +
+
MPI_INT64_T
int64_t +
+
MPI_UINT8_T
uint8_t +
+
MPI_UINT16_T
uint16_t +
+
MPI_UINT32_T
uint32_t +
+
MPI_UINT64_T
uint64_t +
+
MPI_C_BOOL
_Bool +
+
MPI_C_FLOAT_COMPLEX
float _Complex +
+
MPI_C_COMPLEX
float _Complex +
+
MPI_C_DOUBLE_COMPLEX
double _Complex +
+
MPI_C_LONG_DOUBLE_COMPLEX
long double _Complex +
+ +

+

+The following are datatypes for the MPI functions MPI_MAXLOC and +MPI_MINLOC. +MPI_FLOAT_INT - struct { float, int } + +

MPI_LONG_INT
struct { long, int } + +
+
MPI_DOUBLE_INT
struct { double, int } + +
+
MPI_SHORT_INT
struct { short, int } + +
+
MPI_2INT
struct { int, int } + +
+
MPI_LONG_DOUBLE_INT
struct { long double, int }; this +is an optional type, and may be set to MPI_DATATYPE_NULL + +
+ +

+

+Special datatypes for C and Fortran +MPI_PACKED - For MPI_Pack and MPI_Unpack + +

MPI_UB
For MPI_Type_struct; an upper-bound indicator. Removed in MPI 3 +
+
MPI_LB
For MPI_Type_struct; a lower-bound indicator. Removed in MPI 3 +
+ +

+

Fortran datatypes

+MPI_REAL - REAL + +
MPI_INTEGER
INTEGER + +
+
MPI_LOGICAL
LOGICAL + +
+
MPI_DOUBLE_PRECISION
DOUBLE PRECISION + +
+
MPI_COMPLEX
COMPLEX + +
+
MPI_DOUBLE_COMPLEX
complex*16 (or complex*32) where supported. +
+ +

+The following datatypes are optional +MPI_INTEGER1 - integer*1 if supported +

MPI_INTEGER2
integer*2 if supported +
+
MPI_INTEGER4
integer*4 if supported +
+
MPI_INTEGER8
integer*8 if supported +
+
MPI_INTEGER16
integer*16 if supported +
+
MPI_REAL4
real*4 if supported +
+
MPI_REAL8
real*8 if supported +
+ +
MPI_REAL16
real*16 if supported +
+
MPI_COMPLEX8
complex*8 if supported +
+
MPI_COMPLEX16
complex*16 if supported +
+
MPI_COMPLEX32
complex*32 if supported +
+ +

+The following are datatypes for the MPI functions MPI_MAXLOC and +MPI_MINLOC. In Fortran, these datatype always consist of +two elements of the same Fortran type. +MPI_2INTEGER - INTEGER,INTEGER + +

MPI_2REAL
REAL, REAL + +
+
MPI_2DOUBLE_PRECISION
DOUBLE PRECISION, DOUBLE PRECISION + +
+ +

+MPI Datatypes for MPI Types +MPI_AINT - Datatype for an MPI_Aint + +

MPI_OFFSET
Datatype for an MPI_Offset + +
+
MPI_COUNT
Datatype for an MPI_Count + +
+ +

+

MPI Datatype Combiner Names

+MPI_COMBINER_NAMED - a named predefined datatype +
MPI_COMBINER_DUP
MPI_TYPE_DUP +
+
MPI_COMBINER_CONTIGUOUS
MPI_TYPE_CONTIGUOUS +
+
MPI_COMBINER_VECTOR
MPI_TYPE_VECTOR +
+
MPI_COMBINER_HVECTOR_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_HVECTOR
MPI_TYPE_CREATE_HVECTOR +
+
MPI_COMBINER_INDEXED
MPI_TYPE_INDEXED +
+
MPI_COMBINER_HINDEXED_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_HINDEXED
MPI_TYPE_CREATE_HINDEXED +
+
MPI_COMBINER_INDEXED_BLOCK
MPI_TYPE_CREATE_INDEXED_BLOCK +
+
MPI_COMBINER_STRUCT_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_STRUCT
MPI_TYPE_CREATE_STRUCT +
+
MPI_COMBINER_SUBARRAY
MPI_TYPE_CREATE_SUBARRAY +
+
MPI_COMBINER_DARRAY
MPI_TYPE_CREATE_DARRAY +
+
MPI_COMBINER_F90_REAL
MPI_TYPE_CREATE_F90_REAL +
+
MPI_COMBINER_F90_COMPLEX
MPI_TYPE_CREATE_F90_COMPLEX +
+
MPI_COMBINER_F90_INTEGER
MPI_TYPE_CREATE_F90_INTEGER +
+
MPI_COMBINER_RESIZED
MPI_TYPE_CREATE_RESIZED +
+
MPI_COMBINER_HINDEXED_BLOCK
MPI_TYPE_CREATE_HINDEXED_BLOCK +
+ +

+

MPI Datatype Type Classes

+MPI Type classes used with routines to return Fortran types with defined +precision and range +MPI_TYPECLASS_REAL - REAL + +
MPI_TYPECLASS_INTEGER
INTEGER + +
+
MPI_TYPECLASS_COMPLEX
COMPLEX + +
+ +

+

MPI Darray and Subarray Values

+These values are used to create a datatype with the DARRAY and SUBARRAY +constructors. +MPI_ORDER_C - Row-major order (as used by C) +
MPI_ORDER_FORTRAN
Column-major order (as used by Fortran) +
+
MPI_DISTRIBUTE_BLOCK
Block distribution +
+
MPI_DISTRIBUTE_CYCLIC
Cyclic distribution +
+
MPI_DISTRIBUTE_NONE
This dimension is not distributed +
+
MPI_DISTRIBUTE_DFLT_DARG
Use the default distribution +
+ +

+

Communicators

+Communicators are of type MPI_Comm in C, INTEGER in Fortran, and +Type(MPI_Comm) in Fortran08 +MPI_COMM_WORLD - Contains all of the processes +
MPI_COMM_SELF
Contains only the calling process +
+ +

+

Kind of communicator for 'MPI_COMM_SPLIT_TYPE'

+MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into +the same communicator. +

+

Groups

+Groups are of type MPI_Group in C, INTEGER in Fortran, +and Type(MPI_Group) in Fortran08 +

+MPI_GROUP_EMPTY - A group containing no members. +

+

Results of the compare operations on groups and communicators

+MPI_IDENT - Identical +
MPI_CONGRUENT
(only for MPI_COMM_COMPARE) The groups are identical +
+
MPI_SIMILAR
Same members, but in a different order +
+
MPI_UNEQUAL
Different +
+ +

+

+

Collective operations

+The collective combination operations (e.g., MPI_REDUCE, MPI_ALLREDUCE, +MPI_REDUCE_SCATTER, and MPI_SCAN) take a combination operation. +This operation is of type MPI_Op in C and of type INTEGER in Fortran. +The predefined operations are +

+MPI_MAX - return the maximum +

MPI_MIN
return the minumum +
+
MPI_SUM
return the sum +
+
MPI_PROD
return the product +
+
MPI_LAND
return the logical and +
+
MPI_BAND
return the bitwise and +
+
MPI_LOR
return the logical or +
+
MPI_BOR
return the bitwise of +
+
MPI_LXOR
return the logical exclusive or +
+
MPI_BXOR
return the bitwise exclusive or +
+
MPI_MINLOC
return the minimum and the location (actually, the value of +the second element of the structure where the minimum of +the first is found) +
+
MPI_MAXLOC
return the maximum and the location +
+
MPI_REPLACE
replace b with a +
+
MPI_NO_OP
perform no operation +
+ +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+Note that not all datatypes are valid for these functions. For example, +MPI_COMPLEX is not valid for MPI_MAX and MPI_MIN. In addition, the MPI +1.1 standard did not include the C types MPI_CHAR and MPI_UNSIGNED_CHAR +among the lists of arithmetic types for operations like MPI_SUM. However, +since the C type char is an integer type (like short), it should have been +included. The MPI Forum will probably include char and unsigned char +as a clarification to MPI 1.1; until then, users are advised that MPI +implementations may not accept MPI_CHAR and MPI_UNSIGNED_CHAR as valid +datatypes for MPI_SUM, MPI_PROD, etc. MPICH does allow these datatypes. +

+

Permanent key values

+These are the same in C and Fortran +

+MPI_TAG_UB - Largest tag value +

MPI_HOST
Rank of process that is host, if any +
+
MPI_IO
Rank of process that can do I/O +
+
MPI_WTIME_IS_GLOBAL
Has value 1 if MPI_WTIME is globally synchronized. +
+
MPI_UNIVERSE_SIZE
Number of available processes. See the standard for +a description of limitations on this value +
+
MPI_LASTUSEDCODE
Last used MPI error code (check - code or class?) +
+
MPI_APPNUM
Application number, starting from 0. See the standard for +MPI_COMM_SPAWN_MULTIPLE and mpiexec for details +
+ +

+

Null objects

+MPI_COMM_NULL - Null communicator +
MPI_OP_NULL
Null operation +
+
MPI_GROUP_NULL
Null group +
+
MPI_DATATYPE_NULL
Null datatype +
+
MPI_REQUEST_NULL
Null request +
+
MPI_ERRHANDLER_NULL
Null error handler +
+
MPI_WIN_NULL
Null window handle +
+
MPI_FILE_NULL
Null file handle +
+
MPI_INFO_NULL
Null info handle +
+
MPI_MESSAGE_NULL
Null message handle +
+
MPI_ARGV_NULL
Empty ARGV value for spawn commands +
+
MPI_ARGVS_NULL
Empty ARGV array for spawn-multiple command +
+
MPI_T_ENUM_NULL
Null MPI_T enum +
+
MPI_T_CVAR_HANDLE_NULL
Null MPI_T control variable handle +
+
MPI_T_PVAR_HANDLE_NULL
Null MPI_T performance variable handle +
+
MPI_T_PVAR_SESSION_NULL
Null MPI_T performance variable session handle +
+ +

+

Predefined Constants

+MPI_MAX_PROCESSOR_NAME - Maximum length of name returned by +MPI_GET_PROCESSOR_NAME + +
MPI_MAX_ERROR_STRING
Maximum length of string return by +MPI_ERROR_STRING + +
+
MPI_MAX_LIBRARY_VERSION_STRING
Maximum length of string returned by +MPI_GET_LIBRARY_VERSION_STRING??? +
+
MPI_MAX_PORT_NAME
Maximum length of a port +
+
MPI_MAX_OBJECT_NAME
Maximum length of an object (?) +
+
MPI_MAX_INFO_KEY
Maximum length of an info key +
+
MPI_MAX_INFO_VAL
Maximum length of an info value +
+
MPI_UNDEFINED
Used by many routines to indicated +undefined or unknown integer value +
+
MPI_UNDEFINED_RANK
Unknown rank +
+
MPI_KEYVAL_INVALID
Special keyval that may be used to detect +uninitialized keyvals. +
+
MPI_BSEND_OVERHEAD
Add this to the size of a MPI_BSEND +buffer for each outstanding message +
+
MPI_PROC_NULL
This rank may be used to send or receive from no-one. +
+
MPI_ANY_SOURCE
In a receive, accept a message from anyone. +
+
MPI_ANY_TAG
In a receive, accept a message with any tag value. +
+
MPI_BOTTOM
May be used to indicate the bottom of the address space +
+
MPI_IN_PLACE
Special location for buffer in some +collective communication routines +
+
MPI_VERSION
Numeric value of MPI version (e.g., 3) +
+
MPI_SUBVERSION
Numeric value of MPI subversion (e.g., 1) +
+ +

+

Topology types

+MPI_CART - Cartesian grid +
MPI_GRAPH
General graph +
+
MPI_DIST_GRAPH
General distributed graph +
+ +

+

Special values for distributed graph

+MPI_UNWEIGHTED - Indicates that the edges are unweighted +
MPI_WEIGHTS_EMPTY
Special address that indicates no array of weights +information +
+ +

+

File Modes

+MPI_MODE_RDONLY - Read only +
MPI_MODE_RDWR
Read and write +
+
MPI_MODE_WRONLY
Write only +
+
MPI_MODE_CREATE
Create the file if it does not exist +
+
MPI_MODE_EXCL
It is an error if creating a file that already +exists +
+
MPI_MODE_DELETE_ON_CLOSE
Delete the file on close +
+
MPI_MODE_UNIQUE_OPEN
The file will not be concurrently opened elsewhere +
+
MPI_MODE_APPEND
The initial position of all file pointers is at +the end of the file +
+
MPI_MODE_SEQUENTIAL
File will only be accessed sequentially +
+ +

+

File Displacement

+MPI_DISPLACEMENT_CURRENT - Use with files opened with mode +MPI_MODE_SEQUENTIAL in calls to MPI_FILE_SET_VIEW + +

+

File Positioning

+MPI_SEEK_SET - Set the pointer to offset + +
MPI_SEEK_CUR
Set the pointer to the current position plus offset + +
+
MPI_SEEK_END
Set the pointer to the end of the file plus offset + +
+ +

+

Window attributes

+MPI_WIN_BASE - window base address. +
MPI_WIN_SIZE
window size, in bytes +
+
MPI_WIN_DISP_UNIT
displacement unit associated with the window +
+
MPI_WIN_CREATE_FLAVOR
how the window was created +
+
MPI_WIN_MODEL
memory model for window +
+ +

+

Window flavors

+MPI_WIN_FLAVOR_CREATE - Window was created with MPI_WIN_CREATE. +
MPI_WIN_FLAVOR_ALLOCATE
Window was created with MPI_WIN_ALLOCATE. +
+
MPI_WIN_FLAVOR_DYNAMIC
Window was created with MPI_WIN_CREATE_DYNAMIC. +
+
MPI_WIN_FLAVOR_SHARED
Window was created with MPI_WIN_ALLOCATE_SHARED. +
+ +

+

Window Memory Model

+MPI_WIN_SEPARATE - Separate public and private copies of window memory +
MPI_WIN_UNIFIED
The publich and private copies are identical (by which +we mean that updates are eventually observed without additional RMA operations) +
+ +

+

Window Lock Types

+MPI_LOCK_EXCLUSIVE - Only one process at a time will execute accesses +within the lock +
MPI_LOCK_SHARED
Not exclusive; multiple processes may execute accesses +within the lock +
+ +

+

Window Assertions

+See section 11.5 in MPI 3.1 for a detailed description of each of these +assertion values. +MPI_MODE_NOCHECK - The matching calls to MPI_WIN_POST or MPI_WIN_START +have already completed, or no process holds or will attempt to acquire, a +conflicting lock. +
MPI_MODE_NOSTORE
The local window has not been updated by stores +since the last synchronization +
+
MPI_MODE_NOPUT
The local window will not be updated by put or +accumulate until the next synchronization +
+
MPI_MODE_NOPRECEDE
The fence does not complete any locally issued RMA +calls +
+
MPI_MODE_NOSUCCEED
The fence does not start any locally issued RMA calls +
+ +

+

Predefined Info Object

+MPI_INFO_ENV - Contains the execution environment +

+

MPI Status

+The MPI_Status datatype is a structure in C. The three elements for use +by programmers are +MPI_SOURCE - Who sent the message +
MPI_TAG
What tag the message was sent with +
+
MPI_ERROR
Any error return (only when the error returned by the routine +has error class MPI_ERR_IN_STATUS) +
+ +

+MPI_STATUS_IGNORE - Ignore a single MPI_Status argument +

MPI_STATUSES_IGNORE
Ignore an array of MPI_Status + +
+ +

+

Special value for error codes array

+MPI_ERRCODES_IGNORE - Ignore an array of error codes +

+

MPI_T Constants

+MPI_T_VERBOSITY_USER_BASIC - Basic information of interest to users +
MPI_T_VERBOSITY_USER_DETAIL
Detailed information of interest to users +
+
MPI_T_VERBOSITY_USER_ALL
All remaining information of interest to users +
+
MPI_T_VERBOSITY_TUNER_BASIC
Basic information required for tuning +
+
MPI_T_VERBOSITY_TUNER_DETAIL
Detailed information required for tuning +
+
MPI_T_VERBOSITY_TUNER_ALL
All remaining information required for tuning +
+
MPI_T_VERBOSITY_MPIDEV_BASIC
Basic information for MPI implementors +
+

+

+

MPI_T_VERBOSITY_MPIDEV_DETAIL
Detailed information for MPI implementors +
+
MPI_T_VERBOSITY_MPIDEV_ALL
All remaining information for MPI implementors +
+
MPI_T_BIND_NO_OBJECT
Applies globally to entire MPI process +
+
MPI_T_BIND_MPI_COMM
MPI communicators +
+
MPI_T_BIND_MPI_DATATYPE
MPI datatypes +
+
MPI_T_BIND_MPI_ERRHANDLER
MPI error handlers +
+
MPI_T_BIND_MPI_FILE
MPI file handles +
+
MPI_T_BIND_MPI_GROUP
MPI groups +
+
MPI_T_BIND_MPI_OP
MPI reduction operators +
+
MPI_T_BIND_MPI_REQUEST
MPI requests +
+
MPI_T_BIND_MPI_WIN
MPI windows for one-sided communication +
+
MPI_T_BIND_MPI_MESSAGE
MPI message object +
+
MPI_T_BIND_MPI_INFO
MPI info object +
+
MPI_T_SCOPE_CONSTANT
read-only, value is constant +
+
MPI_T_SCOPE_READONLY
read-only, cannot be written, but can +change +
+
MPI_T_SCOPE_LOCAL
may be writeable, writing is a local +operation +
+
MPI_T_SCOPE_GROUP
may be writeable, must be done to a +group of processes, all processes in a group must be set to consistent values +
+
MPI_T_SCOPE_GROUP_EQ
may be writeable, must be done to a +group of processes, all processes in a group must be set to the same value +
+
MPI_T_SCOPE_ALL
may be writeable, must be done to all +processes, all connected processes must be set to consistent values +
+
MPI_T_SCOPE_ALL_EQ
may be writeable, must be done to all +processes, all connected processes must be set to the same value +
+
MPI_T_PVAR_CLASS_STATE
set of discrete states (MPI_INT) +
+
MPI_T_PVAR_CLASS_LEVEL
utilization level of a resource +
+
MPI_T_PVAR_CLASS_SIZE
size of a resource +
+
MPI_T_PVAR_CLASS_PERCENTAGE
percentage utilization of a resource +
+
MPI_T_PVAR_CLASS_HIGHWATERMARK
high watermark of a resource +
+
MPI_T_PVAR_CLASS_LOWWATERMARK
low watermark of a resource +
+
MPI_T_PVAR_CLASS_COUNTER
number of occurances of an event +
+
MPI_T_PVAR_CLASS_AGGREGATE
aggregate value over an event (e.g., +sum of all memory allocations) +
+
MPI_T_PVAR_CLASS_TIMER
aggretate time spent executing event +
+
MPI_T_PVAR_CLASS_GENERIC
used for any other time of performance +variable +
+ +

+

Thread levels

+MPI_THREAD_SINGLE - Only one thread executes +
MPI_THREAD_FUNNELED
Only the main thread makes MPI calls +
+
MPI_THREAD_SERIALIZED
Only one thread at a time makes MPI calls +
+
MPI_THREAD_MULTIPLE
Multiple threads may make MPI calls +
+ +

+

Special MPI types and functions

+

+MPI_Aint - C type that holds any valid address. +

MPI_Count
C type that holds any valid count. +
+
MPI_Offset
C type that holds any valid file offset. +
+
MPI_Handler_function
C function for handling errors (see +MPI_Errhandler_create) . +
+
MPI_User_function
C function to combine values (see collective operations +and MPI_Op_create) +
+
MPI_Copy_function
Function to copy attributes (see MPI_Keyval_create) +
+
MPI_Delete_function
Function to delete attributes (see MPI_Keyval_create) +
+
MPI_ERRORS_ARE_FATAL
Error handler that forces exit on error +
+
MPI_ERRORS_RETURN
Error handler that returns error codes (as value of +MPI routine in C and through last argument in Fortran) +
+ +

+

MPI Attribute Default Functions

+MPI_COMM_NULL_COPY_FN - Predefined attribute copy function for communicators +
MPI_COMM_NULL_DELETE_FN
Predefined attribute delete function for communicators +
+
MPI_COMM_DUP_FN
Predefined attribute duplicate function for communicators +
+
MPI_WIN_NULL_COPY_FN
Predefined attribute copy function for windows +
+
MPI_WIN_NULL_DELETE_FN
Predefined attribute delete function for windows +
+
MPI_WIN_DUP_FN
Predefined attribute duplicate function for windows +
+
MPI_TYPE_NULL_COPY_FN
Predefined attribute copy function for datatypes +
+
MPI_TYPE_NULL_DELETE_FN
Predefined attribute delete function for datatypes +
+
MPI_TYPE_DUP_FN
Predefined attribute duplicate function for datatypes +
+ +

+

MPI-1 Attribute Default Functions

+MPI_NULL_COPY_FN - Predefined copy function +
MPI_NULL_DELETE_FN
Predefined delete function +
+
MPI_DUP_FN
Predefined duplication function +
+ +

+

MPI Error classes

+MPI_SUCCESS - Successful return code +
MPI_ERR_BUFFER
Invalid buffer pointer +
+
MPI_ERR_COUNT
Invalid count argument +
+
MPI_ERR_TYPE
Invalid datatype argument +
+
MPI_ERR_TAG
Invalid tag argument +
+
MPI_ERR_COMM
Invalid communicator +
+
MPI_ERR_RANK
Invalid rank +
+
MPI_ERR_ROOT
Invalid root +
+
MPI_ERR_GROUP
Null group passed to function +
+
MPI_ERR_OP
Invalid operation +
+
MPI_ERR_TOPOLOGY
Invalid topology +
+
MPI_ERR_DIMS
Illegal dimension argument +
+
MPI_ERR_ARG
Invalid argument +
+
MPI_ERR_UNKNOWN
Unknown error +
+
MPI_ERR_TRUNCATE
Message truncated on receive +
+
MPI_ERR_OTHER
Other error; use Error_string +
+
MPI_ERR_INTERN
Internal error code +
+
MPI_ERR_IN_STATUS
Look in status for error value +
+
MPI_ERR_PENDING
Pending request +
+
MPI_ERR_REQUEST
Invalid mpi_request handle +
+
MPI_ERR_ACCESS
Permission denied +
+
MPI_ERR_AMODE
Error related to the amode passed to +MPI_FILE_OPEN + +
+
MPI_ERR_BAD_FILE
Invalid file name (e.g., path name too long) +
+
MPI_ERR_CONVERSION
An error occurred in a user supplied data +conversion function +
+
MPI_ERR_DUP_DATAREP
Conversion functions could not be registered +because a data representation identifier that was already defined was passed +to MPI_REGISTER_DATAREP + +
+
MPI_ERR_FILE_EXISTS
File exists +
+
MPI_ERR_FILE_IN_USE
File operation could not be completed, as +the file is currently open by some process +
+
MPI_ERR_FILE
Invalid file handle +
+
MPI_ERR_IO
Other I/O error +
+
MPI_ERR_NO_SPACE
Not enough space +
+
MPI_ERR_NO_SUCH_FILE
File does not exist +
+
MPI_ERR_READ_ONLY
Read-only file or file system +
+
MPI_ERR_UNSUPPORTED_DATAREP
Unsupported datarep passed to +MPI_FILE_SET_VIEW + +
+
MPI_ERR_INFO
Invalid info argument +
+
MPI_ERR_INFO_KEY
Key longer than MPI_MAX_INFO_KEY +
+
MPI_ERR_INFO_VALUE
Value longer than MPI_MAX_INFO_VAL +
+
MPI_ERR_INFO_NOKEY
Invalid key passed to MPI_INFO_DELETE +
+
MPI_ERR_NAME
Invalid service name passed to MPI_LOOKUP_NAME +
+
MPI_ERR_NO_MEM
Alloc_mem could not allocate memory +
+
MPI_ERR_NOT_SAME
Collective argument not identical on all +processes, or collective routines called in a different order by different +processes +
+
MPI_ERR_PORT
Invalid port name passed to MPI_COMM_CONNECT +
+
MPI_ERR_QUOTA
Quota exceeded +
+
MPI_ERR_SERVICE
Invalid service name passed to MPI_UNPUBLISH_NAME +
+
MPI_ERR_SPAWN
Error in spawning processes +
+
MPI_ERR_UNSUPPORTED_OPERATION
Unsupported operation, such as seeking on +a file which supports sequential access only +
+
MPI_ERR_WIN
Invalid win argument +
+
MPI_ERR_BASE
Invalid base passed to MPI_FREE_MEM +
+
MPI_ERR_LOCKTYPE
Invalid locktype argument +
+
MPI_ERR_KEYVAL
Erroneous attribute key +
+
MPI_ERR_RMA_CONFLICT
Conflicting accesses to window +
+
MPI_ERR_RMA_SYNC
Wrong synchronization of RMA calls +
+
MPI_ERR_SIZE
Invalid size argument +
+
MPI_ERR_DISP
Invalid disp argument +
+
MPI_ERR_ASSERT
Invalid assert argument +
+
MPI_ERR_RMA_RANGE
Target memory is not part of the window (in +the case of a window created with MPI_WIN_CREATE_DYNAMIC, target memory is +not attached) +
+
MPI_ERR_RMA_ATTACH
Memory cannot be attached (e.g., because of +resource exhaustion) +
+
MPI_ERR_RMA_SHARED
Memory cannot be shared (e.g., some process in +the group of the specified communicator cannot expose shared memory) +
+
MPI_ERR_RMA_FLAVOR
Passed window has the wrong flavor for the +called function +
+
MPI_ERR_LASTCODE
Last error code -- always at end +
+ +

+

Error codes for MPI_T

+

+MPI_T_ERR_MEMORY - Out of memory +

MPI_T_ERR_NOT_INITIALIZED
Interface not initialized +
+
MPI_T_ERR_CANNOT_INIT
Interface not in the state to be initialized +
+
MPI_T_ERR_INVALID_INDEX
The index is invalid or has been deleted +
+
MPI_T_ERR_INVALID_ITEM
Item index queried is out of range +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available +
+
MPI_T_ERR_OUT_OF_SESSIONS
No more sessions available +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid +
+
MPI_T_ERR_CVAR_SET_NOT_NOW
Cvar can't be set at this moment +
+
MPI_T_ERR_CVAR_SET_NEVER
Cvar can't be set until end of execution +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
Pvar can't be started or stopped +
+
MPI_T_ERR_PVAR_NO_WRITE
Pvar can't be written or reset +
+
MPI_T_ERR_PVAR_NO_ATOMIC
Pvar can't be R/W atomically +
+
MPI_T_ERR_INVALID_NAME
Name doesn't match +
+
MPI_T_ERR_INVALID
Invalid use of the interface or bad parameter +values(s) +
+ +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html new file mode 100644 index 00000000..7e50e381 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html @@ -0,0 +1,18 @@ + + + + +MPIR_Type_commit + + +

MPIR_Type_commit

+nput Parameters: . datatype_p - pointer to MPI datatype +

Synopsis

+
+int MPIR_Type_commit(MPI_Datatype * datatype_p)
+
+

Output Parameters

+

+

Return Value

+0 on success, -1 on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html new file mode 100644 index 00000000..e457dcc3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html @@ -0,0 +1,27 @@ + + + + +MPIR_Type_contiguous + + +

MPIR_Type_contiguous

+create a contiguous datatype +

Synopsis

+
+int MPIR_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of elements in the contiguous block + +
oldtype
type (using handle) of datatype on which vector is based +
+

+

Output Parameters

+
newtype
handle of new contiguous datatype +
+

+

Return Value

+MPI_SUCCESS on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html new file mode 100644 index 00000000..100f2b14 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html @@ -0,0 +1,29 @@ + + + + +MPIR_Type_dup + + +

MPIR_Type_dup

+create a copy of a datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIR_Type_dup
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPIR_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
oldtype
handle of original datatype +
+ +

+

Output Parameters

+
newtype
handle of newly created copy of datatype +
+

+

Return Value

+0 on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html new file mode 100644 index 00000000..cda637cc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html @@ -0,0 +1,39 @@ + + + + +MPIR_Type_get_contents + + +

MPIR_Type_get_contents

+get content information from datatype +

Synopsis

+
+int MPIR_Type_get_contents(MPI_Datatype datatype,
+                           int max_integers,
+                           int max_addresses,
+                           int max_datatypes,
+                           int array_of_integers[],
+                           MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
+
+

Input Parameters

+
+
datatype
MPI datatype + +
max_integers
size of array_of_integers + +
max_addresses
size of array_of_addresses + +
max_datatypes
size of array_of_datatypes +
+

+

Output Parameters

+
+
array_of_integers
integers used in creating type + +
array_of_addresses
MPI_Aints used in creating type + +
array_of_datatypes
MPI_Datatypes used in creating type +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html new file mode 100644 index 00000000..75c51e8d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html @@ -0,0 +1,39 @@ + + + + +MPIR_Type_indexed + + +

MPIR_Type_indexed

+create an indexed datatype +

Synopsis

+
+int MPIR_Type_indexed(int count,
+                      const int *blocklength_array,
+                      const void *displacement_array,
+                      int dispinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in type + +
blocklength_array
number of elements in each block + +
displacement_array
offsets of blocks from start of type (see next +parameter for units) + +
dispinbytes
if nonzero, then displacements are in bytes (the +displacement_array is an array of ints), otherwise they in terms of +extent of oldtype (the displacement_array is an array of MPI_Aints) + +
oldtype
type (using handle) of datatype on which new type is based +
+

+

Output Parameters

+
newtype
handle of new indexed datatype +
+

+

Return Value

+0 on success, -1 on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html new file mode 100644 index 00000000..f2b533e7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html @@ -0,0 +1,38 @@ + + + + +MPIR_Type_struct + + +

MPIR_Type_struct

+create a struct datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIR_Type_struct
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPIR_Type_struct(int count,
+                     const int *blocklength_array,
+                     const MPI_Aint * displacement_array,
+                     const MPI_Datatype * oldtype_array, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in vector + +
blocklength_array
number of elements in each block + +
displacement_array
offsets of blocks from start of type in bytes + +
oldtype_array
types (using handle) of datatypes on which vector is based +
+

+

Output Parameters

+
newtype
handle of new struct datatype +
+

+

Return Value

+MPI_SUCCESS on success, MPI errno on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html new file mode 100644 index 00000000..fb27532c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html @@ -0,0 +1,38 @@ + + + + +MPIR_Type_vector + + +

MPIR_Type_vector

+create a vector datatype +

Synopsis

+
+int MPIR_Type_vector(int count,
+                     int blocklength,
+                     MPI_Aint stride,
+                     int strideinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in vector + +
blocklength
number of elements in each block + +
stride
distance from beginning of one block to the next (see next +parameter for units) + +
strideinbytes
if nonzero, then stride is in bytes, otherwise stride +is in terms of extent of oldtype + +
oldtype
type (using handle) of datatype on which vector is based +
+

+

Output Parameters

+
newtype
handle of new vector datatype +
+

+

Return Value

+0 on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html new file mode 100644 index 00000000..e508d59f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_agree + + +

MPIX_Comm_agree

+Performs agreement operation on comm +

Synopsis

+
+int MPIX_Comm_agree(MPI_Comm comm, int *flag)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html new file mode 100644 index 00000000..30d17451 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_failure_ack + + +

MPIX_Comm_failure_ack

+Acknowledge the current group of failed processes +

Synopsis

+
+int MPIX_Comm_failure_ack(MPI_Comm comm)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html new file mode 100644 index 00000000..3617a7d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html @@ -0,0 +1,65 @@ + + + + +MPIX_Comm_failure_get_acked + + +

MPIX_Comm_failure_get_acked

+Get the group of acknowledged failures. +

Synopsis

+
+int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group * failedgrp)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Output Parameters

+
failed_group
Group (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html new file mode 100644 index 00000000..1aab166d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html @@ -0,0 +1,50 @@ + + + + +MPIX_Comm_revoke + + +

MPIX_Comm_revoke

+Prevent a communicator from being used in the future +

Synopsis

+
+int MPIX_Comm_revoke(MPI_Comm comm)
+
+

Input Parameters

+
comm
communicator to revoke +
+

+

Notes

+Asynchronously notifies all MPI processes associated with the communicator comm. +This will be manifest by returning the MPIX_ERR_REVOKED during a subsequent MPI +call. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html new file mode 100644 index 00000000..1af75a68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_shrink + + +

MPIX_Comm_shrink

+Creates a new communitor from an existing communicator while excluding failed processes +

Synopsis

+
+int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm * newcomm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html new file mode 100644 index 00000000..70337d1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html @@ -0,0 +1,68 @@ + + + + +MPI_Abort + + +

MPI_Abort

+Terminates MPI execution environment +

Synopsis

+
+int MPI_Abort(MPI_Comm comm, int errorcode)
+
+

Input Parameters

+
+
comm
communicator of tasks to abort + +
errorcode
error code to return to invoking environment +
+

+

Notes

+Terminates all MPI processes associated with the communicator comm; in +most systems (all to date), terminates all processes. +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the MPI_Abort routine is intended to ensure that an MPI +process (and possibly an entire job), it cannot wait for a thread to +release a lock or other mechanism for atomic access. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html new file mode 100644 index 00000000..b0cbc0f7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html @@ -0,0 +1,90 @@ + + + + +MPI_Accumulate + + +

MPI_Accumulate

+Accumulate data into the target process using remote memory access +

Synopsis

+
+int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype
+                   origin_datatype, int target_rank, MPI_Aint
+                   target_disp, int target_count, MPI_Datatype
+                   target_datatype, MPI_Op op, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Raccumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html new file mode 100644 index 00000000..bd255739 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html @@ -0,0 +1,56 @@ + + + + +MPI_Add_error_class + + +

MPI_Add_error_class

+Add an MPI error class to the known classes +

Synopsis

+
+int MPI_Add_error_class(int *errorclass)
+
+

Output Parameters

+
errorclass
New error class +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html new file mode 100644 index 00000000..cb617ffd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html @@ -0,0 +1,60 @@ + + + + +MPI_Add_error_code + + +

MPI_Add_error_code

+Add an MPI error code to an MPI error class +

Synopsis

+
+int MPI_Add_error_code(int errorclass, int *errorcode)
+
+

Input Parameters

+
errorclass
Error class to add an error code. +
+

+

Output Parameters

+
errorcode
New error code for this error class. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html new file mode 100644 index 00000000..00d62996 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html @@ -0,0 +1,68 @@ + + + + +MPI_Add_error_string + + +

MPI_Add_error_string

+Associates an error string with an MPI error code or class +

Synopsis

+
+int MPI_Add_error_string(int errorcode, const char *string)
+
+

Input Parameters

+
+
errorcode
error code or class (integer) + +
string
text corresponding to errorcode (string) +
+

+

Notes

+The string must be no more than MPI_MAX_ERROR_STRING characters long. +The length of the string is as defined in the calling language. +The length of the string does not include the null terminator in C or C++. +Note that the string is const even though the MPI standard does not +specify it that way. +

+According to the MPI-2 standard, it is erroneous to call MPI_Add_error_string +for an error code or class with a value less than or equal +to MPI_ERR_LASTCODE. Thus, you cannot replace the predefined error messages +with this routine. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html new file mode 100644 index 00000000..d88b8449 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html @@ -0,0 +1,72 @@ + + + + +MPI_Address + + +

MPI_Address

+Gets the address of a location in memory +

Synopsis

+
+int MPI_Address(void *location, MPI_Aint * address)
+
+

Input Parameters

+
location
location in caller memory (choice) +
+

+

Output Parameters

+
address
address of location (address integer) +
+

+

Note

+This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C & operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Get_address. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html new file mode 100644 index 00000000..e0ac4e15 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html @@ -0,0 +1,40 @@ + + + + +MPI_Aint_add + + +

MPI_Aint_add

+Returns the sum of base and disp +

Synopsis

+
+MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp)
+
+

Input Parameters

+
+
base
base address (integer) + +
disp
displacement (integer) +
+

+

Return value

+Sum of the base and disp argument +

+

Notes

+MPI_Aint_Add produces a new MPI_Aint value that is equivalent to the sum of the +base and disp arguments, where base represents a base address returned by a call +to MPI_GET_ADDRESS and disp represents a signed integer displacement. The resulting +address is valid only at the process that generated base, and it must correspond +to a location in the same object referenced by base. The addition is performed in +a manner that results in the correct MPI_Aint representation of the output address, +as if the process that originally produced base had called: +
+    MPI_Get_address((char *) base + disp, &result)
+
+ +

+

See Also

+ MPI_Aint_diff +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html new file mode 100644 index 00000000..a261165d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html @@ -0,0 +1,41 @@ + + + + +MPI_Aint_diff + + +

MPI_Aint_diff

+Returns the difference between addr1 and addr2 +

Synopsis

+
+MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2)
+
+

Input Parameters

+
+
addr1
minuend address (integer) + +
addr2
subtrahend address (integer) +
+

+

Return value

+Difference between addr1 and addr2 +

+

Notes

+MPI_Aint_diff produces a new MPI_Aint value that is equivalent to the difference +between addr1 and addr2 arguments, where addr1 and addr2 represent addresses +returned by calls to MPI_GET_ADDRESS. The resulting address is valid only at the +process that generated addr1 and addr2, and addr1 and addr2 must correspond to +locations in the same object in the same process. The difference is calculated +in a manner that results the signed difference from addr1 to addr2, as if the +process that originally produced the addresses had called +
+    (char *) addr1 - (char *) addr2
+
+ +on the addresses initially passed to MPI_GET_ADDRESS. +

+

See Also

+ MPI_Aint_add +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html new file mode 100644 index 00000000..49ba74fb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html @@ -0,0 +1,106 @@ + + + + +MPI_Allgather + + +

MPI_Allgather

+Gathers data from all tasks and distribute the combined data to all tasks +

Synopsis

+
+int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                  void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Notes

+The MPI standard (1.0 and 1.1) says that +
+

+
+

+The jth block of data sent from each process is received by every process +and placed in the jth block of the buffer recvbuf. +
+

+
+

+This is misleading; a better description is +
+

+
+

+The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer recvbuf. +
+

+
+

+This text was suggested by Rajeev Thakur and has been adopted as a +clarification by the MPI Forum. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html new file mode 100644 index 00000000..f7dc7360 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html @@ -0,0 +1,110 @@ + + + + +MPI_Allgatherv + + +

MPI_Allgatherv

+Gathers data from all tasks and deliver the combined data to all tasks +

Synopsis

+
+int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                   void *recvbuf, const int *recvcounts, const int *displs,
+                   MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array (of length group size) +containing the number of elements that are to be received from each process + +
displs
integer array (of length group size). Entry +i specifies the displacement (relative to recvbuf) at +which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Notes

+The MPI standard (1.0 and 1.1) says that +
+

+
+

+The jth block of data sent from +each process is received by every process and placed in the jth block of the +buffer recvbuf. +
+

+
+

+This is misleading; a better description is +
+

+
+

+The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer recvbuf. +
+

+
+

+This text was suggested by Rajeev Thakur, and has been adopted as a +clarification to the MPI standard by the MPI-Forum. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html new file mode 100644 index 00000000..f4698e10 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html @@ -0,0 +1,79 @@ + + + + +MPI_Alloc_mem + + +

MPI_Alloc_mem

+Allocate memory for message passing and RMA +

Synopsis

+
+int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr)
+
+

Input Parameters

+
+
size
size of memory segment in bytes (nonnegative integer) + +
info
info argument (handle) +
+

+

Output Parameters

+
baseptr
pointer to beginning of memory segment allocated +
+

+

Notes

+Using this routine from Fortran requires that the Fortran compiler accept +a common pointer extension. See Section 4.11 (Memory Allocation) in the +MPI-2 standard for more information and examples. +

+Also note that while baseptr is a void * type, this is +simply to allow easy use of any pointer object for this parameter. +In fact, this argument is really a void ** type, that is, a +pointer to a pointer. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_NO_MEM
Insufficient memory available for allocation by +MPI_Alloc_mem + +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html new file mode 100644 index 00000000..65dccf04 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html @@ -0,0 +1,93 @@ + + + + +MPI_Allreduce + + +

MPI_Allreduce

+Combines values from all processes and distributes the result back to all processes +

Synopsis

+
+int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count,
+                  MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
data type of elements of send buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html new file mode 100644 index 00000000..da8b3271 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html @@ -0,0 +1,80 @@ + + + + +MPI_Alltoall + + +

MPI_Alltoall

+Sends data from all to all processes +

Synopsis

+
+int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements to send to each process (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html new file mode 100644 index 00000000..719e5bf0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html @@ -0,0 +1,92 @@ + + + + +MPI_Alltoallv + + +

MPI_Alltoallv

+Sends data from all to all processes; each process may send a different amount of data and provide displacements for the input and output data. +

Synopsis

+
+int MPI_Alltoallv(const void *sendbuf, const int *sendcounts,
+                  const int *sdispls, MPI_Datatype sendtype, void *recvbuf,
+                  const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcounts
integer array equal to the group size +specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry +j specifies the displacement (relative to sendbuf from +which to take the outgoing data destined for process j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array equal to the group size +specifying the maximum number of elements that can be received from +each processor + +
rdispls
integer array (of length group size). Entry +i specifies the displacement (relative to recvbuf at +which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html new file mode 100644 index 00000000..0aa56e21 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html @@ -0,0 +1,96 @@ + + + + +MPI_Alltoallw + + +

MPI_Alltoallw

+Generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +

Synopsis

+
+int MPI_Alltoallw(const void *sendbuf, const int sendcounts[],
+                  const int sdispls[], const MPI_Datatype sendtypes[],
+                  void *recvbuf, const int recvcounts[], const int rdispls[],
+                  const MPI_Datatype recvtypes[], MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcounts
integer array equal to the group size specifying the number of +elements to send to each processor (integer) + +
sdispls
integer array (of length group size). Entry j specifies the +displacement in bytes (relative to sendbuf) from which to take the outgoing +data destined for process j + +
sendtypes
array of datatypes (of length group size). Entry j specifies the +type of data to send to process j (handle) + +
recvcounts
integer array equal to the group size specifying the number of +elements that can be received from each processor (integer) + +
rdispls
integer array (of length group size). Entry i specifies the +displacement in bytes (relative to recvbuf) at which to place the incoming +data from process i + +
recvtypes
array of datatypes (of length group size). Entry i specifies +the type of data received from process i (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html new file mode 100644 index 00000000..16b800d4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html @@ -0,0 +1,69 @@ + + + + +MPI_Attr_delete + + +

MPI_Attr_delete

+Deletes an attribute value associated with a key on a communicator +

Synopsis

+
+int MPI_Attr_delete(MPI_Comm comm, int keyval)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_delete_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html new file mode 100644 index 00000000..a590c5ba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html @@ -0,0 +1,94 @@ + + + + +MPI_Attr_get + + +

MPI_Attr_get

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
true if an attribute value was extracted; false if no attribute is +associated with the key +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_ATTR_PUT. The notes for C and Fortran below explain why. +

+

Notes for C

+Even though the attribute_val argument is declared as void *, it is +really the address of a void pointer (i.e., a void **). Using +a void *, however, is more in keeping with C idiom and allows the +pointer to be passed without additional casts. +

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_get_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The attribute_val in Fortran is a pointer to a Fortran integer, not +a pointer to a void *. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+

+

See Also

+MPI_Attr_put, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_get_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html new file mode 100644 index 00000000..5e299684 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html @@ -0,0 +1,93 @@ + + + + +MPI_Attr_put + + +

MPI_Attr_put

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
+
+

Input Parameters

+
+
comm
communicator to which attribute will be attached (handle) + +
keyval
key value, as returned by MPI_KEYVAL_CREATE (integer) + +
attribute_val
attribute value +
+

+

Notes

+Values of the permanent attributes MPI_TAG_UB, MPI_HOST, MPI_IO, +MPI_WTIME_IS_GLOBAL, MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE, and +MPI_APPNUM may not be changed. +

+The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer (void *); in Fortran, +it is a single +integer (not a pointer, since Fortran has no pointers and there are systems +for which a pointer does not fit in an integer (e.g., any > 32 bit address +system that uses 64 bits for Fortran DOUBLE PRECISION). +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_set_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Attr_get, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_set_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html new file mode 100644 index 00000000..afefaa96 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html @@ -0,0 +1,61 @@ + + + + +MPI_Barrier + + +

MPI_Barrier

+Blocks until all processes in the communicator have reached this routine. +

Synopsis

+
+int MPI_Barrier(MPI_Comm comm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Notes

+Blocks the caller until all processes in the communicator have called it; +that is, the call returns at any process only after all members of the +communicator have entered the call. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html new file mode 100644 index 00000000..7aadfeae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html @@ -0,0 +1,81 @@ + + + + +MPI_Bcast + + +

MPI_Bcast

+Broadcasts a message from the process with rank "root" to all other processes of the communicator +

Synopsis

+
+int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
+
+

Input/Output Parameters

+
buffer
starting address of buffer (choice) +
+

+

Input Parameters

+
+
count
number of entries in buffer (integer) + +
datatype
data type of buffer (handle) + +
root
rank of broadcast root (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_ROOT
Invalid root. The root must be specified as a rank in the +communicator. Ranks must be between zero and the size of the communicator +minus one. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html new file mode 100644 index 00000000..7cf3d331 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html @@ -0,0 +1,118 @@ + + + + +MPI_Bsend + + +

MPI_Bsend

+Basic send with user-provided buffering +

Synopsis

+
+int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+This send is provided as a convenience function; it allows the user to +send messages without worring about where they are buffered (because the +user must have provided buffer space with MPI_Buffer_attach). +

+In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent MPI_Bsends unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space +

+    MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD);
+    for (i=0; i<m; i++) {
+        MPI_Bsend(buf, n, MPI_DOUBLE, ...);
+    }
+
+ +because only enough buffer space is provided for a single send, and the +loop may start a second MPI_Bsend before the first is done making use of the +buffer. +

+In C, you can +force the messages to be delivered by +

+    MPI_Buffer_detach(&b, &n);
+    MPI_Buffer_attach(b, n);
+
+ +(The MPI_Buffer_detach will not complete until all buffered messages are +delivered.) +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+

+

See Also

+ MPI_Buffer_attach, MPI_Ibsend, MPI_Bsend_init +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html new file mode 100644 index 00000000..8bb0ae81 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html @@ -0,0 +1,92 @@ + + + + +MPI_Bsend_init + + +

MPI_Bsend_init

+Builds a handle for a buffered send +

Synopsis

+
+int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
+                   int dest, int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+

+

See Also

+ MPI_Buffer_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html new file mode 100644 index 00000000..558ca1fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html @@ -0,0 +1,98 @@ + + + + +MPI_Buffer_attach + + +

MPI_Buffer_attach

+Attaches a user-provided buffer for sending +

Synopsis

+
+int MPI_Buffer_attach(void *buffer, int size)
+
+

Input Parameters

+
+
buffer
initial buffer address (choice) + +
size
buffer size, in bytes (integer) +
+

+

Notes

+The size given should be the sum of the sizes of all outstanding Bsends that +you intend to have, plus MPI_BSEND_OVERHEAD for each Bsend that you do. +For the purposes of calculating size, you should use MPI_Pack_size. +In other words, in the code +
+     MPI_Buffer_attach(buffer, size);
+     MPI_Bsend(..., count=20, datatype=type1,  ...);
+     ...
+     MPI_Bsend(..., count=40, datatype=type2, ...);
+
+ +the value of size in the MPI_Buffer_attach call should be greater than +the value computed by +
+     MPI_Pack_size(20, type1, comm, &s1);
+     MPI_Pack_size(40, type2, comm, &s2);
+     size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD;
+
+ +The MPI_BSEND_OVERHEAD gives the maximum amount of space that may be used in +the buffer for use by the BSEND routines in using the buffer. This value +is in mpi.h (for C) and mpif.h (for Fortran). +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the buffer for buffered sends (e.g., MPI_Bsend) is shared by all +threads in a process, the user is responsible for ensuring that only +one thread at a time calls this routine or MPI_Buffer_detach. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_INTERN
An internal error has been detected. This is fatal. +Please send a bug report to mpi-bugs@mcs.anl.gov. +
+

+

See Also

+ MPI_Buffer_detach, MPI_Bsend +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html new file mode 100644 index 00000000..41021de7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html @@ -0,0 +1,96 @@ + + + + +MPI_Buffer_detach + + +

MPI_Buffer_detach

+Removes an existing buffer (for use in MPI_Bsend etc) +

Synopsis

+
+int MPI_Buffer_detach(void *buffer_addr, int *size)
+
+

Output Parameters

+
+
buffer_addr
initial buffer address (choice) + +
size
buffer size, in bytes (integer) +
+

+

Notes

+The reason that MPI_Buffer_detach returns the address and size of the +buffer being detached is to allow nested libraries to replace and restore +the buffer. For example, consider +

+

+    int size, mysize, idummy;
+    void *ptr, *myptr, *dummy;
+    MPI_Buffer_detach(&ptr, &size);
+    MPI_Buffer_attach(myptr, mysize);
+    ...
+    ... library code ...
+    ...
+    MPI_Buffer_detach(&dummy, &idummy);
+    MPI_Buffer_attach(ptr, size);
+
+ +

+This is much like the action of the Unix signal routine and has the same +strengths (it is simple) and weaknesses (it only works for nested usages). +

+Note that for this approach to work, MPI_Buffer_detach must return MPI_SUCCESS +even when there is no buffer to detach. In that case, it returns a size of +zero. The MPI 1.1 standard for MPI_BUFFER_DETACH contains the text +

+

+   The statements made in this section describe the behavior of MPI for
+   buffered-mode sends. When no buffer is currently associated, MPI behaves
+   as if a zero-sized buffer is associated with the process.
+
+ +

+This could be read as applying only to the various Bsend routines. This +implementation takes the position that this applies to MPI_BUFFER_DETACH +as well. +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the buffer for buffered sends (e.g., MPI_Bsend) is shared by all +threads in a process, the user is responsible for ensuring that only +one thread at a time calls this routine or MPI_Buffer_attach. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The Fortran binding for this routine is different. Because Fortran +does not have pointers, it is impossible to provide a way to use the +output of this routine to exchange buffers. In this case, only the +size field is set. +

+

Notes for C

+Even though the bufferptr argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

See Also

+ MPI_Buffer_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html new file mode 100644 index 00000000..98ba3d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html @@ -0,0 +1,86 @@ + + + + +MPI_Cancel + + +

MPI_Cancel

+Cancels a communication request +

Synopsis

+
+int MPI_Cancel(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Notes

+The primary expected use of MPI_Cancel is in multi-buffering +schemes, where speculative MPI_Irecvs are made. When the computation +completes, some of these receive requests may remain; using MPI_Cancel allows +the user to cancel these unsatisfied requests. +

+Cancelling a send operation is much more difficult, in large part because the +send will usually be at least partially complete (the information on the tag, +size, and source are usually sent immediately to the destination). +Users are +advised that cancelling a send, while a local operation (as defined by the MPI +standard), is likely to be expensive (usually generating one or more internal +messages). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html new file mode 100644 index 00000000..367352d9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html @@ -0,0 +1,75 @@ + + + + +MPI_Cart_coords + + +

MPI_Cart_coords

+Determines process coords in cartesian topology given rank in group +

Synopsis

+
+int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[])
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
rank
rank of a process within group of comm (integer) + +
maxdims
length of vector coords in the calling program (integer) +
+

+

Output Parameters

+
coords
integer array (of size ndims) containing the Cartesian +coordinates of specified process (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html new file mode 100644 index 00000000..435ba675 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html @@ -0,0 +1,82 @@ + + + + +MPI_Cart_create + + +

MPI_Cart_create

+Makes a new communicator to which topology information has been attached +

Synopsis

+
+int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[],
+                    const int periods[], int reorder, MPI_Comm * comm_cart)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
ndims
number of dimensions of cartesian grid (integer) + +
dims
integer array of size ndims specifying the number of processes in +each dimension + +
periods
logical array of size ndims specifying whether the grid is +periodic (true) or not (false) in each dimension + +
reorder
ranking may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_cart
communicator with new cartesian topology (handle) +
+

+

Algorithm

+We ignore reorder info currently. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html new file mode 100644 index 00000000..76682cc9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html @@ -0,0 +1,78 @@ + + + + +MPI_Cart_get + + +

MPI_Cart_get

+Retrieves Cartesian topology information associated with a communicator +

Synopsis

+
+int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[])
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
maxdims
length of vectors dims, periods, and coords +in the calling program (integer) +
+

+

Output Parameters

+
+
dims
number of processes for each cartesian dimension (array of integer) + +
periods
periodicity (true/false) for each cartesian dimension +(array of logical) + +
coords
coordinates of calling process in cartesian structure +(array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html new file mode 100644 index 00000000..310a7640 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html @@ -0,0 +1,74 @@ + + + + +MPI_Cart_map + + +

MPI_Cart_map

+Maps process to Cartesian topology information +

Synopsis

+
+int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank)
+
+

Input Parameters

+
+
comm
input communicator (handle) + +
ndims
number of dimensions of Cartesian structure (integer) + +
dims
integer array of size ndims specifying the number of processes in +each coordinate direction + +
periods
logical array of size ndims specifying the periodicity +specification in each coordinate direction +
+

+

Output Parameters

+
newrank
reordered rank of the calling process; MPI_UNDEFINED if +calling process does not belong to grid (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html new file mode 100644 index 00000000..53907aa3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html @@ -0,0 +1,76 @@ + + + + +MPI_Cart_rank + + +

MPI_Cart_rank

+Determines process rank in communicator given Cartesian location +

Synopsis

+
+int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
coords
integer array (of size ndims, the number of dimensions of +the Cartesian topology associated with comm) specifying the cartesian +coordinates of a process +
+

+

Output Parameters

+
rank
rank of specified process (integer) +
+

+

Notes

+Out-of-range coordinates are erroneous for non-periodic dimensions. +Versions of MPICH before 1.2.2 returned MPI_PROC_NULL for the rank in this +case. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html new file mode 100644 index 00000000..06bcdd8f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html @@ -0,0 +1,77 @@ + + + + +MPI_Cart_shift + + +

MPI_Cart_shift

+Returns the shifted source and destination ranks, given a shift direction and amount +

Synopsis

+
+int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
direction
coordinate dimension of shift (integer) + +
disp
displacement (> 0: upwards shift, < 0: downwards shift) (integer) +
+

+

Output Parameters

+
+
rank_source
rank of source process (integer) + +
rank_dest
rank of destination process (integer) +
+

+

Notes

+The direction argument is in the range [0,n-1] for an n-dimensional +Cartesian mesh. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html new file mode 100644 index 00000000..c89e1718 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html @@ -0,0 +1,73 @@ + + + + +MPI_Cart_sub + + +

MPI_Cart_sub

+Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids +

Synopsis

+
+int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
remain_dims
the ith entry of remain_dims specifies whether the ith +dimension is kept in the subgrid (true) or is dropped (false) (logical +vector) +
+

+

Output Parameters

+
newcomm
communicator containing the subgrid that includes the calling +process (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html new file mode 100644 index 00000000..faddd09a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html @@ -0,0 +1,61 @@ + + + + +MPI_Cartdim_get + + +

MPI_Cartdim_get

+Retrieves Cartesian topology information associated with a communicator +

Synopsis

+
+int MPI_Cartdim_get(MPI_Comm comm, int *ndims)
+
+

Input Parameters

+
comm
communicator with cartesian structure (handle) +
+

+

Output Parameters

+
ndims
number of dimensions of the cartesian structure (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html new file mode 100644 index 00000000..e17d1569 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html @@ -0,0 +1,58 @@ + + + + +MPI_Close_port + + +

MPI_Close_port

+close port +

Synopsis

+
+int MPI_Close_port(const char *port_name)
+
+

Input Parameters

+
port_name
a port name (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html new file mode 100644 index 00000000..01a9e0a1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html @@ -0,0 +1,70 @@ + + + + +MPI_Comm_accept + + +

MPI_Comm_accept

+Accept a request to form a new intercommunicator +

Synopsis

+
+int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
+                    MPI_Comm * newcomm)
+
+

Input Parameters

+
+
port_name
port name (string, used only on root) + +
info
implementation-dependent information (handle, used only on root) + +
root
rank in comm of root node (integer) + +
comm
intracommunicator over which call is collective (handle) +
+

+

Output Parameters

+
newcomm
intercommunicator with client as remote group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html new file mode 100644 index 00000000..c0b08719 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html @@ -0,0 +1,70 @@ + + + + +MPI_Comm_call_errhandler + + +

MPI_Comm_call_errhandler

+Call the error handler installed on a communicator +

Synopsis

+
+int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode)
+
+

Input Parameters

+
+
comm
communicator with error handler (handle) + +
errorcode
error code (integer) +
+

+

Note

+Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html new file mode 100644 index 00000000..3b910b51 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html @@ -0,0 +1,80 @@ + + + + +MPI_Comm_compare + + +

MPI_Comm_compare

+Compares two communicators +

Synopsis

+
+int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result)
+
+

Input Parameters

+
+
comm1
comm1 (handle) + +
comm2
comm2 (handle) +
+

+

Output Parameters

+
result
integer which is MPI_IDENT if the contexts and groups are the +same, MPI_CONGRUENT if different contexts but identical groups, MPI_SIMILAR +if different contexts but similar groups, and MPI_UNEQUAL otherwise +
+

+

Using 'MPI_COMM_NULL' with 'MPI_Comm_compare'

+

+It is an error to use MPI_COMM_NULL as one of the arguments to +MPI_Comm_compare. The relevant sections of the MPI standard are +

+.(2.4.1 Opaque Objects) +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. +

+.(5.4.1. Communicator Accessors) +where there is no text in MPI_COMM_COMPARE allowing a null handle. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +(To perform the communicator comparisions, this routine may need to +allocate some memory. Memory allocation is not interrupt-safe, and hence +this routine is only thread-safe.) +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html new file mode 100644 index 00000000..f5dbebb4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html @@ -0,0 +1,72 @@ + + + + +MPI_Comm_connect + + +

MPI_Comm_connect

+Make a request to form a new intercommunicator +

Synopsis

+
+int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
+                     MPI_Comm * newcomm)
+
+

Input Parameters

+
+
port_name
network address (string, used only on root) + +
info
implementation-dependent information (handle, used only on root) + +
root
rank in comm of root node (integer) + +
comm
intracommunicator over which call is collective (handle) +
+

+

Output Parameters

+
newcomm
intercommunicator with server as remote group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_PORT
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html new file mode 100644 index 00000000..03e780e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html @@ -0,0 +1,69 @@ + + + + +MPI_Comm_create + + +

MPI_Comm_create

+Creates a new communicator +

Synopsis

+
+int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
group
group, which is a subset of the group of comm (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html new file mode 100644 index 00000000..b2d9a247 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html @@ -0,0 +1,69 @@ + + + + +MPI_Comm_create_errhandler + + +

MPI_Comm_create_errhandler

+Create a communicator error handler +

Synopsis

+
+int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function * comm_errhandler_fn,
+                               MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Error Handler

+The error handler function should be of the form +

+void MPI_Comm_errhandler_function(MPI_Comm *comm, int *rc); +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html new file mode 100644 index 00000000..05573dcd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html @@ -0,0 +1,71 @@ + + + + +MPI_Comm_create_group + + +

MPI_Comm_create_group

+Creates a new communicator +

Synopsis

+
+int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
group
group, which is a subset of the group of comm (handle) + +
tag
safe tag unused by other communication +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html new file mode 100644 index 00000000..4703cb4d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html @@ -0,0 +1,94 @@ + + + + +MPI_Comm_create_keyval + + +

MPI_Comm_create_keyval

+Create a new attribute key +

Synopsis

+
+int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function * comm_copy_attr_fn,
+                           MPI_Comm_delete_attr_function * comm_delete_attr_fn,
+                           int *comm_keyval, void *extra_state)
+
+

Input Parameters

+
+
comm_copy_attr_fn
Copy callback function for keyval + +
comm_delete_attr_fn
Delete callback function for keyval + +
extra_state
Extra state for callback functions +
+

+

Output Parameters

+
comm_keyval
key value for future access (integer) +
+

+

Notes

+Key values are global (available for any and all communicators). +

+Default copy and delete functions are available. These are +

+
MPI_COMM_NULL_COPY_FN
empty copy function + +
MPI_COMM_NULL_DELETE_FN
empty delete function + +
MPI_COMM_DUP_FN
simple dup function +
+

+There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language from which MPI_Comm_create_keyval +is called. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. +

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_Comm_free_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html new file mode 100644 index 00000000..c37c27c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_delete_attr + + +

MPI_Comm_delete_attr

+Deletes an attribute value associated with a key on a communicator +

Synopsis

+
+int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
comm_keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Comm_set_attr, MPI_Comm_create_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html new file mode 100644 index 00000000..d4ff7c90 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html @@ -0,0 +1,62 @@ + + + + +MPI_Comm_disconnect + + +

MPI_Comm_disconnect

+Disconnect from a communicator +

Synopsis

+
+int MPI_Comm_disconnect(MPI_Comm * comm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Notes

+This routine waits for all pending communication to complete, then frees the +communicator and sets comm to MPI_COMM_NULL. It may not be called +with MPI_COMM_WORLD or MPI_COMM_SELF. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_Comm_connect, MPI_Comm_join +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html new file mode 100644 index 00000000..88f16a45 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html @@ -0,0 +1,87 @@ + + + + +MPI_Comm_dup + + +

MPI_Comm_dup

+Duplicates an existing communicator with all its cached information +

Synopsis

+
+int MPI_Comm_dup(MPI_Comm comm, MPI_Comm * newcomm)
+
+

Input Parameters

+
comm
Communicator to be duplicated (handle) +
+

+

Output Parameters

+
newcomm
A new communicator over the same group as comm but with a new +context. See notes. (handle) +
+

+

Notes

+This routine is used to create a new communicator that has a new +communication context but contains the same group of processes as +the input communicator. Since all MPI communication is performed +within a communicator (specifies as the group of processes plus +the context), this routine provides an effective way to create a +private communicator for use by a software module or library. In +particular, no library routine should use MPI_COMM_WORLD as the +communicator; instead, a duplicate of a user-specified communicator +should always be used. For more information, see Using MPI, 2nd +edition. +

+Because this routine essentially produces a copy of a communicator, +it also copies any attributes that have been defined on the input +communicator, using the attribute copy function specified by the +copy_function argument to MPI_Keyval_create. This is +particularly useful for (a) attributes that describe some property +of the group associated with the communicator, such as its +interconnection topology and (b) communicators that are given back +to the user; the attibutes in this case can track subsequent +MPI_Comm_dup operations on this communicator. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+ MPI_Comm_free, MPI_Keyval_create, MPI_Attr_put, MPI_Attr_delete, +
MPI_Comm_create_keyval, MPI_Comm_set_attr, MPI_Comm_delete_attr + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html new file mode 100644 index 00000000..6b48da91 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html @@ -0,0 +1,75 @@ + + + + +MPI_Comm_dup_with_info + + +

MPI_Comm_dup_with_info

+Duplicates an existing communicator with all its cached information +

Synopsis

+
+int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
Communicator to be duplicated (handle) + +
info
info object (handle) +
+

+

Output Parameters

+
newcomm
A new communicator over the same group as comm but with a new +context. See notes. (handle) +
+

+

Notes

+MPI_COMM_DUP_WITH_INFO behaves exactly as MPI_COMM_DUP except that +the info hints associated with the communicator comm are not +duplicated in newcomm. The hints provided by the argument info are +associated with the output communicator newcomm instead. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+ MPI_Comm_dup, MPI_Comm_free, MPI_Keyval_create, +
MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval, +MPI_Comm_set_attr, MPI_Comm_delete_attr + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html new file mode 100644 index 00000000..56c20007 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html @@ -0,0 +1,79 @@ + + + + +MPI_Comm_free + + +

MPI_Comm_free

+Marks the communicator object for deallocation +

Synopsis

+
+int MPI_Comm_free(MPI_Comm * comm)
+
+

Input Parameters

+
comm
Communicator to be destroyed (handle) +
+

+

Notes

+This routine frees a communicator. Because the communicator may still +be in use by other MPI routines, the actual communicator storage will not +be freed until all references to this communicator are removed. For most +users, the effect of this routine is the same as if it was in fact freed +at this time of this call. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +

disallows freeing a null communicator. The text from the standard is

+
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html new file mode 100644 index 00000000..6f70dcbb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html @@ -0,0 +1,62 @@ + + + + +MPI_Comm_free_keyval + + +

MPI_Comm_free_keyval

+Frees an attribute key for communicators +

Synopsis

+
+int MPI_Comm_free_keyval(int *comm_keyval)
+
+

Input Parameters

+
comm_keyval
Frees the integer key value (integer) +
+

+

Notes

+Key values are global (they can be used with any and all communicators) +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html new file mode 100644 index 00000000..df18985c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html @@ -0,0 +1,79 @@ + + + + +MPI_Comm_get_attr + + +

MPI_Comm_get_attr

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
comm_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
true if an attribute value was extracted; false if no attribute is +associated with the key +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_Comm_set_attr. The notes for C and Fortran below explain +why. +

+

Notes for C

+Even though the attr_value argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html new file mode 100644 index 00000000..f288c430 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html @@ -0,0 +1,67 @@ + + + + +MPI_Comm_get_errhandler + + +

MPI_Comm_get_errhandler

+Get the error handler attached to a communicator +

Synopsis

+
+int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
errhandler
handler currently associated with communicator (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html new file mode 100644 index 00000000..b35fd6ca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html @@ -0,0 +1,64 @@ + + + + +MPI_Comm_get_info + + +

MPI_Comm_get_info

+Returns a new info object containing the hints of the communicator associated with comm. The current setting of all hints actually used by the system related to this communicator is returned in info_used. If no such hints exist, a handle to a newly created info object is returned that contains no key/value pair. The user is responsible for freeing info_used via MPI_INFO_FREE. +

Synopsis

+
+int MPI_Comm_get_info(MPI_Comm comm, MPI_Info * info_used)
+
+

Input Parameters

+
comm
communicator object (handle) +
+

+

Output Parameters

+
info_used
new info argument (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html new file mode 100644 index 00000000..a2ba4338 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html @@ -0,0 +1,77 @@ + + + + +MPI_Comm_get_name + + +

MPI_Comm_get_name

+Return the print name from the communicator +

Synopsis

+
+int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen)
+
+

Input Parameters

+
comm
Communicator to get name of (handle) +
+

+

Output Parameters

+
+
comm_name
On output, contains the name of the communicator. It must +be an array of size at least MPI_MAX_OBJECT_NAME. + +
resultlen
Number of characters in name +
+

+

Notes

+

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html new file mode 100644 index 00000000..da04bdd0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html @@ -0,0 +1,68 @@ + + + + +MPI_Comm_get_parent + + +

MPI_Comm_get_parent

+Return the parent communicator for this process +

Synopsis

+
+int MPI_Comm_get_parent(MPI_Comm * parent)
+
+

Output Parameters

+
parent
the parent communicator (handle) +
+

+

Notes

+

+If a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, +MPI_Comm_get_parent returns the parent intercommunicator of the current +process. This parent intercommunicator is created implicitly inside of +MPI_Init and is the same intercommunicator returned by MPI_Comm_spawn +in the parents. +

+If the process was not spawned, MPI_Comm_get_parent returns +MPI_COMM_NULL. +

+After the parent communicator is freed or disconnected, MPI_Comm_get_parent +returns MPI_COMM_NULL. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html new file mode 100644 index 00000000..1549cf5f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html @@ -0,0 +1,65 @@ + + + + +MPI_Comm_group + + +

MPI_Comm_group

+Accesses the group associated with given communicator +

Synopsis

+
+int MPI_Comm_group(MPI_Comm comm, MPI_Group * group)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Output Parameters

+
group
Group in communicator (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html new file mode 100644 index 00000000..afca3193 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html @@ -0,0 +1,58 @@ + + + + +MPI_Comm_idup + + +

MPI_Comm_idup

+nonblocking communicator duplication +

Synopsis

+
+int MPI_Comm_idup(MPI_Comm comm, MPI_Comm * newcomm, MPI_Request * request)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
+
newcomm
copy of comm (handle) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html new file mode 100644 index 00000000..438e5823 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_join + + +

MPI_Comm_join

+Create a communicator by joining two processes connected by a socket. +

Synopsis

+
+int MPI_Comm_join(int fd, MPI_Comm * intercomm)
+
+

Input Parameters

+
fd
socket file descriptor +
+

+

Output Parameters

+
intercomm
new intercommunicator (handle) +
+

+

Notes

+The socket must be quiescent before MPI_COMM_JOIN is called and after +MPI_COMM_JOIN returns. More specifically, on entry to MPI_COMM_JOIN, a +read on the socket will not read any data that was written to the socket +before the remote process called MPI_COMM_JOIN. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html new file mode 100644 index 00000000..79450eba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html @@ -0,0 +1,58 @@ + + + + +MPI_Comm_rank + + +

MPI_Comm_rank

+Determines the rank of the calling process in the communicator +

Synopsis

+
+int MPI_Comm_rank(MPI_Comm comm, int *rank)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
rank
rank of the calling process in the group of comm (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html new file mode 100644 index 00000000..a2f06bcc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html @@ -0,0 +1,67 @@ + + + + +MPI_Comm_remote_group + + +

MPI_Comm_remote_group

+Accesses the remote group associated with the given inter-communicator +

Synopsis

+
+int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group * group)
+
+

Input Parameters

+
comm
Communicator (must be an intercommunicator) (handle) +
+

+

Output Parameters

+
group
remote group of communicator (handle) +
+

+

Notes

+The user is responsible for freeing the group when it is no longer needed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html new file mode 100644 index 00000000..9890fe96 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html @@ -0,0 +1,61 @@ + + + + +MPI_Comm_remote_size + + +

MPI_Comm_remote_size

+Determines the size of the remote group associated with an inter-communictor +

Synopsis

+
+int MPI_Comm_remote_size(MPI_Comm comm, int *size)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
size
number of processes in the remote group of comm (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html new file mode 100644 index 00000000..24de743d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html @@ -0,0 +1,83 @@ + + + + +MPI_Comm_set_attr + + +

MPI_Comm_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val)
+
+

Input Parameters

+
+
comm
communicator to which attribute will be attached (handle) + +
comm_keyval
key value, as returned by MPI_Comm_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+Values of the permanent attributes MPI_TAG_UB, MPI_HOST, MPI_IO, +MPI_WTIME_IS_GLOBAL, MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE, and +MPI_APPNUM may not be changed. +

+The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Comm_create_keyval, MPI_Comm_delete_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html new file mode 100644 index 00000000..c2283589 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html @@ -0,0 +1,73 @@ + + + + +MPI_Comm_set_errhandler + + +

MPI_Comm_set_errhandler

+Set the error handler for a communicator +

Synopsis

+
+int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
errhandler
new error handler for communicator (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+MPI_Comm_get_errhandler, MPI_Comm_call_errhandler +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html new file mode 100644 index 00000000..4f44628c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html @@ -0,0 +1,63 @@ + + + + +MPI_Comm_set_info + + +

MPI_Comm_set_info

+Set new values for the hints of the communicator associated with comm. The call is collective on the group of comm. The info object may be different on each process, but any info entries that an implementation requires to be the same on all processes must appear with the same value in each process' info object. +

Synopsis

+
+int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info)
+
+

Input Parameters

+
+
comm
communicator object (handle) + +
info
info argument (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html new file mode 100644 index 00000000..c5a44209 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_set_name + + +

MPI_Comm_set_name

+Sets the print name for a communicator +

Synopsis

+
+int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name)
+
+

Input Parameters

+
+
comm
communicator to name (handle) + +
comm_name
Name for communicator +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html new file mode 100644 index 00000000..c473e439 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html @@ -0,0 +1,76 @@ + + + + +MPI_Comm_size + + +

MPI_Comm_size

+Determines the size of the group associated with a communicator +

Synopsis

+
+int MPI_Comm_size(MPI_Comm comm, int *size)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
size
number of processes in the group of comm (integer) +
+

+

Notes

+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html new file mode 100644 index 00000000..ebd10f5f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html @@ -0,0 +1,85 @@ + + + + +MPI_Comm_spawn + + +

MPI_Comm_spawn

+Spawn up to maxprocs instances of a single MPI application +

Synopsis

+
+int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info,
+                   int root, MPI_Comm comm, MPI_Comm * intercomm, int array_of_errcodes[])
+
+

Input Parameters

+
+
command
name of program to be spawned (string, significant only at root) + +
argv
arguments to command (array of strings, significant only at root) + +
maxprocs
maximum number of processes to start (integer, significant only +at root) + +
info
a set of key-value pairs telling the runtime system where and how +to start the processes (handle, significant only at root) + +
root
rank of process in which previous arguments are examined (integer) + +
comm
intracommunicator containing group of spawning processes (handle) +
+

+

Output Parameters

+
+
intercomm
intercommunicator between original group and the +newly spawned group (handle) + +
array_of_errcodes
one code per process (array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_SPAWN
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html new file mode 100644 index 00000000..ae28af6b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html @@ -0,0 +1,84 @@ + + + + +MPI_Comm_spawn_multiple + + +

MPI_Comm_spawn_multiple

+short description +

Synopsis

+
+int MPI_Comm_spawn_multiple(int count, char *array_of_commands[],
+                            char **array_of_argv[], const int array_of_maxprocs[],
+                            const MPI_Info array_of_info[], int root, MPI_Comm comm,
+                            MPI_Comm * intercomm, int array_of_errcodes[])
+
+

Input Parameters

+
+
count
number of commands (positive integer, significant to MPI only at +root + +
array_of_commands
programs to be executed (array of strings, significant +only at root) + +
array_of_argv
arguments for commands (array of array of strings, +significant only at root) + +
array_of_maxprocs
maximum number of processes to start for each command +(array of integer, significant only at root) + +
array_of_info
info objects telling the runtime system where and how to +start processes (array of handles, significant only at root) + +
root
rank of process in which previous arguments are examined (integer) + +
comm
intracommunicator containing group of spawning processes (handle) +
+

+

Output Parameters

+
+
intercomm
intercommunicator between original group and newly spawned group +(handle) + +
array_of_errcodes
one error code per process (array of integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_SPAWN
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html new file mode 100644 index 00000000..d5c2a40a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html @@ -0,0 +1,86 @@ + + + + +MPI_Comm_split + + +

MPI_Comm_split

+Creates new communicators based on colors and keys +

Synopsis

+
+int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
color
control of subset assignment (nonnegative integer). Processes +with the same color are in the same new communicator + +
key
control of rank assignment (integer) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Notes

+The color must be non-negative or MPI_UNDEFINED. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Algorithm

+
+  1. Use MPI_Allgather to get the color and key from each process
+  2. Count the number of processes with the same color; create a
+     communicator with that many processes.  If this process has
+     MPI_UNDEFINED as the color, create a process with a single member.
+  3. Use key to order the ranks
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html new file mode 100644 index 00000000..d187ae78 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html @@ -0,0 +1,77 @@ + + + + +MPI_Comm_split_type + + +

MPI_Comm_split_type

+Creates new communicators based on split types and keys +

Synopsis

+
+int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
split_type
type of processes to be grouped together (nonnegative integer). + +
key
control of rank assignment (integer) + +
info
hints to improve communicator creation (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Notes

+The split_type must be non-negative or MPI_UNDEFINED. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html new file mode 100644 index 00000000..1b3888f7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html @@ -0,0 +1,61 @@ + + + + +MPI_Comm_test_inter + + +

MPI_Comm_test_inter

+Tests to see if a comm is an inter-communicator +

Synopsis

+
+int MPI_Comm_test_inter(MPI_Comm comm, int *flag)
+
+

Input Parameters

+
comm
communicator to test (handle) +
+

+

Output Parameters

+
flag
true if this is an inter-communicator(logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html new file mode 100644 index 00000000..3c13264c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html @@ -0,0 +1,96 @@ + + + + +MPI_Compare_and_swap + + +

MPI_Compare_and_swap

+Perform one-sided atomic compare-and-swap. +

Synopsis

+
+int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
+                         void *result_addr, MPI_Datatype datatype, int target_rank,
+                         MPI_Aint target_disp, MPI_Win win)
+
+

+This function compares one element of type datatype in the compare buffer +compare_addr with the buffer at offset target_disp in the target window +specified by target_rank and win and replaces the value at the target with the +value in the origin buffer origin_addr if the compare buffer and the target +buffer are identical. The original value at the target is returned in the +buffer result_addr. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
compare_addr
initial address of compare buffer (choice) + +
result_addr
initial address of result buffer (choice) + +
datatype
datatype of the entry in origin, result, and target buffers (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target buffer (non-negative integer) + +
win
window object (handle) +
+

+

Notes

+This operation is atomic with respect to other "accumulate" operations. +

+The parameter datatype must belong to one of the following categories of +predefined datatypes: C integer, Fortran integer, Logical, Multi-language +types, or Byte as specified in Section 5.9.2 on page 176. The origin and result +buffers (origin_addr and result_addr) must be disjoint. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html new file mode 100644 index 00000000..ee2bb469 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html @@ -0,0 +1,62 @@ + + + + +MPI_Dims_create + + +

MPI_Dims_create

+Creates a division of processors in a cartesian grid +

Synopsis

+
+int MPI_Dims_create(int nnodes, int ndims, int dims[])
+
+

Input Parameters

+
+
nnodes
number of nodes in a grid (integer) + +
ndims
number of cartesian dimensions (integer) +
+

+

Input/Output Parameters

+
dims
integer array of size ndims specifying the number of nodes in each +dimension. A value of 0 indicates that MPI_Dims_create should fill in a +suitable value. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html new file mode 100644 index 00000000..196c5654 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html @@ -0,0 +1,86 @@ + + + + +MPI_Dist_graph_create + + +

MPI_Dist_graph_create

+MPI_DIST_GRAPH_CREATE returns a handle to a new communicator to which the distributed graph topology information is attached. +

Synopsis

+
+int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[],
+                          const int degrees[], const int destinations[],
+                          const int weights[],
+                          MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
n
number of source nodes for which this process specifies edges +(non-negative integer) + +
sources
array containing the n source nodes for which this process +specifies edges (array of non-negative integers) + +
degrees
array specifying the number of destinations for each source node +in the source node array (array of non-negative integers) + +
destinations
destination nodes for the source nodes in the source node +array (array of non-negative integers) + +
weights
weights for source to destination edges (array of non-negative +integers or MPI_UNWEIGHTED) + +
info
hints on optimization and interpretation of weights (handle) + +
reorder
the process may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_dist_graph
communicator with distributed graph topology added (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html new file mode 100644 index 00000000..357ddfd8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html @@ -0,0 +1,89 @@ + + + + +MPI_Dist_graph_create_adjacent + + +

MPI_Dist_graph_create_adjacent

+returns a handle to a new communicator to which the distributed graph topology information is attached. +

Synopsis

+
+int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old,
+                                   int indegree, const int sources[],
+                                   const int sourceweights[],
+                                   int outdegree, const int destinations[],
+                                   const int destweights[],
+                                   MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
indegree
size of sources and sourceweights arrays (non-negative integer) + +
sources
ranks of processes for which the calling process is a +destination (array of non-negative integers) + +
sourceweights
weights of the edges into the calling +process (array of non-negative integers or MPI_UNWEIGHTED) + +
outdegree
size of destinations and destweights arrays (non-negative integer) + +
destinations
ranks of processes for which the calling process is a +source (array of non-negative integers) + +
destweights
weights of the edges out of the calling process +(array of non-negative integers or MPI_UNWEIGHTED) + +
info
hints on optimization and interpretation of weights (handle) + +
reorder
the ranks may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_dist_graph
communicator with distributed graph topology (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html new file mode 100644 index 00000000..f946cab0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html @@ -0,0 +1,71 @@ + + + + +MPI_Dist_graph_neighbors + + +

MPI_Dist_graph_neighbors

+Provides adjacency information for a distributed graph topology. +

Synopsis

+
+int MPI_Dist_graph_neighbors(MPI_Comm comm,
+                             int maxindegree, int sources[], int sourceweights[],
+                             int maxoutdegree, int destinations[], int destweights[])
+
+

Input Parameters

+
+
comm
communicator with distributed graph topology (handle) + +
maxindegree
size of sources and sourceweights arrays (non-negative integer) + +
maxoutdegree
size of destinations and destweights arrays (non-negative integer) +
+

+

Output Parameters

+
+
sources
processes for which the calling process is a destination (array of non-negative integers) + +
sourceweights
weights of the edges into the calling process (array of non-negative integers) + +
destinations
processes for which the calling process is a source (array of non-negative integers) + +
destweights
weights of the edges out of the calling process (array of non-negative integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html new file mode 100644 index 00000000..d0d65616 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html @@ -0,0 +1,62 @@ + + + + +MPI_Dist_graph_neighbors_count + + +

MPI_Dist_graph_neighbors_count

+Provides adjacency information for a distributed graph topology. +

Synopsis

+
+int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted)
+
+

Input Parameters

+
comm
communicator with distributed graph topology (handle) +
+

+

Output Parameters

+
+
indegree
number of edges into this process (non-negative integer) + +
outdegree
number of edges out of this process (non-negative integer) + +
weighted
false if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html new file mode 100644 index 00000000..a57d46f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html @@ -0,0 +1,79 @@ + + + + +MPI_Errhandler_create + + +

MPI_Errhandler_create

+Creates an MPI-style errorhandler +

Synopsis

+
+int MPI_Errhandler_create(MPI_Handler_function * function, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
function
user defined error handling procedure +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Notes

+The MPI Standard states that an implementation may make the output value +(errhandler) simply the address of the function. However, the action of +MPI_Errhandler_free makes this impossible, since it is required to set the +value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual +error handler must remain until all communicators that use it are +freed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement routine for this function is MPI_Comm_create_errhandler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_create_errhandler, MPI_Errhandler_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html new file mode 100644 index 00000000..b72e11dd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html @@ -0,0 +1,57 @@ + + + + +MPI_Errhandler_free + + +

MPI_Errhandler_free

+Frees an MPI-style errorhandler +

Synopsis

+
+int MPI_Errhandler_free(MPI_Errhandler * errhandler)
+
+

Input Parameters

+
errhandler
MPI error handler (handle). Set to MPI_ERRHANDLER_NULL on +exit. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html new file mode 100644 index 00000000..14ca679d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html @@ -0,0 +1,75 @@ + + + + +MPI_Errhandler_get + + +

MPI_Errhandler_get

+Gets the error handler for a communicator +

Synopsis

+
+int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm
communicator to get the error handler from (handle) +
+

+

Output Parameters

+
errhandler
MPI error handler currently associated with communicator +(handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Note on Implementation

+

+The MPI Standard was unclear on whether this routine required the user to call +MPI_Errhandler_free once for each call made to this routine in order to +free the error handler. After some debate, the MPI Forum added an explicit +statement that users are required to call MPI_Errhandler_free when the +return value from this routine is no longer needed. This behavior is similar +to the other MPI routines for getting objects; for example, MPI_Comm_group +requires that the user call MPI_Group_free when the group returned +by MPI_Comm_group is no longer needed. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html new file mode 100644 index 00000000..53e3500e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html @@ -0,0 +1,73 @@ + + + + +MPI_Errhandler_set + + +

MPI_Errhandler_set

+Sets the error handler for a communicator +

Synopsis

+
+int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
comm
communicator to set the error handler for (handle) + +
errhandler
new MPI error handler for communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_set_errhandler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Comm_set_errhandler, MPI_Errhandler_create, MPI_Comm_create_errhandler +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html new file mode 100644 index 00000000..88c31877 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html @@ -0,0 +1,56 @@ + + + + +MPI_Error_class + + +

MPI_Error_class

+Converts an error code into an error class +

Synopsis

+
+int MPI_Error_class(int errorcode, int *errorclass)
+
+

Input Parameters

+
errorcode
Error code returned by an MPI routine +
+

+

Output Parameters

+
errorclass
Error class associated with errorcode + +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html new file mode 100644 index 00000000..a4cd2ada --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html @@ -0,0 +1,67 @@ + + + + +MPI_Error_string + + +

MPI_Error_string

+Return a string for a given error code +

Synopsis

+
+int MPI_Error_string(int errorcode, char *string, int *resultlen)
+
+

Input Parameters

+
errorcode
Error code returned by an MPI routine or an MPI error class +
+

+

Output Parameters

+
+
string
Text that corresponds to the errorcode + +
resultlen
Length of string +
+

+Notes: Error codes are the values return by MPI routines (in C) or in the +ierr argument (in Fortran). These can be converted into error classes +with the routine MPI_Error_class. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html new file mode 100644 index 00000000..98c8478d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html @@ -0,0 +1,103 @@ + + + + +MPI_Exscan + + +

MPI_Exscan

+Computes the exclusive scan (partial reductions) of data on a collection of processes +

Synopsis

+
+int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+               MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in input buffer (integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Notes

+MPI_Exscan is like MPI_Scan, except that the contribution from the +calling process is not included in the result at the calling process +(it is contributed to the subsequent processes, of course). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html new file mode 100644 index 00000000..56a14bf5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html @@ -0,0 +1,103 @@ + + + + +MPI_Fetch_and_op + + +

MPI_Fetch_and_op

+Perform one-sided read-modify-write. +

Synopsis

+
+int MPI_Fetch_and_op(const void *origin_addr, void *result_addr,
+                     MPI_Datatype datatype, int target_rank, MPI_Aint target_disp,
+                     MPI_Op op, MPI_Win win)
+
+

+Accumulate one element of type datatype from the origin buffer (origin_addr) to +the buffer at offset target_disp, in the target window specified by target_rank +and win, using the operation op and return in the result buffer result_addr the +content of the target buffer before the accumulation. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
result_addr
initial address of result buffer (choice) + +
datatype
datatype of the entry in origin, result, and target buffers (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target buffer (non-negative integer) + +
op
reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The generic functionality of MPI_Get_accumulate might limit the performance of +fetch-and-increment or fetch-and-add calls that might be supported by special +hardware operations. MPI_Fetch_and_op thus allows for a fast implementation +of a commonly used subset of the functionality of MPI_Get_accumulate. +

+The origin and result buffers (origin_addr and result_addr) must be disjoint. +Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP or +MPI_REPLACE, can be specified as op; user-defined functions cannot be used. The +datatype argument must be a predefined datatype. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get_accumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html new file mode 100644 index 00000000..1fd3e65f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html @@ -0,0 +1,20 @@ + + + + +MPI_File_c2f + + +

MPI_File_c2f

+Translates a C file handle to a Fortran file handle +

Synopsis

+
+MPI_Fint MPI_File_c2f(MPI_File fh)
+
+

Input Parameters

+
fh
C file handle (handle) +
+

+

Return Value

+Fortran file handle (integer) + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html new file mode 100644 index 00000000..8650a4fc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html @@ -0,0 +1,65 @@ + + + + +MPI_File_call_errhandler + + +

MPI_File_call_errhandler

+Call the error handler installed on a file +

Synopsis

+
+int MPI_File_call_errhandler(MPI_File fh, int errorcode)
+
+

Input Parameters

+
+
fh
MPI file with error handler (handle) + +
errorcode
error code (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_FILE
Invalid MPI File handle +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html new file mode 100644 index 00000000..e2e56b1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html @@ -0,0 +1,27 @@ + + + + +MPI_File_close + + +

MPI_File_close

+Closes a file +

Synopsis

+
+int MPI_File_close(MPI_File * fh)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html new file mode 100644 index 00000000..cf0f6e31 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html @@ -0,0 +1,58 @@ + + + + +MPI_File_create_errhandler + + +

MPI_File_create_errhandler

+Create a file error handler +

Synopsis

+
+int MPI_File_create_errhandler(MPI_File_errhandler_function * file_errhandler_fn,
+                               MPI_Errhandler * errhandler)
+
+

Input Parameters

+
file_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html new file mode 100644 index 00000000..6de5220d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html @@ -0,0 +1,29 @@ + + + + +MPI_File_delete + + +

MPI_File_delete

+Deletes a file +

Synopsis

+
+int MPI_File_delete(ROMIO_CONST char *filename, MPI_Info info)
+
+

Input Parameters

+
filename
name of file to delete (string) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html new file mode 100644 index 00000000..456f79d4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html @@ -0,0 +1,20 @@ + + + + +MPI_File_f2c + + +

MPI_File_f2c

+Translates a Fortran file handle to a C file handle +

Synopsis

+
+MPI_File MPI_File_f2c(MPI_Fint fh)
+
+

Input Parameters

+
fh
Fortran file handle (integer) +
+

+

Return Value

+C file handle (handle) + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html new file mode 100644 index 00000000..cc488686 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_amode + + +

MPI_File_get_amode

+Returns the file access mode +

Synopsis

+
+int MPI_File_get_amode(MPI_File fh, int *amode)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
amode
access mode (integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html new file mode 100644 index 00000000..8a4549f3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_atomicity + + +

MPI_File_get_atomicity

+Returns the atomicity mode +

Synopsis

+
+int MPI_File_get_atomicity(MPI_File fh, int *flag)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
flag
true if atomic mode, false if nonatomic mode (logical) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html new file mode 100644 index 00000000..31f471ee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html @@ -0,0 +1,33 @@ + + + + +MPI_File_get_byte_offset + + +

MPI_File_get_byte_offset

+Returns the absolute byte position in the file corresponding to "offset" etypes relative to the current view +

Synopsis

+
+int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset * disp)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
offset (nonnegative integer) +
+

+

Output Parameters

+
disp
absolute byte position of offset (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html new file mode 100644 index 00000000..b88cd315 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html @@ -0,0 +1,64 @@ + + + + +MPI_File_get_errhandler + + +

MPI_File_get_errhandler

+Get the error handler attached to a file +

Synopsis

+
+int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
file
MPI file (handle) +
+

+

Output Parameters

+
errhandler
handler currently associated with file (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html new file mode 100644 index 00000000..2b42e5b8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_group + + +

MPI_File_get_group

+Returns the group of processes that opened the file +

Synopsis

+
+int MPI_File_get_group(MPI_File fh, MPI_Group * group)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
group
group that opened the file (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html new file mode 100644 index 00000000..10f29d5a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_info + + +

MPI_File_get_info

+Returns the hints for a file that are actually being used by MPI +

Synopsis

+
+int MPI_File_get_info(MPI_File fh, MPI_Info * info_used)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
info_used
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html new file mode 100644 index 00000000..828f73be --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_position + + +

MPI_File_get_position

+Returns the current position of the individual file pointer in etype units relative to the current view +

Synopsis

+
+int MPI_File_get_position(MPI_File fh, MPI_Offset * offset)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
offset
offset of individual file pointer (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html new file mode 100644 index 00000000..7beced94 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_position_shared + + +

MPI_File_get_position_shared

+Returns the current position of the shared file pointer in etype units relative to the current view +

Synopsis

+
+int MPI_File_get_position_shared(MPI_File fh, MPI_Offset * offset)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
offset
offset of shared file pointer (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html new file mode 100644 index 00000000..c34452ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_size + + +

MPI_File_get_size

+Returns the file size +

Synopsis

+
+int MPI_File_get_size(MPI_File fh, MPI_Offset * size)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
size
size of the file in bytes (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html new file mode 100644 index 00000000..428028b2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html @@ -0,0 +1,33 @@ + + + + +MPI_File_get_type_extent + + +

MPI_File_get_type_extent

+Returns the extent of datatype in the file +

Synopsis

+
+int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint * extent)
+
+

Input Parameters

+
fh
file handle (handle) +
+
datatype
datatype (handle) +
+

+

Output Parameters

+
extent
extent of the datatype (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html new file mode 100644 index 00000000..a644aaf6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html @@ -0,0 +1,38 @@ + + + + +MPI_File_get_view + + +

MPI_File_get_view

+Returns the file view +

Synopsis

+
+int MPI_File_get_view(MPI_File fh, MPI_Offset * disp, MPI_Datatype * etype,
+                      MPI_Datatype * filetype, char *datarep)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
disp
displacement (nonnegative integer) +
+
etype
elementary datatype (handle) +
+
filetype
filetype (handle) +
+
datarep
data representation (string) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html new file mode 100644 index 00000000..5ea8e0ef --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html @@ -0,0 +1,37 @@ + + + + +MPI_File_iread + + +

MPI_File_iread

+Nonblocking read using individual file pointer +

Synopsis

+
+int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html new file mode 100644 index 00000000..c17f01e4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iread_all + + +

MPI_File_iread_all

+Nonblocking collective read using individual file pointer +

Synopsis

+
+int MPI_File_iread_all(MPI_File fh, void *buf, int count,
+                       MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html new file mode 100644 index 00000000..b9eecfb8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iread_at + + +

MPI_File_iread_at

+Nonblocking read using explicit offset +

Synopsis

+
+int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype,
+                      MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html new file mode 100644 index 00000000..ac7567bd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iread_at_all + + +

MPI_File_iread_at_all

+Nonblocking collective read using explicit offset +

Synopsis

+
+int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf,
+                          int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html new file mode 100644 index 00000000..1d385ade --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iread_shared + + +

MPI_File_iread_shared

+Nonblocking read using shared file pointer +

Synopsis

+
+int MPI_File_iread_shared(MPI_File fh, void *buf, int count,
+                          MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html new file mode 100644 index 00000000..69640abe --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html @@ -0,0 +1,42 @@ + + + + +MPI_File_iwrite + + +

MPI_File_iwrite

+Nonblocking write using individual file pointer +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite(MPI_File fh, ROMIO_CONST void *buf, int count,
+                    MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html new file mode 100644 index 00000000..f2d4f4cc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iwrite_all + + +

MPI_File_iwrite_all

+Nonblocking collective write using individual file pointer +

Synopsis

+
+int MPI_File_iwrite_all(MPI_File fh, ROMIO_CONST void *buf, int count,
+                        MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html new file mode 100644 index 00000000..2cfa73d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html @@ -0,0 +1,44 @@ + + + + +MPI_File_iwrite_at + + +

MPI_File_iwrite_at

+Nonblocking write using explicit offset +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                       int count, MPI_Datatype datatype, MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html new file mode 100644 index 00000000..ad11f9aa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iwrite_at_all + + +

MPI_File_iwrite_at_all

+Nonblocking collective write using explicit offset +

Synopsis

+
+int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                           int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html new file mode 100644 index 00000000..78fdd794 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html @@ -0,0 +1,42 @@ + + + + +MPI_File_iwrite_shared + + +

MPI_File_iwrite_shared

+Nonblocking write using shared file pointer +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite_shared(MPI_File fh, ROMIO_CONST void *buf, int count,
+                           MPI_Datatype datatype, MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html new file mode 100644 index 00000000..0e6326ad --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html @@ -0,0 +1,38 @@ + + + + +MPI_File_open + + +

MPI_File_open

+Opens a file +

Synopsis

+
+int MPI_File_open(MPI_Comm comm, ROMIO_CONST char *filename, int amode,
+                  MPI_Info info, MPI_File * fh)
+
+

Input Parameters

+
comm
communicator (handle) +
+
filename
name of file to open (string) +
+
amode
file access mode (integer) +
+
info
info object (handle) +
+

+

Output Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html new file mode 100644 index 00000000..38bbdf75 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html @@ -0,0 +1,29 @@ + + + + +MPI_File_preallocate + + +

MPI_File_preallocate

+Preallocates storage space for a file +

Synopsis

+
+int MPI_File_preallocate(MPI_File fh, MPI_Offset size)
+
+

Input Parameters

+
fh
file handle (handle) +
+
size
size to preallocate (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html new file mode 100644 index 00000000..c30b7be9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html @@ -0,0 +1,37 @@ + + + + +MPI_File_read + + +

MPI_File_read

+Read using individual file pointer +

Synopsis

+
+int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html new file mode 100644 index 00000000..d1394e6c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html @@ -0,0 +1,37 @@ + + + + +MPI_File_read_all + + +

MPI_File_read_all

+Collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html new file mode 100644 index 00000000..6c842d07 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html @@ -0,0 +1,35 @@ + + + + +MPI_File_read_all_begin + + +

MPI_File_read_all_begin

+Begin a split collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html new file mode 100644 index 00000000..0ecc1254 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_all_end + + +

MPI_File_read_all_end

+Complete a split collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html new file mode 100644 index 00000000..5eed6119 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_read_at + + +

MPI_File_read_at

+Read using explicit offset +

Synopsis

+
+int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
+                     int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html new file mode 100644 index 00000000..5532651c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_read_at_all + + +

MPI_File_read_at_all

+Collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
+                         int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html new file mode 100644 index 00000000..d6458e70 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_at_all_begin + + +

MPI_File_read_at_all_begin

+Begin a split collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
+                               int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html new file mode 100644 index 00000000..f122879e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_at_all_end + + +

MPI_File_read_at_all_end

+Complete a split collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html new file mode 100644 index 00000000..d880c1a4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_ordered + + +

MPI_File_read_ordered

+Collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered(MPI_File fh, void *buf, int count,
+                          MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html new file mode 100644 index 00000000..58102a30 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html @@ -0,0 +1,35 @@ + + + + +MPI_File_read_ordered_begin + + +

MPI_File_read_ordered_begin

+Begin a split collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html new file mode 100644 index 00000000..d199d85f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_ordered_end + + +

MPI_File_read_ordered_end

+Complete a split collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html new file mode 100644 index 00000000..461a9c41 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_shared + + +

MPI_File_read_shared

+Read using shared file pointer +

Synopsis

+
+int MPI_File_read_shared(MPI_File fh, void *buf, int count,
+                         MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html new file mode 100644 index 00000000..d659c2f8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html @@ -0,0 +1,31 @@ + + + + +MPI_File_seek + + +

MPI_File_seek

+Updates the individual file pointer +

Synopsis

+
+int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (integer) +
+
whence
update mode (state) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html new file mode 100644 index 00000000..73162f31 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html @@ -0,0 +1,31 @@ + + + + +MPI_File_seek_shared + + +

MPI_File_seek_shared

+Updates the shared file pointer +

Synopsis

+
+int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (integer) +
+
whence
update mode (state) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html new file mode 100644 index 00000000..14e06d6f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_atomicity + + +

MPI_File_set_atomicity

+Sets the atomicity mode +

Synopsis

+
+int MPI_File_set_atomicity(MPI_File fh, int flag)
+
+

Input Parameters

+
fh
file handle (handle) +
+
flag
true to set atomic mode, false to set nonatomic mode (logical) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html new file mode 100644 index 00000000..9166699f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html @@ -0,0 +1,63 @@ + + + + +MPI_File_set_errhandler + + +

MPI_File_set_errhandler

+Set the error handler for an MPI file +

Synopsis

+
+int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
file
MPI file (handle) + +
errhandler
new error handler for file (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html new file mode 100644 index 00000000..d8415f9c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_info + + +

MPI_File_set_info

+Sets new values for the hints associated with a file +

Synopsis

+
+int MPI_File_set_info(MPI_File fh, MPI_Info info)
+
+

Input Parameters

+
fh
file handle (handle) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html new file mode 100644 index 00000000..8f477b23 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_size + + +

MPI_File_set_size

+Sets the file size +

Synopsis

+
+int MPI_File_set_size(MPI_File fh, MPI_Offset size)
+
+

Input Parameters

+
fh
file handle (handle) +
+
size
size to truncate or expand file (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html new file mode 100644 index 00000000..4c40400e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html @@ -0,0 +1,38 @@ + + + + +MPI_File_set_view + + +

MPI_File_set_view

+Sets the file view +

Synopsis

+
+int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
+                      MPI_Datatype filetype, ROMIO_CONST char *datarep, MPI_Info info)
+
+

Input Parameters

+
fh
file handle (handle) +
+
disp
displacement (nonnegative integer) +
+
etype
elementary datatype (handle) +
+
filetype
filetype (handle) +
+
datarep
data representation (string) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html new file mode 100644 index 00000000..893c66ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html @@ -0,0 +1,27 @@ + + + + +MPI_File_sync + + +

MPI_File_sync

+Causes all previous writes to be transferred to the storage device +

Synopsis

+
+int MPI_File_sync(MPI_File fh)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html new file mode 100644 index 00000000..174b452f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write + + +

MPI_File_write

+Write using individual file pointer +

Synopsis

+
+int MPI_File_write(MPI_File fh, ROMIO_CONST void *buf, int count,
+                   MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html new file mode 100644 index 00000000..19bd5cc4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_all + + +

MPI_File_write_all

+Collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all(MPI_File fh, ROMIO_CONST void *buf, int count,
+                       MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html new file mode 100644 index 00000000..21c5fc8c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_all_begin + + +

MPI_File_write_all_begin

+Begin a split collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all_begin(MPI_File fh, ROMIO_CONST void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html new file mode 100644 index 00000000..9b51551d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_all_end + + +

MPI_File_write_all_end

+Complete a split collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html new file mode 100644 index 00000000..f251c370 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_write_at + + +

MPI_File_write_at

+Write using explicit offset +

Synopsis

+
+int MPI_File_write_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                      int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html new file mode 100644 index 00000000..79599cea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_write_at_all + + +

MPI_File_write_at_all

+Collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                          int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html new file mode 100644 index 00000000..2f96874e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html @@ -0,0 +1,36 @@ + + + + +MPI_File_write_at_all_begin + + +

MPI_File_write_at_all_begin

+Begin a split collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                                int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html new file mode 100644 index 00000000..bfeefdf7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_at_all_end + + +

MPI_File_write_at_all_end

+Complete a split collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html new file mode 100644 index 00000000..5b93cc73 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_ordered + + +

MPI_File_write_ordered

+Collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered(MPI_File fh, ROMIO_CONST void *buf, int count,
+                           MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html new file mode 100644 index 00000000..5346afdb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html @@ -0,0 +1,36 @@ + + + + +MPI_File_write_ordered_begin + + +

MPI_File_write_ordered_begin

+Begin a split collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered_begin(MPI_File fh, ROMIO_CONST void *buf, int count,
+                                 MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html new file mode 100644 index 00000000..f33ec424 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_ordered_end + + +

MPI_File_write_ordered_end

+Complete a split collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html new file mode 100644 index 00000000..9240a5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_shared + + +

MPI_File_write_shared

+Write using shared file pointer +

Synopsis

+
+int MPI_File_write_shared(MPI_File fh, ROMIO_CONST void *buf, int count,
+                          MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html new file mode 100644 index 00000000..2d9d1134 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html @@ -0,0 +1,51 @@ + + + + +MPI_Finalize + + +

MPI_Finalize

+Terminates MPI execution environment +

Synopsis

+
+int MPI_Finalize(void)
+
+

Notes

+All processes must call this routine before exiting. The number of +processes running after this routine is called is undefined; +it is best not to perform much more than a return rc after calling +MPI_Finalize. +

+

Thread and Signal Safety

+The MPI standard requires that MPI_Finalize be called only by the same +thread that initialized MPI with either MPI_Init or MPI_Init_thread. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html new file mode 100644 index 00000000..e9fb6d69 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html @@ -0,0 +1,52 @@ + + + + +MPI_Finalized + + +

MPI_Finalized

+Indicates whether MPI_Finalize has been called. +

Synopsis

+
+int MPI_Finalized(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Finalize has been called and false otherwise. +(logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html new file mode 100644 index 00000000..ddc607af --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html @@ -0,0 +1,54 @@ + + + + +MPI_Free_mem + + +

MPI_Free_mem

+Free memory allocated with MPI_Alloc_mem +

Synopsis

+
+int MPI_Free_mem(void *base)
+
+

Input Parameters

+
base
initial address of memory segment allocated by MPI_ALLOC_MEM +(choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html new file mode 100644 index 00000000..dee3511f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html @@ -0,0 +1,86 @@ + + + + +MPI_Gather + + +

MPI_Gather

+Gathers together values from a group of processes +

Synopsis

+
+int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+               void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements for any single receive (integer, +significant only at root) + +
recvtype
data type of recv buffer elements +(significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html new file mode 100644 index 00000000..4586c752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html @@ -0,0 +1,90 @@ + + + + +MPI_Gatherv + + +

MPI_Gatherv

+Gathers into specified locations from all processes in a group +

Synopsis

+
+int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, const int *recvcounts, const int *displs,
+                MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array (of length group size) +containing the number of elements that are received from each process +(significant only at root) + +
displs
integer array (of length group size). Entry +i specifies the displacement relative to recvbuf at +which to place the incoming data from process i (significant only +at root) + +
recvtype
data type of recv buffer elements +(significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html new file mode 100644 index 00000000..17eb006f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html @@ -0,0 +1,91 @@ + + + + +MPI_Get + + +

MPI_Get

+Get data from a memory window on a remote process +

Synopsis

+
+int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype
+            origin_datatype, int target_rank, MPI_Aint target_disp,
+            int target_count, MPI_Datatype target_datatype, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
Address of the buffer in which to receive the data + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from window start to the beginning of the +target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rget +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html new file mode 100644 index 00000000..54400a20 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html @@ -0,0 +1,124 @@ + + + + +MPI_Get_accumulate + + +

MPI_Get_accumulate

+Perform an atomic, one-sided read-and-accumulate operation. +

Synopsis

+
+int MPI_Get_accumulate(const void *origin_addr, int origin_count,
+                       MPI_Datatype origin_datatype, void *result_addr, int result_count,
+                       MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
+                       int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win)
+
+

+Accumulate origin_count elements of type origin_datatype from the origin buffer +(origin_addr) to the buffer at offset target_disp, in the target window +specified by target_rank and win, using the operation op and return in the +result buffer result_addr the content of the target buffer before the +accumulation. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
result_addr
initial address of result buffer (choice) + +
result_count
number of entries in result buffer (non-negative integer) + +
result_datatype
datatype of each entry in result buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +MPI_REPLACE provides fetch-and-set behavior. +

+The origin and result buffers (origin_addr and result_addr) must be disjoint. +Each datatype argument must be a predefined datatype or a derived datatype +where all basic components are of the same predefined datatype. All datatype +arguments must be constructed from the same predefined datatype. The +operation op applies to elements of that predefined type. target_datatype must +not specify overlapping entries, and the target buffer must fit in the target +window or in attached memory in a dynamic window. +

+Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP or +MPI_REPLACE can be specified as op. User-defined functions cannot be used. A +new predefined operation, MPI_NO_OP, is defined. It corresponds to the +associative function f (a, b) = a; i.e., the current value in the target memory +is returned in the result buffer at the origin and no operation is performed on +the target buffer. MPI_NO_OP can be used only in MPI_Get_accumulate, +MPI_Rget_accumulate, and MPI_Fetch_and_op. MPI_NO_OP cannot be used in +MPI_Accumulate, MPI_Raccumulate, or collective reduction operations, such as +MPI_Reduce and others. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rget_accumulate MPI_Fetch_and_op +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html new file mode 100644 index 00000000..cfea051d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html @@ -0,0 +1,78 @@ + + + + +MPI_Get_address + + +

MPI_Get_address

+Get the address of a location in memory +

Synopsis

+
+int MPI_Get_address(const void *location, MPI_Aint * address)
+
+

Input Parameters

+
location
location in caller memory (choice) +
+

+

Output Parameters

+
address
address of location (address integer) +
+

+

Notes

+This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C & operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. +

+This routine should be used instead of MPI_Address. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+In Fortran, the integer type is always signed. This can cause problems +on systems where the address fits into a four byte unsigned integer but +the value is larger than the largest signed integer. For example, a system +with more than 2 GBytes of memory may have addresses that do not fit within +a four byte signed integer. Unfortunately, there is no easy solution to +this problem, as there is no Fortran datatype that can be used here (using +a longer integer type will cause other problems, as well as surprising +users when the size of the integer type is larger that the size of a pointer +in C). In this case, it is recommended that you use C to manipulate +addresses. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html new file mode 100644 index 00000000..9cd66394 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html @@ -0,0 +1,61 @@ + + + + +MPI_Get_count + + +

MPI_Get_count

+Gets the number of "top level" elements +

Synopsis

+
+int MPI_Get_count(const MPI_Status * status, MPI_Datatype datatype, int *count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
count
number of received elements (integer) +Notes: +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in status is not an exact multiple of the +size of datatype (so that count would not be integral), a count of +MPI_UNDEFINED is returned instead. +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html new file mode 100644 index 00000000..7691b8fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_elements + + +

MPI_Get_elements

+Returns the number of basic elements in a datatype +

Synopsis

+
+int MPI_Get_elements(const MPI_Status * status, MPI_Datatype datatype, int *count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype used by receive operation (handle) +
+

+

Output Parameters

+
count
number of received basic elements (integer) +
+

+

Notes

+

+If the size of the datatype is zero and the amount of data returned as +determined by status is also zero, this routine will return a count of +zero. This is consistent with a clarification made by the MPI Forum. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html new file mode 100644 index 00000000..97166940 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_elements_x + + +

MPI_Get_elements_x

+Returns the number of basic elements in a datatype +

Synopsis

+
+int MPI_Get_elements_x(const MPI_Status * status, MPI_Datatype datatype, MPI_Count * count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype used by receive operation (handle) +
+

+

Output Parameters

+
count
number of received basic elements (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html new file mode 100644 index 00000000..4f002d68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_library_version + + +

MPI_Get_library_version

+Return the version number of MPI library +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Get_library_version
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Get_library_version(char *version, int *resultlen)
+
+

Output Parameters

+
+
version
Version of MPI + +
resultlen
Length of the MPI library version string +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html new file mode 100644 index 00000000..2576811e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html @@ -0,0 +1,84 @@ + + + + +MPI_Get_processor_name + + +

MPI_Get_processor_name

+Gets the name of the processor +

Synopsis

+
+int MPI_Get_processor_name(char *name, int *resultlen)
+
+

Output Parameters

+
+
name
A unique specifier for the actual (as opposed to virtual) node. This +must be an array of size at least MPI_MAX_PROCESSOR_NAME. + +
resultlen
Length (in characters) of the name +
+

+

Notes

+The name returned should identify a particular piece of hardware; +the exact format is implementation defined. This name may or may not +be the same as might be returned by gethostname, uname, or sysinfo. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+In Fortran, the character argument should be declared as a character string +of MPI_MAX_PROCESSOR_NAME rather than an array of dimension +MPI_MAX_PROCESSOR_NAME. That is, +

+   character*(MPI_MAX_PROCESSOR_NAME) name
+
+ +rather than +
+   character name(MPI_MAX_PROCESSOR_NAME)
+
+ +The two +

+

+The sizes of MPI strings in Fortran are one less than the sizes of that +string in C/C++ because the C/C++ versions provide room for the trailing +null character required by C/C++. For example, MPI_MAX_ERROR_STRING is +mpif.h is one smaller than the same value in mpi.h. See the MPI +standard, sections 2.6.2 and 4.12.9. +

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html new file mode 100644 index 00000000..15820287 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html @@ -0,0 +1,54 @@ + + + + +MPI_Get_version + + +

MPI_Get_version

+Return the version number of MPI +

Synopsis

+
+int MPI_Get_version(int *version, int *subversion)
+
+

Output Parameters

+
+
version
Version of MPI + +
subversion
Subversion of MPI +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html new file mode 100644 index 00000000..ee096a46 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html @@ -0,0 +1,85 @@ + + + + +MPI_Graph_create + + +

MPI_Graph_create

+Makes a new communicator to which topology information has been attached +

Synopsis

+
+int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[],
+                     const int edges[], int reorder, MPI_Comm * comm_graph)
+
+

Input Parameters

+
+
comm_old
input communicator without topology (handle) + +
nnodes
number of nodes in graph (integer) + +
indx
array of integers describing node degrees (see below) + +
edges
array of integers describing graph edges (see below) + +
reorder
ranking may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_graph
communicator with graph topology added (handle) +
+

+

Notes

+Each process must provide a description of the entire graph, not just the +neigbors of the calling process. +

+

Algorithm

+We ignore the reorder info currently. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html new file mode 100644 index 00000000..325aac7f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html @@ -0,0 +1,73 @@ + + + + +MPI_Graph_get + + +

MPI_Graph_get

+Retrieves graph topology information associated with a communicator +

Synopsis

+
+int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[])
+
+

Input Parameters

+
+
comm
communicator with graph structure (handle) + +
maxindex
length of vector indx in the calling program (integer) + +
maxedges
length of vector edges in the calling program (integer) +
+

+

Output Parameters

+
+
indx
array of integers containing the graph structure (for details see the definition of MPI_GRAPH_CREATE) + +
edges
array of integers containing the graph structure +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html new file mode 100644 index 00000000..1503f75b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html @@ -0,0 +1,73 @@ + + + + +MPI_Graph_map + + +

MPI_Graph_map

+Maps process to graph topology information +

Synopsis

+
+int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank)
+
+

Input Parameters

+
+
comm
input communicator (handle) + +
nnodes
number of graph nodes (integer) + +
indx
integer array specifying the graph structure, see MPI_GRAPH_CREATE + +
edges
integer array specifying the graph structure +
+

+

Output Parameters

+
newrank
reordered rank of the calling process; MPI_UNDEFINED if the +calling process does not belong to graph (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html new file mode 100644 index 00000000..3beeea78 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html @@ -0,0 +1,75 @@ + + + + +MPI_Graph_neighbors + + +

MPI_Graph_neighbors

+Returns the neighbors of a node associated with a graph topology +

Synopsis

+
+int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[])
+
+

Input Parameters

+
+
comm
communicator with graph topology (handle) + +
rank
rank of process in group of comm (integer) + +
maxneighbors
size of array neighbors (integer) +
+

+

Output Parameters

+
neighbors
ranks of processes that are neighbors to specified process +(array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html new file mode 100644 index 00000000..7759a067 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html @@ -0,0 +1,72 @@ + + + + +MPI_Graph_neighbors_count + + +

MPI_Graph_neighbors_count

+Returns the number of neighbors of a node associated with a graph topology +

Synopsis

+
+int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors)
+
+

Input Parameters

+
+
comm
communicator with graph topology (handle) + +
rank
rank of process in group of comm (integer) +
+

+

Output Parameters

+
nneighbors
number of neighbors of specified process (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html new file mode 100644 index 00000000..ad648077 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html @@ -0,0 +1,68 @@ + + + + +MPI_Graphdims_get + + +

MPI_Graphdims_get

+Retrieves graph topology information associated with a communicator +

Synopsis

+
+int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges)
+
+

Input Parameters

+
comm
communicator for group with graph structure (handle) +
+

+

Output Parameters

+
+
nnodes
number of nodes in graph (integer) + +
nedges
number of edges in graph (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html new file mode 100644 index 00000000..10cd1b22 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html @@ -0,0 +1,57 @@ + + + + +MPI_Grequest_complete + + +

MPI_Grequest_complete

+Notify MPI that a user-defined request is complete +

Synopsis

+
+int MPI_Grequest_complete(MPI_Request request)
+
+

Input Parameters

+
request
Generalized request to mark as complete +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+ MPI_Grequest_start +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html new file mode 100644 index 00000000..15f5a748 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html @@ -0,0 +1,96 @@ + + + + +MPI_Grequest_start + + +

MPI_Grequest_start

+Create and return a user-defined request +

Synopsis

+
+int MPI_Grequest_start(MPI_Grequest_query_function * query_fn,
+                       MPI_Grequest_free_function * free_fn,
+                       MPI_Grequest_cancel_function * cancel_fn,
+                       void *extra_state, MPI_Request * request)
+
+

Input Parameters

+
+
query_fn
callback function invoked when request status is queried (function) + +
free_fn
callback function invoked when request is freed (function) + +
cancel_fn
callback function invoked when request is cancelled (function) + +
extra_state
Extra state passed to the above functions. +
+

+

Output Parameters

+
request
Generalized request (handle) +
+

+

Notes on the callback functions

+The return values from the callback functions must be a valid MPI error code +or class. This value may either be the return value from any MPI routine +(with one exception noted below) or any of the MPI error classes. +For portable programs, MPI_ERR_OTHER may be used; to provide more +specific information, create a new MPI error class or code with +MPI_Add_error_class or MPI_Add_error_code and return that value. +

+The MPI standard is not clear on the return values from the callback routines. +However, there are notes in the standard that imply that these are MPI error +codes. For example, pages 169 line 46 through page 170, line 1 require that +the free_fn return an MPI error code that may be used in the MPI completion +functions when they return MPI_ERR_IN_STATUS. +

+The one special case is the error value returned by MPI_Comm_dup when +the attribute callback routine returns a failure. The MPI standard is not +clear on what values may be used to indicate an error return. Further, +the Intel MPI test suite made use of non-zero values to indicate failure, +and expected these values to be returned by the MPI_Comm_dup when the +attribute routines encountered an error. Such error values may not be valid +MPI error codes or classes. Because of this, it is the user's responsibility +to either use valid MPI error codes in return from the attribute callbacks, +if those error codes are to be returned by a generalized request callback, +or to detect and convert those error codes to valid MPI error codes (recall +that MPI error classes are valid error codes). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html new file mode 100644 index 00000000..f8aff8b9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html @@ -0,0 +1,67 @@ + + + + +MPI_Group_compare + + +

MPI_Group_compare

+Compares two groups +

Synopsis

+
+int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result)
+
+

Input Parameters

+
+
group1
group1 (handle) + +
group2
group2 (handle) +
+

+

Output Parameters

+
result
integer which is MPI_IDENT if the order and members of +the two groups are the same, MPI_SIMILAR if only the members are the same, +and MPI_UNEQUAL otherwise +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html new file mode 100644 index 00000000..b9478ba9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html @@ -0,0 +1,72 @@ + + + + +MPI_Group_difference + + +

MPI_Group_difference

+Makes a group from the difference of two groups +

Synopsis

+
+int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
difference group (handle) +
+

+

Notes

+The generated group containc the members of group1 that are not in group2. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html new file mode 100644 index 00000000..1449967e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html @@ -0,0 +1,85 @@ + + + + +MPI_Group_excl + + +

MPI_Group_excl

+Produces a group by reordering an existing group and taking only unlisted members +

Synopsis

+
+int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (integer) + +
ranks
array of integer ranks in group not to appear in newgroup + +
+

+

Output Parameters

+
newgroup
new group derived from above, preserving the order defined by +group (handle) +
+

+

Note

+The MPI standard requires that each of the ranks to excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html new file mode 100644 index 00000000..67793588 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html @@ -0,0 +1,62 @@ + + + + +MPI_Group_free + + +

MPI_Group_free

+Frees a group +

Synopsis

+
+int MPI_Group_free(MPI_Group * group)
+
+

Input Parameters

+
group
group to free (handle) +
+

+

Notes

+On output, group is set to MPI_GROUP_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent groups. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html new file mode 100644 index 00000000..5453cc21 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html @@ -0,0 +1,80 @@ + + + + +MPI_Group_incl + + +

MPI_Group_incl

+Produces a group by reordering an existing group and taking only listed members +

Synopsis

+
+int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (and size of newgroup) (integer) + +
ranks
ranks of processes in group to appear in newgroup (array of +integers) +
+

+

Output Parameters

+
newgroup
new group derived from above, in the order defined by ranks +(handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html new file mode 100644 index 00000000..849a6ae5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html @@ -0,0 +1,73 @@ + + + + +MPI_Group_intersection + + +

MPI_Group_intersection

+Produces a group as the intersection of two existing groups +

Synopsis

+
+int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
intersection group (handle) +
+

+

Notes

+The output group contains those processes that are in both group1 and +group2. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html new file mode 100644 index 00000000..ae507e1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html @@ -0,0 +1,86 @@ + + + + +MPI_Group_range_excl + + +

MPI_Group_range_excl

+Produces a group by excluding ranges of processes from an existing group +

Synopsis

+
+int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (integer) + +
ranges
a one-dimensional array of integer triplets of the +form (first rank, last rank, stride), indicating the ranks in +group of processes to be excluded from the output group newgroup . +
+

+

Output Parameters

+
newgroup
new group derived from above, preserving the +order in group (handle) +
+

+

Note

+The MPI standard requires that each of the ranks to be excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html new file mode 100644 index 00000000..b2bf5d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html @@ -0,0 +1,81 @@ + + + + +MPI_Group_range_incl + + +

MPI_Group_range_incl

+Creates a new group from ranges of ranks in an existing group +

Synopsis

+
+int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of triplets in array ranges (integer) + +
ranges
a one-dimensional array of integer triplets, of the +form (first rank, last rank, stride) indicating ranks in +group or processes to be included in newgroup. +
+

+

Output Parameters

+
newgroup
new group derived from above, in the +order defined by ranges (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html new file mode 100644 index 00000000..91871706 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html @@ -0,0 +1,61 @@ + + + + +MPI_Group_rank + + +

MPI_Group_rank

+Returns the rank of this process in the given group +

Synopsis

+
+int MPI_Group_rank(MPI_Group group, int *rank)
+
+

Input Parameters

+
group
group (handle) +
+

+

Output Parameters

+
rank
rank of the calling process in group, or MPI_UNDEFINED if the +process is not a member (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html new file mode 100644 index 00000000..4fe65e5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html @@ -0,0 +1,61 @@ + + + + +MPI_Group_size + + +

MPI_Group_size

+Returns the size of a group +

Synopsis

+
+int MPI_Group_size(MPI_Group group, int *size)
+
+

Input Parameters

+
+
group
group (handle) + +

+

Output Parameters

+
size
number of processes in the group (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html new file mode 100644 index 00000000..dd0b4543 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html @@ -0,0 +1,69 @@ + + + + +MPI_Group_translate_ranks + + +

MPI_Group_translate_ranks

+Translates the ranks of processes in one group to those in another group +

Synopsis

+
+int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[],
+                              MPI_Group group2, int ranks2[])
+
+

Input Parameters

+
+
group1
group1 (handle) + +
n
number of ranks in ranks1 and ranks2 arrays (integer) + +
ranks1
array of zero or more valid ranks in group1 + +
group2
group2 (handle) +
+

+

Output Parameters

+
ranks2
array of corresponding ranks in group2, MPI_UNDEFINED when no +correspondence exists. +
+

+As a special case (see the MPI-2 errata), if the input rank is +MPI_PROC_NULL, MPI_PROC_NULL is given as the output rank. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html new file mode 100644 index 00000000..21c28607 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html @@ -0,0 +1,69 @@ + + + + +MPI_Group_union + + +

MPI_Group_union

+Produces a group by combining two groups +

Synopsis

+
+int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
union group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html new file mode 100644 index 00000000..71059f01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html @@ -0,0 +1,71 @@ + + + + +MPI_Iallgather + + +

MPI_Iallgather

+Gathers data from all tasks and distribute the combined data to all tasks in a nonblocking way +

Synopsis

+
+int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                   void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                   MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html new file mode 100644 index 00000000..5c5fc51d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html @@ -0,0 +1,73 @@ + + + + +MPI_Iallgatherv + + +

MPI_Iallgatherv

+Gathers data from all tasks and deliver the combined data to all tasks in a nonblocking way +

Synopsis

+
+int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                    const int recvcounts[], const int displs[], MPI_Datatype recvtype,
+                    MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) containing the number of elements that are received from each process + +
displs
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html new file mode 100644 index 00000000..ac95dbf4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html @@ -0,0 +1,68 @@ + + + + +MPI_Iallreduce + + +

MPI_Iallreduce

+Combines values from all processes and distributes the result back to all processes in a nonblocking way +

Synopsis

+
+int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count,
+                   MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in send buffer (non-negative integer) + +
datatype
data type of elements of send buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html new file mode 100644 index 00000000..32bdb656 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html @@ -0,0 +1,71 @@ + + + + +MPI_Ialltoall + + +

MPI_Ialltoall

+Sends data from all to all processes in a nonblocking way +

Synopsis

+
+int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                  void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                  MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html new file mode 100644 index 00000000..464cebe0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html @@ -0,0 +1,75 @@ + + + + +MPI_Ialltoallv + + +

MPI_Ialltoallv

+Sends data from all to all processes in a nonblocking way; each process may send a different amount of data and provide displacements for the input and output data. +

Synopsis

+
+int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                   MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                   const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) specifying the number of elements that can be received from each processor + +
rdispls
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html new file mode 100644 index 00000000..53c83776 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html @@ -0,0 +1,76 @@ + + + + +MPI_Ialltoallw + + +

MPI_Ialltoallw

+Nonblocking generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +

Synopsis

+
+int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                   const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                   const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm,
+                   MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j + +
sendtypes
array of datatypes (of length group size). Entry j specifies the type of data to send to process j (array of handles) + +
recvcounts
non-negative integer array (of length group size) specifying the number of elements that can be received from each processor + +
rdispls
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtypes
array of datatypes (of length group size). Entry i specifies the type of data received from process i (array of handles) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html new file mode 100644 index 00000000..bb6f07ca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html @@ -0,0 +1,65 @@ + + + + +MPI_Ibarrier + + +

MPI_Ibarrier

+Notifies the process that it has reached the barrier and returns immediately +

Synopsis

+
+int MPI_Ibarrier(MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Notes

+MPI_Ibarrier is a nonblocking version of MPI_barrier. By calling MPI_Ibarrier, +a process notifies that it has reached the barrier. The call returns +immediately, independent of whether other processes have called MPI_Ibarrier. +The usual barrier semantics are enforced at the corresponding completion +operation (test or wait), which in the intra-communicator case will complete +only after all other processes in the communicator have called MPI_Ibarrier. In +the intercommunicator case, it will complete when all processes in the remote +group have called MPI_Ibarrier. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html new file mode 100644 index 00000000..20b97754 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html @@ -0,0 +1,67 @@ + + + + +MPI_Ibcast + + +

MPI_Ibcast

+Broadcasts a message from the process with rank "root" to all other processes of the communicator in a nonblocking way +

Synopsis

+
+int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm,
+               MPI_Request * request)
+
+

Input/Output Parameters

+
buffer
starting address of buffer (choice) +
+

+

Input Parameters

+
+
count
number of entries in buffer (non-negative integer) + +
datatype
datatype of buffer (handle) + +
root
rank of broadcast root (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html new file mode 100644 index 00000000..69f31424 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html @@ -0,0 +1,92 @@ + + + + +MPI_Ibsend + + +

MPI_Ibsend

+Starts a nonblocking buffered send +

Synopsis

+
+int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html new file mode 100644 index 00000000..71a4c97f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html @@ -0,0 +1,69 @@ + + + + +MPI_Iexscan + + +

MPI_Iexscan

+Computes the exclusive scan (partial reductions) of data on a collection of processes in a nonblocking way +

Synopsis

+
+int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+                MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in input buffer (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html new file mode 100644 index 00000000..05f52638 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html @@ -0,0 +1,73 @@ + + + + +MPI_Igather + + +

MPI_Igather

+Gathers together values from a group of processes in a nonblocking way +

Synopsis

+
+int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements for any single receive (non-negative integer, significant only at root) + +
recvtype
data type of receive buffer elements (significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html new file mode 100644 index 00000000..92a376db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html @@ -0,0 +1,75 @@ + + + + +MPI_Igatherv + + +

MPI_Igatherv

+Gathers into specified locations from all processes in a group in a nonblocking way +

Synopsis

+
+int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                 const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root,
+                 MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) containing the number of elements that are received from each process (significant only at root) + +
displs
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) + +
recvtype
data type of receive buffer elements (significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html new file mode 100644 index 00000000..7b829c45 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html @@ -0,0 +1,66 @@ + + + + +MPI_Improbe + + +

MPI_Improbe

+Nonblocking matched probe. +

Synopsis

+
+int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message * message,
+                MPI_Status * status)
+
+

Input Parameters

+
+
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
flag
flag (logical) + +
message
returned message (handle) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html new file mode 100644 index 00000000..b2ccb9a6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html @@ -0,0 +1,66 @@ + + + + +MPI_Imrecv + + +

MPI_Imrecv

+Nonblocking receive of message matched by MPI_Mprobe or MPI_Improbe. +

Synopsis

+
+int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message,
+               MPI_Request * request)
+
+

Input/Output Parameters

+
message
message (handle) +
+

+

Input Parameters

+
+
count
number of elements in the receive buffer (non-negative integer) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
+
buf
initial address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html new file mode 100644 index 00000000..e7a5a196 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html @@ -0,0 +1,71 @@ + + + + +MPI_Ineighbor_allgather + + +

MPI_Ineighbor_allgather

+Nonblocking version of MPI_Neighbor_allgather. +

Synopsis

+
+int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                            void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html new file mode 100644 index 00000000..e2126fda --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html @@ -0,0 +1,73 @@ + + + + +MPI_Ineighbor_allgatherv + + +

MPI_Ineighbor_allgatherv

+Nonblocking version of MPI_Neighbor_allgatherv. +

Synopsis

+
+int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                             void *recvbuf, const int recvcounts[], const int displs[],
+                             MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor + +
displs
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html new file mode 100644 index 00000000..1246a357 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html @@ -0,0 +1,71 @@ + + + + +MPI_Ineighbor_alltoall + + +

MPI_Ineighbor_alltoall

+Nonblocking version of MPI_Neighbor_alltoall. +

Synopsis

+
+int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                           int recvcount, MPI_Datatype recvtype, MPI_Comm comm,
+                           MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html new file mode 100644 index 00000000..db99f917 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html @@ -0,0 +1,76 @@ + + + + +MPI_Ineighbor_alltoallv + + +

MPI_Ineighbor_alltoallv

+Nonblocking version of MPI_Neighbor_alltoallv. +

Synopsis

+
+int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                            MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                            const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html new file mode 100644 index 00000000..6c4bd7a4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html @@ -0,0 +1,76 @@ + + + + +MPI_Ineighbor_alltoallw + + +

MPI_Ineighbor_alltoallw

+Nonblocking version of MPI_Neighbor_alltoallw. +

Synopsis

+
+int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[],
+                            const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                            const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) + +
sendtypes
array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). + +
recvtypes
array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html new file mode 100644 index 00000000..82e850fb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html @@ -0,0 +1,56 @@ + + + + +MPI_Info_create + + +

MPI_Info_create

+Creates a new info object +

Synopsis

+
+int MPI_Info_create(MPI_Info * info)
+
+

Output Parameters

+
info
info object created (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html new file mode 100644 index 00000000..6a222aa7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html @@ -0,0 +1,61 @@ + + + + +MPI_Info_delete + + +

MPI_Info_delete

+Deletes a (key,value) pair from info +

Synopsis

+
+int MPI_Info_delete(MPI_Info info, const char *key)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html new file mode 100644 index 00000000..00ba59b3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html @@ -0,0 +1,66 @@ + + + + +MPI_Info_dup + + +

MPI_Info_dup

+Returns a duplicate of the info object +

Synopsis

+
+int MPI_Info_dup(MPI_Info info, MPI_Info * newinfo)
+
+

Input Parameters

+
info
info object (handle) +
+

+

Output Parameters

+
newinfo
duplicate of info object (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html new file mode 100644 index 00000000..f799decc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html @@ -0,0 +1,58 @@ + + + + +MPI_Info_free + + +

MPI_Info_free

+Frees an info object +

Synopsis

+
+int MPI_Info_free(MPI_Info * info)
+
+

Input Parameters

+
info
info object to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html new file mode 100644 index 00000000..6a3704f1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html @@ -0,0 +1,87 @@ + + + + +MPI_Info_get + + +

MPI_Info_get

+Retrieves the value associated with a key +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) + +
valuelen
length of value argument, not including null terminator (integer) +
+

+

Output Parameters

+
+
value
value (string) + +
flag
true if key defined, false if not (boolean) +
+

+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO_VALUE
Invalid or null value string for info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html new file mode 100644 index 00000000..ee9cf207 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html @@ -0,0 +1,70 @@ + + + + +MPI_Info_get_nkeys + + +

MPI_Info_get_nkeys

+Returns the number of currently defined keys in info +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get_nkeys
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_nkeys(MPI_Info info, int *nkeys)
+
+

Input Parameters

+
info
info object (handle) +
+

+

Output Parameters

+
nkeys
number of defined keys (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html new file mode 100644 index 00000000..cb7d55b6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html @@ -0,0 +1,76 @@ + + + + +MPI_Info_get_nthkey + + +

MPI_Info_get_nthkey

+Returns the nth defined key in info +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get_nthkey
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_nthkey(MPI_Info info, int n, char *key)
+
+

Input Parameters

+
+
info
info object (handle) + +
n
key number (integer) +
+

+

Output Parameters

+
key
key (string). The maximum number of characters is MPI_MAX_INFO_KEY. +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html new file mode 100644 index 00000000..38a53cbc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html @@ -0,0 +1,79 @@ + + + + +MPI_Info_get_valuelen + + +

MPI_Info_get_valuelen

+Retrieves the length of the value associated with a key +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIRInfo_get_valuelen
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) +
+

+

Output Parameters

+
+
valuelen
length of value argument (integer) + +
flag
true if key defined, false if not (boolean) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html new file mode 100644 index 00000000..d48ef835 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html @@ -0,0 +1,71 @@ + + + + +MPI_Info_set + + +

MPI_Info_set

+Adds a (key,value) pair to info +

Synopsis

+
+int MPI_Info_set(MPI_Info info, const char *key, const char *value)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) + +
value
value (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_INFO_VALUE
Invalid or null value string for info +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html new file mode 100644 index 00000000..519edd33 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html @@ -0,0 +1,69 @@ + + + + +MPI_Init + + +

MPI_Init

+Initialize the MPI execution environment +

Synopsis

+
+int MPI_Init(int *argc, char ***argv)
+
+

Input Parameters

+
+
argc
Pointer to the number of arguments + +
argv
Pointer to the argument vector +
+

+

Thread and Signal Safety

+This routine must be called by one thread only. That thread is called +the main thread and must be the thread that calls MPI_Finalize. +

+

Notes

+The MPI standard does not say what a program can do before an MPI_INIT or +after an MPI_FINALIZE. In the MPICH implementation, you should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input or writing to standard output. +

+

Notes for C

+As of MPI-2, MPI_Init will accept NULL as input parameters. Doing so +will impact the values stored in MPI_INFO_ENV. +

+

Notes for Fortran

+The Fortran binding for MPI_Init has only the error return +
+    subroutine MPI_INIT(ierr)
+    integer ierr
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
This error class is associated with an error code that +indicates that an attempt was made to call MPI_INIT a second time. +MPI_INIT may only be called once in a program. +
+

+

See Also

+ MPI_Init_thread, MPI_Finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html new file mode 100644 index 00000000..97e34a8c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html @@ -0,0 +1,77 @@ + + + + +MPI_Init_thread + + +

MPI_Init_thread

+Initialize the MPI execution environment +

Synopsis

+
+int MPI_Init_thread(int *argc, char ***argv, int required, int *provided)
+
+

Input Parameters

+
+
argc
Pointer to the number of arguments + +
argv
Pointer to the argument vector + +
required
Level of desired thread support +
+

+

Output Parameters

+
provided
Level of provided thread support +
+

+

Command line arguments

+MPI specifies no command-line arguments but does allow an MPI +implementation to make use of them. See MPI_INIT for a description of +the command line arguments supported by MPI_INIT and MPI_INIT_THREAD. +

+

Notes

+The valid values for the level of thread support are: +
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI, with no restrictions. +
+

+

Notes for Fortran

+Note that the Fortran binding for this routine does not have the argc and +argv arguments. (MPI_INIT_THREAD(required, provided, ierror)) +

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Init, MPI_Finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html new file mode 100644 index 00000000..2f72a27c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html @@ -0,0 +1,48 @@ + + + + +MPI_Initialized + + +

MPI_Initialized

+Indicates whether MPI_Init has been called. +

Synopsis

+
+int MPI_Initialized(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Init or MPI_Init_thread has been called and +false otherwise. +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html new file mode 100644 index 00000000..b0b98fd1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html @@ -0,0 +1,106 @@ + + + + +MPI_Intercomm_create + + +

MPI_Intercomm_create

+Creates an intercommuncator from two intracommunicators +

Synopsis

+
+int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
+                         MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm * newintercomm)
+
+

Input Parameters

+
+
local_comm
Local (intra)communicator + +
local_leader
Rank in local_comm of leader (often 0) + +
peer_comm
Communicator used to communicate between a +designated process in the other communicator. +Significant only at the process in local_comm with +rank local_leader. + +
remote_leader
Rank in peer_comm of remote leader (often 0) + +
tag
Message tag to use in constructing intercommunicator; if multiple +MPI_Intercomm_creates are being made, they should use different tags (more +precisely, ensure that the local and remote leaders are using different +tags for each MPI_intercomm_create). +
+

+

Output Parameters

+
newintercomm
Created intercommunicator +
+

+

Notes

+peer_comm is significant only for the process designated the +local_leader in the local_comm. +

+The MPI 1.1 Standard contains two mutually exclusive comments on the +input intercommunicators. One says that their repective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the reason given for this in the standard is +not the reason for this choice; rather, the other operations on +intercommunicators (like MPI_Intercomm_merge) do not make sense if the +groups are not disjoint. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Intercomm_merge, MPI_Comm_free, MPI_Comm_remote_group, +
MPI_Comm_remote_size +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html new file mode 100644 index 00000000..91ee542b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html @@ -0,0 +1,89 @@ + + + + +MPI_Intercomm_merge + + +

MPI_Intercomm_merge

+Creates an intracommuncator from an intercommunicator +

Synopsis

+
+int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm * newintracomm)
+
+

Input Parameters

+
+
intercomm
Intercommunicator (handle) + +
high
Used to order the groups within comm (logical) +when creating the new communicator. This is a boolean value; the group +that sets high true has its processes ordered after the group that sets +this value to false. If all processes in the intercommunicator provide +the same value, the choice of which group is ordered first is arbitrary. +
+

+

Output Parameters

+
newintracomm
Created intracommunicator (handle) +
+

+

Notes

+While all processes may provide the same value for the high parameter, +this requires the MPI implementation to determine which group of +processes should be ranked first. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Algorithm

+
    +

    +

  1. Allocate contexts +
  2. Local and remote group leaders swap high values +
  3. Determine the high value. +
  4. Merge the two groups and make the intra-communicator +
+

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Intercomm_create, MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html new file mode 100644 index 00000000..789fdc5c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html @@ -0,0 +1,79 @@ + + + + +MPI_Iprobe + + +

MPI_Iprobe

+Nonblocking test for a message +

Synopsis

+
+int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status * status)
+
+

Input Parameters

+
+
source
source rank, or MPI_ANY_SOURCE (integer) + +
tag
tag value or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
flag
True if a message with the specified source, tag, and communicator +is available (logical) + +
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html new file mode 100644 index 00000000..fd309efc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html @@ -0,0 +1,91 @@ + + + + +MPI_Irecv + + +

MPI_Irecv

+Begins a nonblocking receive +

Synopsis

+
+int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
+              int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of receive buffer (choice) + +
count
number of elements in receive buffer (integer) + +
datatype
datatype of each receive buffer element (handle) + +
source
rank of source (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html new file mode 100644 index 00000000..f8dc50f6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html @@ -0,0 +1,70 @@ + + + + +MPI_Ireduce + + +

MPI_Ireduce

+Reduces values on all processes to a single value in a nonblocking way +

Synopsis

+
+int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+                MPI_Op op, int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of the send buffer (choice) + +
count
number of elements in send buffer (non-negative integer) + +
datatype
data type of elements of send buffer (handle) + +
op
reduce operation (handle) + +
root
rank of root process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html new file mode 100644 index 00000000..57836993 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html @@ -0,0 +1,68 @@ + + + + +MPI_Ireduce_scatter + + +

MPI_Ireduce_scatter

+Combines values and scatters the results in a nonblocking way +

Synopsis

+
+int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[],
+                        MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
recvcounts
non-negative integer array specifying the number of elements in result distributed to each process. Array must be identical on all calling processes. + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html new file mode 100644 index 00000000..a6166e15 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html @@ -0,0 +1,70 @@ + + + + +MPI_Ireduce_scatter_block + + +

MPI_Ireduce_scatter_block

+Combines values and scatters the results in a nonblocking way +

Synopsis

+
+int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf,
+                              int recvcount,
+                              MPI_Datatype datatype, MPI_Op op, MPI_Comm comm,
+                              MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
recvcount
element count per block (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html new file mode 100644 index 00000000..d3e66782 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html @@ -0,0 +1,92 @@ + + + + +MPI_Irsend + + +

MPI_Irsend

+Starts a nonblocking ready send +

Synopsis

+
+int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html new file mode 100644 index 00000000..93daf9bc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html @@ -0,0 +1,52 @@ + + + + +MPI_Is_thread_main + + +

MPI_Is_thread_main

+Returns a flag indicating whether this thread called MPI_Init or MPI_Init_thread +

Synopsis

+
+int MPI_Is_thread_main(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Init or MPI_Init_thread has been called by +this thread and false otherwise. (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html new file mode 100644 index 00000000..5cf8aec5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html @@ -0,0 +1,68 @@ + + + + +MPI_Iscan + + +

MPI_Iscan

+Computes the scan (partial reductions) of data on a collection of processes in a nonblocking way +

Synopsis

+
+int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+              MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in input buffer (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html new file mode 100644 index 00000000..7a3bf481 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html @@ -0,0 +1,73 @@ + + + + +MPI_Iscatter + + +

MPI_Iscatter

+Sends data from one process to all other processes in a communicator in a nonblocking way +

Synopsis

+
+int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype, int root,
+                 MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (significant only at root) (choice) + +
sendcount
number of elements sent to each process (significant only at root) (non-negative integer) + +
sendtype
data type of send buffer elements (significant only at root) (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html new file mode 100644 index 00000000..f0c02c06 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html @@ -0,0 +1,75 @@ + + + + +MPI_Iscatterv + + +

MPI_Iscatterv

+Scatters a buffer in parts to all processes in a communicator in a nonblocking way +

Synopsis

+
+int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[],
+                  MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                  int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (significant only at root) (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor (significant only at root) + +
displs
integer array (of length group size). Entry i specifies the displacement (relative to sendbuf) from which to take the outgoing data to process i (significant only at root) + +
sendtype
data type of send buffer elements (significant only at root) (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html new file mode 100644 index 00000000..78942399 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html @@ -0,0 +1,84 @@ + + + + +MPI_Isend + + +

MPI_Isend

+Begins a nonblocking send +

Synopsis

+
+int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+              MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html new file mode 100644 index 00000000..f9e00edc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html @@ -0,0 +1,91 @@ + + + + +MPI_Issend + + +

MPI_Issend

+Starts a nonblocking synchronous send +

Synopsis

+
+int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html new file mode 100644 index 00000000..41b1df77 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html @@ -0,0 +1,89 @@ + + + + +MPI_Keyval_create + + +

MPI_Keyval_create

+Greates a new attribute key +

Synopsis

+
+int MPI_Keyval_create(MPI_Copy_function * copy_fn,
+                      MPI_Delete_function * delete_fn, int *keyval, void *extra_state)
+
+

Input Parameters

+
+
copy_fn
Copy callback function for keyval + +
delete_fn
Delete callback function for keyval + +
extra_state
Extra state for callback functions +
+

+

Output Parameters

+
keyval
key value for future access (integer) +
+

+

Notes

+Key values are global (available for any and all communicators). +

+There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language that MPI_Keyval_create +is called from. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_create_keyval. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Keyval_free, MPI_Comm_create_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html new file mode 100644 index 00000000..8dd0ba9d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html @@ -0,0 +1,73 @@ + + + + +MPI_Keyval_free + + +

MPI_Keyval_free

+Frees an attribute key for communicators +

Synopsis

+
+int MPI_Keyval_free(int *keyval)
+
+

Input Parameters

+
keyval
Frees the integer key value (integer) +
+

+

Note

+Key values are global (they can be used with any and all communicators) +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_free_keyval. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+ MPI_Keyval_create, MPI_Comm_free_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html new file mode 100644 index 00000000..3ea4f331 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html @@ -0,0 +1,74 @@ + + + + +MPI_Lookup_name + + +

MPI_Lookup_name

+Lookup a port given a service name +

Synopsis

+
+int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name)
+
+

Input Parameters

+
+
service_name
a service name (string) + +
info
implementation-specific information (handle) +
+

+

+

Output Parameters

+
port_name
a port name (string) +
+

+

Notes

+If the service_name is found, MPI copies the associated value into +port_name. The maximum size string that may be supplied by the system is +MPI_MAX_PORT_NAME. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html new file mode 100644 index 00000000..bf205a71 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html @@ -0,0 +1,63 @@ + + + + +MPI_Mprobe + + +

MPI_Mprobe

+Blocking matched probe. +

Synopsis

+
+int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message * message, MPI_Status * status)
+
+

Input Parameters

+
+
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
message
returned message (handle) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html new file mode 100644 index 00000000..a90bb78a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html @@ -0,0 +1,66 @@ + + + + +MPI_Mrecv + + +

MPI_Mrecv

+Blocking receive of message matched by MPI_Mprobe or MPI_Improbe. +

Synopsis

+
+int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message,
+              MPI_Status * status)
+
+

Input/Output Parameters

+
message
message (handle) +
+

+

Input Parameters

+
+
count
number of elements in the receive buffer (non-negative integer) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
+
buf
initial address of the receive buffer (choice) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html new file mode 100644 index 00000000..0346930e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html @@ -0,0 +1,67 @@ + + + + +MPI_Neighbor_allgather + + +

MPI_Neighbor_allgather

+In this function, each process i gathers data items from each process j if an edge (j,i) exists in the topology graph, and each process i sends the same data items to all processes j where an edge (i,j) exists. The send buffer is sent to each neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +

Synopsis

+
+int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                           int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html new file mode 100644 index 00000000..86e1bc42 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html @@ -0,0 +1,70 @@ + + + + +MPI_Neighbor_allgatherv + + +

MPI_Neighbor_allgatherv

+The vector variant of MPI_Neighbor_allgather. +

Synopsis

+
+int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                            void *recvbuf, const int recvcounts[], const int displs[],
+                            MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor + +
displs
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html new file mode 100644 index 00000000..86f4b9e0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html @@ -0,0 +1,67 @@ + + + + +MPI_Neighbor_alltoall + + +

MPI_Neighbor_alltoall

+In this function, each process i receives data items from each process j if an edge (j,i) exists in the topology graph or Cartesian topology. Similarly, each process i sends data items to all processes j where an edge (i,j) exists. This call is more general than MPI_NEIGHBOR_ALLGATHER in that different data items can be sent to each neighbor. The k-th block in send buffer is sent to the k-th neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                          int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html new file mode 100644 index 00000000..12286184 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html @@ -0,0 +1,72 @@ + + + + +MPI_Neighbor_alltoallv + + +

MPI_Neighbor_alltoallv

+The vector variant of MPI_Neighbor_alltoall allows sending/receiving different numbers of elements to and from each neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                           MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                           const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html new file mode 100644 index 00000000..bfd8eefa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html @@ -0,0 +1,72 @@ + + + + +MPI_Neighbor_alltoallw + + +

MPI_Neighbor_alltoallw

+Like MPI_Neighbor_alltoallv but it allows one to send and receive with different types to and from each neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[],
+                           const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                           const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) + +
sendtypes
array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). + +
recvtypes
array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html new file mode 100644 index 00000000..2d0c76be --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html @@ -0,0 +1,77 @@ + + + + +MPI_Op_commute + + +

MPI_Op_commute

+Queries an MPI reduction operation for its commutativity. +

Synopsis

+
+int MPI_Op_commutative(MPI_Op op, int *commute)
+
+

Input Parameters

+
op
operation (handle) +
+

+

Output Parameters

+
commute
Flag is true if op is a commutative operation. (logical) +
+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Op_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html new file mode 100644 index 00000000..28fffd52 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html @@ -0,0 +1,87 @@ + + + + +MPI_Op_create + + +

MPI_Op_create

+Creates a user-defined combination function handle +

Synopsis

+
+int MPI_Op_create(MPI_User_function * user_fn, int commute, MPI_Op * op)
+
+

Input Parameters

+
+
user_fn
user defined function (function) + +
commute
true if commutative; false otherwise. (logical) +
+

+

Output Parameters

+
op
operation (handle) +
+

+

Notes on the user function

+The calling list for the user function type is +
+ typedef void (MPI_User_function) (void * a,
+               void * b, int * len, MPI_Datatype *);
+
+ +where the operation is b[i] = a[i] op b[i], for i=0,...,len-1. A pointer +to the datatype given to the MPI collective computation routine (i.e., +MPI_Reduce, MPI_Allreduce, MPI_Scan, or MPI_Reduce_scatter) is also +passed to the user-specified routine. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+ MPI_Op_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html new file mode 100644 index 00000000..63a1b2de --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html @@ -0,0 +1,80 @@ + + + + +MPI_Op_free + + +

MPI_Op_free

+Frees a user-defined combination function handle +

Synopsis

+
+int MPI_Op_free(MPI_Op * op)
+
+

Input Parameters

+
op
operation (handle) +
+

+

Notes

+op is set to MPI_OP_NULL on exit. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
Invalid argument; the error code associated with this +error indicates an attempt to free an MPI permanent operation (e.g., +MPI_SUM). +
+

+

See Also

+ MPI_Op_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html new file mode 100644 index 00000000..43b2cfd2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html @@ -0,0 +1,73 @@ + + + + +MPI_Open_port + + +

MPI_Open_port

+Establish an address that can be used to establish connections between groups of MPI processes +

Synopsis

+
+int MPI_Open_port(MPI_Info info, char *port_name)
+
+

Input Parameters

+
info
implementation-specific information on how to establish a +port for MPI_Comm_accept (handle) +
+

+

Output Parameters

+
port_name
newly established port (string) +
+

+

Notes

+MPI copies a system-supplied port name into port_name. port_name identifies +the newly opened port and can be used by a client to contact the server. +The maximum size string that may be supplied by the system is +MPI_MAX_PORT_NAME. +

+

Reserved Info Key Values

+
+
ip_port
Value contains IP port number at which to establish a port. + +
ip_address
Value contains IP address at which to establish a port. +If the address is not a valid IP address of the host on which the +MPI_OPEN_PORT call is made, the results are undefined. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html new file mode 100644 index 00000000..0f2f4df9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html @@ -0,0 +1,80 @@ + + + + +MPI_Pack + + +

MPI_Pack

+Packs a datatype into contiguous memory +

Synopsis

+
+int MPI_Pack(const void *inbuf,
+             int incount,
+             MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm)
+
+

Input Parameters

+
+
inbuf
input buffer start (choice) + +
incount
number of input data items (non-negative integer) + +
datatype
datatype of each input data item (handle) + +
outsize
output buffer size, in bytes (non-negative integer) + +
comm
communicator for packed message (handle) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Input/Output Parameters

+
position
current position in buffer, in bytes (integer) +
+

+

Notes (from the specifications)

+

+The input value of position is the first location in the output buffer to be +used for packing. position is incremented by the size of the packed message, +and the output value of position is the first location in the output buffer +following the locations occupied by the packed message. The comm argument is +the communicator that will be subsequently used for sending the packed +message. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html new file mode 100644 index 00000000..96d00417 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html @@ -0,0 +1,83 @@ + + + + +MPI_Pack_external + + +

MPI_Pack_external

+Packs a datatype into contiguous memory, using the external32 format +

Synopsis

+
+int MPI_Pack_external(const char datarep[],
+                      const void *inbuf,
+                      int incount,
+                      MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint * position)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
inbuf
input buffer start (choice) + +
incount
number of input data items (integer) + +
datatype
datatype of each input data item (handle) + +
outsize
output buffer size, in bytes (address integer) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Input/Output Parameters

+
position
current position in buffer, in bytes (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html new file mode 100644 index 00000000..051df5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html @@ -0,0 +1,70 @@ + + + + +MPI_Pack_external_size + + +

MPI_Pack_external_size

+Returns the upper bound on the amount of space needed to pack a message using MPI_Pack_external. +

Synopsis

+
+int MPI_Pack_external_size(const char datarep[],
+                           int incount, MPI_Datatype datatype, MPI_Aint * size)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
incount
number of input data items (integer) + +
datatype
datatype of each input data item (handle) +
+

+

Output Parameters

+
size
output buffer size, in bytes (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html new file mode 100644 index 00000000..ac53376e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html @@ -0,0 +1,78 @@ + + + + +MPI_Pack_size + + +

MPI_Pack_size

+Returns the upper bound on the amount of space needed to pack a message +

Synopsis

+
+int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size)
+
+

Input Parameters

+
+
incount
count argument to packing call (integer) + +
datatype
datatype argument to packing call (handle) + +
comm
communicator argument to packing call (handle) +
+

+

Output Parameters

+
size
upper bound on size of packed message, in bytes (integer) +
+

+

Notes

+The MPI standard document describes this in terms of MPI_Pack, but it +applies to both MPI_Pack and MPI_Unpack. That is, the value size is +the maximum that is needed by either MPI_Pack or MPI_Unpack. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html new file mode 100644 index 00000000..1b2ecde3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html @@ -0,0 +1,55 @@ + + + + +MPI_Pcontrol + + +

MPI_Pcontrol

+Controls profiling +

Synopsis

+
+int MPI_Pcontrol(const int level, ...)
+
+

Input Parameters

+
+
level
Profiling level + +
...
other arguments (see notes) +
+

+

Notes

+This routine provides a common interface for profiling control. The +interpretation of level and any other arguments is left to the +profiling library. The intention is that a profiling library will +provide a replacement for this routine and define the interpretation +of the parameters. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html new file mode 100644 index 00000000..108fdb6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html @@ -0,0 +1,74 @@ + + + + +MPI_Probe + + +

MPI_Probe

+Blocking test for a message +

Synopsis

+
+int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
source
source rank, or MPI_ANY_SOURCE (integer) + +
tag
tag value or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html new file mode 100644 index 00000000..d6306973 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html @@ -0,0 +1,70 @@ + + + + +MPI_Publish_name + + +

MPI_Publish_name

+Publish a service name for use with MPI_Comm_connect +

Synopsis

+
+int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name)
+
+

Input Parameters

+
+
service_name
a service name to associate with the port (string) + +
info
implementation-specific information (handle) + +
port_name
a port name (string) +
+

+

Notes

+The maximum size string that may be supplied for port_name is +MPI_MAX_PORT_NAME. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html new file mode 100644 index 00000000..cc68055c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html @@ -0,0 +1,91 @@ + + + + +MPI_Put + + +

MPI_Put

+Put data into a memory window on a remote process +

Synopsis

+
+int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype
+            origin_datatype, int target_rank, MPI_Aint target_disp,
+            int target_count, MPI_Datatype target_datatype, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
initial address of origin buffer (choice) + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +

+

win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rput +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html new file mode 100644 index 00000000..103da5da --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html @@ -0,0 +1,74 @@ + + + + +MPI_Query_thread + + +

MPI_Query_thread

+Return the level of thread support provided by the MPI library +

Synopsis

+
+int MPI_Query_thread(int *provided)
+
+

Output Parameters

+
provided
Level of thread support provided. This is the same value +that was returned in the provided argument in MPI_Init_thread. +
+

+

Notes

+The valid values for the level of thread support are: +
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI, with no restrictions. +
+

+If MPI_Init was called instead of MPI_Init_thread, the level of +thread support is defined by the implementation. This routine allows +you to find out the provided level. It is also useful for library +routines that discover that MPI has already been initialized and +wish to determine what level of thread support is available. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html new file mode 100644 index 00000000..06289d7e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html @@ -0,0 +1,102 @@ + + + + +MPI_Raccumulate + + +

MPI_Raccumulate

+Accumulate data into the target process using remote memory access and return a request handle for the operation. +

Synopsis

+
+int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype
+                    origin_datatype, int target_rank, MPI_Aint
+                    target_disp, int target_count, MPI_Datatype
+                    target_datatype, MPI_Op op, MPI_Win win, MPI_Request * request)
+
+

+MPI_Raccumulate is similar to MPI_Accumulate, except that it allocates a +communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an MPI_Raccumulate operation indicates that the origin buffer is +free to be updated. It does not indicate that the operation has completed at +the target window. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Notes

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Accumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html new file mode 100644 index 00000000..6512099f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html @@ -0,0 +1,97 @@ + + + + +MPI_Recv + + +

MPI_Recv

+Blocking receive for a message +

Synopsis

+
+int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag,
+             MPI_Comm comm, MPI_Status * status)
+
+

Output Parameters

+
+
buf
initial address of receive buffer (choice) + +
status
status object (Status) +
+

+

Input Parameters

+
+
count
maximum number of elements in receive buffer (integer) + +
datatype
datatype of each receive buffer element (handle) + +
source
rank of source (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+The count argument indicates the maximum length of a message; the actual +length of the message can be determined with MPI_Get_count. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html new file mode 100644 index 00000000..7597b861 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Recv_init + + +

MPI_Recv_init

+Create a persistent request for a receive +

Synopsis

+
+int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
+                  int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of receive buffer (choice) + +
count
number of elements received (integer) + +
datatype
type of each element (handle) + +
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Startall, MPI_Request_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html new file mode 100644 index 00000000..7baf6042 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html @@ -0,0 +1,102 @@ + + + + +MPI_Reduce + + +

MPI_Reduce

+Reduces values on all processes to a single value +

Synopsis

+
+int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+               MPI_Op op, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
data type of elements of send buffer (handle) + +
op
reduce operation (handle) + +
root
rank of root process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, +significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html new file mode 100644 index 00000000..8c68eb26 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html @@ -0,0 +1,92 @@ + + + + +MPI_Reduce_local + + +

MPI_Reduce_local

+Applies a reduction operator to local arguments. +

Synopsis

+
+int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op)
+
+

Input Parameters

+
+
inbuf
address of the input buffer (choice) + +
count
number of elements in each buffer (integer) + +
datatype
data type of elements in the buffers (handle) + +
op
reduction operation (handle) +
+

+

Output Parameters

+
inoutbuf
address of input-output buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html new file mode 100644 index 00000000..a81956b6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html @@ -0,0 +1,104 @@ + + + + +MPI_Reduce_scatter + + +

MPI_Reduce_scatter

+Combines values and scatters the results +

Synopsis

+
+int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[],
+                       MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
recvcounts
integer array specifying the +number of elements in result distributed to each process. +Array must be identical on all calling processes. + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html new file mode 100644 index 00000000..eb7ed1ee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html @@ -0,0 +1,102 @@ + + + + +MPI_Reduce_scatter_block + + +

MPI_Reduce_scatter_block

+Combines values and scatters the results +

Synopsis

+
+int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf,
+                             int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
recvcount
element count per block (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html new file mode 100644 index 00000000..ad46d18e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html @@ -0,0 +1,51 @@ + + + + +MPI_Register_datarep + + +

MPI_Register_datarep

+Register functions for user-defined data representations +

Synopsis

+
+int MPI_Register_datarep(ROMIO_CONST char *datarep,
+                         MPI_Datarep_conversion_function * read_conversion_fn,
+                         MPI_Datarep_conversion_function * write_conversion_fn,
+                         MPI_Datarep_extent_function * dtype_file_extent_fn, void *extra_state)
+
+

Input Parameters

+
+
datarep
data representation name (string) + +
read_conversion_fn
function invoked to convert from file representation to +native representation (function) + +
write_conversion_fn
function invoked to convert from native representation to +file representation (function) + +
dtype_file_extent_fn
function invoked to get the exted of a datatype as represented +in the file (function) + +
extra_state
pointer to extra state that is passed to each of the +three functions +
+

+

Notes

+This function allows the user to provide routines to convert data from +an external representation, used within a file, and the native representation, +used within the CPU. There is one predefined data representation, +external32. Please consult the MPI-2 standard for details on this +function. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html new file mode 100644 index 00000000..def31657 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html @@ -0,0 +1,78 @@ + + + + +MPI_Request_free + + +

MPI_Request_free

+Frees a communication request object +

Synopsis

+
+int MPI_Request_free(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Notes

+

+This routine is normally used to free inactive persistent requests created with +either MPI_Recv_init or MPI_Send_init and friends. It is also +permissible to free an active request. However, once freed, the request can no +longer be used in a wait or test routine (e.g., MPI_Wait) to determine +completion. +

+This routine may also be used to free a non-persistent requests such as those +created with MPI_Irecv or MPI_Isend and friends. Like active persistent +requests, once freed, the request can no longer be used with test/wait routines +to determine completion. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+also: MPI_Isend, MPI_Irecv, MPI_Issend, MPI_Ibsend, MPI_Irsend, +
MPI_Recv_init, MPI_Send_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Wait, +MPI_Test, MPI_Waitall, MPI_Waitany, MPI_Waitsome, MPI_Testall, MPI_Testany, +MPI_Testsome + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html new file mode 100644 index 00000000..e9be696a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html @@ -0,0 +1,65 @@ + + + + +MPI_Request_get_status + + +

MPI_Request_get_status

+Nondestructive test for the completion of a Request +

Synopsis

+
+int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status * status)
+
+

Input Parameters

+
request
request (handle). May be MPI_REQUEST_NULL. +
+

+

Output Parameters

+
+
flag
true if operation has completed (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+Unlike MPI_Test, MPI_Request_get_status does not deallocate or +deactivate the request. A call to one of the test/wait routines or +MPI_Request_free should be made to release the request object. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html new file mode 100644 index 00000000..cff6f099 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html @@ -0,0 +1,103 @@ + + + + +MPI_Rget + + +

MPI_Rget

+Get data from a memory window on a remote process +

Synopsis

+
+int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype
+             origin_datatype, int target_rank, MPI_Aint target_disp,
+             int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request)
+
+

+MPI_Rget is similar to MPI_Get, except that it allocates a communication +request object and associates it with the request handle (the argument request) +that can be used to wait or test for completion. The completion of an MPI_Rget +operation indicates that the data is available in the origin buffer. If +origin_addr points to memory attached to a window, then the data becomes +available in the private copy of this window. +

+

Input Parameters

+
+
origin_addr
Address of the buffer in which to receive the data + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from window start to the beginning of the +target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html new file mode 100644 index 00000000..121ac217 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html @@ -0,0 +1,115 @@ + + + + +MPI_Rget_accumulate + + +

MPI_Rget_accumulate

+Perform an atomic, one-sided read-and-accumulate operation and return a request handle for the operation. +

Synopsis

+
+int MPI_Rget_accumulate(const void *origin_addr, int origin_count,
+                        MPI_Datatype origin_datatype, void *result_addr, int result_count,
+                        MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
+                        int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win,
+                        MPI_Request * request)
+
+

+MPI_Rget_accumulate is similar to MPI_Get_accumulate, except that it allocates +a communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an MPI_Rget_accumulate operation indicates that the data is +available in the result buffer and the origin buffer is free to be updated. It +does not indicate that the operation has been completed at the target window. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
result_addr
initial address of result buffer (choice) + +
result_count
number of entries in result buffer (non-negative integer) + +
result_datatype
datatype of each entry in result buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +MPI_REPLACE provides fetch-and-set behavior. +

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get_accumulate MPI_Fetch_and_op +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html new file mode 100644 index 00000000..174caddc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html @@ -0,0 +1,104 @@ + + + + +MPI_Rput + + +

MPI_Rput

+Put data into a memory window on a remote process and return a request handle for the operation. +

Synopsis

+
+int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype
+             origin_datatype, int target_rank, MPI_Aint target_disp,
+             int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request)
+
+

+MPI_Rput is similar to MPI_Put, except that it allocates a +communication request object and associates it with the request handle (the +argument request). The completion of an MPI_Rput operation (i.e., after the +corresponding test or wait) indicates that the sender is now free to update +the locations in the origin buffer. It does not indicate that the data is +available at the target window. If remote completion is required, +MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock, or MPI_Win_unlock_all can be +used. +

+

Input Parameters

+
+
origin_addr
initial address of origin buffer (choice) + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Put +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html new file mode 100644 index 00000000..780f5ee5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html @@ -0,0 +1,84 @@ + + + + +MPI_Rsend + + +

MPI_Rsend

+Blocking ready send +

Synopsis

+
+int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html new file mode 100644 index 00000000..e600d9ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Rsend_init + + +

MPI_Rsend_init

+Creates a persistent request for a ready send +

Synopsis

+
+int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                   int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Request_free, MPI_Send_init +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html new file mode 100644 index 00000000..9c7cf1ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html @@ -0,0 +1,98 @@ + + + + +MPI_Scan + + +

MPI_Scan

+Computes the scan (partial reductions) of data on a collection of processes +

Synopsis

+
+int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+             MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in input buffer (integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html new file mode 100644 index 00000000..f4b0d3ec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html @@ -0,0 +1,87 @@ + + + + +MPI_Scatter + + +

MPI_Scatter

+Sends data from one process to all other processes in a communicator +

Synopsis

+
+int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice, significant +only at root) + +
sendcount
number of elements sent to each process +(integer, significant only at root) + +
sendtype
data type of send buffer elements (significant only at root) +(handle) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html new file mode 100644 index 00000000..f673ab86 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html @@ -0,0 +1,90 @@ + + + + +MPI_Scatterv + + +

MPI_Scatterv

+Scatters a buffer in parts to all processes in a communicator +

Synopsis

+
+int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs,
+                 MPI_Datatype sendtype, void *recvbuf, int recvcount,
+                 MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice, significant only at root) + +
sendcounts
integer array (of length group size) +specifying the number of elements to send to each processor + +
displs
integer array (of length group size). Entry +i specifies the displacement (relative to sendbuf from +which to take the outgoing data to process i + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html new file mode 100644 index 00000000..9aca15a5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html @@ -0,0 +1,91 @@ + + + + +MPI_Send + + +

MPI_Send

+Performs a blocking send +

Synopsis

+
+int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+This routine may block until the message is received by the destination +process. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Isend, MPI_Bsend +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html new file mode 100644 index 00000000..36595a5c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Send_init + + +

MPI_Send_init

+Create a persistent request for a standard send +

Synopsis

+
+int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                  int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Startall, MPI_Request_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html new file mode 100644 index 00000000..71c9a1ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html @@ -0,0 +1,105 @@ + + + + +MPI_Sendrecv + + +

MPI_Sendrecv

+Sends and receives a message +

Synopsis

+
+int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 int dest, int sendtag,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                 int source, int recvtag, MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
sendbuf
initial address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
type of elements in send buffer (handle) + +
dest
rank of destination (integer) + +
sendtag
send tag (integer) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
type of elements in receive buffer (handle) + +
source
rank of source (integer) + +
recvtag
receive tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
initial address of receive buffer (choice) + +
status
status object (Status). This refers to the receive operation. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html new file mode 100644 index 00000000..810cb50c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html @@ -0,0 +1,105 @@ + + + + +MPI_Sendrecv_replace + + +

MPI_Sendrecv_replace

+Sends and receives using a single buffer +

Synopsis

+
+int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype,
+                         int dest, int sendtag, int source, int recvtag,
+                         MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
count
number of elements in send and receive buffer (integer) + +
datatype
type of elements in send and receive buffer (handle) + +
dest
rank of destination (integer) + +
sendtag
send message tag (integer) + +
source
rank of source (integer) + +
recvtag
receive message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
buf
initial address of send and receive buffer (choice) + +
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TRUNCATE
Message truncated on receive. The buffer size specified +was too small for the received message. This is a recoverable error in +the MPICH implementation. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html new file mode 100644 index 00000000..670cadb2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html @@ -0,0 +1,83 @@ + + + + +MPI_Ssend + + +

MPI_Ssend

+Blocking synchronous send +

Synopsis

+
+int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html new file mode 100644 index 00000000..d7ad3fec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html @@ -0,0 +1,88 @@ + + + + +MPI_Ssend_init + + +

MPI_Ssend_init

+Creates a persistent request for a synchronous send +

Synopsis

+
+int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                   int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html new file mode 100644 index 00000000..19f72fe7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html @@ -0,0 +1,57 @@ + + + + +MPI_Start + + +

MPI_Start

+Initiates a communication with a persistent request handle +

Synopsis

+
+int MPI_Start(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html new file mode 100644 index 00000000..3dd8040c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html @@ -0,0 +1,70 @@ + + + + +MPI_Startall + + +

MPI_Startall

+Starts a collection of persistent requests +

Synopsis

+
+int MPI_Startall(int count, MPI_Request array_of_requests[])
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handle) +
+

+

Notes

+

+Unlike MPI_Waitall, MPI_Startall does not provide a mechanism for +returning multiple errors nor pinpointing the request(s) involved. +Furthermore, the behavior of MPI_Startall after an error occurs is not +defined by the MPI standard. If well-defined error reporting and behavior +are required, multiple calls to MPI_Start should be used instead. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html new file mode 100644 index 00000000..08854c71 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html @@ -0,0 +1,59 @@ + + + + +MPI_Status_set_cancelled + + +

MPI_Status_set_cancelled

+Sets the cancelled state associated with a Status object +

Synopsis

+
+int MPI_Status_set_cancelled(MPI_Status * status, int flag)
+
+

Input Parameters

+
+
status
status to associate cancel flag with (Status) + +
flag
if true indicates request was cancelled (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html new file mode 100644 index 00000000..811222a8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html @@ -0,0 +1,65 @@ + + + + +MPI_Status_set_elements + + +

MPI_Status_set_elements

+Set the number of elements in a status +

Synopsis

+
+int MPI_Status_set_elements(MPI_Status * status, MPI_Datatype datatype, int count)
+
+

Input Parameters

+
+
status
status to associate count with (Status) + +
datatype
datatype associated with count (handle) + +
count
number of elements to associate with status (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html new file mode 100644 index 00000000..f23e5eb5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Status_set_elements_x + + +

MPI_Status_set_elements_x

+Set the number of elements in a status +

Synopsis

+
+int MPI_Status_set_elements_x(MPI_Status * status, MPI_Datatype datatype, MPI_Count count)
+
+

Input/Output Parameters

+
status
status with which to associate count (Status) +
+

+

Input Parameters

+
+
datatype
datatype associated with count (handle) + +
count
number of elements to associate with status (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html new file mode 100644 index 00000000..18306121 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html @@ -0,0 +1,50 @@ + + + + +MPI_T_category_changed + + +

MPI_T_category_changed

+Get the timestamp indicating the last change to the categories +

Synopsis

+
+int MPI_T_category_changed(int *stamp)
+
+

Output Parameters

+
stamp
a virtual time stamp to indicate the last change to the categories (integer) +
+

+

Notes

+If two subsequent calls to this routine return the same timestamp, it is guaranteed that +the category information has not changed between the two calls. If the timestamp retrieved +from the second call is higher, then some categories have been added or expanded. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html new file mode 100644 index 00000000..997ec79a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_categories + + +

MPI_T_category_get_categories

+Get sub-categories in a category +

Synopsis

+
+int MPI_T_category_get_categories(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating category variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html new file mode 100644 index 00000000..9f85f85e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_cvars + + +

MPI_T_category_get_cvars

+Get control variables in a category +

Synopsis

+
+int MPI_T_category_get_cvars(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating control variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html new file mode 100644 index 00000000..df5cd19f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html @@ -0,0 +1,51 @@ + + + + +MPI_T_category_get_index + + +

MPI_T_category_get_index

+Get the index of a category +

Synopsis

+
+int MPI_T_category_get_index(const char *name, int *cat_index)
+
+

Output Parameters

+
name
the name of the category (string) +
+

+

Output Parameters

+
cat_index
the index of the category (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html new file mode 100644 index 00000000..da3396f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html @@ -0,0 +1,68 @@ + + + + +MPI_T_category_get_info + + +

MPI_T_category_get_info

+Get the information about a category +

Synopsis

+
+int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc,
+                            int *desc_len, int *num_cvars, int *num_pvars, int *num_categories)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
cat_index
index of the category to be queried (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the category (string) + +
desc
buffer to return the string containing the description of the category (string) + +
num_cvars
number of control variables contained in the category (integer) + +
num_pvars
number of performance variables contained in the category (integer) + +
num_categories
number of categories contained in the category (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html new file mode 100644 index 00000000..4a9f4c6f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_category_get_num + + +

MPI_T_category_get_num

+Get the number of categories +

Synopsis

+
+int MPI_T_category_get_num(int *num_cat)
+
+

Output Parameters

+
num_cat
current number of categories (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html new file mode 100644 index 00000000..af0e7c6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_pvars + + +

MPI_T_category_get_pvars

+Get performance variables in a category +

Synopsis

+
+int MPI_T_category_get_pvars(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating performance variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html new file mode 100644 index 00000000..c496cb09 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html @@ -0,0 +1,51 @@ + + + + +MPI_T_cvar_get_index + + +

MPI_T_cvar_get_index

+Get the index of a control variable +

Synopsis

+
+int MPI_T_cvar_get_index(const char *name, int *cvar_index)
+
+

Output Parameters

+
name
name of the control variable (string) +
+

+

Output Parameters

+
cvar_index
index of the control variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html new file mode 100644 index 00000000..02011a22 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html @@ -0,0 +1,73 @@ + + + + +MPI_T_cvar_get_info + + +

MPI_T_cvar_get_info

+Get the information about a control variable +

Synopsis

+
+int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len,
+                        int *verbosity, MPI_Datatype * datatype, MPI_T_enum * enumtype,
+                        char *desc, int *desc_len, int *binding, int *scope)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
cvar_index
index of the control variable to be queried, value between 0 and num_cvar-1 (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the control variable (string) + +
verbosity
verbosity level of this variable (integer) + +
datatype
MPI datatype of the information stored in the control variable (handle) + +
enumtype
optional descriptor for enumeration information (handle) + +
desc
buffer to return the string containing a description of the control variable (string) + +
binding
type of MPI object this variable is associated with + +
scope
scope of when changes to this variable are possible (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html new file mode 100644 index 00000000..4ba66d24 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_cvar_get_num + + +

MPI_T_cvar_get_num

+Get the number of control variables +

Synopsis

+
+int MPI_T_cvar_get_num(int *num_cvar)
+
+

Output Parameters

+
num_cvar
returns number of control variables (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html new file mode 100644 index 00000000..1067154e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html @@ -0,0 +1,62 @@ + + + + +MPI_T_cvar_handle_alloc + + +

MPI_T_cvar_handle_alloc

+Allocate a handle for a control variable +

Synopsis

+
+int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle * handle,
+                            int *count)
+
+

Input Parameters

+
+
cvar_index
index of control variable for which handle is to be allocated (index) + +
obj_handle
reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +
+

+

Output Parameters

+
+
handle
allocated handle (handle) + +
count
number of elements used to represent this variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html new file mode 100644 index 00000000..ec2bd988 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html @@ -0,0 +1,47 @@ + + + + +MPI_T_cvar_handle_free + + +

MPI_T_cvar_handle_free

+Free an existing handle for a control variable +

Synopsis

+
+int MPI_T_cvar_handle_free(MPI_T_cvar_handle * handle)
+
+

Input/Output Parameters

+
handle
handle to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html new file mode 100644 index 00000000..9ca481f4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html @@ -0,0 +1,51 @@ + + + + +MPI_T_cvar_read + + +

MPI_T_cvar_read

+Read the value of a control variable +

Synopsis

+
+int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf)
+
+

Input Parameters

+
handle
handle to the control variable to be read (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html new file mode 100644 index 00000000..6aedb23e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html @@ -0,0 +1,54 @@ + + + + +MPI_T_cvar_write + + +

MPI_T_cvar_write

+Write a control variable +

Synopsis

+
+int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf)
+
+

Input Parameters

+
+
handle
handle of the control variable to be written (handle) + +
buf
initial address of storage location for variable value (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_CVAR_SET_NOT_NOW
The control variable can not be set at this moment. +
+
MPI_T_ERR_CVAR_SET_NEVER
The control variable can not be set until end of execution. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html new file mode 100644 index 00000000..a6c94974 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html @@ -0,0 +1,58 @@ + + + + +MPI_T_enum_get_info + + +

MPI_T_enum_get_info

+Get the information about an enumeration +

Synopsis

+
+int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len)
+
+

Input/Output Parameters

+
name_len
length of the string and/or buffer for name (integer) +
+

+

Input Parameters

+
enumtype
enumeration to be queried (handle) +
+

+

Output Parameters

+
+
num
number of discrete values represented by this enumeration (integer) + +
name
buffer to return the string containing the name of the enumeration (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html new file mode 100644 index 00000000..76a20a75 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html @@ -0,0 +1,62 @@ + + + + +MPI_T_enum_get_item + + +

MPI_T_enum_get_item

+Get the information about an item in an enumeration +

Synopsis

+
+int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, int *name_len)
+
+

Input/Output Parameters

+
name_len
length of the string and/or buffer for name (integer) +
+

+

Input Parameters

+
enumtype
enumeration to be queried (handle) +
+

+

Output Parameters

+
+
index
number of the value to be queried in this enumeration (integer) + +
value
variable value (integer) + +
name
buffer to return the string containing the name of the enumeration item (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_INVALID_ITEM
Item index queried is out of range. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html new file mode 100644 index 00000000..0306baa0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html @@ -0,0 +1,60 @@ + + + + +MPI_T_finalize + + +

MPI_T_finalize

+Finalize the MPI tool information interface +

Synopsis

+
+int MPI_T_finalize(void)
+
+

Notes

+This routine may be called as often as the corresponding MPI_T_init_thread() routine +up to the current point of execution. Calling it more times returns a corresponding +error code. As long as the number of calls to MPI_T_finalize() is smaller than the +number of calls to MPI_T_init_thread() up to the current point of execution, the MPI +tool information interface remains initialized and calls to its routines are permissible. +Further, additional calls to MPI_T_init_thread() after one or more calls to MPI_T_finalize() +are permissible. Once MPI_T_finalize() is called the same number of times as the routine +MPI_T_init_thread() up to the current point of execution, the MPI tool information +interface is no longer initialized. The interface can be reinitialized by subsequent calls +to MPI_T_init_thread(). +

+At the end of the program execution, unless MPI_Abort() is called, an application must +have called MPI_T_init_thread() and MPI_T_finalize() an equal number of times. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+

+

See Also

+MPI_T_init_thread +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html new file mode 100644 index 00000000..b2aac0cb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html @@ -0,0 +1,67 @@ + + + + +MPI_T_init_thread + + +

MPI_T_init_thread

+Initialize the MPI_T execution environment +

Synopsis

+
+int MPI_T_init_thread(int required, int *provided)
+
+

Input Parameters

+
required
desired level of thread support (integer) +
+

+

Output Parameters

+
provided
provided level of thread support (integer) +
+

+

Notes

+

The valid values for the level of thread support are

+
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI_T calls (all MPI_T calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI_T calls, but only one at a time: MPI_T calls are not +made concurrently from two distinct threads (all MPI_T calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI_T, with no restrictions. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_T_finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html new file mode 100644 index 00000000..5c28b6d7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html @@ -0,0 +1,53 @@ + + + + +MPI_T_pvar_get_index + + +

MPI_T_pvar_get_index

+Get the index of a performance variable +

Synopsis

+
+int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index)
+
+

Input Parameters

+
name
the name of the performance variable (string) +
+
var_class
the class of the performance variable (integer) +
+

+

Output Parameters

+
pvar_index
the index of the performance variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html new file mode 100644 index 00000000..6cb56357 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html @@ -0,0 +1,79 @@ + + + + +MPI_T_pvar_get_info + + +

MPI_T_pvar_get_info

+Get the inforamtion about a performance variable +

Synopsis

+
+int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity,
+                        int *var_class, MPI_Datatype * datatype, MPI_T_enum * enumtype, char *desc,
+                        int *desc_len, int *binding, int *readonly, int *continuous, int *atomic)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
pvar_index
index of the performance variable to be queried between 0 and num_pvar-1 (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the performance variable (string) + +
verbosity
verbosity level of this variable (integer) + +
var_class
class of performance variable (integer) + +
datatype
MPI type of the information stored in the performance variable (handle) + +
enumtype
optional descriptor for enumeration information (handle) + +
desc
buffer to return the string containing a description of the performance variable (string) + +
binding
type of MPI object to which this variable must be bound (integer) + +
readonly
flag indicating whether the variable can be written/reset (integer) + +
continuous
flag indicating whether the variable can be started and stopped or is continuously active (integer) + +
atomic
flag indicating whether the variable can be atomically read and reset (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html new file mode 100644 index 00000000..12f329e4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_pvar_get_num + + +

MPI_T_pvar_get_num

+Get the number of performance variables +

Synopsis

+
+int MPI_T_pvar_get_num(int *num_pvar)
+
+

Output Parameters

+
num_pvar
returns number of performance variables (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html new file mode 100644 index 00000000..1bc31e01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html @@ -0,0 +1,64 @@ + + + + +MPI_T_pvar_handle_alloc + + +

MPI_T_pvar_handle_alloc

+Allocate a handle for a performance variable +

Synopsis

+
+int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
+                            void *obj_handle, MPI_T_pvar_handle * handle, int *count)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
pvar_index
index of performance variable for which handle is to be allocated (integer) + +
obj_handle
reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +
+

+

Output Parameters

+
+
handle
allocated handle (handle) + +
count
number of elements used to represent this variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html new file mode 100644 index 00000000..e20cab1e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html @@ -0,0 +1,52 @@ + + + + +MPI_T_pvar_handle_free + + +

MPI_T_pvar_handle_free

+Free an existing handle for a performance variable +

Synopsis

+
+int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle * handle)
+
+

Input/Output Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html new file mode 100644 index 00000000..9322f2ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html @@ -0,0 +1,67 @@ + + + + +MPI_T_pvar_read + + +

MPI_T_pvar_read

+Read the value of a performance variable +

Synopsis

+
+int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value (choice) +
+

+

Notes

+The MPI_T_pvar_read() call queries the value of the performance variable with the +handle "handle" in the session identified by the parameter session and stores the result +in the buffer identified by the parameter buf. The user is responsible to ensure that the +buffer is of the appropriate size to hold the entire value of the performance variable +(based on the datatype and count returned by the corresponding previous calls to +MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). +

+The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_read(). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html new file mode 100644 index 00000000..7fdcfe8f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html @@ -0,0 +1,60 @@ + + + + +MPI_T_pvar_readreset + + +

MPI_T_pvar_readreset

+Read the value of a performance variable and then reset it +

Synopsis

+
+int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+
MPI_T_ERR_PVAR_NO_ATOMIC
The performance variable can not be read/write atomically. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html new file mode 100644 index 00000000..6059d884 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html @@ -0,0 +1,64 @@ + + + + +MPI_T_pvar_reset + + +

MPI_T_pvar_reset

+Reset a performance variable +

Synopsis

+
+int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+The MPI_T_pvar_reset() call sets the performance variable with the handle identified +by the parameter handle to its starting value. If it is not possible +to change the variable, the function returns MPI_T_ERR_PVAR_NO_WRITE. +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to reset all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are reset successfully, otherwise MPI_T_ERR_PVAR_NO_WRITE is returned. Readonly +variables are ignored when MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html new file mode 100644 index 00000000..aa0633e2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html @@ -0,0 +1,47 @@ + + + + +MPI_T_pvar_session_create + + +

MPI_T_pvar_session_create

+Create a new session for accessing performance variables +

Synopsis

+
+int MPI_T_pvar_session_create(MPI_T_pvar_session * session)
+
+

Output Parameters

+
session
identifier of performance session (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_OUT_OF_SESSIONS
No more sessions available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html new file mode 100644 index 00000000..e53a8410 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html @@ -0,0 +1,52 @@ + + + + +MPI_T_pvar_session_free + + +

MPI_T_pvar_session_free

+Free an existing performance variable session +

Synopsis

+
+int MPI_T_pvar_session_free(MPI_T_pvar_session * session)
+
+

Input/Output Parameters

+
session
identifier of performance experiment session (handle) +
+

+

Notes

+Calls to the MPI tool information interface can no longer be made +within the context of a session after it is freed. On a successful +return, MPI sets the session identifier to MPI_T_PVAR_SESSION_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html new file mode 100644 index 00000000..b311e5b3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html @@ -0,0 +1,62 @@ + + + + +MPI_T_pvar_start + + +

MPI_T_pvar_start

+Start a performance variable +

Synopsis

+
+int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to start all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are started successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already started are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
The performance variable can not be started or stopped. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html new file mode 100644 index 00000000..77f5e644 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html @@ -0,0 +1,65 @@ + + + + +MPI_T_pvar_stop + + +

MPI_T_pvar_stop

+Stop a performance variable +

Synopsis

+
+int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+This functions stops the performance variable with the handle identified by the parameter +handle in the session identified by the parameter session. +

+If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to stop all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are stopped successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already stopped are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
The performance variable can not be started or stopped. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html new file mode 100644 index 00000000..96ab9fd5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html @@ -0,0 +1,67 @@ + + + + +MPI_T_pvar_write + + +

MPI_T_pvar_write

+Write a performance variable +

Synopsis

+
+int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) + +
buf
initial address of storage location for variable value (choice) +
+

+

Notes

+The MPI_T_pvar_write() call attempts to write the value of the performance variable +with the handle identified by the parameter handle in the session identified by the parameter +session. The value to be written is passed in the buffer identified by the parameter buf. The +user must ensure that the buffer is of the appropriate size to hold the entire value of the +performance variable (based on the datatype and count returned by the corresponding previous +calls to MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). +

+The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_write(). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html new file mode 100644 index 00000000..61babaf8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html @@ -0,0 +1,87 @@ + + + + +MPI_Test + + +

MPI_Test

+Tests for the completion of a request +

Synopsis

+
+int MPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
+
+

Input Parameters

+
request
MPI request (handle) +
+

+

Output Parameters

+
+
flag
true if operation completed (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html new file mode 100644 index 00000000..4e04daaf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html @@ -0,0 +1,60 @@ + + + + +MPI_Test_cancelled + + +

MPI_Test_cancelled

+Tests to see if a request was cancelled +

Synopsis

+
+int MPI_Test_cancelled(const MPI_Status * status, int *flag)
+
+

Input Parameters

+
status
status object (Status) +
+

+

Output Parameters

+
flag
true if the request was cancelled, false otherwise (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html new file mode 100644 index 00000000..a7f72ec1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html @@ -0,0 +1,124 @@ + + + + +MPI_Testall + + +

MPI_Testall

+Tests for the completion of all previously initiated requests +

Synopsis

+
+int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
+                MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
count
lists length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
flag
True if all requests have completed; false otherwise (logical) + +
array_of_statuses
array of status objects (array of Status). May be +MPI_STATUSES_IGNORE. +
+

+

Notes

+flag is true only if all requests have completed. Otherwise, flag is +false and neither the array_of_requests nor the array_of_statuses is +modified. +

+If one or more of the requests completes with an error, MPI_ERR_IN_STATUS is +returned. An error value will be present is elements of array_of_status +associated with the requests. Likewise, the MPI_ERROR field in the status +elements associated with requests that have successfully completed will be +MPI_SUCCESS. Finally, those requests that have not completed will have a +value of MPI_ERR_PENDING. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. +
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html new file mode 100644 index 00000000..3dd78294 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html @@ -0,0 +1,91 @@ + + + + +MPI_Testany + + +

MPI_Testany

+Tests for completion of any previdously initiated requests +

Synopsis

+
+int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx,
+                int *flag, MPI_Status * status)
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
indx
index of operation that completed, or MPI_UNDEFINED if none +completed (integer) + +
flag
true if one of the operations is complete (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html new file mode 100644 index 00000000..37a93eca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html @@ -0,0 +1,112 @@ + + + + +MPI_Testsome + + +

MPI_Testsome

+Tests for some given requests to complete +

Synopsis

+
+int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount,
+                 int array_of_indices[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
incount
length of array_of_requests (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
outcount
number of completed requests (integer) + +
array_of_indices
array of indices of operations that +completed (array of integers) + +
array_of_statuses
array of status objects for +operations that completed (array of Status). May be MPI_STATUSES_IGNORE. +
+

+

Notes

+

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html new file mode 100644 index 00000000..4ce1ec02 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html @@ -0,0 +1,66 @@ + + + + +MPI_Topo_test + + +

MPI_Topo_test

+Determines the type of topology (if any) associated with a communicator +

Synopsis

+
+int MPI_Topo_test(MPI_Comm comm, int *status)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
status
topology type of communicator comm (integer). If the +communicator has no associated topology, returns MPI_UNDEFINED. +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Graph_create, MPI_Cart_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html new file mode 100644 index 00000000..02565c01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html @@ -0,0 +1,57 @@ + + + + +MPI_Type_commit + + +

MPI_Type_commit

+Commits the datatype +

Synopsis

+
+int MPI_Type_commit(MPI_Datatype * datatype)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html new file mode 100644 index 00000000..dbfdddb0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html @@ -0,0 +1,70 @@ + + + + +MPI_Type_contiguous + + +

MPI_Type_contiguous

+Creates a contiguous datatype +

Synopsis

+
+int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
replication count (nonnegative integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html new file mode 100644 index 00000000..14f07ce7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html @@ -0,0 +1,88 @@ + + + + +MPI_Type_create_darray + + +

MPI_Type_create_darray

+Create a datatype representing a distributed array +

Synopsis

+
+int MPI_Type_create_darray(int size,
+                           int rank,
+                           int ndims,
+                           const int array_of_gsizes[],
+                           const int array_of_distribs[],
+                           const int array_of_dargs[],
+                           const int array_of_psizes[],
+                           int order, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
size
size of process group (positive integer) + +
rank
rank in process group (nonnegative integer) + +
ndims
number of array dimensions as well as process grid dimensions (positive integer) + +
array_of_gsizes
number of elements of type oldtype in each dimension of global array (array of positive integers) + +
array_of_distribs
distribution of array in each dimension (array of state) + +
array_of_dargs
distribution argument in each dimension (array of positive integers) + +
array_of_psizes
size of process grid in each dimension (array of positive integers) + +
order
array storage order flag (state) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html new file mode 100644 index 00000000..8b1c559e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html @@ -0,0 +1,75 @@ + + + + +MPI_Type_create_hindexed + + +

MPI_Type_create_hindexed

+Create a datatype for an indexed datatype with displacements in bytes +

Synopsis

+
+int MPI_Type_create_hindexed(int count,
+                             const int array_of_blocklengths[],
+                             const MPI_Aint array_of_displacements[],
+                             MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks --- also number of entries in +array_of_displacements and array_of_blocklengths (integer) + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
byte displacement of each block (array of address integers) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html new file mode 100644 index 00000000..8e2643a5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html @@ -0,0 +1,74 @@ + + + + +MPI_Type_create_hindexed_block + + +

MPI_Type_create_hindexed_block

+Create an hindexed datatype with constant-sized blocks +

Synopsis

+
+int MPI_Type_create_hindexed_block(int count,
+                                   int blocklength,
+                                   const MPI_Aint array_of_displacements[],
+                                   MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
length of array of displacements (integer) + +
blocklength
size of block (integer) + +
array_of_displacements
array of displacements (array of integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html new file mode 100644 index 00000000..3ad00f9e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html @@ -0,0 +1,73 @@ + + + + +MPI_Type_create_hvector + + +

MPI_Type_create_hvector

+Create a datatype with a constant stride given in bytes +

Synopsis

+
+int MPI_Type_create_hvector(int count,
+                            int blocklength,
+                            MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block (nonnegative integer) + +
stride
number of bytes between start of each block (address integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html new file mode 100644 index 00000000..31547561 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html @@ -0,0 +1,98 @@ + + + + +MPI_Type_create_indexed_block + + +

MPI_Type_create_indexed_block

+Create an indexed datatype with constant-sized blocks +

Synopsis

+
+int MPI_Type_create_indexed_block(int count,
+                                  int blocklength,
+                                  const int array_of_displacements[],
+                                  MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
length of array of displacements (integer) + +
blocklength
size of block (integer) + +
array_of_displacements
array of displacements (array of integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Notes

+The indices are displacements, and are based on a zero origin. A common error +is to do something like the following +
+    integer a(100)
+    integer blens(10), indices(10)
+    do i=1,10
+10       indices(i) = 1 + (i-1)*10
+    call MPI_TYPE_CREATE_INDEXED_BLOCK(10,1,indices,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the indices have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as indices into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html new file mode 100644 index 00000000..fcabeae1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html @@ -0,0 +1,86 @@ + + + + +MPI_Type_create_keyval + + +

MPI_Type_create_keyval

+Create an attribute keyval for MPI datatypes +

Synopsis

+
+int MPI_Type_create_keyval(MPI_Type_copy_attr_function * type_copy_attr_fn,
+                           MPI_Type_delete_attr_function * type_delete_attr_fn,
+                           int *type_keyval, void *extra_state)
+
+

Input Parameters

+
+
type_copy_attr_fn
copy callback function for type_keyval (function) + +
type_delete_attr_fn
delete callback function for type_keyval (function) + +
extra_state
extra state for callback functions +
+

+

Output Parameters

+
type_keyval
key value for future access (integer) +
+

+

Notes

+

+Default copy and delete functions are available. These are +

+
MPI_TYPE_NULL_COPY_FN
empty copy function + +
MPI_TYPE_NULL_DELETE_FN
empty delete function + +
MPI_TYPE_DUP_FN
simple dup function +
+

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html new file mode 100644 index 00000000..37ec2234 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html @@ -0,0 +1,67 @@ + + + + +MPI_Type_create_resized + + +

MPI_Type_create_resized

+Create a datatype with a new lower bound and extent from an existing datatype +

Synopsis

+
+int MPI_Type_create_resized(MPI_Datatype oldtype,
+                            MPI_Aint lb, MPI_Aint extent, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
oldtype
input datatype (handle) + +
lb
new lower bound of datatype (address integer) + +
extent
new extent of datatype (address integer) +
+

+

Output Parameters

+
newtype
output datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html new file mode 100644 index 00000000..0fc0495a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html @@ -0,0 +1,76 @@ + + + + +MPI_Type_create_struct + + +

MPI_Type_create_struct

+Create an MPI datatype from a general set of datatypes, displacements, and block sizes +

Synopsis

+
+int MPI_Type_create_struct(int count,
+                           const int array_of_blocklengths[],
+                           const MPI_Aint array_of_displacements[],
+                           const MPI_Datatype array_of_types[], MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (integer) --- also number of entries in arrays +array_of_types, array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of integer) + +
array_of_displacements
byte displacement of each block (array of address integer) + +
array_of_types
type of elements in each block (array of handles to +datatype objects) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html new file mode 100644 index 00000000..532a181a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html @@ -0,0 +1,82 @@ + + + + +MPI_Type_create_subarray + + +

MPI_Type_create_subarray

+Create a datatype for a subarray of a regular, multidimensional array +

Synopsis

+
+int MPI_Type_create_subarray(int ndims,
+                             const int array_of_sizes[],
+                             const int array_of_subsizes[],
+                             const int array_of_starts[],
+                             int order, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
ndims
number of array dimensions (positive integer) + +
array_of_sizes
number of elements of type oldtype in each dimension of the +full array (array of positive integers) + +
array_of_subsizes
number of elements of type oldtype in each dimension of +the subarray (array of positive integers) + +
array_of_starts
starting coordinates of the subarray in each dimension +(array of nonnegative integers) + +
order
array storage order flag (state) + +
oldtype
array element datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html new file mode 100644 index 00000000..b3188cee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html @@ -0,0 +1,61 @@ + + + + +MPI_Type_delete_attr + + +

MPI_Type_delete_attr

+Deletes an attribute value associated with a key on a datatype +

Synopsis

+
+int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval)
+
+

Input Parameters

+
+
datatype
MPI datatype to which attribute is attached (handle) + +
type_keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html new file mode 100644 index 00000000..85925be3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_dup + + +

MPI_Type_dup

+Duplicate a datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Type_dup
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
oldtype
datatype (handle) +
+

+

Output Parameters

+
newtype
copy of type (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html new file mode 100644 index 00000000..ad0797fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html @@ -0,0 +1,66 @@ + + + + +MPI_Type_extent + + +

MPI_Type_extent

+Returns the extent of a datatype +

Synopsis

+
+int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint * extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
extent
datatype extent (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_get_extent. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html new file mode 100644 index 00000000..6431f2d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html @@ -0,0 +1,73 @@ + + + + +MPI_Type_free + + +

MPI_Type_free

+Frees the datatype +

Synopsis

+
+int MPI_Type_free(MPI_Datatype * datatype)
+
+

Input Parameters

+
datatype
datatype that is freed (handle) +
+

+

Predefined types

+

+The MPI standard states that (in Opaque Objects) +

+

+MPI provides certain predefined opaque objects and predefined, static handles +to these objects. Such objects may not be destroyed. +

+

+

+Thus, it is an error to free a predefined datatype. The same section makes +it clear that it is an error to free a null datatype. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html new file mode 100644 index 00000000..d6d85226 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_free_keyval + + +

MPI_Type_free_keyval

+Frees an attribute key for datatypes +

Synopsis

+
+int MPI_Type_free_keyval(int *type_keyval)
+
+

Input Parameters

+
type_keyval
Frees the integer key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html new file mode 100644 index 00000000..aab32c65 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html @@ -0,0 +1,78 @@ + + + + +MPI_Type_get_attr + + +

MPI_Type_get_attr

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
datatype
datatype to which the attribute is attached (handle) + +
type_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
false if no attribute is associated with the key (logical) +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_Type_set_attr. The notes for C and Fortran below explain +why. +

+

Notes for C

+Even though the attr_value argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html new file mode 100644 index 00000000..44cb205a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html @@ -0,0 +1,68 @@ + + + + +MPI_Type_get_contents + + +

MPI_Type_get_contents

+get type contents +

Synopsis

+
+int MPI_Type_get_contents(MPI_Datatype datatype,
+                          int max_integers,
+                          int max_addresses,
+                          int max_datatypes,
+                          int array_of_integers[],
+                          MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
+
+

Input Parameters

+
+
datatype
datatype to access (handle) + +
max_integers
number of elements in array_of_integers (non-negative integer) + +
max_addresses
number of elements in array_of_addresses (non-negative integer) + +
max_datatypes
number of elements in array_of_datatypes (non-negative integer) +
+

+

Output Parameters

+
+
array_of_integers
contains integer arguments used in constructing the datatype (array of integers) + +
array_of_addresses
contains address arguments used in constructing the datatype (array of integers) + +
array_of_datatypes
contains datatype arguments used in constructing the datatype (array of handles) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html new file mode 100644 index 00000000..43d01384 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html @@ -0,0 +1,59 @@ + + + + +MPI_Type_get_envelope + + +

MPI_Type_get_envelope

+get type envelope +

Synopsis

+
+int MPI_Type_get_envelope(MPI_Datatype datatype,
+                          int *num_integers, int *num_addresses, int *num_datatypes, int *combiner)
+
+

Input Parameters

+
datatype
datatype to access (handle) +
+

+

Output Parameters

+
+
num_integers
number of input integers used in the call constructing combiner (non-negative integer) + +
num_addresses
number of input addresses used in the call constructing combiner (non-negative integer) + +
num_datatypes
number of input datatypes used in the call constructing combiner (non-negative integer) + +
combiner
combiner (state) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html new file mode 100644 index 00000000..c7076bc4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_get_extent + + +

MPI_Type_get_extent

+Get the lower bound and extent for a Datatype +

Synopsis

+
+int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint * lb, MPI_Aint * extent)
+
+

Input Parameters

+
datatype
datatype to get information on (handle) +
+

+

Output Parameters

+
+
lb
lower bound of datatype (address integer) + +
extent
extent of datatype (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html new file mode 100644 index 00000000..2e8ec6eb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_get_extent_x + + +

MPI_Type_get_extent_x

+Get the lower bound and extent as MPI_Count values for a Datatype +

Synopsis

+
+int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count * lb, MPI_Count * extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
+
lb
lower bound of datatype (integer) + +
extent
extent of datatype (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html new file mode 100644 index 00000000..05bf0f85 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html @@ -0,0 +1,88 @@ + + + + +MPI_Type_get_name + + +

MPI_Type_get_name

+Get the print name for a datatype +

Synopsis

+
+int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen)
+
+

Input Parameters

+
datatype
datatype whose name is to be returned (handle) +
+

+

Output Parameters

+
+
type_name
the name previously stored on the datatype, or a empty string +if no such name exists (string) + +
resultlen
length of returned name (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html new file mode 100644 index 00000000..03924893 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_get_true_extent + + +

MPI_Type_get_true_extent

+Get the true lower bound and extent for a datatype +

Synopsis

+
+int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint * true_lb, MPI_Aint * true_extent)
+
+

Input Parameters

+
datatype
datatype to get information on (handle) +
+

+

Output Parameters

+
+
true_lb
true lower bound of datatype (address integer) + +
true_extent
true size of datatype (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html new file mode 100644 index 00000000..164c70c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_get_true_extent_x + + +

MPI_Type_get_true_extent_x

+Get the true lower bound and extent as MPI_Count values for a datatype +

Synopsis

+
+int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count * true_lb, MPI_Count * true_extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
+
true_lb
true lower bound of datatype (integer) + +
true_extent
true extent of datatype (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html new file mode 100644 index 00000000..058de804 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html @@ -0,0 +1,111 @@ + + + + +MPI_Type_hindexed + + +

MPI_Type_hindexed

+Creates an indexed datatype with offsets in bytes +

Synopsis

+
+int MPI_Type_hindexed(int count,
+                      int *array_of_blocklengths,
+                      MPI_Aint * array_of_displacements,
+                      MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
byte displacement of each block (array of MPI_Aint) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +This routine is replaced by MPI_Type_create_hindexed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +

+    integer a(100)
+    integer array_of_blocklengths(10), array_of_displacements(10)
+    do i=1,10
+         array_of_blocklengths(i)   = 1
+10       array_of_displacements(i) = (1 + (i-1)*10) * sizeofint
+    call MPI_TYPE_HINDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html new file mode 100644 index 00000000..f5a99661 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html @@ -0,0 +1,60 @@ + + + + +MPI_Type_hvector + + +

MPI_Type_hvector

+type_hvector +

Synopsis

+
+int MPI_Type_hvector(int count,
+                     int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block +(nonnegative integer) + +
stride
number of bytes between start of each block (integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html new file mode 100644 index 00000000..a54e504a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html @@ -0,0 +1,103 @@ + + + + +MPI_Type_indexed + + +

MPI_Type_indexed

+Creates an indexed datatype +

Synopsis

+
+int MPI_Type_indexed(int count,
+                     const int *array_of_blocklengths,
+                     const int *array_of_displacements,
+                     MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
displacement of each block in multiples of oldtype (array of +integers) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +

+    integer a(100)
+    integer array_of_blocklengths(10), array_of_displacements(10)
+    do i=1,10
+         array_of_blocklengths(i)   = 1
+10       array_of_displacements(i) = 1 + (i-1)*10
+    call MPI_TYPE_INDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html new file mode 100644 index 00000000..a1b8af68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html @@ -0,0 +1,70 @@ + + + + +MPI_Type_lb + + +

MPI_Type_lb

+Returns the lower-bound of a datatype +

Synopsis

+
+int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint * displacement)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
displacement
displacement of lower bound from origin, +in bytes (address integer) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_Get_extent. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html new file mode 100644 index 00000000..02c25e7e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html @@ -0,0 +1,69 @@ + + + + +MPI_Type_match_size + + +

MPI_Type_match_size

+Find an MPI datatype matching a specified size +

Synopsis

+
+int MPI_Type_match_size(int typeclass, int size, MPI_Datatype * datatype)
+
+

Input Parameters

+
+
typeclass
generic type specifier (integer) + +
size
size, in bytes, of representation (integer) +
+

+

Output Parameters

+
datatype
datatype with correct type, size (handle) +
+

+

Notes

+typeclass is one of MPI_TYPECLASS_REAL, MPI_TYPECLASS_INTEGER and +MPI_TYPECLASS_COMPLEX, corresponding to the desired typeclass. +The function returns an MPI datatype matching a local variable of type +(typeclass, size). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html new file mode 100644 index 00000000..093723ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html @@ -0,0 +1,64 @@ + + + + +MPI_Type_set_attr + + +

MPI_Type_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val)
+
+

Input Parameters

+
+
datatype
MPI Datatype to which attribute will be attached (handle) + +
type_keyval
key value, as returned by MPI_Type_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+

+The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html new file mode 100644 index 00000000..b41f94ec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_set_name + + +

MPI_Type_set_name

+set datatype name +

Synopsis

+
+int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name)
+
+

Input Parameters

+
+
datatype
datatype whose identifier is to be set (handle) + +
type_name
the character string which is remembered as the name (string) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html new file mode 100644 index 00000000..acea1b7f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html @@ -0,0 +1,62 @@ + + + + +MPI_Type_size + + +

MPI_Type_size

+Return the number of bytes occupied by entries in the datatype +

Synopsis

+
+int MPI_Type_size(MPI_Datatype datatype, int *size)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
size
datatype size (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html new file mode 100644 index 00000000..3b44fbda --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html @@ -0,0 +1,55 @@ + + + + +MPI_Type_size_x + + +

MPI_Type_size_x

+Return the number of bytes occupied by entries in the datatype +

Synopsis

+
+int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count * size)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
size
datatype size (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html new file mode 100644 index 00000000..41a39dcd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html @@ -0,0 +1,128 @@ + + + + +MPI_Type_struct + + +

MPI_Type_struct

+Creates a struct datatype +

Synopsis

+
+int MPI_Type_struct(int count,
+                    int *array_of_blocklengths,
+                    MPI_Aint * array_of_displacements,
+                    MPI_Datatype * array_of_types, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (integer) -- also number of +entries in arrays array_of_types , +array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array) + +
array_of_displacements
byte displacement of each block (array) + +
array_of_types
type of elements in each block (array +of handles to datatype objects) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_create_struct + +

+

Notes

+If an upperbound is set explicitly by using the MPI datatype MPI_UB, the +corresponding index must be positive. +

+The MPI standard originally made vague statements about padding and alignment; +this was intended to allow the simple definition of structures that could +be sent with a count greater than one. For example, +

+    struct { int a; char b; } foo;
+
+ +may have sizeof(foo) > sizeof(int) + sizeof(char); for example, +sizeof(foo) == 2*sizeof(int). The initial version of the MPI standard +defined the extent of a datatype as including an epsilon that would have +allowed an implementation to make the extent an MPI datatype +for this structure equal to 2*sizeof(int). +However, since different systems might define different paddings, there was +much discussion by the MPI Forum about what was the correct value of +epsilon, and one suggestion was to define epsilon as zero. +This would have been the best thing to do in MPI 1.0, particularly since +the MPI_UB type allows the user to easily set the end of the structure. +Unfortunately, this change did not make it into the final document. +Currently, this routine does not add any padding, since the amount of +padding needed is determined by the compiler that the user is using to +build their code, not the compiler used to construct the MPI library. +A later version of MPICH may provide for some natural choices of padding +(e.g., multiple of the size of the largest basic member), but users are +advised to never depend on this, even with vendor MPI implementations. +Instead, if you define a structure datatype and wish to send or receive +multiple items, you should explicitly include an MPI_UB entry as the +last member of the structure. For example, the following code can be used +for the structure foo +
+    blen[0] = 1; array_of_displacements[0] = 0; oldtypes[0] = MPI_INT;
+    blen[1] = 1; array_of_displacements[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR;
+    blen[2] = 1; array_of_displacements[2] = sizeof(foo); oldtypes[2] = MPI_UB;
+    MPI_Type_struct(3, blen, array_of_displacements, oldtypes, &newtype);
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html new file mode 100644 index 00000000..f5b17016 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html @@ -0,0 +1,71 @@ + + + + +MPI_Type_ub + + +

MPI_Type_ub

+Returns the upper bound of a datatype +

Synopsis

+
+int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint * displacement)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
displacement
displacement of upper bound from origin, +in bytes (address integer) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_get_extent + +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html new file mode 100644 index 00000000..dcf5b1db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html @@ -0,0 +1,72 @@ + + + + +MPI_Type_vector + + +

MPI_Type_vector

+Creates a vector (strided) datatype +

Synopsis

+
+int MPI_Type_vector(int count,
+                    int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block +(nonnegative integer) + +
stride
number of elements between start of each block (integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html new file mode 100644 index 00000000..2efc413b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html @@ -0,0 +1,89 @@ + + + + +MPI_Unpack + + +

MPI_Unpack

+Unpack a buffer according to a datatype into contiguous memory +

Synopsis

+
+int MPI_Unpack(const void *inbuf, int insize, int *position,
+               void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm)
+
+

Input Parameters

+
+
inbuf
input buffer start (choice) + +
insize
size of input buffer, in bytes (integer) + +
outcount
number of items to be unpacked (integer) + +
datatype
datatype of each output data item (handle) + +
comm
communicator for packed message (handle) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Inout/Output Parameters

+
position
current position in bytes (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Pack, MPI_Pack_size +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html new file mode 100644 index 00000000..a9dba98c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html @@ -0,0 +1,80 @@ + + + + +MPI_Unpack_external + + +

MPI_Unpack_external

+Unpack a buffer (packed with MPI_Pack_external) according to a datatype into contiguous memory +

Synopsis

+
+int MPI_Unpack_external(const char datarep[],
+                        const void *inbuf,
+                        MPI_Aint insize,
+                        MPI_Aint * position, void *outbuf, int outcount, MPI_Datatype datatype)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
inbuf
input buffer start (choice) + +
insize
input buffer size, in bytes (address integer) + +
outcount
number of output data items (integer) + +
datatype
datatype of output data item (handle) + +

+

Input/Output Parameters

+
position
current position in buffer, in bytes (address integer) + +

+

Output Parameters

+
outbuf
output buffer start (choice) + +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. + +
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. + +
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). + + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html new file mode 100644 index 00000000..4a3c1919 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html @@ -0,0 +1,73 @@ + + + + +MPI_Unpublish_name + + +

MPI_Unpublish_name

+Unpublish a service name published with MPI_Publish_name +

Synopsis

+
+int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name)
+
+

Input Parameters

+
+
service_name
a service name (string) + +
info
implementation-specific information (handle) + +
port_name
a port name (string) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html new file mode 100644 index 00000000..434c1568 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html @@ -0,0 +1,84 @@ + + + + +MPI_Wait + + +

MPI_Wait

+Waits for an MPI request to complete +

Synopsis

+
+int MPI_Wait(MPI_Request * request, MPI_Status * status)
+
+

Input Parameters

+
request
request (handle) +
+

+

Output Parameters

+
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html new file mode 100644 index 00000000..386fcf9c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html @@ -0,0 +1,117 @@ + + + + +MPI_Waitall + + +

MPI_Waitall

+Waits for all given MPI Requests to complete +

Synopsis

+
+int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of request handles (array of handles) +
+

+

Output Parameters

+
array_of_statuses
array of status objects (array of Statuses). May be +MPI_STATUSES_IGNORE. +
+

+

Notes

+

+If one or more of the requests completes with an error, MPI_ERR_IN_STATUS is +returned. An error value will be present is elements of array_of_status +associated with the requests. Likewise, the MPI_ERROR field in the status +elements associated with requests that have successfully completed will be +MPI_SUCCESS. Finally, those requests that have not completed will have a +value of MPI_ERR_PENDING. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html new file mode 100644 index 00000000..cbce99bf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html @@ -0,0 +1,96 @@ + + + + +MPI_Waitany + + +

MPI_Waitany

+Waits for any specified MPI Request to complete +

Synopsis

+
+int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status * status)
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
indx
index of handle for operation that completed (integer). In the +range 0 to count-1. In Fortran, the range is 1 to count. + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+If all of the requests are MPI_REQUEST_NULL, then indx is returned as +MPI_UNDEFINED, and status is returned as an empty status. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html new file mode 100644 index 00000000..94efce11 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html @@ -0,0 +1,132 @@ + + + + +MPI_Waitsome + + +

MPI_Waitsome

+Waits for some given MPI Requests to complete +

Synopsis

+
+int MPI_Waitsome(int incount, MPI_Request array_of_requests[],
+                 int *outcount, int array_of_indices[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
incount
length of array_of_requests (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
outcount
number of completed requests (integer) + +
array_of_indices
array of indices of operations that +completed (array of integers) + +
array_of_statuses
array of status objects for +operations that completed (array of Status). May be MPI_STATUSES_IGNORE. +
+

+

Notes

+The array of indicies are in the range 0 to incount - 1 for C and +in the range 1 to incount for Fortran. +

+Null requests are ignored; if all requests are null, then the routine +returns with outcount set to MPI_UNDEFINED. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+MPI_Waitsome provides an interface much like the Unix select or poll +calls and, in a high qualilty implementation, indicates all of the requests +that have completed when MPI_Waitsome is called. +However, MPI_Waitsome only guarantees that at least one +request has completed; there is no guarantee that all completed requests +will be returned, or that the entries in array_of_indices will be in +increasing order. Also, requests that are completed while MPI_Waitsome is +executing may or may not be returned, depending on the timing of the +completion of the message. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html new file mode 100644 index 00000000..9722c8f6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_allocate + + +

MPI_Win_allocate

+Create and allocate an MPI Window object for one-sided communication. +

Synopsis

+
+int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
+                     MPI_Comm comm, void *baseptr, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. On +each process, it allocates memory of at least size bytes, returns a pointer to +it, and returns a window object that can be used by all processes in comm to +perform RMA operations. The returned memory consists of size bytes local to +each process, starting at address baseptr and is associated with the window as +if the user called MPI_Win_create on existing memory. The size argument may be +different at each process and size = 0 is valid; however, a library might +allocate and expose more memory in order to create a fast, globally symmetric +allocation. +

+

Input Parameters

+
size
size of window in bytes (nonnegative integer) +
+
disp_unit
local unit size for displacements, in bytes (positive integer) +
+
info
info argument (handle) +
+
comm
communicator (handle) +
+
+

+

Output Parameters

+
baseptr
base address of the window in local memory +
+
win
window object returned by the call (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+MPI_Win_allocate_shared MPI_Win_create MPI_Win_create_dynamic MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html new file mode 100644 index 00000000..fa47322a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html @@ -0,0 +1,103 @@ + + + + +MPI_Win_allocate_shared + + +

MPI_Win_allocate_shared

+Create an MPI Window object for one-sided communication and shared memory access, and allocate memory at each process. +

Synopsis

+
+int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm,
+                            void *baseptr, MPI_Win * win)
+
+This is a collective call executed by all processes in the group of comm. On +each process i, it allocates memory of at least size bytes that is shared among +all processes in comm, and returns a pointer to the locally allocated segment +in baseptr that can be used for load/store accesses on the calling process. The +locally allocated memory can be the target of load/store accesses by remote +processes; the base pointers for other processes can be queried using the +function MPI_Win_shared_query. +

+The call also returns a window object that can be used by all processes in comm +to perform RMA operations. The size argument may be different at each process +and size = 0 is valid. It is the user's responsibility to ensure that the +communicator comm represents a group of processes that can create a shared +memory segment that can be accessed by all processes in the group. The +allocated memory is contiguous across process ranks unless the info key +alloc_shared_noncontig is specified. Contiguous across process ranks means that +the first address in the memory segment of process i is consecutive with the +last address in the memory segment of process i − 1. This may enable the user +to calculate remote address offsets with local information only. +

+

Input Parameters

+
size
size of window in bytes (nonnegative integer) +
+
disp_unit
local unit size for displacements, in bytes (positive integer) +
+
info
info argument (handle) +
+
comm
communicator (handle) +
+ +

+

Output Parameters

+
baseptr
initial address of window (choice) +
+
win
window object returned by the call (handle) +
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_allocate MPI_Win_create MPI_Win_create_dynamic MPI_Win_free MPI_Win_shared_query +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html new file mode 100644 index 00000000..98405324 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html @@ -0,0 +1,86 @@ + + + + +MPI_Win_attach + + +

MPI_Win_attach

+Attach memory to a dynamic window. +

Synopsis

+
+int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size)
+
+

+Attaches a local memory region beginning at base for remote access within the +given window. The memory region specified must not contain any part that is +already attached to the window win, that is, attaching overlapping memory +concurrently within the same window is erroneous. The argument win must be a +window that was created with MPI_Win_create_dynamic. Multiple (but +non-overlapping) memory regions may be attached to the same window. +

+

Input Parameters

+
+
size
size of memory to be attached in bytes + +
base
initial address of memory to be attached + +
win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_create_dynamic MPI_Win_detach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html new file mode 100644 index 00000000..35e07340 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html @@ -0,0 +1,69 @@ + + + + +MPI_Win_call_errhandler + + +

MPI_Win_call_errhandler

+Call the error handler installed on a window object +

Synopsis

+
+int MPI_Win_call_errhandler(MPI_Win win, int errorcode)
+
+

Input Parameters

+
+
win
window with error handler (handle) + +
errorcode
error code (integer) +
+

+

Note

+Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html new file mode 100644 index 00000000..ca9b7752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html @@ -0,0 +1,58 @@ + + + + +MPI_Win_complete + + +

MPI_Win_complete

+Completes an RMA operations begun after an MPI_Win_start. +

Synopsis

+
+int MPI_Win_complete(MPI_Win win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html new file mode 100644 index 00000000..cd7ddd25 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html @@ -0,0 +1,125 @@ + + + + +MPI_Win_create + + +

MPI_Win_create

+Create an MPI Window object for one-sided communication +

Synopsis

+
+int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info,
+                   MPI_Comm comm, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. It +returns a window object that can be used by these processes to perform RMA +operations. Each process specifies a window of existing memory that it exposes +to RMA accesses by the processes in the group of comm. The window consists of +size bytes, starting at address base. In C, base is the starting address of a +memory region. In Fortran, one can pass the first element of a memory region or +a whole array, which must be 'simply contiguous' (for 'simply contiguous', see +also MPI 3.0, Section 17.1.12 on page 626). A process may elect to expose no +memory by specifying size = 0. +

+

Input Parameters

+
+
base
initial address of window (choice) + +
size
size of window in bytes (nonnegative integer) + +
disp_unit
local unit size for displacements, in bytes (positive integer) + +
info
info argument (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
win
window object returned by the call (handle) +
+

+

Notes

+

+The displacement unit argument is provided to facilitate address arithmetic in +RMA operations: the target displacement argument of an RMA operation is scaled +by the factor disp_unit specified by the target process, at window creation. +

+The info argument provides optimization hints to the runtime about the expected +usage pattern of the window. The following info keys are predefined. +

+

no_locks
If set to true, then the implementation may assume that passive +target synchronization (i.e., MPI_Win_lock, MPI_Win_lock_all) will not be used on +the given window. This implies that this window is not used for 3-party +communication, and RMA can be implemented with no (less) asynchronous agent +activity at this process. +
+

+

accumulate_ordering
Controls the ordering of accumulate operations at the +target. The argument string should contain a comma-separated list of the +following read/write ordering rules, where e.g. "raw" means read-after-write: +"rar,raw,war,waw". +
+

+

accumulate_ops
If set to same_op, the implementation will assume that all +concurrent accumulate calls to the same target address will use the same +operation. If set to same_op_no_op, then the implementation will assume that +all concurrent accumulate calls to the same target address will use the same +operation or MPI_NO_OP. This can eliminate the need to protect access for +certain operation types where the hardware can guarantee atomicity. The default +is same_op_no_op. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create_dynamic MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html new file mode 100644 index 00000000..dcb018db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html @@ -0,0 +1,106 @@ + + + + +MPI_Win_create_dynamic + + +

MPI_Win_create_dynamic

+Create an MPI Window object for one-sided communication. This window allows memory to be dynamically exposed and un-exposed for RMA operations. +

Synopsis

+
+int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. It +returns a window win without memory attached. Existing process memory can be +attached as described below. This routine returns a window object that can be +used by these processes to perform RMA operations on attached memory. Because +this window has special properties, it will sometimes be referred to as a +dynamic window. The info argument can be used to specify hints similar to the +info argument for MPI_Win_create. +

+In the case of a window created with MPI_Win_create_dynamic, the target_disp +for all RMA functions is the address at the target; i.e., the effective +window_base is MPI_BOTTOM and the disp_unit is one. For dynamic windows, the +target_disp argument to RMA communication operations is not restricted to +non-negative values. Users should use MPI_Get_address at the target process to +determine the address of a target memory location and communicate this address +to the origin process. +

+

Input Parameters

+
+
info
info argument (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
win
window object returned by the call (handle) +
+

+

Notes

+

+Users are cautioned that displacement arithmetic can overflow in variables of +type MPI_Aint and result in unexpected values on some platforms. This issue may +be addressed in a future version of MPI. +

+Memory in this window may not be used as the target of one-sided accesses in +this window until it is attached using the function MPI_Win_attach. That is, in +addition to using MPI_Win_create_dynamic to create an MPI window, the user must +use MPI_Win_attach before any local memory may be the target of an MPI RMA +operation. Only memory that is currently accessible may be attached. +

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_attach MPI_Win_detach MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html new file mode 100644 index 00000000..ef46516f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html @@ -0,0 +1,61 @@ + + + + +MPI_Win_create_errhandler + + +

MPI_Win_create_errhandler

+Create an error handler for use with MPI window objects +

Synopsis

+
+int MPI_Win_create_errhandler(MPI_Win_errhandler_function * win_errhandler_fn,
+                              MPI_Errhandler * errhandler)
+
+

Input Parameters

+
win_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html new file mode 100644 index 00000000..5732c70d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html @@ -0,0 +1,88 @@ + + + + +MPI_Win_create_keyval + + +

MPI_Win_create_keyval

+Create an attribute keyval for MPI window objects +

Synopsis

+
+int MPI_Win_create_keyval(MPI_Win_copy_attr_function * win_copy_attr_fn,
+                          MPI_Win_delete_attr_function * win_delete_attr_fn,
+                          int *win_keyval, void *extra_state)
+
+

Input Parameters

+
+
win_copy_attr_fn
copy callback function for win_keyval (function) + +
win_delete_attr_fn
delete callback function for win_keyval (function) + +
extra_state
extra state for callback functions +
+

+

Output Parameters

+
win_keyval
key value for future access (integer) +
+

+

Notes

+Default copy and delete functions are available. These are +
+
MPI_WIN_NULL_COPY_FN
empty copy function + +
MPI_WIN_NULL_DELETE_FN
empty delete function + +
MPI_WIN_DUP_FN
simple dup function +
+

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html new file mode 100644 index 00000000..bd59293e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html @@ -0,0 +1,63 @@ + + + + +MPI_Win_delete_attr + + +

MPI_Win_delete_attr

+Deletes an attribute value associated with a key on a datatype +

Synopsis

+
+int MPI_Win_delete_attr(MPI_Win win, int win_keyval)
+
+

Input Parameters

+
+
win
window from which the attribute is deleted (handle) + +
win_keyval
key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html new file mode 100644 index 00000000..a6648c52 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html @@ -0,0 +1,84 @@ + + + + +MPI_Win_detach + + +

MPI_Win_detach

+Detach memory from a dynamic window +

Synopsis

+
+int MPI_Win_detach(MPI_Win win, const void *base)
+
+

+Detaches a previously attached memory region beginning at base. The arguments +base and win must match the arguments passed to a previous call to +MPI_Win_attach. +

+

Input Parameters

+
+
base
initial address of memory to be detached + +
win
window object used for communication (handle) +
+

+

Notes

+Memory also becomes detached when the associated dynamic memory window is freed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_create_dynamic MPI_Win_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html new file mode 100644 index 00000000..7e248da2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html @@ -0,0 +1,83 @@ + + + + +MPI_Win_fence + + +

MPI_Win_fence

+Perform an MPI fence synchronization on a MPI window +

Synopsis

+
+int MPI_Win_fence(int assert, MPI_Win win)
+
+

Input Parameters

+
+
assert
program assertion (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_fence +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_fence are: +

+

+
MPI_MODE_NOSTORE
the local window was not updated by local stores +(or local get or receive calls) since last synchronization. + +
MPI_MODE_NOPUT
the local window will not be updated by put or accumulate +calls after the fence call, until the ensuing (fence) synchronization. + +
MPI_MODE_NOPRECEDE
the fence does not complete any sequence of locally +issued RMA calls. If this assertion is given by any process in the window +group, then it must be given by all processes in the group. + +
MPI_MODE_NOSUCCEED
the fence does not start any sequence of locally +issued RMA calls. If the assertion is given by any process in the window +group, then it must be given by all processes in the group. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html new file mode 100644 index 00000000..022bc752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html @@ -0,0 +1,74 @@ + + + + +MPI_Win_flush + + +

MPI_Win_flush

+Complete all outstanding RMA operations at the given target. +

Synopsis

+
+int MPI_Win_flush(int rank, MPI_Win win)
+
+

+MPI_Win_flush completes all outstanding RMA operations initiated by the calling +process to the target rank on the specified window. The operations are +completed both at the origin and at the target. +

+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html new file mode 100644 index 00000000..0ddbf5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_flush_all + + +

MPI_Win_flush_all

+Complete all outstanding RMA operations at all targets +

Synopsis

+
+int MPI_Win_flush_all(MPI_Win win)
+
+

+All RMA operations issued by the calling process to any target on the specified +window prior to this call and in the specified window will have completed +both at the origin and at the target when this call returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html new file mode 100644 index 00000000..a5fe82c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html @@ -0,0 +1,75 @@ + + + + +MPI_Win_flush_local + + +

MPI_Win_flush_local

+Complete locally all outstanding RMA operations at the given target +

Synopsis

+
+int MPI_Win_flush_local(int rank, MPI_Win win)
+
+

+Locally completes at the origin all outstanding RMA operations initiated by the +calling process to the target process specified by rank on the specified +window. For example, after this routine completes, the user may reuse any +buffers provided to put, get, or accumulate operations. +

+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html new file mode 100644 index 00000000..b0a2fc6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html @@ -0,0 +1,70 @@ + + + + +MPI_Win_flush_local_all + + +

MPI_Win_flush_local_all

+Complete locally all outstanding RMA operations at all targets +

Synopsis

+
+int MPI_Win_flush_local_all(MPI_Win win)
+
+

+All RMA operations issued to any target prior to this call in this window will +have completed at the origin when MPI_Win_flush_local_all returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html new file mode 100644 index 00000000..50c163e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html @@ -0,0 +1,61 @@ + + + + +MPI_Win_free + + +

MPI_Win_free

+Free an MPI RMA window +

Synopsis

+
+int MPI_Win_free(MPI_Win * win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Notes

+If successfully freed, win is set to MPI_WIN_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html new file mode 100644 index 00000000..a99c1322 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html @@ -0,0 +1,60 @@ + + + + +MPI_Win_free_keyval + + +

MPI_Win_free_keyval

+Frees an attribute key for MPI RMA windows +

Synopsis

+
+int MPI_Win_free_keyval(int *win_keyval)
+
+

Input Parameters

+
win_keyval
key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html new file mode 100644 index 00000000..0b0401cf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html @@ -0,0 +1,81 @@ + + + + +MPI_Win_get_attr + + +

MPI_Win_get_attr

+Get attribute cached on an MPI window object +

Synopsis

+
+int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
win
window to which the attribute is attached (handle) + +
win_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag is false + +
flag
false if no attribute is associated with the key (logical) +
+

+

Notes

+The following attributes are predefined for all MPI Window objects: +

+

+
MPI_WIN_BASE
window base address. + +
MPI_WIN_SIZE
window size, in bytes. + +
MPI_WIN_DISP_UNIT
displacement unit associated with the window. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html new file mode 100644 index 00000000..68d41be1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html @@ -0,0 +1,62 @@ + + + + +MPI_Win_get_errhandler + + +

MPI_Win_get_errhandler

+Get the error handler for the MPI RMA window +

Synopsis

+
+int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
win
window (handle) +
+

+

Output Parameters

+
errhandler
error handler currently associated with window (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html new file mode 100644 index 00000000..28528920 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_get_group + + +

MPI_Win_get_group

+Get the MPI Group of the window object +

Synopsis

+
+int MPI_Win_get_group(MPI_Win win, MPI_Group * group)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
group
group of processes which share access to the window (handle) +
+

+

Notes

+The group is a duplicate of the group from the communicator used to +create the MPI window, and should be freed with MPI_Group_free when +it is no longer needed. This group can be used to form the group of +neighbors for the routines MPI_Win_post and MPI_Win_start. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html new file mode 100644 index 00000000..251cfb1c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html @@ -0,0 +1,84 @@ + + + + +MPI_Win_get_info + + +

MPI_Win_get_info

+Returns a new info object containing the hints of the window associated with win. +

Synopsis

+
+int MPI_Win_get_info(MPI_Win win, MPI_Info * info_used)
+
+

+The current setting of all hints actually used by the system related to this +window is returned in info_used. If no such hints exist, a handle to a newly +created info object is returned that contains no key/value pair. The user is +responsible for freeing info_used via MPI_Info_free. +

+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
info_used
new info argument (handle) +
+

+

Notes

+

+The info object returned in info_used will contain all hints currently active +for this window. This set of hints may be greater or smaller than the set of +hints specified when the window was created, as the system may not recognize +some hints set by the user, and may recognize other hints that the user has not +set. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_set_info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html new file mode 100644 index 00000000..7eb28e54 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html @@ -0,0 +1,76 @@ + + + + +MPI_Win_get_name + + +

MPI_Win_get_name

+Get the print name associated with the MPI RMA window +

Synopsis

+
+int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen)
+
+

Input Parameters

+
win
window whose name is to be returned (handle) +
+

+

Output Parameters

+
+
win_name
the name previously stored on the window, or a empty string if +no such name exists (string) + +
resultlen
length of returned name (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html new file mode 100644 index 00000000..7fc01d34 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_lock + + +

MPI_Win_lock

+Begin an RMA access epoch at the target process. +

Synopsis

+
+int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win)
+
+

Input Parameters

+
+
lock_type
Indicates whether other processes may access the target +window at the same time (if MPI_LOCK_SHARED) or not (MPI_LOCK_EXCLUSIVE) + +
rank
rank of locked window (nonnegative integer) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+

+The name of this routine is misleading. In particular, this +routine need not block, except when the target process is the calling +process. +

+Implementations may restrict the use of RMA communication that is +synchronized +by lock calls to windows in memory allocated by MPI_Alloc_mem. Locks can +be used portably only in such memory. +

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_lock +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_lock are: +

+

MPI_MODE_NOCHECK
no other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html new file mode 100644 index 00000000..ef44acd4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html @@ -0,0 +1,98 @@ + + + + +MPI_Win_lock_all + + +

MPI_Win_lock_all

+Begin an RMA access epoch at all processes on the given window. +

Synopsis

+
+int MPI_Win_lock_all(int assert, MPI_Win win)
+
+

+Starts an RMA access epoch to all processes in win, with a lock type of +MPI_Lock_shared. During the epoch, the calling process can access the window +memory on all processes in win by using RMA operations. A window locked with +MPI_Win_lock_all must be unlocked with MPI_Win_unlock_all. This routine is not +collective -- the ALL refers to a lock on all members of the group of the +window. +

+

Input Parameters

+
+
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+

+This call is not collective. +

+The assert argument is used to indicate special conditions for the fence that +an implementation may use to optimize the MPI_Win_lock_all operation. The +value zero is always correct. Other assertion values may be or'ed together. +Assertions that are valid for MPI_Win_lock_all are: +

+

MPI_MODE_NOCHECK
No other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +
+

+There may be additional overheads associated with using MPI_Win_lock and +MPI_Win_lock_all concurrently on the same window. These overheads could be +avoided by specifying the assertion MPI_MODE_NOCHECK when possible +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_unlock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html new file mode 100644 index 00000000..1af2eb3a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html @@ -0,0 +1,72 @@ + + + + +MPI_Win_post + + +

MPI_Win_post

+Start an RMA exposure epoch +

Synopsis

+
+int MPI_Win_post(MPI_Group group, int assert, MPI_Win win)
+
+

Input Parameters

+
+
group
group of origin processes (handle) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_post +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_post are: +

+

+
MPI_MODE_NOCHECK
the matching calls to MPI_WIN_START have not yet +occurred on any origin processes when the call to MPI_WIN_POST is made. +The nocheck option can be specified by a post call if and only if it is +specified by each matching start call. + +
MPI_MODE_NOSTORE
the local window was not updated by local stores (or +local get or receive calls) since last synchronization. This may avoid +the need for cache synchronization at the post call. + +
MPI_MODE_NOPUT
the local window will not be updated by put or accumulate +calls after the post call, until the ensuing (wait) synchronization. This +may avoid the need for cache synchronization at the wait call. +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html new file mode 100644 index 00000000..7acf4cfa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_set_attr + + +

MPI_Win_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val)
+
+

Input Parameters

+
+
win
MPI window object to which attribute will be attached (handle) + +
win_keyval
key value, as returned by MPI_Win_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+

+The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html new file mode 100644 index 00000000..b69ef690 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html @@ -0,0 +1,65 @@ + + + + +MPI_Win_set_errhandler + + +

MPI_Win_set_errhandler

+Set window error handler +

Synopsis

+
+int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
win
window (handle) + +
errhandler
new error handler for window (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html new file mode 100644 index 00000000..0ab8cd83 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html @@ -0,0 +1,82 @@ + + + + +MPI_Win_set_info + + +

MPI_Win_set_info

+Set new values for the hints of the window associated with win. +

Synopsis

+
+int MPI_Win_set_info(MPI_Win win, MPI_Info info)
+
+

+The call is collective on the group of win. The info object may be different on +each process, but any info entries that an implementation requires to be the +same on all processes must appear with the same value in each process' info +object. +

+

Input Parameters

+
+
win
window object (handle) + +
info
info argument (handle) +
+

+

Notes

+

+Some info items that an implementation can use when it creates a window cannot +easily be changed once the window has been created. Thus, an implementation may +ignore hints issued in this call that it would have accepted in a creation +call. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_get_info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html new file mode 100644 index 00000000..a86ea77c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html @@ -0,0 +1,64 @@ + + + + +MPI_Win_set_name + + +

MPI_Win_set_name

+Set the print name for an MPI RMA window +

Synopsis

+
+int MPI_Win_set_name(MPI_Win win, const char *win_name)
+
+

Input Parameters

+
+
win
window whose identifier is to be set (handle) + +
win_name
the character string which is remembered as the name (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html new file mode 100644 index 00000000..054bfdc3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_shared_query + + +

MPI_Win_shared_query

+Query the size and base pointer for a patch of a shared memory window. +

Synopsis

+
+int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint * size, int *disp_unit, void *baseptr)
+
+

+This function queries the process-local address for remote memory segments +created with MPI_Win_allocate_shared. This function can return different +process-local addresses for the same physical memory on different processes. +

+The returned memory can be used for load/store accesses subject to the +constraints defined in MPI 3.0, Section 11.7. This function can only be called +with windows of type MPI_Win_flavor_shared. If the passed window is not of +flavor MPI_Win_flavor_shared, the error MPI_ERR_RMA_FLAVOR is raised. When rank +is MPI_PROC_NULL, the pointer, disp_unit, and size returned are the pointer, +disp_unit, and size of the memory segment belonging the lowest rank that +specified size > 0. If all processes in the group attached to the window +specified size = 0, then the call returns size = 0 and a baseptr as if +MPI_Alloc_mem was called with size = 0. +

+

Input Parameters

+
+
win
window object used for communication (handle) + +
rank
target rank +
+

+

Output Parameters

+
+
size
size of the segment at the given rank + +
disp_unit
local unit size for displacements, in bytes (positive integer) + +
baseptr
base pointer in the calling process' address space of the shared +segment belonging to the target rank. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_allocate_shared +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html new file mode 100644 index 00000000..777da4c2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html @@ -0,0 +1,79 @@ + + + + +MPI_Win_start + + +

MPI_Win_start

+Start an RMA access epoch for MPI +

Synopsis

+
+int MPI_Win_start(MPI_Group group, int assert, MPI_Win win)
+
+

Input Parameters

+
+
group
group of target processes (handle) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_start +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions tha are valid for MPI_Win_start are: +

+

MPI_MODE_NOCHECK
the matching calls to MPI_WIN_POST have already +completed on all target processes when the call to MPI_WIN_START is made. +The nocheck option can be specified in a start call if and only if it is +specified in each matching post call. This is similar to the optimization +of ready-send that may save a handshake when the handshake is implicit in +the code. (However, ready-send is matched by a regular receive, whereas +both start and post must specify the nocheck option.) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html new file mode 100644 index 00000000..6a9ff2e7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html @@ -0,0 +1,73 @@ + + + + +MPI_Win_sync + + +

MPI_Win_sync

+Synchronize public and private copies of the given window. +

Synopsis

+
+int MPI_Win_sync(MPI_Win win)
+
+

+The call MPI_Win_sync synchronizes the private and public window copies of win. +For the purposes of synchronizing the private and public window, MPI_Win_sync +has the effect of ending and reopening an access and exposure epoch on the +window (note that it does not actually end an epoch or complete any pending MPI +RMA operations). +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html new file mode 100644 index 00000000..70edfde7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html @@ -0,0 +1,72 @@ + + + + +MPI_Win_test + + +

MPI_Win_test

+Test whether an RMA exposure epoch has completed +

Synopsis

+
+int MPI_Win_test(MPI_Win win, int *flag)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
flag
success flag (logical) +
+

+

Notes

+This is the nonblocking version of MPI_Win_wait. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Win_wait, MPI_Win_post +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html new file mode 100644 index 00000000..caeb67ad --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html @@ -0,0 +1,69 @@ + + + + +MPI_Win_unlock + + +

MPI_Win_unlock

+Completes an RMA access epoch at the target process +

Synopsis

+
+int MPI_Win_unlock(int rank, MPI_Win win)
+
+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_lock +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html new file mode 100644 index 00000000..fd2a9997 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html @@ -0,0 +1,74 @@ + + + + +MPI_Win_unlock_all + + +

MPI_Win_unlock_all

+Completes an RMA access epoch at all processes on the given window. +

Synopsis

+
+int MPI_Win_unlock_all(MPI_Win win)
+
+

+Completes a shared RMA access epoch started by a call to +MPI_Win_lock_all. RMA operations issued during this epoch will +have completed both at the origin and at the target when the call returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Notes

+This call is not collective. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html new file mode 100644 index 00000000..8d1904f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html @@ -0,0 +1,58 @@ + + + + +MPI_Win_wait + + +

MPI_Win_wait

+Completes an RMA exposure epoch begun with MPI_Win_post +

Synopsis

+
+int MPI_Win_wait(MPI_Win win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html new file mode 100644 index 00000000..1bf3876a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html @@ -0,0 +1,23 @@ + + + + +MPI_Wtick + + +

MPI_Wtick

+Returns the resolution of MPI_Wtime +

Synopsis

+
+double MPI_Wtick(void)
+
+

Return value

+Time in seconds of resolution of MPI_Wtime +

+

Notes for Fortran

+This is a function, declared as DOUBLE PRECISION MPI_WTICK() in Fortran. +

+

See Also

+also: MPI_Wtime, MPI_Comm_get_attr, MPI_Attr_get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html new file mode 100644 index 00000000..0da7ae06 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html @@ -0,0 +1,29 @@ + + + + +MPI_Wtime + + +

MPI_Wtime

+Returns an elapsed time on the calling processor +

Synopsis

+
+double MPI_Wtime(void)
+
+

Return value

+Time in seconds since an arbitrary time in the past. +

+

Notes

+This is intended to be a high-resolution, elapsed (or wall) clock. +See MPI_WTICK to determine the resolution of MPI_WTIME. +If the attribute MPI_WTIME_IS_GLOBAL is defined and true, then the +value is synchronized across all processes in MPI_COMM_WORLD. +

+

Notes for Fortran

+This is a function, declared as DOUBLE PRECISION MPI_WTIME() in Fortran. +

+

See Also

+also: MPI_Wtick, MPI_Comm_get_attr, MPI_Attr_get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/index.htm b/macx64/mpi/mpich/share/doc/mpich/www3/index.htm new file mode 100644 index 00000000..1679df39 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/index.htm @@ -0,0 +1,551 @@ + + +Web pages for MPI Routines and Constants + + + +

Web pages for MPI Routines and Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstantsMPI_File_read_ordered_endMPI_Rget_accumulate
MPIR_Type_commitMPI_File_read_sharedMPI_Rput
MPIR_Type_contiguousMPI_File_seekMPI_Rsend
MPIR_Type_dupMPI_File_seek_sharedMPI_Rsend_init
MPIR_Type_get_contentsMPI_File_set_atomicityMPI_Scan
MPIR_Type_indexedMPI_File_set_errhandlerMPI_Scatter
MPIR_Type_structMPI_File_set_infoMPI_Scatterv
MPIR_Type_vectorMPI_File_set_sizeMPI_Send
MPIX_Comm_agreeMPI_File_set_viewMPI_Send_init
MPIX_Comm_failure_ackMPI_File_syncMPI_Sendrecv
MPIX_Comm_failure_get_ackedMPI_File_writeMPI_Sendrecv_replace
MPIX_Comm_revokeMPI_File_write_allMPI_Ssend
MPIX_Comm_shrinkMPI_File_write_all_beginMPI_Ssend_init
MPI_AbortMPI_File_write_all_endMPI_Start
MPI_AccumulateMPI_File_write_atMPI_Startall
MPI_Add_error_classMPI_File_write_at_allMPI_Status_set_cancelled
MPI_Add_error_codeMPI_File_write_at_all_beginMPI_Status_set_elements
MPI_Add_error_stringMPI_File_write_at_all_endMPI_Status_set_elements_x
MPI_AddressMPI_File_write_orderedMPI_T_category_changed
MPI_Aint_addMPI_File_write_ordered_beginMPI_T_category_get_categories
MPI_Aint_diffMPI_File_write_ordered_endMPI_T_category_get_cvars
MPI_AllgatherMPI_File_write_sharedMPI_T_category_get_info
MPI_AllgathervMPI_FinalizeMPI_T_category_get_num
MPI_Alloc_memMPI_FinalizedMPI_T_category_get_pvars
MPI_AllreduceMPI_Free_memMPI_T_cvar_get_info
MPI_AlltoallMPI_GatherMPI_T_cvar_get_num
MPI_AlltoallvMPI_GathervMPI_T_cvar_handle_alloc
MPI_AlltoallwMPI_GetMPI_T_cvar_handle_free
MPI_Attr_deleteMPI_Get_accumulateMPI_T_cvar_read
MPI_Attr_getMPI_Get_addressMPI_T_cvar_write
MPI_Attr_putMPI_Get_countMPI_T_enum_get_info
MPI_BarrierMPI_Get_elementsMPI_T_enum_get_item
MPI_BcastMPI_Get_elements_xMPI_T_finalize
MPI_BsendMPI_Get_library_versionMPI_T_init_thread
MPI_Bsend_initMPI_Get_processor_nameMPI_T_pvar_get_info
MPI_Buffer_attachMPI_Get_versionMPI_T_pvar_get_num
MPI_Buffer_detachMPI_Graph_createMPI_T_pvar_handle_alloc
MPI_CancelMPI_Graph_getMPI_T_pvar_handle_free
MPI_Cart_coordsMPI_Graph_mapMPI_T_pvar_read
MPI_Cart_createMPI_Graph_neighborsMPI_T_pvar_readreset
MPI_Cart_getMPI_Graph_neighbors_countMPI_T_pvar_reset
MPI_Cart_mapMPI_Graphdims_getMPI_T_pvar_session_create
MPI_Cart_rankMPI_Grequest_completeMPI_T_pvar_session_free
MPI_Cart_shiftMPI_Grequest_startMPI_T_pvar_start
MPI_Cart_subMPI_Group_compareMPI_T_pvar_stop
MPI_Cartdim_getMPI_Group_differenceMPI_T_pvar_write
MPI_Close_portMPI_Group_exclMPI_Test
MPI_Comm_acceptMPI_Group_freeMPI_Test_cancelled
MPI_Comm_call_errhandlerMPI_Group_inclMPI_Testall
MPI_Comm_compareMPI_Group_intersectionMPI_Testany
MPI_Comm_connectMPI_Group_range_exclMPI_Testsome
MPI_Comm_createMPI_Group_range_inclMPI_Topo_test
MPI_Comm_create_errhandlerMPI_Group_rankMPI_Type_commit
MPI_Comm_create_groupMPI_Group_sizeMPI_Type_contiguous
MPI_Comm_create_keyvalMPI_Group_translate_ranksMPI_Type_create_darray
MPI_Comm_delete_attrMPI_Group_unionMPI_Type_create_hindexed
MPI_Comm_disconnectMPI_IallgatherMPI_Type_create_hindexed_block
MPI_Comm_dupMPI_IallgathervMPI_Type_create_hvector
MPI_Comm_dup_with_infoMPI_IallreduceMPI_Type_create_indexed_block
MPI_Comm_freeMPI_IalltoallMPI_Type_create_keyval
MPI_Comm_free_keyvalMPI_IalltoallvMPI_Type_create_resized
MPI_Comm_get_attrMPI_IalltoallwMPI_Type_create_struct
MPI_Comm_get_errhandlerMPI_IbarrierMPI_Type_create_subarray
MPI_Comm_get_infoMPI_IbcastMPI_Type_delete_attr
MPI_Comm_get_nameMPI_IbsendMPI_Type_dup
MPI_Comm_get_parentMPI_IexscanMPI_Type_extent
MPI_Comm_groupMPI_IgatherMPI_Type_free
MPI_Comm_idupMPI_IgathervMPI_Type_free_keyval
MPI_Comm_joinMPI_ImprobeMPI_Type_get_attr
MPI_Comm_rankMPI_ImrecvMPI_Type_get_contents
MPI_Comm_remote_groupMPI_Ineighbor_allgatherMPI_Type_get_envelope
MPI_Comm_remote_sizeMPI_Ineighbor_allgathervMPI_Type_get_extent
MPI_Comm_set_attrMPI_Ineighbor_alltoallMPI_Type_get_extent_x
MPI_Comm_set_errhandlerMPI_Ineighbor_alltoallvMPI_Type_get_name
MPI_Comm_set_infoMPI_Ineighbor_alltoallwMPI_Type_get_true_extent
MPI_Comm_set_nameMPI_Info_createMPI_Type_get_true_extent_x
MPI_Comm_sizeMPI_Info_deleteMPI_Type_hindexed
MPI_Comm_spawnMPI_Info_dupMPI_Type_hvector
MPI_Comm_spawn_multipleMPI_Info_freeMPI_Type_indexed
MPI_Comm_splitMPI_Info_getMPI_Type_lb
MPI_Comm_split_typeMPI_Info_get_nkeysMPI_Type_match_size
MPI_Comm_test_interMPI_Info_get_nthkeyMPI_Type_set_attr
MPI_Compare_and_swapMPI_Info_get_valuelenMPI_Type_set_name
MPI_Dims_createMPI_Info_setMPI_Type_size
MPI_Dist_graph_createMPI_InitMPI_Type_size_x
MPI_Dist_graph_create_adjacentMPI_Init_threadMPI_Type_struct
MPI_Dist_graph_neighborsMPI_InitializedMPI_Type_ub
MPI_Dist_graph_neighbors_countMPI_Intercomm_createMPI_Type_vector
MPI_Errhandler_createMPI_Intercomm_mergeMPI_Unpack
MPI_Errhandler_freeMPI_IprobeMPI_Unpack_external
MPI_Errhandler_getMPI_IrecvMPI_Unpublish_name
MPI_Errhandler_setMPI_IreduceMPI_Wait
MPI_Error_classMPI_Ireduce_scatterMPI_Waitall
MPI_Error_stringMPI_Ireduce_scatter_blockMPI_Waitany
MPI_ExscanMPI_IrsendMPI_Waitsome
MPI_Fetch_and_opMPI_Is_thread_mainMPI_Win_allocate
MPI_File_c2fMPI_IscanMPI_Win_allocate_shared
MPI_File_call_errhandlerMPI_IscatterMPI_Win_attach
MPI_File_closeMPI_IscattervMPI_Win_call_errhandler
MPI_File_create_errhandlerMPI_IsendMPI_Win_complete
MPI_File_deleteMPI_IssendMPI_Win_create
MPI_File_f2cMPI_Keyval_createMPI_Win_create_dynamic
MPI_File_get_amodeMPI_Keyval_freeMPI_Win_create_errhandler
MPI_File_get_atomicityMPI_Lookup_nameMPI_Win_create_keyval
MPI_File_get_byte_offsetMPI_MprobeMPI_Win_delete_attr
MPI_File_get_errhandlerMPI_MrecvMPI_Win_detach
MPI_File_get_groupMPI_Neighbor_allgatherMPI_Win_fence
MPI_File_get_infoMPI_Neighbor_allgathervMPI_Win_flush
MPI_File_get_positionMPI_Neighbor_alltoallMPI_Win_flush_all
MPI_File_get_position_sharedMPI_Neighbor_alltoallvMPI_Win_flush_local
MPI_File_get_sizeMPI_Neighbor_alltoallwMPI_Win_flush_local_all
MPI_File_get_type_extentMPI_Op_commuteMPI_Win_free
MPI_File_get_viewMPI_Op_createMPI_Win_free_keyval
MPI_File_ireadMPI_Op_freeMPI_Win_get_attr
MPI_File_iread_allMPI_Open_portMPI_Win_get_errhandler
MPI_File_iread_atMPI_PackMPI_Win_get_group
MPI_File_iread_at_allMPI_Pack_externalMPI_Win_get_info
MPI_File_iread_sharedMPI_Pack_external_sizeMPI_Win_get_name
MPI_File_iwriteMPI_Pack_sizeMPI_Win_lock
MPI_File_iwrite_allMPI_PcontrolMPI_Win_lock_all
MPI_File_iwrite_atMPI_ProbeMPI_Win_post
MPI_File_iwrite_at_allMPI_Publish_nameMPI_Win_set_attr
MPI_File_iwrite_sharedMPI_PutMPI_Win_set_errhandler
MPI_File_openMPI_Query_threadMPI_Win_set_info
MPI_File_preallocateMPI_RaccumulateMPI_Win_set_name
MPI_File_readMPI_RecvMPI_Win_shared_query
MPI_File_read_allMPI_Recv_initMPI_Win_start
MPI_File_read_all_beginMPI_ReduceMPI_Win_sync
MPI_File_read_all_endMPI_Reduce_localMPI_Win_test
MPI_File_read_atMPI_Reduce_scatterMPI_Win_unlock
MPI_File_read_at_allMPI_Reduce_scatter_blockMPI_Win_unlock_all
MPI_File_read_at_all_beginMPI_Register_datarepMPI_Win_wait
MPI_File_read_at_all_endMPI_Request_freeMPI_Wtick
MPI_File_read_orderedMPI_Request_get_statusMPI_Wtime
MPI_File_read_ordered_beginMPI_Rget
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit b/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit new file mode 100644 index 00000000..bef31d2d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit @@ -0,0 +1,407 @@ +man:+MPI_Attr_delete++MPI_Attr_delete++++man+--your-url-here--/MPI_Attr_delete.html#MPI_Attr_delete +man:+MPI_Attr_get++MPI_Attr_get++++man+--your-url-here--/MPI_Attr_get.html#MPI_Attr_get +man:+MPI_Attr_put++MPI_Attr_put++++man+--your-url-here--/MPI_Attr_put.html#MPI_Attr_put +man:+MPI_Comm_create_keyval++MPI_Comm_create_keyval++++man+--your-url-here--/MPI_Comm_create_keyval.html#MPI_Comm_create_keyval +man:+MPI_Comm_delete_attr++MPI_Comm_delete_attr++++man+--your-url-here--/MPI_Comm_delete_attr.html#MPI_Comm_delete_attr +man:+MPI_Comm_free_keyval++MPI_Comm_free_keyval++++man+--your-url-here--/MPI_Comm_free_keyval.html#MPI_Comm_free_keyval +man:+MPI_Comm_get_attr++MPI_Comm_get_attr++++man+--your-url-here--/MPI_Comm_get_attr.html#MPI_Comm_get_attr +man:+MPI_Comm_set_attr++MPI_Comm_set_attr++++man+--your-url-here--/MPI_Comm_set_attr.html#MPI_Comm_set_attr +man:+MPI_Keyval_create++MPI_Keyval_create++++man+--your-url-here--/MPI_Keyval_create.html#MPI_Keyval_create +man:+MPI_Keyval_free++MPI_Keyval_free++++man+--your-url-here--/MPI_Keyval_free.html#MPI_Keyval_free +man:+MPI_Type_create_keyval++MPI_Type_create_keyval++++man+--your-url-here--/MPI_Type_create_keyval.html#MPI_Type_create_keyval +man:+MPI_Type_delete_attr++MPI_Type_delete_attr++++man+--your-url-here--/MPI_Type_delete_attr.html#MPI_Type_delete_attr +man:+MPI_Type_free_keyval++MPI_Type_free_keyval++++man+--your-url-here--/MPI_Type_free_keyval.html#MPI_Type_free_keyval +man:+MPI_Type_get_attr++MPI_Type_get_attr++++man+--your-url-here--/MPI_Type_get_attr.html#MPI_Type_get_attr +man:+MPI_Type_set_attr++MPI_Type_set_attr++++man+--your-url-here--/MPI_Type_set_attr.html#MPI_Type_set_attr +man:+MPI_Win_create_keyval++MPI_Win_create_keyval++++man+--your-url-here--/MPI_Win_create_keyval.html#MPI_Win_create_keyval +man:+MPI_Win_delete_attr++MPI_Win_delete_attr++++man+--your-url-here--/MPI_Win_delete_attr.html#MPI_Win_delete_attr +man:+MPI_Win_free_keyval++MPI_Win_free_keyval++++man+--your-url-here--/MPI_Win_free_keyval.html#MPI_Win_free_keyval +man:+MPI_Win_get_attr++MPI_Win_get_attr++++man+--your-url-here--/MPI_Win_get_attr.html#MPI_Win_get_attr +man:+MPI_Win_set_attr++MPI_Win_set_attr++++man+--your-url-here--/MPI_Win_set_attr.html#MPI_Win_set_attr +man:+MPI_Allgather++MPI_Allgather++++man+--your-url-here--/MPI_Allgather.html#MPI_Allgather +man:+MPI_Allgatherv++MPI_Allgatherv++++man+--your-url-here--/MPI_Allgatherv.html#MPI_Allgatherv +man:+MPI_Allreduce++MPI_Allreduce++++man+--your-url-here--/MPI_Allreduce.html#MPI_Allreduce +man:+MPI_Alltoall++MPI_Alltoall++++man+--your-url-here--/MPI_Alltoall.html#MPI_Alltoall +man:+MPI_Alltoallv++MPI_Alltoallv++++man+--your-url-here--/MPI_Alltoallv.html#MPI_Alltoallv +man:+MPI_Alltoallw++MPI_Alltoallw++++man+--your-url-here--/MPI_Alltoallw.html#MPI_Alltoallw +man:+MPI_Barrier++MPI_Barrier++++man+--your-url-here--/MPI_Barrier.html#MPI_Barrier +man:+MPI_Bcast++MPI_Bcast++++man+--your-url-here--/MPI_Bcast.html#MPI_Bcast +man:+MPI_Exscan++MPI_Exscan++++man+--your-url-here--/MPI_Exscan.html#MPI_Exscan +man:+MPI_Gather++MPI_Gather++++man+--your-url-here--/MPI_Gather.html#MPI_Gather +man:+MPI_Gatherv++MPI_Gatherv++++man+--your-url-here--/MPI_Gatherv.html#MPI_Gatherv +man:+MPI_Reduce_scatter++MPI_Reduce_scatter++++man+--your-url-here--/MPI_Reduce_scatter.html#MPI_Reduce_scatter +man:+MPI_Reduce_scatter_block++MPI_Reduce_scatter_block++++man+--your-url-here--/MPI_Reduce_scatter_block.html#MPI_Reduce_scatter_block +man:+MPI_Reduce++MPI_Reduce++++man+--your-url-here--/MPI_Reduce.html#MPI_Reduce +man:+MPI_Scan++MPI_Scan++++man+--your-url-here--/MPI_Scan.html#MPI_Scan +man:+MPI_Scatter++MPI_Scatter++++man+--your-url-here--/MPI_Scatter.html#MPI_Scatter +man:+MPI_Scatterv++MPI_Scatterv++++man+--your-url-here--/MPI_Scatterv.html#MPI_Scatterv +man:+MPI_Neighbor_allgather++MPI_Neighbor_allgather++++man+--your-url-here--/MPI_Neighbor_allgather.html#MPI_Neighbor_allgather +man:+MPI_Neighbor_allgatherv++MPI_Neighbor_allgatherv++++man+--your-url-here--/MPI_Neighbor_allgatherv.html#MPI_Neighbor_allgatherv +man:+MPI_Neighbor_alltoall++MPI_Neighbor_alltoall++++man+--your-url-here--/MPI_Neighbor_alltoall.html#MPI_Neighbor_alltoall +man:+MPI_Neighbor_alltoallv++MPI_Neighbor_alltoallv++++man+--your-url-here--/MPI_Neighbor_alltoallv.html#MPI_Neighbor_alltoallv +man:+MPI_Neighbor_alltoallw++MPI_Neighbor_alltoallw++++man+--your-url-here--/MPI_Neighbor_alltoallw.html#MPI_Neighbor_alltoallw +man:+MPI_Iallgather++MPI_Iallgather++++man+--your-url-here--/MPI_Iallgather.html#MPI_Iallgather +man:+MPI_Iallgatherv++MPI_Iallgatherv++++man+--your-url-here--/MPI_Iallgatherv.html#MPI_Iallgatherv +man:+MPI_Iallreduce++MPI_Iallreduce++++man+--your-url-here--/MPI_Iallreduce.html#MPI_Iallreduce +man:+MPI_Ialltoall++MPI_Ialltoall++++man+--your-url-here--/MPI_Ialltoall.html#MPI_Ialltoall +man:+MPI_Ialltoallv++MPI_Ialltoallv++++man+--your-url-here--/MPI_Ialltoallv.html#MPI_Ialltoallv +man:+MPI_Ialltoallw++MPI_Ialltoallw++++man+--your-url-here--/MPI_Ialltoallw.html#MPI_Ialltoallw +man:+MPI_Ibarrier++MPI_Ibarrier++++man+--your-url-here--/MPI_Ibarrier.html#MPI_Ibarrier +man:+MPI_Ibcast++MPI_Ibcast++++man+--your-url-here--/MPI_Ibcast.html#MPI_Ibcast +man:+MPI_Iexscan++MPI_Iexscan++++man+--your-url-here--/MPI_Iexscan.html#MPI_Iexscan +man:+MPI_Igather++MPI_Igather++++man+--your-url-here--/MPI_Igather.html#MPI_Igather +man:+MPI_Igatherv++MPI_Igatherv++++man+--your-url-here--/MPI_Igatherv.html#MPI_Igatherv +man:+MPI_Ireduce_scatter++MPI_Ireduce_scatter++++man+--your-url-here--/MPI_Ireduce_scatter.html#MPI_Ireduce_scatter +man:+MPI_Ireduce_scatter_block++MPI_Ireduce_scatter_block++++man+--your-url-here--/MPI_Ireduce_scatter_block.html#MPI_Ireduce_scatter_block +man:+MPI_Ireduce++MPI_Ireduce++++man+--your-url-here--/MPI_Ireduce.html#MPI_Ireduce +man:+MPI_Iscan++MPI_Iscan++++man+--your-url-here--/MPI_Iscan.html#MPI_Iscan +man:+MPI_Iscatter++MPI_Iscatter++++man+--your-url-here--/MPI_Iscatter.html#MPI_Iscatter +man:+MPI_Iscatterv++MPI_Iscatterv++++man+--your-url-here--/MPI_Iscatterv.html#MPI_Iscatterv +man:+MPI_Ineighbor_allgather++MPI_Ineighbor_allgather++++man+--your-url-here--/MPI_Ineighbor_allgather.html#MPI_Ineighbor_allgather +man:+MPI_Ineighbor_allgatherv++MPI_Ineighbor_allgatherv++++man+--your-url-here--/MPI_Ineighbor_allgatherv.html#MPI_Ineighbor_allgatherv +man:+MPI_Ineighbor_alltoall++MPI_Ineighbor_alltoall++++man+--your-url-here--/MPI_Ineighbor_alltoall.html#MPI_Ineighbor_alltoall +man:+MPI_Ineighbor_alltoallv++MPI_Ineighbor_alltoallv++++man+--your-url-here--/MPI_Ineighbor_alltoallv.html#MPI_Ineighbor_alltoallv +man:+MPI_Ineighbor_alltoallw++MPI_Ineighbor_alltoallw++++man+--your-url-here--/MPI_Ineighbor_alltoallw.html#MPI_Ineighbor_alltoallw +man:+MPI_Op_create++MPI_Op_create++++man+--your-url-here--/MPI_Op_create.html#MPI_Op_create +man:+MPI_Op_free++MPI_Op_free++++man+--your-url-here--/MPI_Op_free.html#MPI_Op_free +man:+MPI_Op_commute++MPI_Op_commute++++man+--your-url-here--/MPI_Op_commute.html#MPI_Op_commute +man:+MPI_Reduce_local++MPI_Reduce_local++++man+--your-url-here--/MPI_Reduce_local.html#MPI_Reduce_local +man:+MPI_Comm_compare++MPI_Comm_compare++++man+--your-url-here--/MPI_Comm_compare.html#MPI_Comm_compare +man:+MPI_Comm_create++MPI_Comm_create++++man+--your-url-here--/MPI_Comm_create.html#MPI_Comm_create +man:+MPI_Comm_create_group++MPI_Comm_create_group++++man+--your-url-here--/MPI_Comm_create_group.html#MPI_Comm_create_group +man:+MPI_Comm_dup++MPI_Comm_dup++++man+--your-url-here--/MPI_Comm_dup.html#MPI_Comm_dup +man:+MPI_Comm_dup_with_info++MPI_Comm_dup_with_info++++man+--your-url-here--/MPI_Comm_dup_with_info.html#MPI_Comm_dup_with_info +man:+MPI_Comm_free++MPI_Comm_free++++man+--your-url-here--/MPI_Comm_free.html#MPI_Comm_free +man:+MPI_Comm_get_name++MPI_Comm_get_name++++man+--your-url-here--/MPI_Comm_get_name.html#MPI_Comm_get_name +man:+MPI_Comm_get_info++MPI_Comm_get_info++++man+--your-url-here--/MPI_Comm_get_info.html#MPI_Comm_get_info +man:+MPI_Comm_set_info++MPI_Comm_set_info++++man+--your-url-here--/MPI_Comm_set_info.html#MPI_Comm_set_info +man:+MPI_Comm_group++MPI_Comm_group++++man+--your-url-here--/MPI_Comm_group.html#MPI_Comm_group +man:+MPI_Comm_idup++MPI_Comm_idup++++man+--your-url-here--/MPI_Comm_idup.html#MPI_Comm_idup +man:+MPI_Comm_rank++MPI_Comm_rank++++man+--your-url-here--/MPI_Comm_rank.html#MPI_Comm_rank +man:+MPI_Comm_size++MPI_Comm_size++++man+--your-url-here--/MPI_Comm_size.html#MPI_Comm_size +man:+MPI_Comm_remote_group++MPI_Comm_remote_group++++man+--your-url-here--/MPI_Comm_remote_group.html#MPI_Comm_remote_group +man:+MPI_Comm_remote_size++MPI_Comm_remote_size++++man+--your-url-here--/MPI_Comm_remote_size.html#MPI_Comm_remote_size +man:+MPI_Comm_set_name++MPI_Comm_set_name++++man+--your-url-here--/MPI_Comm_set_name.html#MPI_Comm_set_name +man:+MPI_Comm_split++MPI_Comm_split++++man+--your-url-here--/MPI_Comm_split.html#MPI_Comm_split +man:+MPI_Comm_test_inter++MPI_Comm_test_inter++++man+--your-url-here--/MPI_Comm_test_inter.html#MPI_Comm_test_inter +man:+MPI_Intercomm_create++MPI_Intercomm_create++++man+--your-url-here--/MPI_Intercomm_create.html#MPI_Intercomm_create +man:+MPI_Intercomm_merge++MPI_Intercomm_merge++++man+--your-url-here--/MPI_Intercomm_merge.html#MPI_Intercomm_merge +man:+MPI_Comm_split_type++MPI_Comm_split_type++++man+--your-url-here--/MPI_Comm_split_type.html#MPI_Comm_split_type +man:+MPIX_Comm_failure_ack++MPIX_Comm_failure_ack++++man+--your-url-here--/MPIX_Comm_failure_ack.html#MPIX_Comm_failure_ack +man:+MPIX_Comm_failure_get_acked++MPIX_Comm_failure_get_acked++++man+--your-url-here--/MPIX_Comm_failure_get_acked.html#MPIX_Comm_failure_get_acked +man:+MPIX_Comm_revoke++MPIX_Comm_revoke++++man+--your-url-here--/MPIX_Comm_revoke.html#MPIX_Comm_revoke +man:+MPIX_Comm_shrink++MPIX_Comm_shrink++++man+--your-url-here--/MPIX_Comm_shrink.html#MPIX_Comm_shrink +man:+MPIX_Comm_agree++MPIX_Comm_agree++++man+--your-url-here--/MPIX_Comm_agree.html#MPIX_Comm_agree +man:+MPI_Address++MPI_Address++++man+--your-url-here--/MPI_Address.html#MPI_Address +man:+MPI_Get_address++MPI_Get_address++++man+--your-url-here--/MPI_Get_address.html#MPI_Get_address +man:+MPI_Get_count++MPI_Get_count++++man+--your-url-here--/MPI_Get_count.html#MPI_Get_count +man:+MPI_Get_elements++MPI_Get_elements++++man+--your-url-here--/MPI_Get_elements.html#MPI_Get_elements +man:+MPI_Get_elements_x++MPI_Get_elements_x++++man+--your-url-here--/MPI_Get_elements_x.html#MPI_Get_elements_x +man:+MPI_Pack++MPI_Pack++++man+--your-url-here--/MPI_Pack.html#MPI_Pack +man:+MPI_Pack_external++MPI_Pack_external++++man+--your-url-here--/MPI_Pack_external.html#MPI_Pack_external +man:+MPI_Pack_external_size++MPI_Pack_external_size++++man+--your-url-here--/MPI_Pack_external_size.html#MPI_Pack_external_size +man:+MPI_Pack_size++MPI_Pack_size++++man+--your-url-here--/MPI_Pack_size.html#MPI_Pack_size +man:+MPI_Status_set_elements++MPI_Status_set_elements++++man+--your-url-here--/MPI_Status_set_elements.html#MPI_Status_set_elements +man:+MPI_Status_set_elements_x++MPI_Status_set_elements_x++++man+--your-url-here--/MPI_Status_set_elements_x.html#MPI_Status_set_elements_x +man:+MPI_Type_get_name++MPI_Type_get_name++++man+--your-url-here--/MPI_Type_get_name.html#MPI_Type_get_name +man:+MPI_Type_set_name++MPI_Type_set_name++++man+--your-url-here--/MPI_Type_set_name.html#MPI_Type_set_name +man:+MPI_Type_size++MPI_Type_size++++man+--your-url-here--/MPI_Type_size.html#MPI_Type_size +man:+MPI_Type_size_x++MPI_Type_size_x++++man+--your-url-here--/MPI_Type_size_x.html#MPI_Type_size_x +man:+MPI_Type_extent++MPI_Type_extent++++man+--your-url-here--/MPI_Type_extent.html#MPI_Type_extent +man:+MPIR_Type_vector++MPIR_Type_vector++++man+--your-url-here--/MPIR_Type_vector.html#MPIR_Type_vector +man:+MPI_Type_vector++MPI_Type_vector++++man+--your-url-here--/MPI_Type_vector.html#MPI_Type_vector +man:+MPIR_Type_commit++MPIR_Type_commit++++man+--your-url-here--/MPIR_Type_commit.html#MPIR_Type_commit +man:+MPI_Type_commit++MPI_Type_commit++++man+--your-url-here--/MPI_Type_commit.html#MPI_Type_commit +man:+MPIR_Type_indexed++MPIR_Type_indexed++++man+--your-url-here--/MPIR_Type_indexed.html#MPIR_Type_indexed +man:+MPI_Type_indexed++MPI_Type_indexed++++man+--your-url-here--/MPI_Type_indexed.html#MPI_Type_indexed +man:+MPI_Type_hindexed++MPI_Type_hindexed++++man+--your-url-here--/MPI_Type_hindexed.html#MPI_Type_hindexed +man:+MPIR_Type_struct++MPIR_Type_struct++++man+--your-url-here--/MPIR_Type_struct.html#MPIR_Type_struct +man:+MPI_Type_struct++MPI_Type_struct++++man+--your-url-here--/MPI_Type_struct.html#MPI_Type_struct +man:+MPIR_Type_contiguous++MPIR_Type_contiguous++++man+--your-url-here--/MPIR_Type_contiguous.html#MPIR_Type_contiguous +man:+MPI_Type_contiguous++MPI_Type_contiguous++++man+--your-url-here--/MPI_Type_contiguous.html#MPI_Type_contiguous +man:+MPI_Type_free++MPI_Type_free++++man+--your-url-here--/MPI_Type_free.html#MPI_Type_free +man:+MPI_Type_hvector++MPI_Type_hvector++++man+--your-url-here--/MPI_Type_hvector.html#MPI_Type_hvector +man:+MPIR_Type_dup++MPIR_Type_dup++++man+--your-url-here--/MPIR_Type_dup.html#MPIR_Type_dup +man:+MPI_Type_dup++MPI_Type_dup++++man+--your-url-here--/MPI_Type_dup.html#MPI_Type_dup +man:+MPI_Type_get_envelope++MPI_Type_get_envelope++++man+--your-url-here--/MPI_Type_get_envelope.html#MPI_Type_get_envelope +man:+MPIR_Type_get_contents++MPIR_Type_get_contents++++man+--your-url-here--/MPIR_Type_get_contents.html#MPIR_Type_get_contents +man:+MPI_Type_get_contents++MPI_Type_get_contents++++man+--your-url-here--/MPI_Type_get_contents.html#MPI_Type_get_contents +man:+MPI_Type_ub++MPI_Type_ub++++man+--your-url-here--/MPI_Type_ub.html#MPI_Type_ub +man:+MPI_Type_lb++MPI_Type_lb++++man+--your-url-here--/MPI_Type_lb.html#MPI_Type_lb +man:+MPI_Type_get_extent++MPI_Type_get_extent++++man+--your-url-here--/MPI_Type_get_extent.html#MPI_Type_get_extent +man:+MPI_Type_get_extent_x++MPI_Type_get_extent_x++++man+--your-url-here--/MPI_Type_get_extent_x.html#MPI_Type_get_extent_x +man:+MPI_Type_get_true_extent++MPI_Type_get_true_extent++++man+--your-url-here--/MPI_Type_get_true_extent.html#MPI_Type_get_true_extent +man:+MPI_Type_get_true_extent_x++MPI_Type_get_true_extent_x++++man+--your-url-here--/MPI_Type_get_true_extent_x.html#MPI_Type_get_true_extent_x +man:+MPI_Type_match_size++MPI_Type_match_size++++man+--your-url-here--/MPI_Type_match_size.html#MPI_Type_match_size +man:+MPI_Type_create_struct++MPI_Type_create_struct++++man+--your-url-here--/MPI_Type_create_struct.html#MPI_Type_create_struct +man:+MPI_Type_create_hindexed++MPI_Type_create_hindexed++++man+--your-url-here--/MPI_Type_create_hindexed.html#MPI_Type_create_hindexed +man:+MPI_Type_create_hvector++MPI_Type_create_hvector++++man+--your-url-here--/MPI_Type_create_hvector.html#MPI_Type_create_hvector +man:+MPI_Type_create_indexed_block++MPI_Type_create_indexed_block++++man+--your-url-here--/MPI_Type_create_indexed_block.html#MPI_Type_create_indexed_block +man:+MPI_Type_create_hindexed_block++MPI_Type_create_hindexed_block++++man+--your-url-here--/MPI_Type_create_hindexed_block.html#MPI_Type_create_hindexed_block +man:+MPI_Type_create_resized++MPI_Type_create_resized++++man+--your-url-here--/MPI_Type_create_resized.html#MPI_Type_create_resized +man:+MPI_Type_create_darray++MPI_Type_create_darray++++man+--your-url-here--/MPI_Type_create_darray.html#MPI_Type_create_darray +man:+MPI_Type_create_subarray++MPI_Type_create_subarray++++man+--your-url-here--/MPI_Type_create_subarray.html#MPI_Type_create_subarray +man:+MPI_Unpack++MPI_Unpack++++man+--your-url-here--/MPI_Unpack.html#MPI_Unpack +man:+MPI_Unpack_external++MPI_Unpack_external++++man+--your-url-here--/MPI_Unpack_external.html#MPI_Unpack_external +man:+MPI_Add_error_code++MPI_Add_error_code++++man+--your-url-here--/MPI_Add_error_code.html#MPI_Add_error_code +man:+MPI_Add_error_class++MPI_Add_error_class++++man+--your-url-here--/MPI_Add_error_class.html#MPI_Add_error_class +man:+MPI_Add_error_string++MPI_Add_error_string++++man+--your-url-here--/MPI_Add_error_string.html#MPI_Add_error_string +man:+MPI_Comm_call_errhandler++MPI_Comm_call_errhandler++++man+--your-url-here--/MPI_Comm_call_errhandler.html#MPI_Comm_call_errhandler +man:+MPI_Comm_create_errhandler++MPI_Comm_create_errhandler++++man+--your-url-here--/MPI_Comm_create_errhandler.html#MPI_Comm_create_errhandler +man:+MPI_Comm_get_errhandler++MPI_Comm_get_errhandler++++man+--your-url-here--/MPI_Comm_get_errhandler.html#MPI_Comm_get_errhandler +man:+MPI_Comm_set_errhandler++MPI_Comm_set_errhandler++++man+--your-url-here--/MPI_Comm_set_errhandler.html#MPI_Comm_set_errhandler +man:+MPI_Errhandler_create++MPI_Errhandler_create++++man+--your-url-here--/MPI_Errhandler_create.html#MPI_Errhandler_create +man:+MPI_Errhandler_free++MPI_Errhandler_free++++man+--your-url-here--/MPI_Errhandler_free.html#MPI_Errhandler_free +man:+MPI_Errhandler_get++MPI_Errhandler_get++++man+--your-url-here--/MPI_Errhandler_get.html#MPI_Errhandler_get +man:+MPI_Errhandler_set++MPI_Errhandler_set++++man+--your-url-here--/MPI_Errhandler_set.html#MPI_Errhandler_set +man:+MPI_Error_class++MPI_Error_class++++man+--your-url-here--/MPI_Error_class.html#MPI_Error_class +man:+MPI_Error_string++MPI_Error_string++++man+--your-url-here--/MPI_Error_string.html#MPI_Error_string +man:+MPI_File_create_errhandler++MPI_File_create_errhandler++++man+--your-url-here--/MPI_File_create_errhandler.html#MPI_File_create_errhandler +man:+MPI_File_get_errhandler++MPI_File_get_errhandler++++man+--your-url-here--/MPI_File_get_errhandler.html#MPI_File_get_errhandler +man:+MPI_File_set_errhandler++MPI_File_set_errhandler++++man+--your-url-here--/MPI_File_set_errhandler.html#MPI_File_set_errhandler +man:+MPI_File_call_errhandler++MPI_File_call_errhandler++++man+--your-url-here--/MPI_File_call_errhandler.html#MPI_File_call_errhandler +man:+MPI_Win_create_errhandler++MPI_Win_create_errhandler++++man+--your-url-here--/MPI_Win_create_errhandler.html#MPI_Win_create_errhandler +man:+MPI_Win_call_errhandler++MPI_Win_call_errhandler++++man+--your-url-here--/MPI_Win_call_errhandler.html#MPI_Win_call_errhandler +man:+MPI_Win_get_errhandler++MPI_Win_get_errhandler++++man+--your-url-here--/MPI_Win_get_errhandler.html#MPI_Win_get_errhandler +man:+MPI_Win_set_errhandler++MPI_Win_set_errhandler++++man+--your-url-here--/MPI_Win_set_errhandler.html#MPI_Win_set_errhandler +man:+MPI_Group_compare++MPI_Group_compare++++man+--your-url-here--/MPI_Group_compare.html#MPI_Group_compare +man:+MPI_Group_difference++MPI_Group_difference++++man+--your-url-here--/MPI_Group_difference.html#MPI_Group_difference +man:+MPI_Group_excl++MPI_Group_excl++++man+--your-url-here--/MPI_Group_excl.html#MPI_Group_excl +man:+MPI_Group_free++MPI_Group_free++++man+--your-url-here--/MPI_Group_free.html#MPI_Group_free +man:+MPI_Group_incl++MPI_Group_incl++++man+--your-url-here--/MPI_Group_incl.html#MPI_Group_incl +man:+MPI_Group_intersection++MPI_Group_intersection++++man+--your-url-here--/MPI_Group_intersection.html#MPI_Group_intersection +man:+MPI_Group_range_excl++MPI_Group_range_excl++++man+--your-url-here--/MPI_Group_range_excl.html#MPI_Group_range_excl +man:+MPI_Group_range_incl++MPI_Group_range_incl++++man+--your-url-here--/MPI_Group_range_incl.html#MPI_Group_range_incl +man:+MPI_Group_rank++MPI_Group_rank++++man+--your-url-here--/MPI_Group_rank.html#MPI_Group_rank +man:+MPI_Group_size++MPI_Group_size++++man+--your-url-here--/MPI_Group_size.html#MPI_Group_size +man:+MPI_Group_translate_ranks++MPI_Group_translate_ranks++++man+--your-url-here--/MPI_Group_translate_ranks.html#MPI_Group_translate_ranks +man:+MPI_Group_union++MPI_Group_union++++man+--your-url-here--/MPI_Group_union.html#MPI_Group_union +man:+MPI_Info_create++MPI_Info_create++++man+--your-url-here--/MPI_Info_create.html#MPI_Info_create +man:+MPI_Info_delete++MPI_Info_delete++++man+--your-url-here--/MPI_Info_delete.html#MPI_Info_delete +man:+MPI_Info_dup++MPI_Info_dup++++man+--your-url-here--/MPI_Info_dup.html#MPI_Info_dup +man:+MPI_Info_free++MPI_Info_free++++man+--your-url-here--/MPI_Info_free.html#MPI_Info_free +man:+MPI_Info_get++MPI_Info_get++++man+--your-url-here--/MPI_Info_get.html#MPI_Info_get +man:+MPI_Info_get_nkeys++MPI_Info_get_nkeys++++man+--your-url-here--/MPI_Info_get_nkeys.html#MPI_Info_get_nkeys +man:+MPI_Info_get_nthkey++MPI_Info_get_nthkey++++man+--your-url-here--/MPI_Info_get_nthkey.html#MPI_Info_get_nthkey +man:+MPI_Info_get_valuelen++MPI_Info_get_valuelen++++man+--your-url-here--/MPI_Info_get_valuelen.html#MPI_Info_get_valuelen +man:+MPI_Info_set++MPI_Info_set++++man+--your-url-here--/MPI_Info_set.html#MPI_Info_set +man:+MPI_Abort++MPI_Abort++++man+--your-url-here--/MPI_Abort.html#MPI_Abort +man:+MPI_Init++MPI_Init++++man+--your-url-here--/MPI_Init.html#MPI_Init +man:+MPI_Initialized++MPI_Initialized++++man+--your-url-here--/MPI_Initialized.html#MPI_Initialized +man:+MPI_Init_thread++MPI_Init_thread++++man+--your-url-here--/MPI_Init_thread.html#MPI_Init_thread +man:+MPI_Is_thread_main++MPI_Is_thread_main++++man+--your-url-here--/MPI_Is_thread_main.html#MPI_Is_thread_main +man:+MPI_Finalize++MPI_Finalize++++man+--your-url-here--/MPI_Finalize.html#MPI_Finalize +man:+MPI_Finalized++MPI_Finalized++++man+--your-url-here--/MPI_Finalized.html#MPI_Finalized +man:+MPI_Query_thread++MPI_Query_thread++++man+--your-url-here--/MPI_Query_thread.html#MPI_Query_thread +man:+MPI_Get_processor_name++MPI_Get_processor_name++++man+--your-url-here--/MPI_Get_processor_name.html#MPI_Get_processor_name +man:+MPI_Pcontrol++MPI_Pcontrol++++man+--your-url-here--/MPI_Pcontrol.html#MPI_Pcontrol +man:+MPI_Get_version++MPI_Get_version++++man+--your-url-here--/MPI_Get_version.html#MPI_Get_version +man:+MPI_Get_library_version++MPI_Get_library_version++++man+--your-url-here--/MPI_Get_library_version.html#MPI_Get_library_version +man:+MPI_Aint_add++MPI_Aint_add++++man+--your-url-here--/MPI_Aint_add.html#MPI_Aint_add +man:+MPI_Aint_diff++MPI_Aint_diff++++man+--your-url-here--/MPI_Aint_diff.html#MPI_Aint_diff +man:+MPI_Bsend++MPI_Bsend++++man+--your-url-here--/MPI_Bsend.html#MPI_Bsend +man:+MPI_Bsend_init++MPI_Bsend_init++++man+--your-url-here--/MPI_Bsend_init.html#MPI_Bsend_init +man:+MPI_Buffer_attach++MPI_Buffer_attach++++man+--your-url-here--/MPI_Buffer_attach.html#MPI_Buffer_attach +man:+MPI_Buffer_detach++MPI_Buffer_detach++++man+--your-url-here--/MPI_Buffer_detach.html#MPI_Buffer_detach +man:+MPI_Ibsend++MPI_Ibsend++++man+--your-url-here--/MPI_Ibsend.html#MPI_Ibsend +man:+MPI_Improbe++MPI_Improbe++++man+--your-url-here--/MPI_Improbe.html#MPI_Improbe +man:+MPI_Imrecv++MPI_Imrecv++++man+--your-url-here--/MPI_Imrecv.html#MPI_Imrecv +man:+MPI_Iprobe++MPI_Iprobe++++man+--your-url-here--/MPI_Iprobe.html#MPI_Iprobe +man:+MPI_Irecv++MPI_Irecv++++man+--your-url-here--/MPI_Irecv.html#MPI_Irecv +man:+MPI_Irsend++MPI_Irsend++++man+--your-url-here--/MPI_Irsend.html#MPI_Irsend +man:+MPI_Isend++MPI_Isend++++man+--your-url-here--/MPI_Isend.html#MPI_Isend +man:+MPI_Issend++MPI_Issend++++man+--your-url-here--/MPI_Issend.html#MPI_Issend +man:+MPI_Mprobe++MPI_Mprobe++++man+--your-url-here--/MPI_Mprobe.html#MPI_Mprobe +man:+MPI_Mrecv++MPI_Mrecv++++man+--your-url-here--/MPI_Mrecv.html#MPI_Mrecv +man:+MPI_Probe++MPI_Probe++++man+--your-url-here--/MPI_Probe.html#MPI_Probe +man:+MPI_Recv++MPI_Recv++++man+--your-url-here--/MPI_Recv.html#MPI_Recv +man:+MPI_Recv_init++MPI_Recv_init++++man+--your-url-here--/MPI_Recv_init.html#MPI_Recv_init +man:+MPI_Rsend++MPI_Rsend++++man+--your-url-here--/MPI_Rsend.html#MPI_Rsend +man:+MPI_Rsend_init++MPI_Rsend_init++++man+--your-url-here--/MPI_Rsend_init.html#MPI_Rsend_init +man:+MPI_Send++MPI_Send++++man+--your-url-here--/MPI_Send.html#MPI_Send +man:+MPI_Send_init++MPI_Send_init++++man+--your-url-here--/MPI_Send_init.html#MPI_Send_init +man:+MPI_Sendrecv++MPI_Sendrecv++++man+--your-url-here--/MPI_Sendrecv.html#MPI_Sendrecv +man:+MPI_Sendrecv_replace++MPI_Sendrecv_replace++++man+--your-url-here--/MPI_Sendrecv_replace.html#MPI_Sendrecv_replace +man:+MPI_Ssend++MPI_Ssend++++man+--your-url-here--/MPI_Ssend.html#MPI_Ssend +man:+MPI_Ssend_init++MPI_Ssend_init++++man+--your-url-here--/MPI_Ssend_init.html#MPI_Ssend_init +man:+MPI_Cancel++MPI_Cancel++++man+--your-url-here--/MPI_Cancel.html#MPI_Cancel +man:+MPI_Grequest_start++MPI_Grequest_start++++man+--your-url-here--/MPI_Grequest_start.html#MPI_Grequest_start +man:+MPI_Grequest_complete++MPI_Grequest_complete++++man+--your-url-here--/MPI_Grequest_complete.html#MPI_Grequest_complete +man:+MPI_Request_free++MPI_Request_free++++man+--your-url-here--/MPI_Request_free.html#MPI_Request_free +man:+MPI_Request_get_status++MPI_Request_get_status++++man+--your-url-here--/MPI_Request_get_status.html#MPI_Request_get_status +man:+MPI_Status_set_cancelled++MPI_Status_set_cancelled++++man+--your-url-here--/MPI_Status_set_cancelled.html#MPI_Status_set_cancelled +man:+MPI_Start++MPI_Start++++man+--your-url-here--/MPI_Start.html#MPI_Start +man:+MPI_Startall++MPI_Startall++++man+--your-url-here--/MPI_Startall.html#MPI_Startall +man:+MPI_Test++MPI_Test++++man+--your-url-here--/MPI_Test.html#MPI_Test +man:+MPI_Test_cancelled++MPI_Test_cancelled++++man+--your-url-here--/MPI_Test_cancelled.html#MPI_Test_cancelled +man:+MPI_Testall++MPI_Testall++++man+--your-url-here--/MPI_Testall.html#MPI_Testall +man:+MPI_Testany++MPI_Testany++++man+--your-url-here--/MPI_Testany.html#MPI_Testany +man:+MPI_Testsome++MPI_Testsome++++man+--your-url-here--/MPI_Testsome.html#MPI_Testsome +man:+MPI_Wait++MPI_Wait++++man+--your-url-here--/MPI_Wait.html#MPI_Wait +man:+MPI_Waitall++MPI_Waitall++++man+--your-url-here--/MPI_Waitall.html#MPI_Waitall +man:+MPI_Waitany++MPI_Waitany++++man+--your-url-here--/MPI_Waitany.html#MPI_Waitany +man:+MPI_Waitsome++MPI_Waitsome++++man+--your-url-here--/MPI_Waitsome.html#MPI_Waitsome +man:+MPI_Accumulate++MPI_Accumulate++++man+--your-url-here--/MPI_Accumulate.html#MPI_Accumulate +man:+MPI_Alloc_mem++MPI_Alloc_mem++++man+--your-url-here--/MPI_Alloc_mem.html#MPI_Alloc_mem +man:+MPI_Compare_and_swap++MPI_Compare_and_swap++++man+--your-url-here--/MPI_Compare_and_swap.html#MPI_Compare_and_swap +man:+MPI_Fetch_and_op++MPI_Fetch_and_op++++man+--your-url-here--/MPI_Fetch_and_op.html#MPI_Fetch_and_op +man:+MPI_Free_mem++MPI_Free_mem++++man+--your-url-here--/MPI_Free_mem.html#MPI_Free_mem +man:+MPI_Get++MPI_Get++++man+--your-url-here--/MPI_Get.html#MPI_Get +man:+MPI_Get_accumulate++MPI_Get_accumulate++++man+--your-url-here--/MPI_Get_accumulate.html#MPI_Get_accumulate +man:+MPI_Put++MPI_Put++++man+--your-url-here--/MPI_Put.html#MPI_Put +man:+MPI_Raccumulate++MPI_Raccumulate++++man+--your-url-here--/MPI_Raccumulate.html#MPI_Raccumulate +man:+MPI_Rget++MPI_Rget++++man+--your-url-here--/MPI_Rget.html#MPI_Rget +man:+MPI_Rget_accumulate++MPI_Rget_accumulate++++man+--your-url-here--/MPI_Rget_accumulate.html#MPI_Rget_accumulate +man:+MPI_Rput++MPI_Rput++++man+--your-url-here--/MPI_Rput.html#MPI_Rput +man:+MPI_Win_allocate++MPI_Win_allocate++++man+--your-url-here--/MPI_Win_allocate.html#MPI_Win_allocate +man:+MPI_Win_allocate_shared++MPI_Win_allocate_shared++++man+--your-url-here--/MPI_Win_allocate_shared.html#MPI_Win_allocate_shared +man:+MPI_Win_attach++MPI_Win_attach++++man+--your-url-here--/MPI_Win_attach.html#MPI_Win_attach +man:+MPI_Win_complete++MPI_Win_complete++++man+--your-url-here--/MPI_Win_complete.html#MPI_Win_complete +man:+MPI_Win_create++MPI_Win_create++++man+--your-url-here--/MPI_Win_create.html#MPI_Win_create +man:+MPI_Win_create_dynamic++MPI_Win_create_dynamic++++man+--your-url-here--/MPI_Win_create_dynamic.html#MPI_Win_create_dynamic +man:+MPI_Win_detach++MPI_Win_detach++++man+--your-url-here--/MPI_Win_detach.html#MPI_Win_detach +man:+MPI_Win_fence++MPI_Win_fence++++man+--your-url-here--/MPI_Win_fence.html#MPI_Win_fence +man:+MPI_Win_flush++MPI_Win_flush++++man+--your-url-here--/MPI_Win_flush.html#MPI_Win_flush +man:+MPI_Win_flush_all++MPI_Win_flush_all++++man+--your-url-here--/MPI_Win_flush_all.html#MPI_Win_flush_all +man:+MPI_Win_flush_local++MPI_Win_flush_local++++man+--your-url-here--/MPI_Win_flush_local.html#MPI_Win_flush_local +man:+MPI_Win_flush_local_all++MPI_Win_flush_local_all++++man+--your-url-here--/MPI_Win_flush_local_all.html#MPI_Win_flush_local_all +man:+MPI_Win_free++MPI_Win_free++++man+--your-url-here--/MPI_Win_free.html#MPI_Win_free +man:+MPI_Win_get_group++MPI_Win_get_group++++man+--your-url-here--/MPI_Win_get_group.html#MPI_Win_get_group +man:+MPI_Win_get_info++MPI_Win_get_info++++man+--your-url-here--/MPI_Win_get_info.html#MPI_Win_get_info +man:+MPI_Win_get_name++MPI_Win_get_name++++man+--your-url-here--/MPI_Win_get_name.html#MPI_Win_get_name +man:+MPI_Win_lock++MPI_Win_lock++++man+--your-url-here--/MPI_Win_lock.html#MPI_Win_lock +man:+MPI_Win_lock_all++MPI_Win_lock_all++++man+--your-url-here--/MPI_Win_lock_all.html#MPI_Win_lock_all +man:+MPI_Win_post++MPI_Win_post++++man+--your-url-here--/MPI_Win_post.html#MPI_Win_post +man:+MPI_Win_set_info++MPI_Win_set_info++++man+--your-url-here--/MPI_Win_set_info.html#MPI_Win_set_info +man:+MPI_Win_set_name++MPI_Win_set_name++++man+--your-url-here--/MPI_Win_set_name.html#MPI_Win_set_name +man:+MPI_Win_shared_query++MPI_Win_shared_query++++man+--your-url-here--/MPI_Win_shared_query.html#MPI_Win_shared_query +man:+MPI_Win_start++MPI_Win_start++++man+--your-url-here--/MPI_Win_start.html#MPI_Win_start +man:+MPI_Win_sync++MPI_Win_sync++++man+--your-url-here--/MPI_Win_sync.html#MPI_Win_sync +man:+MPI_Win_test++MPI_Win_test++++man+--your-url-here--/MPI_Win_test.html#MPI_Win_test +man:+MPI_Win_unlock++MPI_Win_unlock++++man+--your-url-here--/MPI_Win_unlock.html#MPI_Win_unlock +man:+MPI_Win_unlock_all++MPI_Win_unlock_all++++man+--your-url-here--/MPI_Win_unlock_all.html#MPI_Win_unlock_all +man:+MPI_Win_wait++MPI_Win_wait++++man+--your-url-here--/MPI_Win_wait.html#MPI_Win_wait +man:+MPI_Comm_disconnect++MPI_Comm_disconnect++++man+--your-url-here--/MPI_Comm_disconnect.html#MPI_Comm_disconnect +man:+MPI_Comm_get_parent++MPI_Comm_get_parent++++man+--your-url-here--/MPI_Comm_get_parent.html#MPI_Comm_get_parent +man:+MPI_Comm_join++MPI_Comm_join++++man+--your-url-here--/MPI_Comm_join.html#MPI_Comm_join +man:+MPI_Comm_spawn++MPI_Comm_spawn++++man+--your-url-here--/MPI_Comm_spawn.html#MPI_Comm_spawn +man:+MPI_Comm_spawn_multiple++MPI_Comm_spawn_multiple++++man+--your-url-here--/MPI_Comm_spawn_multiple.html#MPI_Comm_spawn_multiple +man:+MPI_Lookup_name++MPI_Lookup_name++++man+--your-url-here--/MPI_Lookup_name.html#MPI_Lookup_name +man:+MPI_Publish_name++MPI_Publish_name++++man+--your-url-here--/MPI_Publish_name.html#MPI_Publish_name +man:+MPI_Unpublish_name++MPI_Unpublish_name++++man+--your-url-here--/MPI_Unpublish_name.html#MPI_Unpublish_name +man:+MPI_Open_port++MPI_Open_port++++man+--your-url-here--/MPI_Open_port.html#MPI_Open_port +man:+MPI_Close_port++MPI_Close_port++++man+--your-url-here--/MPI_Close_port.html#MPI_Close_port +man:+MPI_Comm_connect++MPI_Comm_connect++++man+--your-url-here--/MPI_Comm_connect.html#MPI_Comm_connect +man:+MPI_Comm_accept++MPI_Comm_accept++++man+--your-url-here--/MPI_Comm_accept.html#MPI_Comm_accept +man:+MPI_Wtime++MPI_Wtime++++man+--your-url-here--/MPI_Wtime.html#MPI_Wtime +man:+MPI_Wtick++MPI_Wtick++++man+--your-url-here--/MPI_Wtick.html#MPI_Wtick +man:+MPI_Cart_coords++MPI_Cart_coords++++man+--your-url-here--/MPI_Cart_coords.html#MPI_Cart_coords +man:+MPI_Cart_create++MPI_Cart_create++++man+--your-url-here--/MPI_Cart_create.html#MPI_Cart_create +man:+MPI_Cart_get++MPI_Cart_get++++man+--your-url-here--/MPI_Cart_get.html#MPI_Cart_get +man:+MPI_Cart_map++MPI_Cart_map++++man+--your-url-here--/MPI_Cart_map.html#MPI_Cart_map +man:+MPI_Cart_rank++MPI_Cart_rank++++man+--your-url-here--/MPI_Cart_rank.html#MPI_Cart_rank +man:+MPI_Cart_shift++MPI_Cart_shift++++man+--your-url-here--/MPI_Cart_shift.html#MPI_Cart_shift +man:+MPI_Cart_sub++MPI_Cart_sub++++man+--your-url-here--/MPI_Cart_sub.html#MPI_Cart_sub +man:+MPI_Dims_create++MPI_Dims_create++++man+--your-url-here--/MPI_Dims_create.html#MPI_Dims_create +man:+MPI_Graph_get++MPI_Graph_get++++man+--your-url-here--/MPI_Graph_get.html#MPI_Graph_get +man:+MPI_Graph_map++MPI_Graph_map++++man+--your-url-here--/MPI_Graph_map.html#MPI_Graph_map +man:+MPI_Graph_neighbors++MPI_Graph_neighbors++++man+--your-url-here--/MPI_Graph_neighbors.html#MPI_Graph_neighbors +man:+MPI_Graph_create++MPI_Graph_create++++man+--your-url-here--/MPI_Graph_create.html#MPI_Graph_create +man:+MPI_Graphdims_get++MPI_Graphdims_get++++man+--your-url-here--/MPI_Graphdims_get.html#MPI_Graphdims_get +man:+MPI_Graph_neighbors_count++MPI_Graph_neighbors_count++++man+--your-url-here--/MPI_Graph_neighbors_count.html#MPI_Graph_neighbors_count +man:+MPI_Cartdim_get++MPI_Cartdim_get++++man+--your-url-here--/MPI_Cartdim_get.html#MPI_Cartdim_get +man:+MPI_Topo_test++MPI_Topo_test++++man+--your-url-here--/MPI_Topo_test.html#MPI_Topo_test +man:+MPI_Dist_graph_create_adjacent++MPI_Dist_graph_create_adjacent++++man+--your-url-here--/MPI_Dist_graph_create_adjacent.html#MPI_Dist_graph_create_adjacent +man:+MPI_Dist_graph_create++MPI_Dist_graph_create++++man+--your-url-here--/MPI_Dist_graph_create.html#MPI_Dist_graph_create +man:+MPI_Dist_graph_neighbors_count++MPI_Dist_graph_neighbors_count++++man+--your-url-here--/MPI_Dist_graph_neighbors_count.html#MPI_Dist_graph_neighbors_count +man:+MPI_Dist_graph_neighbors++MPI_Dist_graph_neighbors++++man+--your-url-here--/MPI_Dist_graph_neighbors.html#MPI_Dist_graph_neighbors +man:+MPI_T_category_changed++MPI_T_category_changed++++man+--your-url-here--/MPI_T_category_changed.html#MPI_T_category_changed +man:+MPI_T_category_get_categories++MPI_T_category_get_categories++++man+--your-url-here--/MPI_T_category_get_categories.html#MPI_T_category_get_categories +man:+MPI_T_category_get_cvars++MPI_T_category_get_cvars++++man+--your-url-here--/MPI_T_category_get_cvars.html#MPI_T_category_get_cvars +man:+MPI_T_category_get_info++MPI_T_category_get_info++++man+--your-url-here--/MPI_T_category_get_info.html#MPI_T_category_get_info +man:+MPI_T_category_get_num++MPI_T_category_get_num++++man+--your-url-here--/MPI_T_category_get_num.html#MPI_T_category_get_num +man:+MPI_T_category_get_pvars++MPI_T_category_get_pvars++++man+--your-url-here--/MPI_T_category_get_pvars.html#MPI_T_category_get_pvars +man:+MPI_T_cvar_get_info++MPI_T_cvar_get_info++++man+--your-url-here--/MPI_T_cvar_get_info.html#MPI_T_cvar_get_info +man:+MPI_T_cvar_get_num++MPI_T_cvar_get_num++++man+--your-url-here--/MPI_T_cvar_get_num.html#MPI_T_cvar_get_num +man:+MPI_T_cvar_handle_alloc++MPI_T_cvar_handle_alloc++++man+--your-url-here--/MPI_T_cvar_handle_alloc.html#MPI_T_cvar_handle_alloc +man:+MPI_T_cvar_handle_free++MPI_T_cvar_handle_free++++man+--your-url-here--/MPI_T_cvar_handle_free.html#MPI_T_cvar_handle_free +man:+MPI_T_cvar_read++MPI_T_cvar_read++++man+--your-url-here--/MPI_T_cvar_read.html#MPI_T_cvar_read +man:+MPI_T_cvar_write++MPI_T_cvar_write++++man+--your-url-here--/MPI_T_cvar_write.html#MPI_T_cvar_write +man:+MPI_T_enum_get_info++MPI_T_enum_get_info++++man+--your-url-here--/MPI_T_enum_get_info.html#MPI_T_enum_get_info +man:+MPI_T_enum_get_item++MPI_T_enum_get_item++++man+--your-url-here--/MPI_T_enum_get_item.html#MPI_T_enum_get_item +man:+MPI_T_finalize++MPI_T_finalize++++man+--your-url-here--/MPI_T_finalize.html#MPI_T_finalize +man:+MPI_T_init_thread++MPI_T_init_thread++++man+--your-url-here--/MPI_T_init_thread.html#MPI_T_init_thread +man:+MPI_T_pvar_get_info++MPI_T_pvar_get_info++++man+--your-url-here--/MPI_T_pvar_get_info.html#MPI_T_pvar_get_info +man:+MPI_T_pvar_get_num++MPI_T_pvar_get_num++++man+--your-url-here--/MPI_T_pvar_get_num.html#MPI_T_pvar_get_num +man:+MPI_T_pvar_handle_alloc++MPI_T_pvar_handle_alloc++++man+--your-url-here--/MPI_T_pvar_handle_alloc.html#MPI_T_pvar_handle_alloc +man:+MPI_T_pvar_handle_free++MPI_T_pvar_handle_free++++man+--your-url-here--/MPI_T_pvar_handle_free.html#MPI_T_pvar_handle_free +man:+MPI_T_pvar_read++MPI_T_pvar_read++++man+--your-url-here--/MPI_T_pvar_read.html#MPI_T_pvar_read +man:+MPI_T_pvar_readreset++MPI_T_pvar_readreset++++man+--your-url-here--/MPI_T_pvar_readreset.html#MPI_T_pvar_readreset +man:+MPI_T_pvar_reset++MPI_T_pvar_reset++++man+--your-url-here--/MPI_T_pvar_reset.html#MPI_T_pvar_reset +man:+MPI_T_pvar_session_create++MPI_T_pvar_session_create++++man+--your-url-here--/MPI_T_pvar_session_create.html#MPI_T_pvar_session_create +man:+MPI_T_pvar_session_free++MPI_T_pvar_session_free++++man+--your-url-here--/MPI_T_pvar_session_free.html#MPI_T_pvar_session_free +man:+MPI_T_pvar_start++MPI_T_pvar_start++++man+--your-url-here--/MPI_T_pvar_start.html#MPI_T_pvar_start +man:+MPI_T_pvar_stop++MPI_T_pvar_stop++++man+--your-url-here--/MPI_T_pvar_stop.html#MPI_T_pvar_stop +man:+MPI_T_pvar_write++MPI_T_pvar_write++++man+--your-url-here--/MPI_T_pvar_write.html#MPI_T_pvar_write +man:+MPI_T_category_get_index++MPI_T_category_get_index++++man+--your-url-here--/MPI_T_category_get_index.html#MPI_T_category_get_index +man:+MPI_T_cvar_get_index++MPI_T_cvar_get_index++++man+--your-url-here--/MPI_T_cvar_get_index.html#MPI_T_cvar_get_index +man:+MPI_T_pvar_get_index++MPI_T_pvar_get_index++++man+--your-url-here--/MPI_T_pvar_get_index.html#MPI_T_pvar_get_index +man:+Constants++Constants++++man+--your-url-here--/Constants.html#Constants +man:+MPI_File_close++MPI_File_close++++man+--your-url-here--/MPI_File_close.html#MPI_File_close +man:+MPI_File_delete++MPI_File_delete++++man+--your-url-here--/MPI_File_delete.html#MPI_File_delete +man:+MPI_File_c2f++MPI_File_c2f++++man+--your-url-here--/MPI_File_c2f.html#MPI_File_c2f +man:+MPI_File_f2c++MPI_File_f2c++++man+--your-url-here--/MPI_File_f2c.html#MPI_File_f2c +man:+MPI_File_sync++MPI_File_sync++++man+--your-url-here--/MPI_File_sync.html#MPI_File_sync +man:+MPI_File_get_amode++MPI_File_get_amode++++man+--your-url-here--/MPI_File_get_amode.html#MPI_File_get_amode +man:+MPI_File_get_atomicity++MPI_File_get_atomicity++++man+--your-url-here--/MPI_File_get_atomicity.html#MPI_File_get_atomicity +man:+MPI_File_get_byte_offset++MPI_File_get_byte_offset++++man+--your-url-here--/MPI_File_get_byte_offset.html#MPI_File_get_byte_offset +man:+MPI_File_get_type_extent++MPI_File_get_type_extent++++man+--your-url-here--/MPI_File_get_type_extent.html#MPI_File_get_type_extent +man:+MPI_File_get_group++MPI_File_get_group++++man+--your-url-here--/MPI_File_get_group.html#MPI_File_get_group +man:+MPI_File_get_info++MPI_File_get_info++++man+--your-url-here--/MPI_File_get_info.html#MPI_File_get_info +man:+MPI_File_get_position++MPI_File_get_position++++man+--your-url-here--/MPI_File_get_position.html#MPI_File_get_position +man:+MPI_File_get_position_shared++MPI_File_get_position_shared++++man+--your-url-here--/MPI_File_get_position_shared.html#MPI_File_get_position_shared +man:+MPI_File_get_size++MPI_File_get_size++++man+--your-url-here--/MPI_File_get_size.html#MPI_File_get_size +man:+MPI_File_get_view++MPI_File_get_view++++man+--your-url-here--/MPI_File_get_view.html#MPI_File_get_view +man:+MPI_File_iread++MPI_File_iread++++man+--your-url-here--/MPI_File_iread.html#MPI_File_iread +man:+MPI_File_iread_all++MPI_File_iread_all++++man+--your-url-here--/MPI_File_iread_all.html#MPI_File_iread_all +man:+MPI_File_iread_at++MPI_File_iread_at++++man+--your-url-here--/MPI_File_iread_at.html#MPI_File_iread_at +man:+MPI_File_iread_at_all++MPI_File_iread_at_all++++man+--your-url-here--/MPI_File_iread_at_all.html#MPI_File_iread_at_all +man:+MPI_File_iread_shared++MPI_File_iread_shared++++man+--your-url-here--/MPI_File_iread_shared.html#MPI_File_iread_shared +man:+MPI_File_iwrite++MPI_File_iwrite++++man+--your-url-here--/MPI_File_iwrite.html#MPI_File_iwrite +man:+MPI_File_iwrite_all++MPI_File_iwrite_all++++man+--your-url-here--/MPI_File_iwrite_all.html#MPI_File_iwrite_all +man:+MPI_File_iwrite_at++MPI_File_iwrite_at++++man+--your-url-here--/MPI_File_iwrite_at.html#MPI_File_iwrite_at +man:+MPI_File_iwrite_at_all++MPI_File_iwrite_at_all++++man+--your-url-here--/MPI_File_iwrite_at_all.html#MPI_File_iwrite_at_all +man:+MPI_File_iwrite_shared++MPI_File_iwrite_shared++++man+--your-url-here--/MPI_File_iwrite_shared.html#MPI_File_iwrite_shared +man:+MPI_File_open++MPI_File_open++++man+--your-url-here--/MPI_File_open.html#MPI_File_open +man:+MPI_File_preallocate++MPI_File_preallocate++++man+--your-url-here--/MPI_File_preallocate.html#MPI_File_preallocate +man:+MPI_File_read_at_all_begin++MPI_File_read_at_all_begin++++man+--your-url-here--/MPI_File_read_at_all_begin.html#MPI_File_read_at_all_begin +man:+MPI_File_read_at_all_end++MPI_File_read_at_all_end++++man+--your-url-here--/MPI_File_read_at_all_end.html#MPI_File_read_at_all_end +man:+MPI_File_read++MPI_File_read++++man+--your-url-here--/MPI_File_read.html#MPI_File_read +man:+MPI_File_read_all++MPI_File_read_all++++man+--your-url-here--/MPI_File_read_all.html#MPI_File_read_all +man:+MPI_File_read_all_begin++MPI_File_read_all_begin++++man+--your-url-here--/MPI_File_read_all_begin.html#MPI_File_read_all_begin +man:+MPI_File_read_all_end++MPI_File_read_all_end++++man+--your-url-here--/MPI_File_read_all_end.html#MPI_File_read_all_end +man:+MPI_File_read_at++MPI_File_read_at++++man+--your-url-here--/MPI_File_read_at.html#MPI_File_read_at +man:+MPI_File_read_at_all++MPI_File_read_at_all++++man+--your-url-here--/MPI_File_read_at_all.html#MPI_File_read_at_all +man:+MPI_File_read_ordered++MPI_File_read_ordered++++man+--your-url-here--/MPI_File_read_ordered.html#MPI_File_read_ordered +man:+MPI_File_read_ordered_begin++MPI_File_read_ordered_begin++++man+--your-url-here--/MPI_File_read_ordered_begin.html#MPI_File_read_ordered_begin +man:+MPI_File_read_ordered_end++MPI_File_read_ordered_end++++man+--your-url-here--/MPI_File_read_ordered_end.html#MPI_File_read_ordered_end +man:+MPI_File_read_shared++MPI_File_read_shared++++man+--your-url-here--/MPI_File_read_shared.html#MPI_File_read_shared +man:+MPI_Register_datarep++MPI_Register_datarep++++man+--your-url-here--/MPI_Register_datarep.html#MPI_Register_datarep +man:+MPI_File_seek++MPI_File_seek++++man+--your-url-here--/MPI_File_seek.html#MPI_File_seek +man:+MPI_File_seek_shared++MPI_File_seek_shared++++man+--your-url-here--/MPI_File_seek_shared.html#MPI_File_seek_shared +man:+MPI_File_set_atomicity++MPI_File_set_atomicity++++man+--your-url-here--/MPI_File_set_atomicity.html#MPI_File_set_atomicity +man:+MPI_File_set_info++MPI_File_set_info++++man+--your-url-here--/MPI_File_set_info.html#MPI_File_set_info +man:+MPI_File_set_size++MPI_File_set_size++++man+--your-url-here--/MPI_File_set_size.html#MPI_File_set_size +man:+MPI_File_set_view++MPI_File_set_view++++man+--your-url-here--/MPI_File_set_view.html#MPI_File_set_view +man:+MPI_File_write_at_all_begin++MPI_File_write_at_all_begin++++man+--your-url-here--/MPI_File_write_at_all_begin.html#MPI_File_write_at_all_begin +man:+MPI_File_write_at_all_end++MPI_File_write_at_all_end++++man+--your-url-here--/MPI_File_write_at_all_end.html#MPI_File_write_at_all_end +man:+MPI_File_write++MPI_File_write++++man+--your-url-here--/MPI_File_write.html#MPI_File_write +man:+MPI_File_write_all++MPI_File_write_all++++man+--your-url-here--/MPI_File_write_all.html#MPI_File_write_all +man:+MPI_File_write_all_begin++MPI_File_write_all_begin++++man+--your-url-here--/MPI_File_write_all_begin.html#MPI_File_write_all_begin +man:+MPI_File_write_all_end++MPI_File_write_all_end++++man+--your-url-here--/MPI_File_write_all_end.html#MPI_File_write_all_end +man:+MPI_File_write_at++MPI_File_write_at++++man+--your-url-here--/MPI_File_write_at.html#MPI_File_write_at +man:+MPI_File_write_at_all++MPI_File_write_at_all++++man+--your-url-here--/MPI_File_write_at_all.html#MPI_File_write_at_all +man:+MPI_File_write_ordered++MPI_File_write_ordered++++man+--your-url-here--/MPI_File_write_ordered.html#MPI_File_write_ordered +man:+MPI_File_write_ordered_begin++MPI_File_write_ordered_begin++++man+--your-url-here--/MPI_File_write_ordered_begin.html#MPI_File_write_ordered_begin +man:+MPI_File_write_ordered_end++MPI_File_write_ordered_end++++man+--your-url-here--/MPI_File_write_ordered_end.html#MPI_File_write_ordered_end +man:+MPI_File_write_shared++MPI_File_write_shared++++man+--your-url-here--/MPI_File_write_shared.html#MPI_File_write_shared diff --git a/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 b/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 new file mode 100644 index 00000000..2240d851 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 @@ -0,0 +1,10 @@ +.TH hydra_nameserver 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_nameserver \- Internal executable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/nameserver/hydra_nameserver.txt diff --git a/macx64/mpi/mpich/share/man/man1/hydra_persist.1 b/macx64/mpi/mpich/share/man/man1/hydra_persist.1 new file mode 100644 index 00000000..ac93d489 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_persist.1 @@ -0,0 +1,10 @@ +.TH hydra_persist 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_persist \- Internal executable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/bootstrap/persist/hydra_persist.txt diff --git a/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 b/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 new file mode 100644 index 00000000..137a796a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 @@ -0,0 +1,10 @@ +.TH hydra_pmi_proxy 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_pmi_proxy \- Internal exectuable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/pm/pmiserv/hydra_pmi_proxy.txt diff --git a/macx64/mpi/mpich/share/man/man1/mpicc.1 b/macx64/mpi/mpich/share/man/man1/mpicc.1 new file mode 100644 index 00000000..56f825a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpicc.1 @@ -0,0 +1,217 @@ +.TH mpicc 1 "6/5/2019" " " "MPI" +.SH NAME +mpicc \- Compiles and links MPI programs written in C +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +C. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -cc=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpicc +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicc. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicc. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variable +.I MPICH_CC +may be used +to select different C compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +The environment variable +.I MPICC_PROFILE +specifies a profile library +and has the same effect as if +.I \\-profile=$MPICC_PROFILE +were used as +an argument to +.I mpicc +\&. +See the discussion of +.I \\-profile +below for more +details. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_CC +environment variable or the +.I \\-cc=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.c +, use +.nf +mpicc -c foo.c +.fi + + +To link the output and make an executable, use +.nf +mpicc -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpicc -o foo foo.c +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpicxx.1 b/macx64/mpi/mpich/share/man/man1/mpicxx.1 new file mode 100644 index 00000000..2c481fb9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpicxx.1 @@ -0,0 +1,217 @@ +.TH mpicxx 1 "6/5/2019" " " "MPI" +.SH NAME +mpicxx \- Compiles and links MPI programs written in C++ +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +C++. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -cxx=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpicxx +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicxx. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicxx. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_CXX +may be used +to select different C++ compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +The environment variable +.I MPICC_PROFILE +specifies a profile library +and has the same effect as if +.I \\-profile=$MPICC_PROFILE +were used as +an argument to +.I mpicc +\&. +See the discussion of +.I \\-profile +below for more +details. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_CXX +environment variable or the +.I \\-cxx=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler, +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.c +, use +.nf +mpicxx -c foo.cxx +.fi + + +To link the output and make an executable, use +.nf +mpicxx -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpicxx -o foo foo.cxx +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpiexec.1 b/macx64/mpi/mpich/share/man/man1/mpiexec.1 new file mode 100644 index 00000000..fc136c0c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpiexec.1 @@ -0,0 +1,321 @@ +.TH mpiexec 1 "6/5/2019" " " "MPI" +.SH NAME +mpiexec \- Run an MPI program +.SH SYNOPSIS +.nf +.fi +.nf +mpiexec args executable pgmargs [ : args executable pgmargs ... ] +.fi + +where +.I args +are command line arguments for +.I mpiexec +(see below), +.I executable +is the name of an executable MPI program, and +.I pgmargs +are command line arguments for the executable. Multiple executables +can be specified by using the colon notation (for MPMD - Multiple Program +Multiple Data applications). For example, the following command will run +the MPI program +.I a.out +on 4 processes: +.nf +mpiexec -n 4 a.out +.fi + + +The MPI standard specifies the following arguments and their meanings: + +.PD 0 +.TP +.B -n +- Specify the number of processes to use +.PD 1 +.PD 0 +.TP +.B -host +- Name of host on which to run processes +.PD 1 +.PD 0 +.TP +.B -arch +- Pick hosts with this architecture type +.PD 1 +.PD 0 +.TP +.B -wdir +- cd to this one +.B before +running executable +.PD 1 +.PD 0 +.TP +.B -path +- use this to find the executable +.PD 1 +.PD 0 +.TP +.B -soft +- comma separated triplets that specify requested numbers +of processes (see the MPI-2 specification for more details) +.PD 1 +.PD 0 +.TP +.B -file +- implementation-defined specification file +.PD 1 +.PD 0 +.TP +.B -configfile +- file containing specifications of host/program, +one per line, with # as a comment indicator, e.g., the usual +mpiexec input, but with ":" replaced with a newline. That is, +the configfile contains lines with -soft, -n etc. +.PD 1 + +Additional arguments that are specific to the MPICH implementation +are discussed below. + +Note that not all of these parameters are meaningful for all +systems. For example, the +.I gforker +version of +.I mpiexec +creates all +processes on the same system on which it is running; in that case, the +.I \\-arch +and +.I \\-host +options are ignored. + +The colon character ( +.I : +) may be used to separate different executables +for MPMD (multiple program multiple data) programming. For example, +to run the program +.I ocean +on 4 processes and +.I air +on 8 processes, use: + +.nf +mpiexec -n 4 ocean : -n 8 air +.fi + + + +.SH MPICH-SPECIFIC ARGUMENTS + +Many of the implementations of process managers in MPICH support the +following arguments to +.I mpiexec +: + +.PD 0 +.TP +.B -np +- A synonym for the standard +.I \\-n +argument +.PD 1 +.PD 0 +.TP +.B -env +- Set the environment variable +.I +to +.I +for +the processes being run by +.I mpiexec + +.PD 1 +.PD 0 +.TP +.B -envnone +- Pass no environment variables (other than ones specified with +other +.I \\-env +or +.I \\-genv +arguments) to the processes being run by +.I mpiexec +\&. + +By default, all environment +variables are provided to each MPI process (rationale: principle of +least surprise for the user) +.PD 1 +.PD 0 +.TP +.B -envlist +- Pass the listed environment variables (names separated +by commas), with their current values, to the processes being run by +.I mpiexec +\&. + +.PD 1 +.PD 0 +.TP +.B -genv +- The +.I \\-genv +options have the same meaning as their +corresponding +.I \\-env +version, except they apply to all executables, not just +the current executable (in the case that the colon syntax is used to specify +multiple execuables). +.PD 1 +.PD 0 +.TP +.B -genvnone +- Like +.I \\-envnone +, but for all executables +.PD 1 +.PD 0 +.TP +.B -genvlist +- Like +.I \\-envlist +, but for all executables +.PD 1 +.PD 0 +.TP +.B -usize +- Specify the value returned for the value of the attribute +.I MPI_UNIVERSE_SIZE +\&. + +.PD 1 +.PD 0 +.TP +.B -l +- Label standard out and standard error ( +.I stdout +and +.I stderr +) with +the rank of the process +.PD 1 +.PD 0 +.TP +.B -maxtime +- Set a timelimit of +.I +seconds. +.PD 1 +.PD 0 +.TP +.B -exitinfo +- Provide more information on the reason each process exited if +there is an abnormal exit +.PD 1 + +.SH ENVIRONMENT VARIABLES FOR MPIEXEC +The following environment variables are understood by some versions of +.I mpiexec +\&. +The command line arguments have priority over these; that is, +if both the environment variable and command line argument are used, the +value specified by the command line argument is used. + +.PD 0 +.TP +.B MPIEXEC_TIMEOUT +- Maximum running time in seconds. +.I mpiexec +will +terminate MPI programs that take longer than the value specified by +.I MPIEXEC_TIMEOUT +\&. + +.PD 1 +.PD 0 +.TP +.B MPIEXEC_UNIVERSE_SIZE +- Set the universe size +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PORT_RANGE +- Set the range of ports that +.I mpiexec +will use +in communicating with the processes that it starts. The format of +this is +.I : +\&. +For example, to specify any port between +10000 and 10100, use +.I 10000:10100 +\&. + +.PD 1 +.PD 0 +.TP +.B MPICH_PORT_RANGE +- Has the same meaning as +.I MPIEXEC_PORT_RANGE +and +is used if +.I MPIEXEC_PORT_RANGE +is not set. +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_DEFAULT +- If this environment variable is set, output +to standard output is prefixed by the rank in +.I MPI_COMM_WORLD +of the +process and output to standard error is prefixed by the rank and the +text +.I (err) +; both are followed by an angle bracket ( +.I > +). If +this variable is not set, there is no prefix. +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_STDOUT +- Set the prefix used for lines sent to standard +output. A +.I %d +is replaced with the rank in +.I MPI_COMM_WORLD +; a +.I %w +is +replaced with an indication of which +.I MPI_COMM_WORLD +in MPI jobs that +involve multiple +.I MPI_COMM_WORLD +s (e.g., ones that use +.I MPI_Comm_spawn +or +.I MPI_Comm_connect +). +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_STDERR +- Like +.I MPIEXEC_PREFIX_STDOUT +, but for standard error. +.PD 1 + +.SH RETURN STATUS +.I mpiexec +returns the maximum of the exit status values of all of the +processes created by +.I mpiexec +\&. + + diff --git a/macx64/mpi/mpich/share/man/man1/mpif77.1 b/macx64/mpi/mpich/share/man/man1/mpif77.1 new file mode 100644 index 00000000..aa55e916 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpif77.1 @@ -0,0 +1,203 @@ +.TH mpif77 1 "6/5/2019" " " "MPI" +.SH NAME +mpif77 \- Compiles and links MPI programs written in Fortran 77 +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -f77=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpif77 +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpif77. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpif77. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_F77 +may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_F77 +environment variable or the +.I \\-f77=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.f +, use +.nf +mpif77 -c foo.f +.fi + + +To link the output and make an executable, use +.nf +mpif77 -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpif77 -o foo foo.f +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpifort.1 b/macx64/mpi/mpich/share/man/man1/mpifort.1 new file mode 100644 index 00000000..371dfaa9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpifort.1 @@ -0,0 +1,203 @@ +.TH mpifort 1 "6/5/2019" " " "MPI" +.SH NAME +mpifort \- Compiles and links MPI programs written in Fortran 90 +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -fc=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpifort +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpifort. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpifort. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_FC +may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_FC +environment variable or the +.I \\-fc=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.f +, use +.nf +mpifort -c foo.f +.fi + + +To link the output and make an executable, use +.nf +mpifort -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpifort -o foo foo.f +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man3/Constants.3 b/macx64/mpi/mpich/share/man/man3/Constants.3 new file mode 100644 index 00000000..68c6176e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/Constants.3 @@ -0,0 +1,1892 @@ +.TH Constants 3 "6/5/2019" " " "MPI" +.SH NAME +Constants \- Meaning of MPI's defined constants +.SH DATA TYPES +Note that the Fortran types should only be used in Fortran programs, +and the C types should only be used in C programs. For example, +it is in error to use +.I MPI_INT +for a Fortran INTEGER. +Datatypes are of type +.I MPI_Datatype +in C, type +.I INTEGER +in Fortran, +and +.I Type(MPI_Datatype) +in Fortran08 + +.SH C DATATYPES +MPI_CHAR - char +.PD 0 +.TP +.B MPI_SIGNED_CHAR +- signed char +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_CHAR +- unsigned char +.PD 1 +.PD 0 +.TP +.B MPI_BYTE +- See standard; like unsigned char +.PD 1 +.PD 0 +.TP +.B MPI_WCHAR +- wide character (wchar_t) +.PD 1 +.PD 0 +.TP +.B MPI_SHORT +- short +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_SHORT +- unsigned short +.PD 1 +.PD 0 +.TP +.B MPI_INT +- int +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED +- unsigned int +.PD 1 +.PD 0 +.TP +.B MPI_LONG +- long +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_LONG +- unsigned long +.PD 1 +.PD 0 +.TP +.B MPI_LONG_LONG_INT +- long long +.PD 1 +.PD 0 +.TP +.B MPI_LONG_LONG +- synonyn for +.I MPI_LONG_LONG_INT + +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_LONG_LONG +- unsigned long long +.PD 1 +.PD 0 +.TP +.B MPI_FLOAT +- float +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE +- double +.PD 1 +.PD 0 +.TP +.B MPI_LONG_DOUBLE +- long double (some systems may not implement this) +.PD 1 +.PD 0 +.TP +.B MPI_INT8_T +- int8_t +.PD 1 +.PD 0 +.TP +.B MPI_INT16_T +- int16_t +.PD 1 +.PD 0 +.TP +.B MPI_INT32_T +- int32_t +.PD 1 +.PD 0 +.TP +.B MPI_INT64_T +- int64_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT8_T +- uint8_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT16_T +- uint16_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT32_T +- uint32_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT64_T +- uint64_t +.PD 1 +.PD 0 +.TP +.B MPI_C_BOOL +- _Bool +.PD 1 +.PD 0 +.TP +.B MPI_C_FLOAT_COMPLEX +- float _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_COMPLEX +- float _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_DOUBLE_COMPLEX +- double _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_LONG_DOUBLE_COMPLEX +- long double _Complex +.PD 1 + + +The following are datatypes for the MPI functions +.I MPI_MAXLOC +and +.I MPI_MINLOC +\&. + +MPI_FLOAT_INT - +.I struct { float, int } + +.PD 0 +.TP +.B MPI_LONG_INT +- +.I struct { long, int } + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_INT +- +.I struct { double, int } + +.PD 1 +.PD 0 +.TP +.B MPI_SHORT_INT +- +.I struct { short, int } + +.PD 1 +.PD 0 +.TP +.B MPI_2INT +- +.I struct { int, int } + +.PD 1 +.PD 0 +.TP +.B MPI_LONG_DOUBLE_INT +- +.I struct { long double, int } +; this +is an +.B optional +type, and may be set to +.I MPI_DATATYPE_NULL + +.PD 1 + + +Special datatypes for C and Fortran +MPI_PACKED - For +.I MPI_Pack +and +.I MPI_Unpack + +.PD 0 +.TP +.B MPI_UB +- For +.I MPI_Type_struct +; an upper-bound indicator. Removed in MPI 3 +.PD 1 +.PD 0 +.TP +.B MPI_LB +- For +.I MPI_Type_struct +; a lower-bound indicator. Removed in MPI 3 +.PD 1 + +.SH FORTRAN DATATYPES +MPI_REAL - +.I REAL + +.PD 0 +.TP +.B MPI_INTEGER +- +.I INTEGER + +.PD 1 +.PD 0 +.TP +.B MPI_LOGICAL +- +.I LOGICAL + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_PRECISION +- +.I DOUBLE PRECISION + +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX +- +.I COMPLEX + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_COMPLEX +- +.I complex*16 +(or +.I complex*32 +) where supported. +.PD 1 + +The following datatypes are optional +MPI_INTEGER1 - +.I integer*1 +if supported +.PD 0 +.TP +.B MPI_INTEGER2 +- +.I integer*2 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER4 +- +.I integer*4 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER8 +- +.I integer*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER16 +- +.I integer*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL4 +- +.I real*4 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL8 +- +.I real*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL16 +- +.I real*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX8 +- +.I complex*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX16 +- +.I complex*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX32 +- +.I complex*32 +if supported +.PD 1 + +The following are datatypes for the MPI functions +.I MPI_MAXLOC +and +.I MPI_MINLOC +\&. +In Fortran, these datatype always consist of +two elements of the same Fortran type. +MPI_2INTEGER - +.I INTEGER,INTEGER + +.PD 0 +.TP +.B MPI_2REAL +- +.I REAL, REAL + +.PD 1 +.PD 0 +.TP +.B MPI_2DOUBLE_PRECISION +- +.I DOUBLE PRECISION, DOUBLE PRECISION + +.PD 1 + +MPI Datatypes for MPI Types +MPI_AINT - Datatype for an +.I MPI_Aint + +.PD 0 +.TP +.B MPI_OFFSET +- Datatype for an +.I MPI_Offset + +.PD 1 +.PD 0 +.TP +.B MPI_COUNT +- Datatype for an +.I MPI_Count + +.PD 1 + +.SH MPI DATATYPE COMBINER NAMES +MPI_COMBINER_NAMED - a named predefined datatype +.PD 0 +.TP +.B MPI_COMBINER_DUP +- MPI_TYPE_DUP +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_CONTIGUOUS +- MPI_TYPE_CONTIGUOUS +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_VECTOR +- MPI_TYPE_VECTOR +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HVECTOR_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HVECTOR +- MPI_TYPE_CREATE_HVECTOR +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_INDEXED +- MPI_TYPE_INDEXED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED +- MPI_TYPE_CREATE_HINDEXED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_INDEXED_BLOCK +- MPI_TYPE_CREATE_INDEXED_BLOCK +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_STRUCT_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_STRUCT +- MPI_TYPE_CREATE_STRUCT +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_SUBARRAY +- MPI_TYPE_CREATE_SUBARRAY +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_DARRAY +- MPI_TYPE_CREATE_DARRAY +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_REAL +- MPI_TYPE_CREATE_F90_REAL +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_COMPLEX +- MPI_TYPE_CREATE_F90_COMPLEX +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_INTEGER +- MPI_TYPE_CREATE_F90_INTEGER +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_RESIZED +- MPI_TYPE_CREATE_RESIZED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED_BLOCK +- MPI_TYPE_CREATE_HINDEXED_BLOCK +.PD 1 + +.SH MPI DATATYPE TYPE CLASSES +MPI Type classes used with routines to return Fortran types with defined +precision and range +MPI_TYPECLASS_REAL - +.I REAL + +.PD 0 +.TP +.B MPI_TYPECLASS_INTEGER +- +.I INTEGER + +.PD 1 +.PD 0 +.TP +.B MPI_TYPECLASS_COMPLEX +- +.I COMPLEX + +.PD 1 + +.SH MPI DARRAY AND SUBARRAY VALUES +These values are used to create a datatype with the +.I DARRAY +and +.I SUBARRAY +constructors. +MPI_ORDER_C - Row-major order (as used by C) +.PD 0 +.TP +.B MPI_ORDER_FORTRAN +- Column-major order (as used by Fortran) +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_BLOCK +- Block distribution +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_CYCLIC +- Cyclic distribution +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_NONE +- This dimension is not distributed +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_DFLT_DARG +- Use the default distribution +.PD 1 + +.SH COMMUNICATORS +Communicators are of type +.I MPI_Comm +in C, +.I INTEGER +in Fortran, and +.I Type(MPI_Comm) +in Fortran08 +MPI_COMM_WORLD - Contains all of the processes +.PD 0 +.TP +.B MPI_COMM_SELF +- Contains only the calling process +.PD 1 + +.SH KIND OF COMMUNICATOR FOR 'MPI_COMM_SPLIT_TYPE' +MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into +the same communicator. + +.SH GROUPS +Groups are of type +.I MPI_Group +in C, +.I INTEGER +in Fortran, +and +.I Type(MPI_Group) +in Fortran08 + +MPI_GROUP_EMPTY - A group containing no members. + +.SH RESULTS OF THE COMPARE OPERATIONS ON GROUPS AND COMMUNICATORS +MPI_IDENT - Identical +.PD 0 +.TP +.B MPI_CONGRUENT +- (only for +.I MPI_COMM_COMPARE +) The groups are identical +.PD 1 +.PD 0 +.TP +.B MPI_SIMILAR +- Same members, but in a different order +.PD 1 +.PD 0 +.TP +.B MPI_UNEQUAL +- Different +.PD 1 + + +.SH COLLECTIVE OPERATIONS +The collective combination operations (e.g., +.I MPI_REDUCE +, +.I MPI_ALLREDUCE +, +.I MPI_REDUCE_SCATTER +, and +.I MPI_SCAN +) take a combination operation. +This operation is of type +.I MPI_Op +in C and of type +.I INTEGER +in Fortran. +The predefined operations are + +MPI_MAX - return the maximum +.PD 0 +.TP +.B MPI_MIN +- return the minumum +.PD 1 +.PD 0 +.TP +.B MPI_SUM +- return the sum +.PD 1 +.PD 0 +.TP +.B MPI_PROD +- return the product +.PD 1 +.PD 0 +.TP +.B MPI_LAND +- return the logical and +.PD 1 +.PD 0 +.TP +.B MPI_BAND +- return the bitwise and +.PD 1 +.PD 0 +.TP +.B MPI_LOR +- return the logical or +.PD 1 +.PD 0 +.TP +.B MPI_BOR +- return the bitwise of +.PD 1 +.PD 0 +.TP +.B MPI_LXOR +- return the logical exclusive or +.PD 1 +.PD 0 +.TP +.B MPI_BXOR +- return the bitwise exclusive or +.PD 1 +.PD 0 +.TP +.B MPI_MINLOC +- return the minimum and the location (actually, the value of +the second element of the structure where the minimum of +the first is found) +.PD 1 +.PD 0 +.TP +.B MPI_MAXLOC +- return the maximum and the location +.PD 1 +.PD 0 +.TP +.B MPI_REPLACE +- replace b with a +.PD 1 +.PD 0 +.TP +.B MPI_NO_OP +- perform no operation +.PD 1 + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +Note that not all datatypes are valid for these functions. For example, +.I MPI_COMPLEX +is not valid for +.I MPI_MAX +and +.I MPI_MIN +\&. +In addition, the MPI +1.1 standard did not include the C types +.I MPI_CHAR +and +.I MPI_UNSIGNED_CHAR +among the lists of arithmetic types for operations like +.I MPI_SUM +\&. +However, +since the C type +.I char +is an integer type (like +.I short +), it should have been +included. The MPI Forum will probably include +.I char +and +.I unsigned char +as a clarification to MPI 1.1; until then, users are advised that MPI +implementations may not accept +.I MPI_CHAR +and +.I MPI_UNSIGNED_CHAR +as valid +datatypes for +.I MPI_SUM +, +.I MPI_PROD +, etc. MPICH does allow these datatypes. + +.SH PERMANENT KEY VALUES +These are the same in C and Fortran + +MPI_TAG_UB - Largest tag value +.PD 0 +.TP +.B MPI_HOST +- Rank of process that is host, if any +.PD 1 +.PD 0 +.TP +.B MPI_IO +- Rank of process that can do I/O +.PD 1 +.PD 0 +.TP +.B MPI_WTIME_IS_GLOBAL +- Has value 1 if +.I MPI_WTIME +is globally synchronized. +.PD 1 +.PD 0 +.TP +.B MPI_UNIVERSE_SIZE +- Number of available processes. See the standard for +a description of limitations on this value +.PD 1 +.PD 0 +.TP +.B MPI_LASTUSEDCODE +- Last used MPI error code (check - code or class?) +.PD 1 +.PD 0 +.TP +.B MPI_APPNUM +- Application number, starting from 0. See the standard for +.I MPI_COMM_SPAWN_MULTIPLE +and +.I mpiexec +for details +.PD 1 + +.SH NULL OBJECTS +MPI_COMM_NULL - Null communicator +.PD 0 +.TP +.B MPI_OP_NULL +- Null operation +.PD 1 +.PD 0 +.TP +.B MPI_GROUP_NULL +- Null group +.PD 1 +.PD 0 +.TP +.B MPI_DATATYPE_NULL +- Null datatype +.PD 1 +.PD 0 +.TP +.B MPI_REQUEST_NULL +- Null request +.PD 1 +.PD 0 +.TP +.B MPI_ERRHANDLER_NULL +- Null error handler +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL +- Null window handle +.PD 1 +.PD 0 +.TP +.B MPI_FILE_NULL +- Null file handle +.PD 1 +.PD 0 +.TP +.B MPI_INFO_NULL +- Null info handle +.PD 1 +.PD 0 +.TP +.B MPI_MESSAGE_NULL +- Null message handle +.PD 1 +.PD 0 +.TP +.B MPI_ARGV_NULL +- Empty ARGV value for spawn commands +.PD 1 +.PD 0 +.TP +.B MPI_ARGVS_NULL +- Empty ARGV array for spawn-multiple command +.PD 1 +.PD 0 +.TP +.B MPI_T_ENUM_NULL +- Null MPI_T enum +.PD 1 +.PD 0 +.TP +.B MPI_T_CVAR_HANDLE_NULL +- Null MPI_T control variable handle +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_HANDLE_NULL +- Null MPI_T performance variable handle +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_SESSION_NULL +- Null MPI_T performance variable session handle +.PD 1 + +.SH PREDEFINED CONSTANTS +MPI_MAX_PROCESSOR_NAME - Maximum length of name returned by +.I MPI_GET_PROCESSOR_NAME + +.PD 0 +.TP +.B MPI_MAX_ERROR_STRING +- Maximum length of string return by +.I MPI_ERROR_STRING + +.PD 1 +.PD 0 +.TP +.B MPI_MAX_LIBRARY_VERSION_STRING +- Maximum length of string returned by +.I MPI_GET_LIBRARY_VERSION_STRING +??? +.PD 1 +.PD 0 +.TP +.B MPI_MAX_PORT_NAME +- Maximum length of a port +.PD 1 +.PD 0 +.TP +.B MPI_MAX_OBJECT_NAME +- Maximum length of an object (?) +.PD 1 +.PD 0 +.TP +.B MPI_MAX_INFO_KEY +- Maximum length of an info key +.PD 1 +.PD 0 +.TP +.B MPI_MAX_INFO_VAL +- Maximum length of an info value +.PD 1 +.PD 0 +.TP +.B MPI_UNDEFINED +- Used by many routines to indicated +undefined or unknown integer value +.PD 1 +.PD 0 +.TP +.B MPI_UNDEFINED_RANK +- Unknown rank +.PD 1 +.PD 0 +.TP +.B MPI_KEYVAL_INVALID +- Special keyval that may be used to detect +uninitialized keyvals. +.PD 1 +.PD 0 +.TP +.B MPI_BSEND_OVERHEAD +- Add this to the size of a +.I MPI_BSEND +buffer for each outstanding message +.PD 1 +.PD 0 +.TP +.B MPI_PROC_NULL +- This rank may be used to send or receive from no-one. +.PD 1 +.PD 0 +.TP +.B MPI_ANY_SOURCE +- In a receive, accept a message from anyone. +.PD 1 +.PD 0 +.TP +.B MPI_ANY_TAG +- In a receive, accept a message with any tag value. +.PD 1 +.PD 0 +.TP +.B MPI_BOTTOM +- May be used to indicate the bottom of the address space +.PD 1 +.PD 0 +.TP +.B MPI_IN_PLACE +- Special location for buffer in some +collective communication routines +.PD 1 +.PD 0 +.TP +.B MPI_VERSION +- Numeric value of MPI version (e.g., 3) +.PD 1 +.PD 0 +.TP +.B MPI_SUBVERSION +- Numeric value of MPI subversion (e.g., 1) +.PD 1 + +.SH TOPOLOGY TYPES +MPI_CART - Cartesian grid +.PD 0 +.TP +.B MPI_GRAPH +- General graph +.PD 1 +.PD 0 +.TP +.B MPI_DIST_GRAPH +- General distributed graph +.PD 1 + +.SH SPECIAL VALUES FOR DISTRIBUTED GRAPH +MPI_UNWEIGHTED - Indicates that the edges are unweighted +.PD 0 +.TP +.B MPI_WEIGHTS_EMPTY +- Special address that indicates no array of weights +information +.PD 1 + +.SH FILE MODES +MPI_MODE_RDONLY - Read only +.PD 0 +.TP +.B MPI_MODE_RDWR +- Read and write +.PD 1 +.PD 0 +.TP +.B MPI_MODE_WRONLY +- Write only +.PD 1 +.PD 0 +.TP +.B MPI_MODE_CREATE +- Create the file if it does not exist +.PD 1 +.PD 0 +.TP +.B MPI_MODE_EXCL +- It is an error if creating a file that already +exists +.PD 1 +.PD 0 +.TP +.B MPI_MODE_DELETE_ON_CLOSE +- Delete the file on close +.PD 1 +.PD 0 +.TP +.B MPI_MODE_UNIQUE_OPEN +- The file will not be concurrently opened elsewhere +.PD 1 +.PD 0 +.TP +.B MPI_MODE_APPEND +- The initial position of all file pointers is at +the end of the file +.PD 1 +.PD 0 +.TP +.B MPI_MODE_SEQUENTIAL +- File will only be accessed sequentially +.PD 1 + +.SH FILE DISPLACEMENT +MPI_DISPLACEMENT_CURRENT - Use with files opened with mode +.I MPI_MODE_SEQUENTIAL +in calls to +.I MPI_FILE_SET_VIEW + + +.SH FILE POSITIONING +MPI_SEEK_SET - Set the pointer to +.I offset + +.PD 0 +.TP +.B MPI_SEEK_CUR +- Set the pointer to the current position plus +.I offset + +.PD 1 +.PD 0 +.TP +.B MPI_SEEK_END +- Set the pointer to the end of the file plus +.I offset + +.PD 1 + +.SH WINDOW ATTRIBUTES +MPI_WIN_BASE - window base address. +.PD 0 +.TP +.B MPI_WIN_SIZE +- window size, in bytes +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DISP_UNIT +- displacement unit associated with the window +.PD 1 +.PD 0 +.TP +.B MPI_WIN_CREATE_FLAVOR +- how the window was created +.PD 1 +.PD 0 +.TP +.B MPI_WIN_MODEL +- memory model for window +.PD 1 + +.SH WINDOW FLAVORS +MPI_WIN_FLAVOR_CREATE - Window was created with MPI_WIN_CREATE. +.PD 0 +.TP +.B MPI_WIN_FLAVOR_ALLOCATE +- Window was created with MPI_WIN_ALLOCATE. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_FLAVOR_DYNAMIC +- Window was created with MPI_WIN_CREATE_DYNAMIC. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_FLAVOR_SHARED +- Window was created with MPI_WIN_ALLOCATE_SHARED. +.PD 1 + +.SH WINDOW MEMORY MODEL +MPI_WIN_SEPARATE - Separate public and private copies of window memory +.PD 0 +.TP +.B MPI_WIN_UNIFIED +- The publich and private copies are identical (by which +we mean that updates are eventually observed without additional RMA operations) +.PD 1 + +.SH WINDOW LOCK TYPES +MPI_LOCK_EXCLUSIVE - Only one process at a time will execute accesses +within the lock +.PD 0 +.TP +.B MPI_LOCK_SHARED +- Not exclusive; multiple processes may execute accesses +within the lock +.PD 1 + +.SH WINDOW ASSERTIONS +See section 11.5 in MPI 3.1 for a detailed description of each of these +assertion values. +MPI_MODE_NOCHECK - The matching calls to MPI_WIN_POST or MPI_WIN_START +have already completed, or no process holds or will attempt to acquire, a +conflicting lock. +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- The local window has not been updated by stores +since the last synchronization +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- The local window will not be updated by put or +accumulate until the next synchronization +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPRECEDE +- The fence does not complete any locally issued RMA +calls +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSUCCEED +- The fence does not start any locally issued RMA calls +.PD 1 + +.SH PREDEFINED INFO OBJECT +MPI_INFO_ENV - Contains the execution environment + +.SH MPI STATUS +The +.I MPI_Status +datatype is a structure in C. The three elements for use +by programmers are +MPI_SOURCE - Who sent the message +.PD 0 +.TP +.B MPI_TAG +- What tag the message was sent with +.PD 1 +.PD 0 +.TP +.B MPI_ERROR +- Any error return (only when the error returned by the routine +has error class +.I MPI_ERR_IN_STATUS +) +.PD 1 + +MPI_STATUS_IGNORE - Ignore a single +.I MPI_Status +argument +.PD 0 +.TP +.B MPI_STATUSES_IGNORE +- Ignore an array of +.I MPI_Status + +.PD 1 + +.SH SPECIAL VALUE FOR ERROR CODES ARRAY +MPI_ERRCODES_IGNORE - Ignore an array of error codes + +.SH MPI_T CONSTANTS +MPI_T_VERBOSITY_USER_BASIC - Basic information of interest to users +.PD 0 +.TP +.B MPI_T_VERBOSITY_USER_DETAIL +- Detailed information of interest to users +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_USER_ALL +- All remaining information of interest to users +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_BASIC +- Basic information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_DETAIL +- Detailed information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_ALL +- All remaining information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_BASIC +- Basic information for MPI implementors +.PD 1 + + +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_DETAIL +- Detailed information for MPI implementors +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_ALL +- All remaining information for MPI implementors +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_NO_OBJECT +- Applies globally to entire MPI process +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_COMM +- MPI communicators +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_DATATYPE +- MPI datatypes +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_ERRHANDLER +- MPI error handlers +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_FILE +- MPI file handles +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_GROUP +- MPI groups +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_OP +- MPI reduction operators +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_REQUEST +- MPI requests +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_WIN +- MPI windows for one-sided communication +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_MESSAGE +- MPI message object +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_INFO +- MPI info object +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_CONSTANT +- read-only, value is constant +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_READONLY +- read-only, cannot be written, but can +change +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_LOCAL +- may be writeable, writing is a local +operation +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_GROUP +- may be writeable, must be done to a +group of processes, all processes in a group must be set to consistent values +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_GROUP_EQ +- may be writeable, must be done to a +group of processes, all processes in a group must be set to the same value +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_ALL +- may be writeable, must be done to all +processes, all connected processes must be set to consistent values +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_ALL_EQ +- may be writeable, must be done to all +processes, all connected processes must be set to the same value +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_STATE +- set of discrete states (MPI_INT) +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_LEVEL +- utilization level of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_SIZE +- size of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_PERCENTAGE +- percentage utilization of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_HIGHWATERMARK +- high watermark of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_LOWWATERMARK +- low watermark of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_COUNTER +- number of occurances of an event +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_AGGREGATE +- aggregate value over an event (e.g., +sum of all memory allocations) +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_TIMER +- aggretate time spent executing event +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_GENERIC +- used for any other time of performance +variable +.PD 1 + +.SH THREAD LEVELS +MPI_THREAD_SINGLE - Only one thread executes +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- Only the main thread makes MPI calls +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- Only one thread at a time makes MPI calls +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may make MPI calls +.PD 1 + +.SH SPECIAL MPI TYPES AND FUNCTIONS + +MPI_Aint - C type that holds any valid address. +.PD 0 +.TP +.B MPI_Count +- C type that holds any valid count. +.PD 1 +.PD 0 +.TP +.B MPI_Offset +- C type that holds any valid file offset. +.PD 1 +.PD 0 +.TP +.B MPI_Handler_function +- C function for handling errors (see +.I MPI_Errhandler_create +) . +.PD 1 +.PD 0 +.TP +.B MPI_User_function +- C function to combine values (see collective operations +and +.I MPI_Op_create +) +.PD 1 +.PD 0 +.TP +.B MPI_Copy_function +- Function to copy attributes (see +.I MPI_Keyval_create +) +.PD 1 +.PD 0 +.TP +.B MPI_Delete_function +- Function to delete attributes (see +.I MPI_Keyval_create +) +.PD 1 +.PD 0 +.TP +.B MPI_ERRORS_ARE_FATAL +- Error handler that forces exit on error +.PD 1 +.PD 0 +.TP +.B MPI_ERRORS_RETURN +- Error handler that returns error codes (as value of +MPI routine in C and through last argument in Fortran) +.PD 1 + +.SH MPI ATTRIBUTE DEFAULT FUNCTIONS +MPI_COMM_NULL_COPY_FN - Predefined attribute copy function for communicators +.PD 0 +.TP +.B MPI_COMM_NULL_DELETE_FN +- Predefined attribute delete function for communicators +.PD 1 +.PD 0 +.TP +.B MPI_COMM_DUP_FN +- Predefined attribute duplicate function for communicators +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_COPY_FN +- Predefined attribute copy function for windows +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_DELETE_FN +- Predefined attribute delete function for windows +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DUP_FN +- Predefined attribute duplicate function for windows +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_COPY_FN +- Predefined attribute copy function for datatypes +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_DELETE_FN +- Predefined attribute delete function for datatypes +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_DUP_FN +- Predefined attribute duplicate function for datatypes +.PD 1 + +.SH MPI-1 ATTRIBUTE DEFAULT FUNCTIONS +MPI_NULL_COPY_FN - Predefined copy function +.PD 0 +.TP +.B MPI_NULL_DELETE_FN +- Predefined delete function +.PD 1 +.PD 0 +.TP +.B MPI_DUP_FN +- Predefined duplication function +.PD 1 + +.SH MPI ERROR CLASSES +MPI_SUCCESS - Successful return code +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid rank +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ROOT +- Invalid root +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null group passed to function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DIMS +- Illegal dimension argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNKNOWN +- Unknown error +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TRUNCATE +- Message truncated on receive +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use Error_string +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- Internal error code +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- Look in status for error value +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PENDING +- Pending request +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid mpi_request handle +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ACCESS +- Permission denied +.PD 1 +.PD 0 +.TP +.B MPI_ERR_AMODE +- Error related to the amode passed to +.I MPI_FILE_OPEN + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BAD_FILE +- Invalid file name (e.g., path name too long) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_CONVERSION +- An error occurred in a user supplied data +conversion function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DUP_DATAREP +- Conversion functions could not be registered +because a data representation identifier that was already defined was passed +to +.I MPI_REGISTER_DATAREP + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE_EXISTS +- File exists +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE_IN_USE +- File operation could not be completed, as +the file is currently open by some process +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE +- Invalid file handle +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IO +- Other I/O error +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_SPACE +- Not enough space +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_SUCH_FILE +- File does not exist +.PD 1 +.PD 0 +.TP +.B MPI_ERR_READ_ONLY +- Read-only file or file system +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNSUPPORTED_DATAREP +- Unsupported datarep passed to +.I MPI_FILE_SET_VIEW + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid info argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Key longer than MPI_MAX_INFO_KEY +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Value longer than MPI_MAX_INFO_VAL +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_NOKEY +- Invalid key passed to MPI_INFO_DELETE +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NAME +- Invalid service name passed to MPI_LOOKUP_NAME +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_MEM +- Alloc_mem could not allocate memory +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NOT_SAME +- Collective argument not identical on all +processes, or collective routines called in a different order by different +processes +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PORT +- Invalid port name passed to MPI_COMM_CONNECT +.PD 1 +.PD 0 +.TP +.B MPI_ERR_QUOTA +- Quota exceeded +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SERVICE +- Invalid service name passed to MPI_UNPUBLISH_NAME +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- Error in spawning processes +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNSUPPORTED_OPERATION +- Unsupported operation, such as seeking on +a file which supports sequential access only +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid win argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BASE +- Invalid base passed to MPI_FREE_MEM +.PD 1 +.PD 0 +.TP +.B MPI_ERR_LOCKTYPE +- Invalid locktype argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Erroneous attribute key +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_CONFLICT +- Conflicting accesses to window +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_SYNC +- Wrong synchronization of RMA calls +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- Invalid size argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DISP +- Invalid disp argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ASSERT +- Invalid assert argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_RANGE +- Target memory is not part of the window (in +the case of a window created with MPI_WIN_CREATE_DYNAMIC, target memory is +not attached) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_ATTACH +- Memory cannot be attached (e.g., because of +resource exhaustion) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_SHARED +- Memory cannot be shared (e.g., some process in +the group of the specified communicator cannot expose shared memory) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_FLAVOR +- Passed window has the wrong flavor for the +called function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_LASTCODE +- Last error code -- always at end +.PD 1 + +.SH ERROR CODES FOR MPI_T + +MPI_T_ERR_MEMORY - Out of memory +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- Interface not initialized +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CANNOT_INIT +- Interface not in the state to be initialized +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- The index is invalid or has been deleted +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_ITEM +- Item index queried is out of range +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_SESSIONS +- No more sessions available +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NOT_NOW +- Cvar can't be set at this moment +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NEVER +- Cvar can't be set until end of execution +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- Pvar can't be started or stopped +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- Pvar can't be written or reset +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_ATOMIC +- Pvar can't be R/W atomically +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- Name doesn't match +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID +- Invalid use of the interface or bad parameter +values(s) +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 new file mode 100644 index 00000000..fc4cf0f6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 @@ -0,0 +1,11 @@ +.TH MPIR_Type_commit 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_commit \- nput Parameters: . datatype_p - pointer to MPI datatype +.SH SYNOPSIS +.nf +int MPIR_Type_commit(MPI_Datatype * datatype_p) +.fi +.SH OUTPUT PARAMETERS + +.SH RETURN VALUE +0 on success, -1 on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 new file mode 100644 index 00000000..b44f320e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 @@ -0,0 +1,28 @@ +.TH MPIR_Type_contiguous 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_contiguous \- create a contiguous datatype +.SH SYNOPSIS +.nf +int MPIR_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the contiguous block +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new contiguous datatype +.PD 1 + +.SH RETURN VALUE +MPI_SUCCESS on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 new file mode 100644 index 00000000..065d7811 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 @@ -0,0 +1,27 @@ +.TH MPIR_Type_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_dup \- create a copy of a datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIR_Type_dup +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPIR_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- handle of original datatype +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of newly created copy of datatype +.PD 1 + +.SH RETURN VALUE +0 on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 new file mode 100644 index 00000000..95b81b10 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 @@ -0,0 +1,51 @@ +.TH MPIR_Type_get_contents 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_get_contents \- get content information from datatype +.SH SYNOPSIS +.nf +int MPIR_Type_get_contents(MPI_Datatype datatype, + int max_integers, + int max_addresses, + int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI datatype +.PD 1 +.PD 0 +.TP +.B max_integers +- size of array_of_integers +.PD 1 +.PD 0 +.TP +.B max_addresses +- size of array_of_addresses +.PD 1 +.PD 0 +.TP +.B max_datatypes +- size of array_of_datatypes +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_integers +- integers used in creating type +.PD 1 +.PD 0 +.TP +.B array_of_addresses +- MPI_Aints used in creating type +.PD 1 +.PD 0 +.TP +.B array_of_datatypes +- MPI_Datatypes used in creating type +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 new file mode 100644 index 00000000..e7550616 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 @@ -0,0 +1,49 @@ +.TH MPIR_Type_indexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_indexed \- create an indexed datatype +.SH SYNOPSIS +.nf +int MPIR_Type_indexed(int count, + const int *blocklength_array, + const void *displacement_array, + int dispinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in type +.PD 1 +.PD 0 +.TP +.B blocklength_array +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B displacement_array +- offsets of blocks from start of type (see next +parameter for units) +.PD 1 +.PD 0 +.TP +.B dispinbytes +- if nonzero, then displacements are in bytes (the +displacement_array is an array of ints), otherwise they in terms of +extent of oldtype (the displacement_array is an array of MPI_Aints) +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which new type is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new indexed datatype +.PD 1 + +.SH RETURN VALUE +0 on success, -1 on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 new file mode 100644 index 00000000..77f49609 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 @@ -0,0 +1,45 @@ +.TH MPIR_Type_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_struct \- create a struct datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIR_Type_struct +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPIR_Type_struct(int count, + const int *blocklength_array, + const MPI_Aint * displacement_array, + const MPI_Datatype * oldtype_array, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in vector +.PD 1 +.PD 0 +.TP +.B blocklength_array +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B displacement_array +- offsets of blocks from start of type in bytes +.PD 1 +.PD 0 +.TP +.B oldtype_array +- types (using handle) of datatypes on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new struct datatype +.PD 1 + +.SH RETURN VALUE +MPI_SUCCESS on success, MPI errno on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 new file mode 100644 index 00000000..e3cd0273 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 @@ -0,0 +1,48 @@ +.TH MPIR_Type_vector 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_vector \- create a vector datatype +.SH SYNOPSIS +.nf +int MPIR_Type_vector(int count, + int blocklength, + MPI_Aint stride, + int strideinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in vector +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B stride +- distance from beginning of one block to the next (see next +parameter for units) +.PD 1 +.PD 0 +.TP +.B strideinbytes +- if nonzero, then stride is in bytes, otherwise stride +is in terms of extent of oldtype +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new vector datatype +.PD 1 + +.SH RETURN VALUE +0 on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 new file mode 100644 index 00000000..bd3df512 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_agree 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_agree \- Performs agreement operation on comm +.SH SYNOPSIS +.nf +int MPIX_Comm_agree(MPI_Comm comm, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 new file mode 100644 index 00000000..35713a4c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_failure_ack 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_failure_ack \- Acknowledge the current group of failed processes +.SH SYNOPSIS +.nf +int MPIX_Comm_failure_ack(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 new file mode 100644 index 00000000..1174b026 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 @@ -0,0 +1,103 @@ +.TH MPIX_Comm_failure_get_acked 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_failure_get_acked \- Get the group of acknowledged failures. +.SH SYNOPSIS +.nf +int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group * failedgrp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B failed_group +- Group (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 new file mode 100644 index 00000000..9bc05e86 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 @@ -0,0 +1,79 @@ +.TH MPIX_Comm_revoke 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_revoke \- Prevent a communicator from being used in the future +.SH SYNOPSIS +.nf +int MPIX_Comm_revoke(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to revoke +.PD 1 + +.SH NOTES +Asynchronously notifies all MPI processes associated with the communicator +.I comm +\&. + +This will be manifest by returning the MPIX_ERR_REVOKED during a subsequent MPI +call. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 new file mode 100644 index 00000000..bb792c81 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_shrink 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_shrink \- Creates a new communitor from an existing communicator while excluding failed processes +.SH SYNOPSIS +.nf +int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 b/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 new file mode 100644 index 00000000..67ba30fe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 @@ -0,0 +1,104 @@ +.TH MPI_Abort 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Abort \- Terminates MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Abort(MPI_Comm comm, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator of tasks to abort +.PD 1 +.PD 0 +.TP +.B errorcode +- error code to return to invoking environment +.PD 1 + +.SH NOTES +Terminates all MPI processes associated with the communicator +.I comm +; in +most systems (all to date), terminates +.B all +processes. + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the +.I MPI_Abort +routine is intended to ensure that an MPI +process (and possibly an entire job), it cannot wait for a thread to +release a lock or other mechanism for atomic access. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 new file mode 100644 index 00000000..d1622ff8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 @@ -0,0 +1,171 @@ +.TH MPI_Accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Accumulate \- Accumulate data into the target process using remote memory access +.SH SYNOPSIS +.nf +int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint + target_disp, int target_count, MPI_Datatype + target_datatype, MPI_Op op, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Raccumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 new file mode 100644 index 00000000..926a7cd1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 @@ -0,0 +1,88 @@ +.TH MPI_Add_error_class 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_class \- Add an MPI error class to the known classes +.SH SYNOPSIS +.nf +int MPI_Add_error_class(int *errorclass) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- New error class +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 new file mode 100644 index 00000000..1f27ffe8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 @@ -0,0 +1,95 @@ +.TH MPI_Add_error_code 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_code \- Add an MPI error code to an MPI error class +.SH SYNOPSIS +.nf +int MPI_Add_error_code(int errorclass, int *errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- Error class to add an error code. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- New error code for this error class. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 new file mode 100644 index 00000000..0ce90124 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 @@ -0,0 +1,105 @@ +.TH MPI_Add_error_string 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_string \- Associates an error string with an MPI error code or class +.SH SYNOPSIS +.nf +int MPI_Add_error_string(int errorcode, const char *string) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- error code or class (integer) +.PD 1 +.PD 0 +.TP +.B string +- text corresponding to errorcode (string) +.PD 1 + +.SH NOTES +The string must be no more than +.I MPI_MAX_ERROR_STRING +characters long. +The length of the string is as defined in the calling language. +The length of the string does not include the null terminator in C or C++. +Note that the string is +.I const +even though the MPI standard does not +specify it that way. + +According to the MPI-2 standard, it is erroneous to call +.I MPI_Add_error_string +for an error code or class with a value less than or equal +to +.I MPI_ERR_LASTCODE +\&. +Thus, you cannot replace the predefined error messages +with this routine. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Address.3 b/macx64/mpi/mpich/share/man/man3/MPI_Address.3 new file mode 100644 index 00000000..4c78b525 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Address.3 @@ -0,0 +1,111 @@ +.TH MPI_Address 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Address \- Gets the address of a location in memory +.SH SYNOPSIS +.nf +int MPI_Address(void *location, MPI_Aint * address) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B location +- location in caller memory (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B address +- address of location (address integer) +.PD 1 + +.SH NOTE +This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C +.I & +operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Get_address +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 b/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 new file mode 100644 index 00000000..6cee7182 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 @@ -0,0 +1,38 @@ +.TH MPI_Aint_add 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Aint_add \- Returns the sum of base and disp +.SH SYNOPSIS +.nf +MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- base address (integer) +.PD 1 +.PD 0 +.TP +.B disp +- displacement (integer) +.PD 1 + +.SH RETURN VALUE +Sum of the base and disp argument + +.SH NOTES +MPI_Aint_Add produces a new MPI_Aint value that is equivalent to the sum of the +base and disp arguments, where base represents a base address returned by a call +to MPI_GET_ADDRESS and disp represents a signed integer displacement. The resulting +address is valid only at the process that generated base, and it must correspond +to a location in the same object referenced by base. The addition is performed in +a manner that results in the correct MPI_Aint representation of the output address, +as if the process that originally produced base had called: +.nf +MPI_Get_address((char *) base + disp, &result) +.fi + + +.SH SEE ALSO +MPI_Aint_diff +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 b/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 new file mode 100644 index 00000000..58daaa1f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 @@ -0,0 +1,39 @@ +.TH MPI_Aint_diff 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Aint_diff \- Returns the difference between addr1 and addr2 +.SH SYNOPSIS +.nf +MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B addr1 +- minuend address (integer) +.PD 1 +.PD 0 +.TP +.B addr2 +- subtrahend address (integer) +.PD 1 + +.SH RETURN VALUE +Difference between addr1 and addr2 + +.SH NOTES +MPI_Aint_diff produces a new MPI_Aint value that is equivalent to the difference +between addr1 and addr2 arguments, where addr1 and addr2 represent addresses +returned by calls to MPI_GET_ADDRESS. The resulting address is valid only at the +process that generated addr1 and addr2, and addr1 and addr2 must correspond to +locations in the same object in the same process. The difference is calculated +in a manner that results the signed difference from addr1 to addr2, as if the +process that originally produced the addresses had called +.nf +(char *) addr1 - (char *) addr2 +.fi + +on the addresses initially passed to MPI_GET_ADDRESS. + +.SH SEE ALSO +MPI_Aint_add +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 new file mode 100644 index 00000000..154aa0e5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 @@ -0,0 +1,169 @@ +.TH MPI_Allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allgather \- Gathers data from all tasks and distribute the combined data to all tasks +.SH SYNOPSIS +.nf +int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH NOTES +The MPI standard (1.0 and 1.1) says that +.br + +.br + +The jth block of data sent from each process is received by every process +and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This is misleading; a better description is +.br + +.br + +The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This text was suggested by Rajeev Thakur and has been adopted as a +clarification by the MPI Forum. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 new file mode 100644 index 00000000..622217b9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 @@ -0,0 +1,174 @@ +.TH MPI_Allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allgatherv \- Gathers data from all tasks and deliver the combined data to all tasks +.SH SYNOPSIS +.nf +int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int *recvcounts, const int *displs, + MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array (of length group size) +containing the number of elements that are to be received from each process +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to recvbuf) at +which to place the incoming data from process +.I i + +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH NOTES +The MPI standard (1.0 and 1.1) says that +.br + +.br + +The jth block of data sent from +each process is received by every process and placed in the jth block of the +buffer +.I recvbuf +\&. + +.br + +.br + +This is misleading; a better description is +.br + +.br + +The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This text was suggested by Rajeev Thakur, and has been adopted as a +clarification to the MPI standard by the MPI-Forum. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 new file mode 100644 index 00000000..6004f1f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 @@ -0,0 +1,128 @@ +.TH MPI_Alloc_mem 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alloc_mem \- Allocate memory for message passing and RMA +.SH SYNOPSIS +.nf +int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of memory segment in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- pointer to beginning of memory segment allocated +.PD 1 + +.SH NOTES +Using this routine from Fortran requires that the Fortran compiler accept +a common pointer extension. See Section 4.11 (Memory Allocation) in the +MPI-2 standard for more information and examples. + +Also note that while +.I baseptr +is a +.I void * +type, this is +simply to allow easy use of any pointer object for this parameter. +In fact, this argument is really a +.I void ** +type, that is, a +pointer to a pointer. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_MEM +- Insufficient memory available for allocation by +.I MPI_Alloc_mem + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 new file mode 100644 index 00000000..138db559 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 @@ -0,0 +1,163 @@ +.TH MPI_Allreduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allreduce \- Combines values from all processes and distributes the result back to all processes +.SH SYNOPSIS +.nf +int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 new file mode 100644 index 00000000..bfebf0a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 @@ -0,0 +1,137 @@ +.TH MPI_Alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoall \- Sends data from all to all processes +.SH SYNOPSIS +.nf +int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements to send to each process (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 new file mode 100644 index 00000000..b76894a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 @@ -0,0 +1,161 @@ +.TH MPI_Alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoallv \- Sends data from all to all processes; each process may send a different amount of data and provide displacements for the input and output data. +.SH SYNOPSIS +.nf +int MPI_Alltoallv(const void *sendbuf, const int *sendcounts, + const int *sdispls, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array equal to the group size +specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry +.I j +specifies the displacement (relative to sendbuf from +which to take the outgoing data destined for process +.I j + +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array equal to the group size +specifying the maximum number of elements that can be received from +each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to recvbuf at +which to place the incoming data from process +.I i + +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 new file mode 100644 index 00000000..9b194151 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 @@ -0,0 +1,164 @@ +.TH MPI_Alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoallw \- Generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +.SH SYNOPSIS +.nf +int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], + const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array equal to the group size specifying the number of +elements to send to each processor (integer) +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the +displacement in bytes (relative to sendbuf) from which to take the outgoing +data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length group size). Entry j specifies the +type of data to send to process j (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array equal to the group size specifying the number of +elements that can be received from each processor (integer) +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the +displacement in bytes (relative to recvbuf) at which to place the incoming +data from process i +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length group size). Entry i specifies +the type of data received from process i (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 new file mode 100644 index 00000000..97a1c9c6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 @@ -0,0 +1,109 @@ +.TH MPI_Attr_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_delete \- Deletes an attribute value associated with a key on a communicator +.SH SYNOPSIS +.nf +int MPI_Attr_delete(MPI_Comm comm, int keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_delete_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 new file mode 100644 index 00000000..ef3847aa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 @@ -0,0 +1,157 @@ +.TH MPI_Attr_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_get \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless +.I flag += false +.PD 1 +.PD 0 +.TP +.B flag +- true if an attribute value was extracted; false if no attribute is +associated with the key +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_ATTR_PUT +\&. +The notes for C and Fortran below explain why. + +.SH NOTES FOR C +Even though the +.I attribute_val +argument is declared as +.I void * +, it is +really the address of a void pointer (i.e., a +.I void ** +). Using +a +.I void * +, however, is more in keeping with C idiom and allows the +pointer to be passed without additional casts. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_get_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I attribute_val +in Fortran is a pointer to a Fortran integer, not +a pointer to a +.I void * +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 + +.SH SEE ALSO +MPI_Attr_put, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_get_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 new file mode 100644 index 00000000..e2b73d62 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 @@ -0,0 +1,159 @@ +.TH MPI_Attr_put 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_put \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- key value, as returned by +.I MPI_KEYVAL_CREATE +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES +Values of the permanent attributes +.I MPI_TAG_UB +, +.I MPI_HOST +, +.I MPI_IO +, +.I MPI_WTIME_IS_GLOBAL +, +.I MPI_UNIVERSE_SIZE +, +.I MPI_LASTUSEDCODE +, and +.I MPI_APPNUM +may not be changed. + +The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer ( +.I void * +); in Fortran, +it is a single +integer ( +.B not +a pointer, since Fortran has no pointers and there are systems +for which a pointer does not fit in an integer (e.g., any > 32 bit address +system that uses 64 bits for Fortran +.I DOUBLE PRECISION +). + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_set_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Attr_get, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_set_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 b/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 new file mode 100644 index 00000000..6771c409 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 @@ -0,0 +1,93 @@ +.TH MPI_Barrier 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Barrier \- Blocks until all processes in the communicator have reached this routine. +.SH SYNOPSIS +.nf +int MPI_Barrier(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +Blocks the caller until all processes in the communicator have called it; +that is, the call returns at any process only after all members of the +communicator have entered the call. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 b/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 new file mode 100644 index 00000000..5de329ee --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 @@ -0,0 +1,138 @@ +.TH MPI_Bcast 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Bcast \- Broadcasts a message from the process with rank "root" to all other processes of the communicator +.SH SYNOPSIS +.nf +int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B buffer +- starting address of buffer (choice) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of entries in buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of buffer (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of broadcast root (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ROOT +- Invalid root. The root must be specified as a rank in the +communicator. Ranks must be between zero and the size of the communicator +minus one. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 new file mode 100644 index 00000000..331f1c32 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 @@ -0,0 +1,209 @@ +.TH MPI_Bsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Bsend \- Basic send with user-provided buffering +.SH SYNOPSIS +.nf +int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This send is provided as a convenience function; it allows the user to +send messages without worring about where they are buffered (because the +user +.B must +have provided buffer space with +.I MPI_Buffer_attach +). + +In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent +.I MPI_Bsend +s unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space +.nf +MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD); +for (i=0; i 0: upwards shift, < 0: downwards shift) (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank_source +- rank of source process (integer) +.PD 1 +.PD 0 +.TP +.B rank_dest +- rank of destination process (integer) +.PD 1 + +.SH NOTES +The +.I direction +argument is in the range +.I [0,n-1] +for an n-dimensional +Cartesian mesh. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 b/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 new file mode 100644 index 00000000..ace6278d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 @@ -0,0 +1,125 @@ +.TH MPI_Cart_sub 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Cart_sub \- Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids +.SH SYNOPSIS +.nf +int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with cartesian structure (handle) +.PD 1 +.PD 0 +.TP +.B remain_dims +- the +.I i +th entry of remain_dims specifies whether the +.I i +th +dimension is kept in the subgrid (true) or is dropped (false) (logical +vector) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- communicator containing the subgrid that includes the calling +process (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 new file mode 100644 index 00000000..7ca0fd9d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 @@ -0,0 +1,100 @@ +.TH MPI_Cartdim_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Cartdim_get \- Retrieves Cartesian topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Cartdim_get(MPI_Comm comm, int *ndims) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with cartesian structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B ndims +- number of dimensions of the cartesian structure (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 b/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 new file mode 100644 index 00000000..6dc6c7a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 @@ -0,0 +1,86 @@ +.TH MPI_Close_port 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Close_port \- close port +.SH SYNOPSIS +.nf +int MPI_Close_port(const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 new file mode 100644 index 00000000..0b2b1642 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 @@ -0,0 +1,116 @@ +.TH MPI_Comm_accept 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_accept \- Accept a request to form a new intercommunicator +.SH SYNOPSIS +.nf +int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- port name (string, used only on root) +.PD 1 +.PD 0 +.TP +.B info +- implementation-dependent information (handle, used only on root) +.PD 1 +.PD 0 +.TP +.B root +- rank in comm of root node (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator over which call is collective (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- intercommunicator with client as remote group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 new file mode 100644 index 00000000..b85a9518 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 @@ -0,0 +1,105 @@ +.TH MPI_Comm_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_call_errhandler \- Call the error handler installed on a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + +.SH NOTE +Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 new file mode 100644 index 00000000..ca6e5c7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 @@ -0,0 +1,134 @@ +.TH MPI_Comm_compare 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_compare \- Compares two communicators +.SH SYNOPSIS +.nf +int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm1 +- comm1 (handle) +.PD 1 +.PD 0 +.TP +.B comm2 +- comm2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B result +- integer which is +.I MPI_IDENT +if the contexts and groups are the +same, +.I MPI_CONGRUENT +if different contexts but identical groups, +.I MPI_SIMILAR +if different contexts but similar groups, and +.I MPI_UNEQUAL +otherwise +.PD 1 + +.SH USING 'MPI_COMM_NULL' WITH 'MPI_COMM_COMPARE' + +It is an error to use +.I MPI_COMM_NULL +as one of the arguments to +.I MPI_Comm_compare +\&. +The relevant sections of the MPI standard are + +\&. +(2.4.1 Opaque Objects) +A null handle argument is an erroneous +.I IN +argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. + +\&. +(5.4.1. Communicator Accessors) +where there is no text in +.I MPI_COMM_COMPARE +allowing a null handle. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +(To perform the communicator comparisions, this routine may need to +allocate some memory. Memory allocation is not interrupt-safe, and hence +this routine is only thread-safe.) + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 new file mode 100644 index 00000000..0cf25f14 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 @@ -0,0 +1,121 @@ +.TH MPI_Comm_connect 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_connect \- Make a request to form a new intercommunicator +.SH SYNOPSIS +.nf +int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- network address (string, used only on root) +.PD 1 +.PD 0 +.TP +.B info +- implementation-dependent information (handle, used only on root) +.PD 1 +.PD 0 +.TP +.B root +- rank in comm of root node (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator over which call is collective (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- intercommunicator with server as remote group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PORT +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 new file mode 100644 index 00000000..43a23e2b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 @@ -0,0 +1,111 @@ +.TH MPI_Comm_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create \- Creates a new communicator +.SH SYNOPSIS +.nf +int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B group +- group, which is a subset of the group of +.I comm +(handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 new file mode 100644 index 00000000..db71ee88 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 @@ -0,0 +1,109 @@ +.TH MPI_Comm_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_errhandler \- Create a communicator error handler +.SH SYNOPSIS +.nf +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function * comm_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH ERROR HANDLER +The error handler function should be of the form + +void MPI_Comm_errhandler_function(MPI_Comm *comm, int *rc); + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 new file mode 100644 index 00000000..20714856 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 @@ -0,0 +1,116 @@ +.TH MPI_Comm_create_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_group \- Creates a new communicator +.SH SYNOPSIS +.nf +int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B group +- group, which is a subset of the group of +.I comm +(handle) +.PD 1 +.PD 0 +.TP +.B tag +- safe tag unused by other communication +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 new file mode 100644 index 00000000..0cccc337 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 @@ -0,0 +1,147 @@ +.TH MPI_Comm_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_keyval \- Create a new attribute key +.SH SYNOPSIS +.nf +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function * comm_copy_attr_fn, + MPI_Comm_delete_attr_function * comm_delete_attr_fn, + int *comm_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_copy_attr_fn +- Copy callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B comm_delete_attr_fn +- Delete callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Key values are global (available for any and all communicators). + +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_COMM_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_COMM_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_COMM_DUP_FN +- simple dup function +.PD 1 + +There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language from which +.I MPI_Comm_create_keyval +is called. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 new file mode 100644 index 00000000..426a72e3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_delete_attr \- Deletes an attribute value associated with a key on a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Comm_set_attr, MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 new file mode 100644 index 00000000..db93adf1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 @@ -0,0 +1,99 @@ +.TH MPI_Comm_disconnect 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_disconnect \- Disconnect from a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_disconnect(MPI_Comm * comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This routine waits for all pending communication to complete, then frees the +communicator and sets +.I comm +to +.I MPI_COMM_NULL +\&. +It may not be called +with +.I MPI_COMM_WORLD +or +.I MPI_COMM_SELF +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Comm_connect, MPI_Comm_join +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 new file mode 100644 index 00000000..c95549fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 @@ -0,0 +1,133 @@ +.TH MPI_Comm_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_dup \- Duplicates an existing communicator with all its cached information +.SH SYNOPSIS +.nf +int MPI_Comm_dup(MPI_Comm comm, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be duplicated (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- A new communicator over the same group as +.I comm +but with a new +context. See notes. (handle) +.PD 1 + +.SH NOTES +This routine is used to create a new communicator that has a new +communication context but contains the same group of processes as +the input communicator. Since all MPI communication is performed +within a communicator (specifies as the group of processes +.B plus +the context), this routine provides an effective way to create a +private communicator for use by a software module or library. In +particular, no library routine should use +.I MPI_COMM_WORLD +as the +communicator; instead, a duplicate of a user-specified communicator +should always be used. For more information, see Using MPI, 2nd +edition. + +Because this routine essentially produces a copy of a communicator, +it also copies any attributes that have been defined on the input +communicator, using the attribute copy function specified by the +.I copy_function +argument to +.I MPI_Keyval_create +\&. +This is +particularly useful for (a) attributes that describe some property +of the group associated with the communicator, such as its +interconnection topology and (b) communicators that are given back +to the user; the attibutes in this case can track subsequent +.I MPI_Comm_dup +operations on this communicator. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_free, MPI_Keyval_create, MPI_Attr_put, MPI_Attr_delete, +.br +MPI_Comm_create_keyval, MPI_Comm_set_attr, MPI_Comm_delete_attr diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 new file mode 100644 index 00000000..b1cbe78e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 @@ -0,0 +1,115 @@ +.TH MPI_Comm_dup_with_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_dup_with_info \- Duplicates an existing communicator with all its cached information +.SH SYNOPSIS +.nf +int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be duplicated (handle) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- A new communicator over the same group as +.I comm +but with a new +context. See notes. (handle) +.PD 1 + +.SH NOTES +MPI_COMM_DUP_WITH_INFO behaves exactly as MPI_COMM_DUP except that +the info hints associated with the communicator comm are not +duplicated in newcomm. The hints provided by the argument info are +associated with the output communicator newcomm instead. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_dup, MPI_Comm_free, MPI_Keyval_create, +.br +MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval, +MPI_Comm_set_attr, MPI_Comm_delete_attr diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 new file mode 100644 index 00000000..bd7521e7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 @@ -0,0 +1,118 @@ +.TH MPI_Comm_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_free \- Marks the communicator object for deallocation +.SH SYNOPSIS +.nf +int MPI_Comm_free(MPI_Comm * comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be destroyed (handle) +.PD 1 + +.SH NOTES +This routine +.B frees +a communicator. Because the communicator may still +be in use by other MPI routines, the actual communicator storage will not +be freed until all references to this communicator are removed. For most +users, the effect of this routine is the same as if it was in fact freed +at this time of this call. + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +.SH DISALLOWS FREEING A NULL COMMUNICATOR. THE TEXT FROM THE STANDARD IS +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 new file mode 100644 index 00000000..c8f0035f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 @@ -0,0 +1,97 @@ +.TH MPI_Comm_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_free_keyval \- Frees an attribute key for communicators +.SH SYNOPSIS +.nf +int MPI_Comm_free_keyval(int *comm_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_keyval +- Frees the integer key value (integer) +.PD 1 + +.SH NOTES +Key values are global (they can be used with any and all communicators) + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 new file mode 100644 index 00000000..b2d8de92 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 @@ -0,0 +1,130 @@ +.TH MPI_Comm_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_attr \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless +.I flag += false +.PD 1 +.PD 0 +.TP +.B flag +- true if an attribute value was extracted; false if no attribute is +associated with the key +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_Comm_set_attr +\&. +The notes for C and Fortran below explain +why. + +.SH NOTES FOR C +Even though the +.I attr_value +argument is declared as +.I void * +, it is +really the address of a void pointer. See the rationale in the +standard for more details. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 new file mode 100644 index 00000000..073d9a21 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_errhandler \- Get the error handler attached to a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- handler currently associated with communicator (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 new file mode 100644 index 00000000..6e0cf74b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 @@ -0,0 +1,107 @@ +.TH MPI_Comm_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_info \- Returns a new info object containing the hints of the communicator associated with comm. The current setting of all hints actually used by the system related to this communicator is returned in info_used. If no such hints exist, a handle to a newly created info object is returned that contains no key/value pair. The user is responsible for freeing info_used via MPI_INFO_FREE. +.SH SYNOPSIS +.nf +int MPI_Comm_get_info(MPI_Comm comm, MPI_Info * info_used) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- new info argument (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 new file mode 100644 index 00000000..131b1e00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 @@ -0,0 +1,121 @@ +.TH MPI_Comm_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_name \- Return the print name from the communicator +.SH SYNOPSIS +.nf +int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to get name of (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_name +- On output, contains the name of the communicator. It must +be an array of size at least +.I MPI_MAX_OBJECT_NAME +\&. + +.PD 1 +.PD 0 +.TP +.B resultlen +- Number of characters in name +.PD 1 + +.SH NOTES + +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 new file mode 100644 index 00000000..54189db3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 @@ -0,0 +1,114 @@ +.TH MPI_Comm_get_parent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_parent \- Return the parent communicator for this process +.SH SYNOPSIS +.nf +int MPI_Comm_get_parent(MPI_Comm * parent) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B parent +- the parent communicator (handle) +.PD 1 + +.SH NOTES + +If a process was started with +.I MPI_Comm_spawn +or +.I MPI_Comm_spawn_multiple +, +.I MPI_Comm_get_parent +returns the parent intercommunicator of the current +process. This parent intercommunicator is created implicitly inside of +.I MPI_Init +and is the same intercommunicator returned by +.I MPI_Comm_spawn +in the parents. + +If the process was not spawned, +.I MPI_Comm_get_parent +returns +.I MPI_COMM_NULL +\&. + + +After the parent communicator is freed or disconnected, +.I MPI_Comm_get_parent +returns +.I MPI_COMM_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 new file mode 100644 index 00000000..69981c84 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_group \- Accesses the group associated with given communicator +.SH SYNOPSIS +.nf +int MPI_Comm_group(MPI_Comm comm, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- Group in communicator (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 new file mode 100644 index 00000000..15874ea1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 @@ -0,0 +1,87 @@ +.TH MPI_Comm_idup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_idup \- nonblocking communicator duplication +.SH SYNOPSIS +.nf +int MPI_Comm_idup(MPI_Comm comm, MPI_Comm * newcomm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- copy of comm (handle) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 new file mode 100644 index 00000000..92903a8a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 @@ -0,0 +1,109 @@ +.TH MPI_Comm_join 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_join \- Create a communicator by joining two processes connected by a socket. +.SH SYNOPSIS +.nf +int MPI_Comm_join(int fd, MPI_Comm * intercomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fd +- socket file descriptor +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- new intercommunicator (handle) +.PD 1 + +.SH NOTES +The socket must be quiescent before +.I MPI_COMM_JOIN +is called and after +.I MPI_COMM_JOIN +returns. More specifically, on entry to +.I MPI_COMM_JOIN +, a +read on the socket will not read any data that was written to the socket +before the remote process called +.I MPI_COMM_JOIN +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 new file mode 100644 index 00000000..11bfe2a3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 @@ -0,0 +1,94 @@ +.TH MPI_Comm_rank 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_rank \- Determines the rank of the calling process in the communicator +.SH SYNOPSIS +.nf +int MPI_Comm_rank(MPI_Comm comm, int *rank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of the calling process in the group of +.I comm +(integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 new file mode 100644 index 00000000..ff0875c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 @@ -0,0 +1,102 @@ +.TH MPI_Comm_remote_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_remote_group \- Accesses the remote group associated with the given inter-communicator +.SH SYNOPSIS +.nf +int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (must be an intercommunicator) (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- remote group of communicator (handle) +.PD 1 + +.SH NOTES +The user is responsible for freeing the group when it is no longer needed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 new file mode 100644 index 00000000..fe168a0c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 @@ -0,0 +1,102 @@ +.TH MPI_Comm_remote_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_remote_size \- Determines the size of the remote group associated with an inter-communictor +.SH SYNOPSIS +.nf +int MPI_Comm_remote_size(MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the remote group of +.I comm +(integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 new file mode 100644 index 00000000..50a0b7bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 @@ -0,0 +1,142 @@ +.TH MPI_Comm_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- key value, as returned by +.I MPI_Comm_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES +Values of the permanent attributes +.I MPI_TAG_UB +, +.I MPI_HOST +, +.I MPI_IO +, +.I MPI_WTIME_IS_GLOBAL +, +.I MPI_UNIVERSE_SIZE +, +.I MPI_LASTUSEDCODE +, and +.I MPI_APPNUM +may not be changed. + +The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Comm_create_keyval, MPI_Comm_delete_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 new file mode 100644 index 00000000..ca1009fe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 @@ -0,0 +1,113 @@ +.TH MPI_Comm_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_errhandler \- Set the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for communicator (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Comm_get_errhandler, MPI_Comm_call_errhandler +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 new file mode 100644 index 00000000..7815b509 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 @@ -0,0 +1,105 @@ +.TH MPI_Comm_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_info \- Set new values for the hints of the communicator associated with comm. The call is collective on the group of comm. The info object may be different on each process, but any info entries that an implementation requires to be the same on all processes must appear with the same value in each process' info object. +.SH SYNOPSIS +.nf +int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator object (handle) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 new file mode 100644 index 00000000..b4011da0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 @@ -0,0 +1,101 @@ +.TH MPI_Comm_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_name \- Sets the print name for a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to name (handle) +.PD 1 +.PD 0 +.TP +.B comm_name +- Name for communicator +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 new file mode 100644 index 00000000..28439fa6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 @@ -0,0 +1,117 @@ +.TH MPI_Comm_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_size \- Determines the size of the group associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_size(MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the group of +.I comm +(integer) +.PD 1 + +.SH NOTES + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 new file mode 100644 index 00000000..2ff91b85 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 @@ -0,0 +1,147 @@ +.TH MPI_Comm_spawn 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_spawn \- Spawn up to maxprocs instances of a single MPI application +.SH SYNOPSIS +.nf +int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm * intercomm, int array_of_errcodes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B command +- name of program to be spawned (string, significant only at root) +.PD 1 +.PD 0 +.TP +.B argv +- arguments to command (array of strings, significant only at root) +.PD 1 +.PD 0 +.TP +.B maxprocs +- maximum number of processes to start (integer, significant only +at root) +.PD 1 +.PD 0 +.TP +.B info +- a set of key-value pairs telling the runtime system where and how +to start the processes (handle, significant only at root) +.PD 1 +.PD 0 +.TP +.B root +- rank of process in which previous arguments are examined (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator containing group of spawning processes (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- intercommunicator between original group and the +newly spawned group (handle) +.PD 1 +.PD 0 +.TP +.B array_of_errcodes +- one code per process (array of integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 new file mode 100644 index 00000000..5e1cf7df --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 @@ -0,0 +1,148 @@ +.TH MPI_Comm_spawn_multiple 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_spawn_multiple \- short description +.SH SYNOPSIS +.nf +int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], + char **array_of_argv[], const int array_of_maxprocs[], + const MPI_Info array_of_info[], int root, MPI_Comm comm, + MPI_Comm * intercomm, int array_of_errcodes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of commands (positive integer, significant to MPI only at +root +.PD 1 +.PD 0 +.TP +.B array_of_commands +- programs to be executed (array of strings, significant +only at root) +.PD 1 +.PD 0 +.TP +.B array_of_argv +- arguments for commands (array of array of strings, +significant only at root) +.PD 1 +.PD 0 +.TP +.B array_of_maxprocs +- maximum number of processes to start for each command +(array of integer, significant only at root) +.PD 1 +.PD 0 +.TP +.B array_of_info +- info objects telling the runtime system where and how to +start processes (array of handles, significant only at root) +.PD 1 +.PD 0 +.TP +.B root +- rank of process in which previous arguments are examined (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator containing group of spawning processes (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- intercommunicator between original group and newly spawned group +(handle) +.PD 1 +.PD 0 +.TP +.B array_of_errcodes +- one error code per process (array of integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 new file mode 100644 index 00000000..6400859c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 @@ -0,0 +1,135 @@ +.TH MPI_Comm_split 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_split \- Creates new communicators based on colors and keys +.SH SYNOPSIS +.nf +int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B color +- control of subset assignment (nonnegative integer). Processes +with the same color are in the same new communicator +.PD 1 +.PD 0 +.TP +.B key +- control of rank assignment (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH NOTES +The +.I color +must be non-negative or +.I MPI_UNDEFINED +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ALGORITHM +.nf +1. Use MPI_Allgather to get the color and key from each process +2. Count the number of processes with the same color; create a +communicator with that many processes. If this process has +.I MPI_UNDEFINED +as the color, create a process with a single member. +3. Use key to order the ranks +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 new file mode 100644 index 00000000..3bda4853 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 @@ -0,0 +1,128 @@ +.TH MPI_Comm_split_type 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_split_type \- Creates new communicators based on split types and keys +.SH SYNOPSIS +.nf +int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B split_type +- type of processes to be grouped together (nonnegative integer). +.PD 1 +.PD 0 +.TP +.B key +- control of rank assignment (integer) +.PD 1 +.PD 0 +.TP +.B info +- hints to improve communicator creation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH NOTES +The +.I split_type +must be non-negative or +.I MPI_UNDEFINED +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 new file mode 100644 index 00000000..71d30023 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 @@ -0,0 +1,100 @@ +.TH MPI_Comm_test_inter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_test_inter \- Tests to see if a comm is an inter-communicator +.SH SYNOPSIS +.nf +int MPI_Comm_test_inter(MPI_Comm comm, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to test (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if this is an inter-communicator(logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 b/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 new file mode 100644 index 00000000..06f53bf3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 @@ -0,0 +1,177 @@ +.TH MPI_Compare_and_swap 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Compare_and_swap \- Perform one-sided atomic compare-and-swap. +.SH SYNOPSIS +.nf +int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) +.fi + +This function compares one element of type datatype in the compare buffer +compare_addr with the buffer at offset target_disp in the target window +specified by target_rank and win and replaces the value at the target with the +value in the origin buffer origin_addr if the compare buffer and the target +buffer are identical. The original value at the target is returned in the +buffer result_addr. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B compare_addr +- initial address of compare buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of the entry in origin, result, and target buffers (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operation is atomic with respect to other "accumulate" operations. + +The parameter datatype must belong to one of the following categories of +predefined datatypes: C integer, Fortran integer, Logical, Multi-language +types, or Byte as specified in Section 5.9.2 on page 176. The origin and result +buffers (origin_addr and result_addr) must be disjoint. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 new file mode 100644 index 00000000..eefe125b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 @@ -0,0 +1,98 @@ +.TH MPI_Dims_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dims_create \- Creates a division of processors in a cartesian grid +.SH SYNOPSIS +.nf +int MPI_Dims_create(int nnodes, int ndims, int dims[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B nnodes +- number of nodes in a grid (integer) +.PD 1 +.PD 0 +.TP +.B ndims +- number of cartesian dimensions (integer) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B dims +- integer array of size +.I ndims +specifying the number of nodes in each +dimension. A value of 0 indicates that +.I MPI_Dims_create +should fill in a +suitable value. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 new file mode 100644 index 00000000..a997bf4c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 @@ -0,0 +1,146 @@ +.TH MPI_Dist_graph_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_create \- MPI_DIST_GRAPH_CREATE returns a handle to a new communicator to which the distributed graph topology information is attached. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], + const int degrees[], const int destinations[], + const int weights[], + MPI_Info info, int reorder, MPI_Comm * comm_dist_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of source nodes for which this process specifies edges +(non-negative integer) +.PD 1 +.PD 0 +.TP +.B sources +- array containing the n source nodes for which this process +specifies edges (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B degrees +- array specifying the number of destinations for each source node +in the source node array (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destinations +- destination nodes for the source nodes in the source node +array (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B weights +- weights for source to destination edges (array of non-negative +integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B info +- hints on optimization and interpretation of weights (handle) +.PD 1 +.PD 0 +.TP +.B reorder +- the process may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_dist_graph +- communicator with distributed graph topology added (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 new file mode 100644 index 00000000..7acb382d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 @@ -0,0 +1,152 @@ +.TH MPI_Dist_graph_create_adjacent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_create_adjacent \- returns a handle to a new communicator to which the distributed graph topology information is attached. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, const int destinations[], + const int destweights[], + MPI_Info info, int reorder, MPI_Comm * comm_dist_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B indegree +- size of sources and sourceweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sources +- ranks of processes for which the calling process is a +destination (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B sourceweights +- weights of the edges into the calling +process (array of non-negative integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B outdegree +- size of destinations and destweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B destinations +- ranks of processes for which the calling process is a +source (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destweights +- weights of the edges out of the calling process +(array of non-negative integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B info +- hints on optimization and interpretation of weights (handle) +.PD 1 +.PD 0 +.TP +.B reorder +- the ranks may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_dist_graph +- communicator with distributed graph topology (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 new file mode 100644 index 00000000..82172ceb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 @@ -0,0 +1,114 @@ +.TH MPI_Dist_graph_neighbors 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_neighbors \- Provides adjacency information for a distributed graph topology. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_neighbors(MPI_Comm comm, + int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with distributed graph topology (handle) +.PD 1 +.PD 0 +.TP +.B maxindegree +- size of sources and sourceweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B maxoutdegree +- size of destinations and destweights arrays (non-negative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B sources +- processes for which the calling process is a destination (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B sourceweights +- weights of the edges into the calling process (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destinations +- processes for which the calling process is a source (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destweights +- weights of the edges out of the calling process (array of non-negative integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 new file mode 100644 index 00000000..24f1b5ed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 @@ -0,0 +1,97 @@ +.TH MPI_Dist_graph_neighbors_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_neighbors_count \- Provides adjacency information for a distributed graph topology. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with distributed graph topology (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indegree +- number of edges into this process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B outdegree +- number of edges out of this process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B weighted +- false if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 new file mode 100644 index 00000000..9b71b84c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 @@ -0,0 +1,119 @@ +.TH MPI_Errhandler_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_create \- Creates an MPI-style errorhandler +.SH SYNOPSIS +.nf +int MPI_Errhandler_create(MPI_Handler_function * function, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B function +- user defined error handling procedure +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH NOTES +The MPI Standard states that an implementation may make the output value +(errhandler) simply the address of the function. However, the action of +.I MPI_Errhandler_free +makes this impossible, since it is required to set the +value of the argument to +.I MPI_ERRHANDLER_NULL +\&. +In addition, the actual +error handler must remain until all communicators that use it are +freed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement routine for this function is +.I MPI_Comm_create_errhandler +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_create_errhandler, MPI_Errhandler_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 new file mode 100644 index 00000000..dd48631a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 @@ -0,0 +1,91 @@ +.TH MPI_Errhandler_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_free \- Frees an MPI-style errorhandler +.SH SYNOPSIS +.nf +int MPI_Errhandler_free(MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle). Set to +.I MPI_ERRHANDLER_NULL +on +exit. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 new file mode 100644 index 00000000..2ed5df06 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 @@ -0,0 +1,123 @@ +.TH MPI_Errhandler_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_get \- Gets the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to get the error handler from (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler currently associated with communicator +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTE ON IMPLEMENTATION + +The MPI Standard was unclear on whether this routine required the user to call +.I MPI_Errhandler_free +once for each call made to this routine in order to +free the error handler. After some debate, the MPI Forum added an explicit +statement that users are required to call +.I MPI_Errhandler_free +when the +return value from this routine is no longer needed. This behavior is similar +to the other MPI routines for getting objects; for example, +.I MPI_Comm_group +requires that the user call +.I MPI_Group_free +when the group returned +by +.I MPI_Comm_group +is no longer needed. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 new file mode 100644 index 00000000..b679ea1f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 @@ -0,0 +1,115 @@ +.TH MPI_Errhandler_set 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_set \- Sets the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to set the error handler for (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new MPI error handler for communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_set_errhandler +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_set_errhandler, MPI_Errhandler_create, MPI_Comm_create_errhandler +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 b/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 new file mode 100644 index 00000000..7adc1813 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 @@ -0,0 +1,86 @@ +.TH MPI_Error_class 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Error_class \- Converts an error code into an error class +.SH SYNOPSIS +.nf +int MPI_Error_class(int errorcode, int *errorclass) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- Error code returned by an MPI routine +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- Error class associated with +.I errorcode + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 b/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 new file mode 100644 index 00000000..2142e7b0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 @@ -0,0 +1,108 @@ +.TH MPI_Error_string 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Error_string \- Return a string for a given error code +.SH SYNOPSIS +.nf +int MPI_Error_string(int errorcode, char *string, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- Error code returned by an MPI routine or an MPI error class +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B string +- Text that corresponds to the errorcode +.PD 1 +.PD 0 +.TP +.B resultlen +- Length of string +.PD 1 + +Notes: Error codes are the values return by MPI routines (in C) or in the +.I ierr +argument (in Fortran). These can be converted into error classes +with the routine +.I MPI_Error_class +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 new file mode 100644 index 00000000..5a5e775e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 @@ -0,0 +1,174 @@ +.TH MPI_Exscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Exscan \- Computes the exclusive scan (partial reductions) of data on a collection of processes +.SH SYNOPSIS +.nf +int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH NOTES +.I MPI_Exscan +is like +.I MPI_Scan +, except that the contribution from the +calling process is not included in the result at the calling process +(it is contributed to the subsequent processes, of course). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 b/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 new file mode 100644 index 00000000..ede6298d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 @@ -0,0 +1,196 @@ +.TH MPI_Fetch_and_op 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Fetch_and_op \- Perform one-sided read-modify-write. +.SH SYNOPSIS +.nf +int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) +.fi + +Accumulate one element of type datatype from the origin buffer (origin_addr) to +the buffer at offset target_disp, in the target window specified by target_rank +and win, using the operation op and return in the result buffer result_addr the +content of the target buffer before the accumulation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of the entry in origin, result, and target buffers (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The generic functionality of +.I MPI_Get_accumulate +might limit the performance of +fetch-and-increment or fetch-and-add calls that might be supported by special +hardware operations. +.I MPI_Fetch_and_op +thus allows for a fast implementation +of a commonly used subset of the functionality of +.I MPI_Get_accumulate +\&. + + +The origin and result buffers (origin_addr and result_addr) must be disjoint. +Any of the predefined operations for +.I MPI_Reduce +, as well as +.I MPI_NO_OP +or +.I MPI_REPLACE +, can be specified as op; user-defined functions cannot be used. The +datatype argument must be a predefined datatype. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get_accumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 new file mode 100644 index 00000000..8be01499 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 @@ -0,0 +1,16 @@ +.TH MPI_File_c2f 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_c2f \- Translates a C file handle to a Fortran file handle +.SH SYNOPSIS +.nf +MPI_Fint MPI_File_c2f(MPI_File fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- C file handle (handle) +.PD 1 + +.SH RETURN VALUE +Fortran file handle (integer) diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 new file mode 100644 index 00000000..2e79b717 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 @@ -0,0 +1,98 @@ +.TH MPI_File_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_call_errhandler \- Call the error handler installed on a file +.SH SYNOPSIS +.nf +int MPI_File_call_errhandler(MPI_File fh, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- MPI file with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE +- Invalid MPI File handle +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 new file mode 100644 index 00000000..f37de123 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 @@ -0,0 +1,36 @@ +.TH MPI_File_close 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_close \- Closes a file +.SH SYNOPSIS +.nf +int MPI_File_close(MPI_File * fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 new file mode 100644 index 00000000..c95cde09 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 @@ -0,0 +1,88 @@ +.TH MPI_File_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_create_errhandler \- Create a file error handler +.SH SYNOPSIS +.nf +int MPI_File_create_errhandler(MPI_File_errhandler_function * file_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 new file mode 100644 index 00000000..755ba8ba --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 @@ -0,0 +1,41 @@ +.TH MPI_File_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_delete \- Deletes a file +.SH SYNOPSIS +.nf +int MPI_File_delete(ROMIO_CONST char *filename, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B filename +- name of file to delete (string) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 new file mode 100644 index 00000000..18962bbe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 @@ -0,0 +1,16 @@ +.TH MPI_File_f2c 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_f2c \- Translates a Fortran file handle to a C file handle +.SH SYNOPSIS +.nf +MPI_File MPI_File_f2c(MPI_Fint fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- Fortran file handle (integer) +.PD 1 + +.SH RETURN VALUE +C file handle (handle) diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 new file mode 100644 index 00000000..78d4f92e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_amode 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_amode \- Returns the file access mode +.SH SYNOPSIS +.nf +int MPI_File_get_amode(MPI_File fh, int *amode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B amode +- access mode (integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 new file mode 100644 index 00000000..98ab3d2a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_atomicity 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_atomicity \- Returns the atomicity mode +.SH SYNOPSIS +.nf +int MPI_File_get_atomicity(MPI_File fh, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if atomic mode, false if nonatomic mode (logical) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 new file mode 100644 index 00000000..943cbb4a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 @@ -0,0 +1,48 @@ +.TH MPI_File_get_byte_offset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_byte_offset \- Returns the absolute byte position in the file corresponding to "offset" etypes relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset * disp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- offset (nonnegative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B disp +- absolute byte position of offset (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 new file mode 100644 index 00000000..e41b2237 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 @@ -0,0 +1,95 @@ +.TH MPI_File_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_errhandler \- Get the error handler attached to a file +.SH SYNOPSIS +.nf +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file +- MPI file (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- handler currently associated with file (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 new file mode 100644 index 00000000..b6c5afad --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_group \- Returns the group of processes that opened the file +.SH SYNOPSIS +.nf +int MPI_File_get_group(MPI_File fh, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- group that opened the file (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 new file mode 100644 index 00000000..d91a3682 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_info \- Returns the hints for a file that are actually being used by MPI +.SH SYNOPSIS +.nf +int MPI_File_get_info(MPI_File fh, MPI_Info * info_used) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 new file mode 100644 index 00000000..8e3b63cc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_position 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_position \- Returns the current position of the individual file pointer in etype units relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_position(MPI_File fh, MPI_Offset * offset) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B offset +- offset of individual file pointer (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 new file mode 100644 index 00000000..091a3e0f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_position_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_position_shared \- Returns the current position of the shared file pointer in etype units relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_position_shared(MPI_File fh, MPI_Offset * offset) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B offset +- offset of shared file pointer (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 new file mode 100644 index 00000000..5aeff825 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_size \- Returns the file size +.SH SYNOPSIS +.nf +int MPI_File_get_size(MPI_File fh, MPI_Offset * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- size of the file in bytes (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 new file mode 100644 index 00000000..721bbb94 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 @@ -0,0 +1,48 @@ +.TH MPI_File_get_type_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_type_extent \- Returns the extent of datatype in the file +.SH SYNOPSIS +.nf +int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B extent +- extent of the datatype (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 new file mode 100644 index 00000000..49730805 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 @@ -0,0 +1,59 @@ +.TH MPI_File_get_view 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_view \- Returns the file view +.SH SYNOPSIS +.nf +int MPI_File_get_view(MPI_File fh, MPI_Offset * disp, MPI_Datatype * etype, + MPI_Datatype * filetype, char *datarep) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B disp +- displacement (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B etype +- elementary datatype (handle) +.PD 1 +.PD 0 +.TP +.B filetype +- filetype (handle) +.PD 1 +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 new file mode 100644 index 00000000..4e2edfb9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 @@ -0,0 +1,58 @@ +.TH MPI_File_iread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread \- Nonblocking read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 new file mode 100644 index 00000000..92b6858a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iread_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_all \- Nonblocking collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 new file mode 100644 index 00000000..fdae6464 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iread_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_at \- Nonblocking read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 new file mode 100644 index 00000000..75984076 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iread_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_at_all \- Nonblocking collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 new file mode 100644 index 00000000..791f0598 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iread_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_shared \- Nonblocking read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 new file mode 100644 index 00000000..d3a03028 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 @@ -0,0 +1,63 @@ +.TH MPI_File_iwrite 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite \- Nonblocking write using individual file pointer +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 new file mode 100644 index 00000000..ba0edd3f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iwrite_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_all \- Nonblocking collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iwrite_all(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 new file mode 100644 index 00000000..f13f65a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 @@ -0,0 +1,68 @@ +.TH MPI_File_iwrite_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_at \- Nonblocking write using explicit offset +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 new file mode 100644 index 00000000..d000c699 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iwrite_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_at_all \- Nonblocking collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 new file mode 100644 index 00000000..acda923f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 @@ -0,0 +1,63 @@ +.TH MPI_File_iwrite_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_shared \- Nonblocking write using shared file pointer +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite_shared(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 new file mode 100644 index 00000000..d6d74b20 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 @@ -0,0 +1,59 @@ +.TH MPI_File_open 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_open \- Opens a file +.SH SYNOPSIS +.nf +int MPI_File_open(MPI_Comm comm, ROMIO_CONST char *filename, int amode, + MPI_Info info, MPI_File * fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B filename +- name of file to open (string) +.PD 1 +.PD 0 +.TP +.B amode +- file access mode (integer) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 new file mode 100644 index 00000000..93a0cdc4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 @@ -0,0 +1,41 @@ +.TH MPI_File_preallocate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_preallocate \- Preallocates storage space for a file +.SH SYNOPSIS +.nf +int MPI_File_preallocate(MPI_File fh, MPI_Offset size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B size +- size to preallocate (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 new file mode 100644 index 00000000..10aa750e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 @@ -0,0 +1,58 @@ +.TH MPI_File_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read \- Read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 new file mode 100644 index 00000000..3d2f1df2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 @@ -0,0 +1,58 @@ +.TH MPI_File_read_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all \- Collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 new file mode 100644 index 00000000..8234aa92 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 @@ -0,0 +1,53 @@ +.TH MPI_File_read_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all_begin \- Begin a split collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 new file mode 100644 index 00000000..30bd88be --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all_end \- Complete a split collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 new file mode 100644 index 00000000..8db740c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_read_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at \- Read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 new file mode 100644 index 00000000..2c45476a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_read_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all \- Collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 new file mode 100644 index 00000000..855f8025 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_at_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all_begin \- Begin a split collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 new file mode 100644 index 00000000..79bf0533 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_at_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all_end \- Complete a split collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 new file mode 100644 index 00000000..bdd36f22 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_ordered 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered \- Collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 new file mode 100644 index 00000000..4c8e08dc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 @@ -0,0 +1,53 @@ +.TH MPI_File_read_ordered_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered_begin \- Begin a split collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 new file mode 100644 index 00000000..755a7213 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_ordered_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered_end \- Complete a split collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 new file mode 100644 index 00000000..92fcb1f9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_shared \- Read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 new file mode 100644 index 00000000..ffa1e0a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 @@ -0,0 +1,46 @@ +.TH MPI_File_seek 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_seek \- Updates the individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (integer) +.PD 1 +.PD 0 +.TP +.B whence +- update mode (state) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 new file mode 100644 index 00000000..d38d6d40 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 @@ -0,0 +1,46 @@ +.TH MPI_File_seek_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_seek_shared \- Updates the shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (integer) +.PD 1 +.PD 0 +.TP +.B whence +- update mode (state) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 new file mode 100644 index 00000000..5b1d8a30 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_atomicity 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_atomicity \- Sets the atomicity mode +.SH SYNOPSIS +.nf +int MPI_File_set_atomicity(MPI_File fh, int flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B flag +- true to set atomic mode, false to set nonatomic mode (logical) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 new file mode 100644 index 00000000..a9929256 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 @@ -0,0 +1,93 @@ +.TH MPI_File_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_errhandler \- Set the error handler for an MPI file +.SH SYNOPSIS +.nf +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file +- MPI file (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for file (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 new file mode 100644 index 00000000..7c74eb36 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_info \- Sets new values for the hints associated with a file +.SH SYNOPSIS +.nf +int MPI_File_set_info(MPI_File fh, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 new file mode 100644 index 00000000..aa3be5a9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_size \- Sets the file size +.SH SYNOPSIS +.nf +int MPI_File_set_size(MPI_File fh, MPI_Offset size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B size +- size to truncate or expand file (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 new file mode 100644 index 00000000..48457d29 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 @@ -0,0 +1,62 @@ +.TH MPI_File_set_view 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_view \- Sets the file view +.SH SYNOPSIS +.nf +int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, ROMIO_CONST char *datarep, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B disp +- displacement (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B etype +- elementary datatype (handle) +.PD 1 +.PD 0 +.TP +.B filetype +- filetype (handle) +.PD 1 +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 new file mode 100644 index 00000000..ed71f1a0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 @@ -0,0 +1,36 @@ +.TH MPI_File_sync 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_sync \- Causes all previous writes to be transferred to the storage device +.SH SYNOPSIS +.nf +int MPI_File_sync(MPI_File fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 new file mode 100644 index 00000000..692c8943 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write \- Write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 new file mode 100644 index 00000000..ffb22aa3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all \- Collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 new file mode 100644 index 00000000..a325e979 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 @@ -0,0 +1,51 @@ +.TH MPI_File_write_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all_begin \- Begin a split collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all_begin(MPI_File fh, ROMIO_CONST void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 new file mode 100644 index 00000000..3779e5c9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all_end \- Complete a split collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 new file mode 100644 index 00000000..451622c1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_write_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at \- Write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 new file mode 100644 index 00000000..c3e01588 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_write_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all \- Collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 new file mode 100644 index 00000000..7eb49128 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 @@ -0,0 +1,57 @@ +.TH MPI_File_write_at_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all_begin \- Begin a split collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 new file mode 100644 index 00000000..0f1a3757 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_at_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all_end \- Complete a split collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 new file mode 100644 index 00000000..01977289 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_ordered 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered \- Collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 new file mode 100644 index 00000000..8bbdf7b2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 @@ -0,0 +1,54 @@ +.TH MPI_File_write_ordered_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered_begin \- Begin a split collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered_begin(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 new file mode 100644 index 00000000..20375e77 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_ordered_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered_end \- Complete a split collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 new file mode 100644 index 00000000..0b0fda7a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_shared \- Write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_shared(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 b/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 new file mode 100644 index 00000000..2ffeab93 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 @@ -0,0 +1,89 @@ +.TH MPI_Finalize 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Finalize \- Terminates MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Finalize(void) +.fi +.SH NOTES +All processes must call this routine before exiting. The number of +processes running +.B after +this routine is called is undefined; +it is best not to perform much more than a +.I return rc +after calling +.I MPI_Finalize +\&. + + +.SH THREAD AND SIGNAL SAFETY +The MPI standard requires that +.I MPI_Finalize +be called +.B only +by the same +thread that initialized MPI with either +.I MPI_Init +or +.I MPI_Init_thread +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 new file mode 100644 index 00000000..b74d0f10 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 @@ -0,0 +1,82 @@ +.TH MPI_Finalized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Finalized \- Indicates whether +.I MPI_Finalize +has been called. +.SH SYNOPSIS +.nf +int MPI_Finalized(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Finalize +has been called and false otherwise. +(logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 b/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 new file mode 100644 index 00000000..a5b3fc6b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 @@ -0,0 +1,82 @@ +.TH MPI_Free_mem 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Free_mem \- Free memory allocated with MPI_Alloc_mem +.SH SYNOPSIS +.nf +int MPI_Free_mem(void *base) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of memory segment allocated by +.I MPI_ALLOC_MEM +(choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 new file mode 100644 index 00000000..01617428 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 @@ -0,0 +1,151 @@ +.TH MPI_Gather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Gather \- Gathers together values from a group of processes +.SH SYNOPSIS +.nf +int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements for any single receive (integer, +significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of recv buffer elements +(significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 new file mode 100644 index 00000000..e9bf75ce --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 @@ -0,0 +1,162 @@ +.TH MPI_Gatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Gatherv \- Gathers into specified locations from all processes in a group +.SH SYNOPSIS +.nf +int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int *recvcounts, const int *displs, + MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array (of length group size) +containing the number of elements that are received from each process +(significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement relative to recvbuf at +which to place the incoming data from process +.I i +(significant only +at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of recv buffer elements +(significant only at +.I root +) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get.3 new file mode 100644 index 00000000..0ad05ac4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get.3 @@ -0,0 +1,166 @@ +.TH MPI_Get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get \- Get data from a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- Address of the buffer in which to receive the data +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from window start to the beginning of the +target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rget +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 new file mode 100644 index 00000000..37ebd704 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 @@ -0,0 +1,231 @@ +.TH MPI_Get_accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_accumulate \- Perform an atomic, one-sided read-and-accumulate operation. +.SH SYNOPSIS +.nf +int MPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) +.fi + +Accumulate origin_count elements of type origin_datatype from the origin buffer +(origin_addr) to the buffer at offset target_disp, in the target window +specified by target_rank and win, using the operation op and return in the +result buffer result_addr the content of the target buffer before the +accumulation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_count +- number of entries in result buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B result_datatype +- datatype of each entry in result buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +.I MPI_REPLACE +provides fetch-and-set behavior. + +The origin and result buffers (origin_addr and result_addr) must be disjoint. +Each datatype argument must be a predefined datatype or a derived datatype +where all basic components are of the same predefined datatype. All datatype +arguments must be constructed from the same predefined datatype. The +operation op applies to elements of that predefined type. target_datatype must +not specify overlapping entries, and the target buffer must fit in the target +window or in attached memory in a dynamic window. + +Any of the predefined operations for +.I MPI_Reduce +, as well as +.I MPI_NO_OP +or +.I MPI_REPLACE +can be specified as op. User-defined functions cannot be used. A +new predefined operation, +.I MPI_NO_OP +, is defined. It corresponds to the +associative function f (a, b) = a; i.e., the current value in the target memory +is returned in the result buffer at the origin and no operation is performed on +the target buffer. +.I MPI_NO_OP +can be used only in +.I MPI_Get_accumulate +, +.I MPI_Rget_accumulate +, and +.I MPI_Fetch_and_op +\&. +.I MPI_NO_OP +cannot be used in +.I MPI_Accumulate +, +.I MPI_Raccumulate +, or collective reduction operations, such as +.I MPI_Reduce +and others. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rget_accumulate MPI_Fetch_and_op +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 new file mode 100644 index 00000000..e653da7a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 @@ -0,0 +1,117 @@ +.TH MPI_Get_address 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_address \- Get the address of a location in memory +.SH SYNOPSIS +.nf +int MPI_Get_address(const void *location, MPI_Aint * address) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B location +- location in caller memory (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B address +- address of location (address integer) +.PD 1 + +.SH NOTES +This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C +.I & +operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. + +This routine should be used instead of +.I MPI_Address +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +In Fortran, the integer type is always signed. This can cause problems +on systems where the address fits into a four byte unsigned integer but +the value is larger than the largest signed integer. For example, a system +with more than 2 GBytes of memory may have addresses that do not fit within +a four byte signed integer. Unfortunately, there is no easy solution to +this problem, as there is no Fortran datatype that can be used here (using +a longer integer type will cause other problems, as well as surprising +users when the size of the integer type is larger that the size of a pointer +in C). In this case, it is recommended that you use C to manipulate +addresses. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 new file mode 100644 index 00000000..c5cd0163 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 @@ -0,0 +1,106 @@ +.TH MPI_Get_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_count \- Gets the number of "top level" elements +.SH SYNOPSIS +.nf +int MPI_Get_count(const MPI_Status * status, MPI_Datatype datatype, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received elements (integer) +Notes: +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in +.I status +is not an exact multiple of the +size of +.I datatype +(so that +.I count +would not be integral), a +.I count +of +.I MPI_UNDEFINED +is returned instead. +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 new file mode 100644 index 00000000..bc8c8bed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 @@ -0,0 +1,91 @@ +.TH MPI_Get_elements 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_elements \- Returns the number of basic elements in a datatype +.SH SYNOPSIS +.nf +int MPI_Get_elements(const MPI_Status * status, MPI_Datatype datatype, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype used by receive operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received basic elements (integer) +.PD 1 + +.SH NOTES + +If the size of the datatype is zero and the amount of data returned as +determined by +.I status +is also zero, this routine will return a count of +zero. This is consistent with a clarification made by the MPI Forum. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 new file mode 100644 index 00000000..38f34fe6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Get_elements_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_elements_x \- Returns the number of basic elements in a datatype +.SH SYNOPSIS +.nf +int MPI_Get_elements_x(const MPI_Status * status, MPI_Datatype datatype, MPI_Count * count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype used by receive operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received basic elements (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 new file mode 100644 index 00000000..cf7886e2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 @@ -0,0 +1,86 @@ +.TH MPI_Get_library_version 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_library_version \- Return the version number of MPI library +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Get_library_version +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Get_library_version(char *version, int *resultlen) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B version +- Version of MPI +.PD 1 +.PD 0 +.TP +.B resultlen +- Length of the MPI library version string +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 new file mode 100644 index 00000000..bf410935 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 @@ -0,0 +1,133 @@ +.TH MPI_Get_processor_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_processor_name \- Gets the name of the processor +.SH SYNOPSIS +.nf +int MPI_Get_processor_name(char *name, int *resultlen) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- A unique specifier for the actual (as opposed to virtual) node. This +must be an array of size at least +.I MPI_MAX_PROCESSOR_NAME +\&. + +.PD 1 +.PD 0 +.TP +.B resultlen +- Length (in characters) of the name +.PD 1 + +.SH NOTES +The name returned should identify a particular piece of hardware; +the exact format is implementation defined. This name may or may not +be the same as might be returned by +.I gethostname +, +.I uname +, or +.I sysinfo +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +In Fortran, the character argument should be declared as a character string +of +.I MPI_MAX_PROCESSOR_NAME +rather than an array of dimension +.I MPI_MAX_PROCESSOR_NAME +\&. +That is, +.nf +character*(MPI_MAX_PROCESSOR_NAME) name +.fi + +rather than +.nf +character name(MPI_MAX_PROCESSOR_NAME) +.fi + +The two + + +The sizes of MPI strings in Fortran are one less than the sizes of that +string in C/C++ because the C/C++ versions provide room for the trailing +null character required by C/C++. For example, +.I MPI_MAX_ERROR_STRING +is +.I mpif.h +is one smaller than the same value in +.I mpi.h +\&. +See the MPI +standard, sections 2.6.2 and 4.12.9. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 new file mode 100644 index 00000000..b793c462 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 @@ -0,0 +1,82 @@ +.TH MPI_Get_version 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_version \- Return the version number of MPI +.SH SYNOPSIS +.nf +int MPI_Get_version(int *version, int *subversion) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B version +- Version of MPI +.PD 1 +.PD 0 +.TP +.B subversion +- Subversion of MPI +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 new file mode 100644 index 00000000..0d3ee472 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 @@ -0,0 +1,144 @@ +.TH MPI_Graph_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_create \- Makes a new communicator to which topology information has been attached +.SH SYNOPSIS +.nf +int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], + const int edges[], int reorder, MPI_Comm * comm_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator without topology (handle) +.PD 1 +.PD 0 +.TP +.B nnodes +- number of nodes in graph (integer) +.PD 1 +.PD 0 +.TP +.B indx +- array of integers describing node degrees (see below) +.PD 1 +.PD 0 +.TP +.B edges +- array of integers describing graph edges (see below) +.PD 1 +.PD 0 +.TP +.B reorder +- ranking may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_graph +- communicator with graph topology added (handle) +.PD 1 + +.SH NOTES +Each process must provide a description of the entire graph, not just the +neigbors of the calling process. + +.SH ALGORITHM +We ignore the +.I reorder +info currently. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 new file mode 100644 index 00000000..18177f4d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 @@ -0,0 +1,131 @@ +.TH MPI_Graph_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_get \- Retrieves graph topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph structure (handle) +.PD 1 +.PD 0 +.TP +.B maxindex +- length of vector +.I indx +in the calling program (integer) +.PD 1 +.PD 0 +.TP +.B maxedges +- length of vector +.I edges +in the calling program (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- array of integers containing the graph structure (for details see the definition of +.I MPI_GRAPH_CREATE +) +.PD 1 +.PD 0 +.TP +.B edges +- array of integers containing the graph structure +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 new file mode 100644 index 00000000..5c3258c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 @@ -0,0 +1,130 @@ +.TH MPI_Graph_map 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_map \- Maps process to graph topology information +.SH SYNOPSIS +.nf +int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B nnodes +- number of graph nodes (integer) +.PD 1 +.PD 0 +.TP +.B indx +- integer array specifying the graph structure, see +.I MPI_GRAPH_CREATE + +.PD 1 +.PD 0 +.TP +.B edges +- integer array specifying the graph structure +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newrank +- reordered rank of the calling process; +.I MPI_UNDEFINED +if the +calling process does not belong to graph (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 new file mode 100644 index 00000000..a5a7cd99 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 @@ -0,0 +1,137 @@ +.TH MPI_Graph_neighbors 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_neighbors \- Returns the neighbors of a node associated with a graph topology +.SH SYNOPSIS +.nf +int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph topology (handle) +.PD 1 +.PD 0 +.TP +.B rank +- rank of process in group of comm (integer) +.PD 1 +.PD 0 +.TP +.B maxneighbors +- size of array neighbors (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B neighbors +- ranks of processes that are neighbors to specified process +(array of integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 new file mode 100644 index 00000000..e4c3a488 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 @@ -0,0 +1,133 @@ +.TH MPI_Graph_neighbors_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_neighbors_count \- Returns the number of neighbors of a node associated with a graph topology +.SH SYNOPSIS +.nf +int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph topology (handle) +.PD 1 +.PD 0 +.TP +.B rank +- rank of process in group of +.I comm +(integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nneighbors +- number of neighbors of specified process (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 new file mode 100644 index 00000000..f2ca1988 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 @@ -0,0 +1,115 @@ +.TH MPI_Graphdims_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graphdims_get \- Retrieves graph topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator for group with graph structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nnodes +- number of nodes in graph (integer) +.PD 1 +.PD 0 +.TP +.B nedges +- number of edges in graph (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 new file mode 100644 index 00000000..252ac1c2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 @@ -0,0 +1,84 @@ +.TH MPI_Grequest_complete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Grequest_complete \- Notify MPI that a user-defined request is complete +.SH SYNOPSIS +.nf +int MPI_Grequest_complete(MPI_Request request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- Generalized request to mark as complete +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Grequest_start +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 new file mode 100644 index 00000000..cdcfc6e9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 @@ -0,0 +1,153 @@ +.TH MPI_Grequest_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Grequest_start \- Create and return a user-defined request +.SH SYNOPSIS +.nf +int MPI_Grequest_start(MPI_Grequest_query_function * query_fn, + MPI_Grequest_free_function * free_fn, + MPI_Grequest_cancel_function * cancel_fn, + void *extra_state, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B query_fn +- callback function invoked when request status is queried (function) +.PD 1 +.PD 0 +.TP +.B free_fn +- callback function invoked when request is freed (function) +.PD 1 +.PD 0 +.TP +.B cancel_fn +- callback function invoked when request is cancelled (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state passed to the above functions. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- Generalized request (handle) +.PD 1 + +.SH NOTES ON THE CALLBACK FUNCTIONS +The return values from the callback functions must be a valid MPI error code +or class. This value may either be the return value from any MPI routine +(with one exception noted below) or any of the MPI error classes. +For portable programs, +.I MPI_ERR_OTHER +may be used; to provide more +specific information, create a new MPI error class or code with +.I MPI_Add_error_class +or +.I MPI_Add_error_code +and return that value. + +The MPI standard is not clear on the return values from the callback routines. +However, there are notes in the standard that imply that these are MPI error +codes. For example, pages 169 line 46 through page 170, line 1 require that +the +.I free_fn +return an MPI error code that may be used in the MPI completion +functions when they return +.I MPI_ERR_IN_STATUS +\&. + + +The one special case is the error value returned by +.I MPI_Comm_dup +when +the attribute callback routine returns a failure. The MPI standard is not +clear on what values may be used to indicate an error return. Further, +the Intel MPI test suite made use of non-zero values to indicate failure, +and expected these values to be returned by the +.I MPI_Comm_dup +when the +attribute routines encountered an error. Such error values may not be valid +MPI error codes or classes. Because of this, it is the user's responsibility +to either use valid MPI error codes in return from the attribute callbacks, +if those error codes are to be returned by a generalized request callback, +or to detect and convert those error codes to valid MPI error codes (recall +that MPI error classes are valid error codes). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 new file mode 100644 index 00000000..0e21819d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 @@ -0,0 +1,113 @@ +.TH MPI_Group_compare 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_compare \- Compares two groups +.SH SYNOPSIS +.nf +int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- group1 (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- group2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B result +- integer which is +.I MPI_IDENT +if the order and members of +the two groups are the same, +.I MPI_SIMILAR +if only the members are the same, +and +.I MPI_UNEQUAL +otherwise +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 new file mode 100644 index 00000000..fe429818 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 @@ -0,0 +1,115 @@ +.TH MPI_Group_difference 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_difference \- Makes a group from the difference of two groups +.SH SYNOPSIS +.nf +int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- difference group (handle) +.PD 1 + +.SH NOTES +The generated group containc the members of +.I group1 +that are not in +.I group2 +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 new file mode 100644 index 00000000..93b71a2d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 @@ -0,0 +1,149 @@ +.TH MPI_Group_excl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_excl \- Produces a group by reordering an existing group and taking only unlisted members +.SH SYNOPSIS +.nf +int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(integer) +.PD 1 +.PD 0 +.TP +.B ranks +- array of integer ranks in +.I group +not to appear in +.I newgroup + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, preserving the order defined by +.I group +(handle) +.PD 1 + +.SH NOTE +The MPI standard requires that each of the ranks to excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 new file mode 100644 index 00000000..5a6a6642 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 @@ -0,0 +1,100 @@ +.TH MPI_Group_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_free \- Frees a group +.SH SYNOPSIS +.nf +int MPI_Group_free(MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group to free (handle) +.PD 1 + +.SH NOTES +On output, group is set to +.I MPI_GROUP_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent groups. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 new file mode 100644 index 00000000..f8ece65b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 @@ -0,0 +1,145 @@ +.TH MPI_Group_incl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_incl \- Produces a group by reordering an existing group and taking only listed members +.SH SYNOPSIS +.nf +int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(and size of newgroup) (integer) +.PD 1 +.PD 0 +.TP +.B ranks +- ranks of processes in +.I group +to appear in +.I newgroup +(array of +integers) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, in the order defined by +.I ranks +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 new file mode 100644 index 00000000..ec9c1000 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 @@ -0,0 +1,115 @@ +.TH MPI_Group_intersection 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_intersection \- Produces a group as the intersection of two existing groups +.SH SYNOPSIS +.nf +int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- intersection group (handle) +.PD 1 + +.SH NOTES +The output group contains those processes that are in both +.I group1 +and +.I group2 +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 new file mode 100644 index 00000000..8377d2b6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 @@ -0,0 +1,152 @@ +.TH MPI_Group_range_excl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_range_excl \- Produces a group by excluding ranges of processes from an existing group +.SH SYNOPSIS +.nf +int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(integer) +.PD 1 +.PD 0 +.TP +.B ranges +- a one-dimensional array of integer triplets of the +form (first rank, last rank, stride), indicating the ranks in +.I group +of processes to be excluded from the output group +.I newgroup +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, preserving the +order in +.I group +(handle) +.PD 1 + +.SH NOTE +The MPI standard requires that each of the ranks to be excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 new file mode 100644 index 00000000..16b4261e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 @@ -0,0 +1,147 @@ +.TH MPI_Group_range_incl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_range_incl \- Creates a new group from ranges of ranks in an existing group +.SH SYNOPSIS +.nf +int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of triplets in array +.I ranges +(integer) +.PD 1 +.PD 0 +.TP +.B ranges +- a one-dimensional array of integer triplets, of the +form (first rank, last rank, stride) indicating ranks in +.I group +or processes to be included in +.I newgroup +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, in the +order defined by +.I ranges +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 new file mode 100644 index 00000000..dc393c8d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 @@ -0,0 +1,100 @@ +.TH MPI_Group_rank 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_rank \- Returns the rank of this process in the given group +.SH SYNOPSIS +.nf +int MPI_Group_rank(MPI_Group group, int *rank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of the calling process in group, or +.I MPI_UNDEFINED +if the +process is not a member (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 new file mode 100644 index 00000000..1d641578 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 @@ -0,0 +1,97 @@ +.TH MPI_Group_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_size \- Returns the size of a group +.SH SYNOPSIS +.nf +int MPI_Group_size(MPI_Group group, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the group (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 new file mode 100644 index 00000000..aa5b260d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 @@ -0,0 +1,118 @@ +.TH MPI_Group_translate_ranks 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_translate_ranks \- Translates the ranks of processes in one group to those in another group +.SH SYNOPSIS +.nf +int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- group1 (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of ranks in +.I ranks1 +and +.I ranks2 +arrays (integer) +.PD 1 +.PD 0 +.TP +.B ranks1 +- array of zero or more valid ranks in +.I group1 + +.PD 1 +.PD 0 +.TP +.B group2 +- group2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B ranks2 +- array of corresponding ranks in group2, +.I MPI_UNDEFINED +when no +correspondence exists. +.PD 1 + +As a special case (see the MPI-2 errata), if the input rank is +.I MPI_PROC_NULL +, +.I MPI_PROC_NULL +is given as the output rank. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 new file mode 100644 index 00000000..1095df03 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 @@ -0,0 +1,107 @@ +.TH MPI_Group_union 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_union \- Produces a group by combining two groups +.SH SYNOPSIS +.nf +int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- union group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 new file mode 100644 index 00000000..20512c82 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 @@ -0,0 +1,114 @@ +.TH MPI_Iallgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallgather \- Gathers data from all tasks and distribute the combined data to all tasks in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 new file mode 100644 index 00000000..8256bc00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 @@ -0,0 +1,119 @@ +.TH MPI_Iallgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallgatherv \- Gathers data from all tasks and deliver the combined data to all tasks in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) containing the number of elements that are received from each process +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 new file mode 100644 index 00000000..4c91e6b6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 @@ -0,0 +1,108 @@ +.TH MPI_Iallreduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallreduce \- Combines values from all processes and distributes the result back to all processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 new file mode 100644 index 00000000..b2149f68 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 @@ -0,0 +1,114 @@ +.TH MPI_Ialltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoall \- Sends data from all to all processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 new file mode 100644 index 00000000..8dbe1bed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 @@ -0,0 +1,124 @@ +.TH MPI_Ialltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoallv \- Sends data from all to all processes in a nonblocking way; each process may send a different amount of data and provide displacements for the input and output data. +.SH SYNOPSIS +.nf +int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) specifying the number of elements that can be received from each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 new file mode 100644 index 00000000..1a1e3e23 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 @@ -0,0 +1,125 @@ +.TH MPI_Ialltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoallw \- Nonblocking generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +.SH SYNOPSIS +.nf +int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length group size). Entry j specifies the type of data to send to process j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) specifying the number of elements that can be received from each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length group size). Entry i specifies the type of data received from process i (array of handles) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 new file mode 100644 index 00000000..262dc2c5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 @@ -0,0 +1,92 @@ +.TH MPI_Ibarrier 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibarrier \- Notifies the process that it has reached the barrier and returns immediately +.SH SYNOPSIS +.nf +int MPI_Ibarrier(MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES +MPI_Ibarrier is a nonblocking version of MPI_barrier. By calling MPI_Ibarrier, +a process notifies that it has reached the barrier. The call returns +immediately, independent of whether other processes have called MPI_Ibarrier. +The usual barrier semantics are enforced at the corresponding completion +operation (test or wait), which in the intra-communicator case will complete +only after all other processes in the communicator have called MPI_Ibarrier. In +the intercommunicator case, it will complete when all processes in the remote +group have called MPI_Ibarrier. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 new file mode 100644 index 00000000..590d709d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 @@ -0,0 +1,105 @@ +.TH MPI_Ibcast 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibcast \- Broadcasts a message from the process with rank "root" to all other processes of the communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B buffer +- starting address of buffer (choice) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of entries in buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of buffer (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of broadcast root (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 new file mode 100644 index 00000000..1fdce330 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 @@ -0,0 +1,179 @@ +.TH MPI_Ibsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibsend \- Starts a nonblocking buffered send +.SH SYNOPSIS +.nf +int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 new file mode 100644 index 00000000..bde783bc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 @@ -0,0 +1,109 @@ +.TH MPI_Iexscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iexscan \- Computes the exclusive scan (partial reductions) of data on a collection of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 new file mode 100644 index 00000000..0de15084 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 @@ -0,0 +1,119 @@ +.TH MPI_Igather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Igather \- Gathers together values from a group of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements for any single receive (non-negative integer, significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 new file mode 100644 index 00000000..2c88f698 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 @@ -0,0 +1,124 @@ +.TH MPI_Igatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Igatherv \- Gathers into specified locations from all processes in a group in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) containing the number of elements that are received from each process (significant only at root) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 new file mode 100644 index 00000000..fdebd807 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 @@ -0,0 +1,103 @@ +.TH MPI_Improbe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Improbe \- Nonblocking matched probe. +.SH SYNOPSIS +.nf +int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message * message, + MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- rank of source or MPI_ANY_SOURCE (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or MPI_ANY_TAG (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- flag (logical) +.PD 1 +.PD 0 +.TP +.B message +- returned message (handle) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 new file mode 100644 index 00000000..297c47aa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 @@ -0,0 +1,100 @@ +.TH MPI_Imrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Imrecv \- Nonblocking receive of message matched by MPI_Mprobe or MPI_Improbe. +.SH SYNOPSIS +.nf +int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message, + MPI_Request * request) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- message (handle) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 new file mode 100644 index 00000000..753f2292 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 @@ -0,0 +1,114 @@ +.TH MPI_Ineighbor_allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_allgather \- Nonblocking version of MPI_Neighbor_allgather. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 new file mode 100644 index 00000000..83fc0306 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 @@ -0,0 +1,119 @@ +.TH MPI_Ineighbor_allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_allgatherv \- Nonblocking version of MPI_Neighbor_allgatherv. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 new file mode 100644 index 00000000..a9bd1ccd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 @@ -0,0 +1,114 @@ +.TH MPI_Ineighbor_alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoall \- Nonblocking version of MPI_Neighbor_alltoall. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 new file mode 100644 index 00000000..76322194 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 @@ -0,0 +1,125 @@ +.TH MPI_Ineighbor_alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoallv \- Nonblocking version of MPI_Neighbor_alltoallv. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 new file mode 100644 index 00000000..f082276b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 @@ -0,0 +1,125 @@ +.TH MPI_Ineighbor_alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoallw \- Nonblocking version of MPI_Neighbor_alltoallw. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 new file mode 100644 index 00000000..8da139d6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 @@ -0,0 +1,88 @@ +.TH MPI_Info_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_create \- Creates a new info object +.SH SYNOPSIS +.nf +int MPI_Info_create(MPI_Info * info) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info +- info object created (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 new file mode 100644 index 00000000..da5e684c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 @@ -0,0 +1,91 @@ +.TH MPI_Info_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_delete \- Deletes a (key,value) pair from info +.SH SYNOPSIS +.nf +int MPI_Info_delete(MPI_Info info, const char *key) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 new file mode 100644 index 00000000..c3d0cc42 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 @@ -0,0 +1,104 @@ +.TH MPI_Info_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_dup \- Returns a duplicate of the info object +.SH SYNOPSIS +.nf +int MPI_Info_dup(MPI_Info info, MPI_Info * newinfo) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newinfo +- duplicate of info object (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 new file mode 100644 index 00000000..383d4914 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 @@ -0,0 +1,93 @@ +.TH MPI_Info_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_free \- Frees an info object +.SH SYNOPSIS +.nf +int MPI_Info_free(MPI_Info * info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 new file mode 100644 index 00000000..5a2baea1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 @@ -0,0 +1,143 @@ +.TH MPI_Info_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get \- Retrieves the value associated with a key +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 +.PD 0 +.TP +.B valuelen +- length of value argument, not including null terminator (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B value +- value (string) +.PD 1 +.PD 0 +.TP +.B flag +- true if key defined, false if not (boolean) +.PD 1 + + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Invalid or null value string for info +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 new file mode 100644 index 00000000..eec78fa8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 @@ -0,0 +1,108 @@ +.TH MPI_Info_get_nkeys 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_nkeys \- Returns the number of currently defined keys in info +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get_nkeys +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nkeys +- number of defined keys (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 new file mode 100644 index 00000000..3da13f26 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 @@ -0,0 +1,124 @@ +.TH MPI_Info_get_nthkey 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_nthkey \- Returns the nth defined key in info +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get_nthkey +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B n +- key number (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B key +- key (string). The maximum number of characters is +.I MPI_MAX_INFO_KEY +\&. + +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 new file mode 100644 index 00000000..89bbf6a8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 @@ -0,0 +1,124 @@ +.TH MPI_Info_get_valuelen 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_valuelen \- Retrieves the length of the value associated with a key +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIRInfo_get_valuelen +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B valuelen +- length of value argument (integer) +.PD 1 +.PD 0 +.TP +.B flag +- true if key defined, false if not (boolean) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 new file mode 100644 index 00000000..0f1cf327 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 @@ -0,0 +1,113 @@ +.TH MPI_Info_set 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_set \- Adds a (key,value) pair to info +.SH SYNOPSIS +.nf +int MPI_Info_set(MPI_Info info, const char *key, const char *value) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 +.PD 0 +.TP +.B value +- value (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Invalid or null value string for info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Init.3 new file mode 100644 index 00000000..c345c587 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Init.3 @@ -0,0 +1,107 @@ +.TH MPI_Init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Init \- Initialize the MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Init(int *argc, char ***argv) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B argc +- Pointer to the number of arguments +.PD 1 +.PD 0 +.TP +.B argv +- Pointer to the argument vector +.PD 1 + +.SH THREAD AND SIGNAL SAFETY +This routine must be called by one thread only. That thread is called +the +.B main thread +and must be the thread that calls +.I MPI_Finalize +\&. + + +.SH NOTES +The MPI standard does not say what a program can do before an +.I MPI_INIT +or +after an +.I MPI_FINALIZE +\&. +In the MPICH implementation, you should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input or writing to standard output. + +.SH NOTES FOR C +As of MPI-2, +.I MPI_Init +will accept NULL as input parameters. Doing so +will impact the values stored in +.I MPI_INFO_ENV +\&. + + +.SH NOTES FOR FORTRAN +The Fortran binding for +.I MPI_Init +has only the error return +.nf +subroutine MPI_INIT(ierr) +integer ierr +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- This error class is associated with an error code that +indicates that an attempt was made to call +.I MPI_INIT +a second time. +.I MPI_INIT +may only be called once in a program. +.PD 1 + +.SH SEE ALSO +MPI_Init_thread, MPI_Finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 new file mode 100644 index 00000000..99e4a0a5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 @@ -0,0 +1,126 @@ +.TH MPI_Init_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Init_thread \- Initialize the MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Init_thread(int *argc, char ***argv, int required, int *provided) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B argc +- Pointer to the number of arguments +.PD 1 +.PD 0 +.TP +.B argv +- Pointer to the argument vector +.PD 1 +.PD 0 +.TP +.B required +- Level of desired thread support +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- Level of provided thread support +.PD 1 + +.SH COMMAND LINE ARGUMENTS +MPI specifies no command-line arguments but does allow an MPI +implementation to make use of them. See +.I MPI_INIT +for a description of +the command line arguments supported by +.I MPI_INIT +and +.I MPI_INIT_THREAD +\&. + + +.SH NOTES +The valid values for the level of thread support are: +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI, with no restrictions. +.PD 1 + +.SH NOTES FOR FORTRAN +Note that the Fortran binding for this routine does not have the +.I argc +and +.I argv +arguments. ( +.I MPI_INIT_THREAD(required, provided, ierror) +) + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Init, MPI_Finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 new file mode 100644 index 00000000..4b5bb2bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 @@ -0,0 +1,80 @@ +.TH MPI_Initialized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Initialized \- Indicates whether +.I MPI_Init +has been called. +.SH SYNOPSIS +.nf +int MPI_Initialized(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Init +or +.I MPI_Init_thread +has been called and +false otherwise. +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 new file mode 100644 index 00000000..f3f11bfc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 @@ -0,0 +1,203 @@ +.TH MPI_Intercomm_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Intercomm_create \- Creates an intercommuncator from two intracommunicators +.SH SYNOPSIS +.nf +int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm * newintercomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B local_comm +- Local (intra)communicator +.PD 1 +.PD 0 +.TP +.B local_leader +- Rank in local_comm of leader (often 0) +.PD 1 +.PD 0 +.TP +.B peer_comm +- Communicator used to communicate between a +designated process in the other communicator. +Significant only at the process in +.I local_comm +with +rank +.I local_leader +\&. + +.PD 1 +.PD 0 +.TP +.B remote_leader +- Rank in peer_comm of remote leader (often 0) +.PD 1 +.PD 0 +.TP +.B tag +- Message tag to use in constructing intercommunicator; if multiple +.I MPI_Intercomm_creates +are being made, they should use different tags (more +precisely, ensure that the local and remote leaders are using different +tags for each +.I MPI_intercomm_create +). +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newintercomm +- Created intercommunicator +.PD 1 + +.SH NOTES +.I peer_comm +is significant only for the process designated the +.I local_leader +in the +.I local_comm +\&. + + +The MPI 1.1 Standard contains two mutually exclusive comments on the +input intercommunicators. One says that their repective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the +.B reason +given for this in the standard is +.B not +the reason for this choice; rather, the +.B other +operations on +intercommunicators (like +.I MPI_Intercomm_merge +) do not make sense if the +groups are not disjoint. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Intercomm_merge, MPI_Comm_free, MPI_Comm_remote_group, +.br +MPI_Comm_remote_size + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 new file mode 100644 index 00000000..f66f0d90 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 @@ -0,0 +1,133 @@ +.TH MPI_Intercomm_merge 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Intercomm_merge \- Creates an intracommuncator from an intercommunicator +.SH SYNOPSIS +.nf +int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm * newintracomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- Intercommunicator (handle) +.PD 1 +.PD 0 +.TP +.B high +- Used to order the groups within comm (logical) +when creating the new communicator. This is a boolean value; the group +that sets high true has its processes ordered +.B after +the group that sets +this value to false. If all processes in the intercommunicator provide +the same value, the choice of which group is ordered first is arbitrary. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newintracomm +- Created intracommunicator (handle) +.PD 1 + +.SH NOTES +While all processes may provide the same value for the +.I high +parameter, +this requires the MPI implementation to determine which group of +processes should be ranked first. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ALGORITHM +.nr e 1 1 + +\\neAllocate contexts +\\neLocal and remote group leaders swap high values +\\neDetermine the high value. +\\neMerge the two groups and make the intra-communicator +.rr e + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Intercomm_create, MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 new file mode 100644 index 00000000..7b5415a5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 @@ -0,0 +1,152 @@ +.TH MPI_Iprobe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iprobe \- Nonblocking test for a message +.SH SYNOPSIS +.nf +int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- source rank, or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- tag value or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- True if a message with the specified source, tag, and communicator +is available (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 new file mode 100644 index 00000000..6667855c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 @@ -0,0 +1,178 @@ +.TH MPI_Irecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Irecv \- Begins a nonblocking receive +.SH SYNOPSIS +.nf +int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 new file mode 100644 index 00000000..9a7550a4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 @@ -0,0 +1,113 @@ +.TH MPI_Ireduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce \- Reduces values on all processes to a single value in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of root process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 new file mode 100644 index 00000000..ad7bdff0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 @@ -0,0 +1,108 @@ +.TH MPI_Ireduce_scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce_scatter \- Combines values and scatters the results in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array specifying the number of elements in result distributed to each process. Array must be identical on all calling processes. +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 new file mode 100644 index 00000000..27a66c32 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 @@ -0,0 +1,110 @@ +.TH MPI_Ireduce_scatter_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce_scatter_block \- Combines values and scatters the results in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, + int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcount +- element count per block (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 new file mode 100644 index 00000000..f9d5578d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 @@ -0,0 +1,179 @@ +.TH MPI_Irsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Irsend \- Starts a nonblocking ready send +.SH SYNOPSIS +.nf +int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 b/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 new file mode 100644 index 00000000..4cf30d5f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 @@ -0,0 +1,85 @@ +.TH MPI_Is_thread_main 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Is_thread_main \- Returns a flag indicating whether this thread called +.I MPI_Init +or +.I MPI_Init_thread +.SH SYNOPSIS +.nf +int MPI_Is_thread_main(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Init +or +.I MPI_Init_thread +has been called by +this thread and false otherwise. (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 new file mode 100644 index 00000000..165b24ad --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 @@ -0,0 +1,108 @@ +.TH MPI_Iscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscan \- Computes the scan (partial reductions) of data on a collection of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 new file mode 100644 index 00000000..898a6d30 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 @@ -0,0 +1,119 @@ +.TH MPI_Iscatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscatter \- Sends data from one process to all other processes in a communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each process (significant only at root) (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 new file mode 100644 index 00000000..b9907223 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 @@ -0,0 +1,124 @@ +.TH MPI_Iscatterv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscatterv \- Scatters a buffer in parts to all processes in a communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor (significant only at root) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement (relative to sendbuf) from which to take the outgoing data to process i (significant only at root) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 new file mode 100644 index 00000000..1e536c36 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 @@ -0,0 +1,170 @@ +.TH MPI_Isend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Isend \- Begins a nonblocking send +.SH SYNOPSIS +.nf +int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 new file mode 100644 index 00000000..1fb46c04 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 @@ -0,0 +1,178 @@ +.TH MPI_Issend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Issend \- Starts a nonblocking synchronous send +.SH SYNOPSIS +.nf +int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 new file mode 100644 index 00000000..2dfb1efe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 @@ -0,0 +1,140 @@ +.TH MPI_Keyval_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Keyval_create \- Greates a new attribute key +.SH SYNOPSIS +.nf +int MPI_Keyval_create(MPI_Copy_function * copy_fn, + MPI_Delete_function * delete_fn, int *keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B copy_fn +- Copy callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B delete_fn +- Delete callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Key values are global (available for any and all communicators). + +There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language that +.I MPI_Keyval_create +is called from. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_create_keyval +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Keyval_free, MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 new file mode 100644 index 00000000..7dbb8064 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 @@ -0,0 +1,111 @@ +.TH MPI_Keyval_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Keyval_free \- Frees an attribute key for communicators +.SH SYNOPSIS +.nf +int MPI_Keyval_free(int *keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B keyval +- Frees the integer key value (integer) +.PD 1 + +.SH NOTE +Key values are global (they can be used with any and all communicators) + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_free_keyval +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Keyval_create, MPI_Comm_free_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 new file mode 100644 index 00000000..cd6585e1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 @@ -0,0 +1,125 @@ +.TH MPI_Lookup_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Lookup_name \- Lookup a port given a service name +.SH SYNOPSIS +.nf +int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 + + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH NOTES +If the +.I service_name +is found, MPI copies the associated value into +.I port_name +\&. +The maximum size string that may be supplied by the system is +.I MPI_MAX_PORT_NAME +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 new file mode 100644 index 00000000..64bf61f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 @@ -0,0 +1,97 @@ +.TH MPI_Mprobe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Mprobe \- Blocking matched probe. +.SH SYNOPSIS +.nf +int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message * message, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- rank of source or MPI_ANY_SOURCE (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or MPI_ANY_TAG (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- returned message (handle) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 new file mode 100644 index 00000000..03aa2e2a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 @@ -0,0 +1,100 @@ +.TH MPI_Mrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Mrecv \- Blocking receive of message matched by MPI_Mprobe or MPI_Improbe. +.SH SYNOPSIS +.nf +int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message, + MPI_Status * status) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- message (handle) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 new file mode 100644 index 00000000..b9d67f3b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 @@ -0,0 +1,108 @@ +.TH MPI_Neighbor_allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_allgather \- In this function, each process i gathers data items from each process j if an edge (j,i) exists in the topology graph, and each process i sends the same data items to all processes j where an edge (i,j) exists. The send buffer is sent to each neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 new file mode 100644 index 00000000..7185f7dd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 @@ -0,0 +1,114 @@ +.TH MPI_Neighbor_allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_allgatherv \- The vector variant of MPI_Neighbor_allgather. +.SH SYNOPSIS +.nf +int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 new file mode 100644 index 00000000..e7bf9ccb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 @@ -0,0 +1,108 @@ +.TH MPI_Neighbor_alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoall \- In this function, each process i receives data items from each process j if an edge (j,i) exists in the topology graph or Cartesian topology. Similarly, each process i sends data items to all processes j where an edge (i,j) exists. This call is more general than MPI_NEIGHBOR_ALLGATHER in that different data items can be sent to each neighbor. The k-th block in send buffer is sent to the k-th neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 new file mode 100644 index 00000000..5c9427fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 @@ -0,0 +1,119 @@ +.TH MPI_Neighbor_alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoallv \- The vector variant of MPI_Neighbor_alltoall allows sending/receiving different numbers of elements to and from each neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 new file mode 100644 index 00000000..a322b2f5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 @@ -0,0 +1,119 @@ +.TH MPI_Neighbor_alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoallw \- Like MPI_Neighbor_alltoallv but it allows one to send and receive with different types to and from each neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 new file mode 100644 index 00000000..c5e589cd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 @@ -0,0 +1,114 @@ +.TH MPI_Op_commute 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_commute \- Queries an MPI reduction operation for its commutativity. +.SH SYNOPSIS +.nf +int MPI_Op_commutative(MPI_Op op, int *commute) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B commute +- Flag is true if +.I op +is a commutative operation. (logical) +.PD 1 + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Op_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 new file mode 100644 index 00000000..1d11fefc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 @@ -0,0 +1,137 @@ +.TH MPI_Op_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_create \- Creates a user-defined combination function handle +.SH SYNOPSIS +.nf +int MPI_Op_create(MPI_User_function * user_fn, int commute, MPI_Op * op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B user_fn +- user defined function (function) +.PD 1 +.PD 0 +.TP +.B commute +- true if commutative; false otherwise. (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH NOTES ON THE USER FUNCTION +The calling list for the user function type is +.nf +typedef void (MPI_User_function) (void * a, +void * b, int * len, MPI_Datatype *); +.fi + +where the operation is +.I b[i] = a[i] op b[i] +, for +.I i=0,...,len-1 +\&. +A pointer +to the datatype given to the MPI collective computation routine (i.e., +.I MPI_Reduce +, +.I MPI_Allreduce +, +.I MPI_Scan +, or +.I MPI_Reduce_scatter +) is also +passed to the user-specified routine. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Op_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 new file mode 100644 index 00000000..f74e9591 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 @@ -0,0 +1,119 @@ +.TH MPI_Op_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_free \- Frees a user-defined combination function handle +.SH SYNOPSIS +.nf +int MPI_Op_free(MPI_Op * op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH NOTES +.I op +is set to +.I MPI_OP_NULL +on exit. + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument; the error code associated with this +error indicates an attempt to free an MPI permanent operation (e.g., +.I MPI_SUM +). +.PD 1 + +.SH SEE ALSO +MPI_Op_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 b/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 new file mode 100644 index 00000000..93480aae --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 @@ -0,0 +1,117 @@ +.TH MPI_Open_port 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Open_port \- Establish an address that can be used to establish connections between groups of MPI processes +.SH SYNOPSIS +.nf +int MPI_Open_port(MPI_Info info, char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- implementation-specific information on how to establish a +port for +.I MPI_Comm_accept +(handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B port_name +- newly established port (string) +.PD 1 + +.SH NOTES +MPI copies a system-supplied port name into +.I port_name +\&. +.I port_name +identifies +the newly opened port and can be used by a client to contact the server. +The maximum size string that may be supplied by the system is +.I MPI_MAX_PORT_NAME +\&. + + +.SH RESERVED INFO KEY VALUES +.PD 0 +.TP +.B ip_port +- Value contains IP port number at which to establish a port. +.PD 1 +.PD 0 +.TP +.B ip_address +- Value contains IP address at which to establish a port. +If the address is not a valid IP address of the host on which the +.I MPI_OPEN_PORT +call is made, the results are undefined. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 new file mode 100644 index 00000000..f92378bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 @@ -0,0 +1,133 @@ +.TH MPI_Pack 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack \- Packs a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Pack(const void *inbuf, + int incount, + MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 +.PD 0 +.TP +.B outsize +- output buffer size, in bytes (non-negative integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator for packed message (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (integer) +.PD 1 + +.SH NOTES (FROM THE SPECIFICATIONS) + +The input value of position is the first location in the output buffer to be +used for packing. position is incremented by the size of the packed message, +and the output value of position is the first location in the output buffer +following the locations occupied by the packed message. The comm argument is +the communicator that will be subsequently used for sending the packed +message. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 new file mode 100644 index 00000000..61e9e8ca --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 @@ -0,0 +1,140 @@ +.TH MPI_Pack_external 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_external \- Packs a datatype into contiguous memory, using the external32 format +.SH SYNOPSIS +.nf +int MPI_Pack_external(const char datarep[], + const void *inbuf, + int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint * position) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 +.PD 0 +.TP +.B outsize +- output buffer size, in bytes (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 new file mode 100644 index 00000000..dbb3883d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 @@ -0,0 +1,115 @@ +.TH MPI_Pack_external_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_external_size \- Returns the upper bound on the amount of space needed to pack a message using MPI_Pack_external. +.SH SYNOPSIS +.nf +int MPI_Pack_external_size(const char datarep[], + int incount, MPI_Datatype datatype, MPI_Aint * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- output buffer size, in bytes (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 new file mode 100644 index 00000000..1a4d4602 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 @@ -0,0 +1,142 @@ +.TH MPI_Pack_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_size \- Returns the upper bound on the amount of space needed to pack a message +.SH SYNOPSIS +.nf +int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- count argument to packing call (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype argument to packing call (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator argument to packing call (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- upper bound on size of packed message, in bytes (integer) +.PD 1 + +.SH NOTES +The MPI standard document describes this in terms of +.I MPI_Pack +, but it +applies to both +.I MPI_Pack +and +.I MPI_Unpack +\&. +That is, the value +.I size +is +the maximum that is needed by either +.I MPI_Pack +or +.I MPI_Unpack +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 new file mode 100644 index 00000000..fb6ca015 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 @@ -0,0 +1,85 @@ +.TH MPI_Pcontrol 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pcontrol \- Controls profiling +.SH SYNOPSIS +.nf +int MPI_Pcontrol(const int level, ...) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B level +- Profiling level +.PD 1 +.PD 0 +.TP +.B ... +- other arguments (see notes) +.PD 1 + +.SH NOTES +This routine provides a common interface for profiling control. The +interpretation of +.I level +and any other arguments is left to the +profiling library. The intention is that a profiling library will +provide a replacement for this routine and define the interpretation +of the parameters. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 new file mode 100644 index 00000000..2d8ebb58 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 @@ -0,0 +1,145 @@ +.TH MPI_Probe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Probe \- Blocking test for a message +.SH SYNOPSIS +.nf +int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- source rank, or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- tag value or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 new file mode 100644 index 00000000..b7462a99 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 @@ -0,0 +1,119 @@ +.TH MPI_Publish_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Publish_name \- Publish a service name for use with MPI_Comm_connect +.SH SYNOPSIS +.nf +int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name to associate with the port (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH NOTES +The maximum size string that may be supplied for +.I port_name +is +.I MPI_MAX_PORT_NAME +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Put.3 b/macx64/mpi/mpich/share/man/man3/MPI_Put.3 new file mode 100644 index 00000000..a1da20d2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Put.3 @@ -0,0 +1,166 @@ +.TH MPI_Put 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Put \- Put data into a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of origin buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 + +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rput +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 new file mode 100644 index 00000000..f36f2262 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 @@ -0,0 +1,120 @@ +.TH MPI_Query_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Query_thread \- Return the level of thread support provided by the MPI library +.SH SYNOPSIS +.nf +int MPI_Query_thread(int *provided) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- Level of thread support provided. This is the same value +that was returned in the +.I provided +argument in +.I MPI_Init_thread +\&. + +.PD 1 + +.SH NOTES +The valid values for the level of thread support are: +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI, with no restrictions. +.PD 1 + +If +.I MPI_Init +was called instead of +.I MPI_Init_thread +, the level of +thread support is defined by the implementation. This routine allows +you to find out the provided level. It is also useful for library +routines that discover that MPI has already been initialized and +wish to determine what level of thread support is available. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 new file mode 100644 index 00000000..6d4dec66 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 @@ -0,0 +1,191 @@ +.TH MPI_Raccumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Raccumulate \- Accumulate data into the target process using remote memory access and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint + target_disp, int target_count, MPI_Datatype + target_datatype, MPI_Op op, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Raccumulate +is similar to +.I MPI_Accumulate +, except that it allocates a +communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an +.I MPI_Raccumulate +operation indicates that the origin buffer is +free to be updated. It does not indicate that the operation has completed at +the target window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH NOTES +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Accumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 new file mode 100644 index 00000000..ddb900b8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 @@ -0,0 +1,192 @@ +.TH MPI_Recv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Recv \- Blocking receive for a message +.SH SYNOPSIS +.nf +int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status * status) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- maximum number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +The +.I count +argument indicates the maximum length of a message; the actual +length of the message can be determined with +.I MPI_Get_count +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 new file mode 100644 index 00000000..0ebeadb8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 @@ -0,0 +1,186 @@ +.TH MPI_Recv_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Recv_init \- Create a persistent request for a receive +.SH SYNOPSIS +.nf +int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements received (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Startall, MPI_Request_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 new file mode 100644 index 00000000..738fb41e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 @@ -0,0 +1,175 @@ +.TH MPI_Reduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce \- Reduces values on all processes to a single value +.SH SYNOPSIS +.nf +int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of root process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, +significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 new file mode 100644 index 00000000..390d4716 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 @@ -0,0 +1,152 @@ +.TH MPI_Reduce_local 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_local \- Applies a reduction operator to local arguments. +.SH SYNOPSIS +.nf +int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- address of the input buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in each buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements in the buffers (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduction operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B inoutbuf +- address of input-output buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 new file mode 100644 index 00000000..3ea4f7bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 @@ -0,0 +1,182 @@ +.TH MPI_Reduce_scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_scatter \- Combines values and scatters the results +.SH SYNOPSIS +.nf +int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array specifying the +number of elements in result distributed to each process. +Array must be identical on all calling processes. +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 new file mode 100644 index 00000000..e6002883 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 @@ -0,0 +1,180 @@ +.TH MPI_Reduce_scatter_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_scatter_block \- Combines values and scatters the results +.SH SYNOPSIS +.nf +int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, + int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcount +- element count per block (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 b/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 new file mode 100644 index 00000000..eaeb5dc1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 @@ -0,0 +1,73 @@ +.TH MPI_Register_datarep 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Register_datarep \- Register functions for user-defined data representations +.SH SYNOPSIS +.nf +int MPI_Register_datarep(ROMIO_CONST char *datarep, + MPI_Datarep_conversion_function * read_conversion_fn, + MPI_Datarep_conversion_function * write_conversion_fn, + MPI_Datarep_extent_function * dtype_file_extent_fn, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation name (string) +.PD 1 +.PD 0 +.TP +.B read_conversion_fn +- function invoked to convert from file representation to +native representation (function) +.PD 1 +.PD 0 +.TP +.B write_conversion_fn +- function invoked to convert from native representation to +file representation (function) +.PD 1 +.PD 0 +.TP +.B dtype_file_extent_fn +- function invoked to get the exted of a datatype as represented +in the file (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- pointer to extra state that is passed to each of the +three functions +.PD 1 + +.SH NOTES +This function allows the user to provide routines to convert data from +an external representation, used within a file, and the native representation, +used within the CPU. There is one predefined data representation, +.I external32 +\&. +Please consult the MPI-2 standard for details on this +function. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 new file mode 100644 index 00000000..df1e2f11 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 @@ -0,0 +1,132 @@ +.TH MPI_Request_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Request_free \- Frees a communication request object +.SH SYNOPSIS +.nf +int MPI_Request_free(MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES + +This routine is normally used to free inactive persistent requests created with +either +.I MPI_Recv_init +or +.I MPI_Send_init +and friends. It +.B is +also +permissible to free an active request. However, once freed, the request can no +longer be used in a wait or test routine (e.g., +.I MPI_Wait +) to determine +completion. + +This routine may also be used to free a non-persistent requests such as those +created with +.I MPI_Irecv +or +.I MPI_Isend +and friends. Like active persistent +requests, once freed, the request can no longer be used with test/wait routines +to determine completion. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +also: MPI_Isend, MPI_Irecv, MPI_Issend, MPI_Ibsend, MPI_Irsend, +.br +MPI_Recv_init, MPI_Send_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Wait, +MPI_Test, MPI_Waitall, MPI_Waitany, MPI_Waitsome, MPI_Testall, MPI_Testany, +MPI_Testsome diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 b/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 new file mode 100644 index 00000000..2e5a746e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 @@ -0,0 +1,108 @@ +.TH MPI_Request_get_status 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Request_get_status \- Nondestructive test for the completion of a Request +.SH SYNOPSIS +.nf +int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- request (handle). May be +.I MPI_REQUEST_NULL +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if operation has completed (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES +Unlike +.I MPI_Test +, +.I MPI_Request_get_status +does not deallocate or +deactivate the request. A call to one of the test/wait routines or +.I MPI_Request_free +should be made to release the request object. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 new file mode 100644 index 00000000..1b03eadb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 @@ -0,0 +1,185 @@ +.TH MPI_Rget 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rget \- Get data from a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Rget +is similar to +.I MPI_Get +, except that it allocates a communication +request object and associates it with the request handle (the argument request) +that can be used to wait or test for completion. The completion of an +.I MPI_Rget +operation indicates that the data is available in the origin buffer. If +origin_addr points to memory attached to a window, then the data becomes +available in the private copy of this window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- Address of the buffer in which to receive the data +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from window start to the beginning of the +target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 new file mode 100644 index 00000000..c4dc052a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 @@ -0,0 +1,214 @@ +.TH MPI_Rget_accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rget_accumulate \- Perform an atomic, one-sided read-and-accumulate operation and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request * request) +.fi + +.I MPI_Rget_accumulate +is similar to +.I MPI_Get_accumulate +, except that it allocates +a communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an +.I MPI_Rget_accumulate +operation indicates that the data is +available in the result buffer and the origin buffer is free to be updated. It +does not indicate that the operation has been completed at the target window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_count +- number of entries in result buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B result_datatype +- datatype of each entry in result buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +.I MPI_REPLACE +provides fetch-and-set behavior. + +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get_accumulate MPI_Fetch_and_op +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 new file mode 100644 index 00000000..7f9dafee --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 @@ -0,0 +1,194 @@ +.TH MPI_Rput 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rput \- Put data into a memory window on a remote process and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Rput +is similar to +.I MPI_Put +, except that it allocates a +communication request object and associates it with the request handle (the +argument request). The completion of an +.I MPI_Rput +operation (i.e., after the +corresponding test or wait) indicates that the sender is now free to update +the locations in the origin buffer. It does not indicate that the data is +available at the target window. If remote completion is required, +.I MPI_Win_flush +, +.I MPI_Win_flush_all +, +.I MPI_Win_unlock +, or +.I MPI_Win_unlock_all +can be +used. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of origin buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Put +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 new file mode 100644 index 00000000..075173f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 @@ -0,0 +1,165 @@ +.TH MPI_Rsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rsend \- Blocking ready send +.SH SYNOPSIS +.nf +int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 new file mode 100644 index 00000000..ec1f961e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 @@ -0,0 +1,182 @@ +.TH MPI_Rsend_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rsend_init \- Creates a persistent request for a ready send +.SH SYNOPSIS +.nf +int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Request_free, MPI_Send_init +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 new file mode 100644 index 00000000..ecd1eea6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 @@ -0,0 +1,166 @@ +.TH MPI_Scan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scan \- Computes the scan (partial reductions) of data on a collection of processes +.SH SYNOPSIS +.nf +int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 new file mode 100644 index 00000000..f89cdf25 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 @@ -0,0 +1,156 @@ +.TH MPI_Scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scatter \- Sends data from one process to all other processes in a communicator +.SH SYNOPSIS +.nf +int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice, significant +only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each process +(integer, significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at +.I root +) +(handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 new file mode 100644 index 00000000..54ea828e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 @@ -0,0 +1,161 @@ +.TH MPI_Scatterv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scatterv \- Scatters a buffer in parts to all processes in a communicator +.SH SYNOPSIS +.nf +int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice, significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array (of length group size) +specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to sendbuf from +which to take the outgoing data to process +.I i + +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Send.3 b/macx64/mpi/mpich/share/man/man3/MPI_Send.3 new file mode 100644 index 00000000..21319a6c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Send.3 @@ -0,0 +1,172 @@ +.TH MPI_Send 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Send \- Performs a blocking send +.SH SYNOPSIS +.nf +int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This routine may block until the message is received by the destination +process. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Isend, MPI_Bsend +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 new file mode 100644 index 00000000..a10f3acb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 @@ -0,0 +1,182 @@ +.TH MPI_Send_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Send_init \- Create a persistent request for a standard send +.SH SYNOPSIS +.nf +int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Startall, MPI_Request_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 new file mode 100644 index 00000000..31b9eba1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 @@ -0,0 +1,210 @@ +.TH MPI_Sendrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Sendrecv \- Sends and receives a message +.SH SYNOPSIS +.nf +int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- type of elements in send buffer (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B sendtag +- send tag (integer) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- type of elements in receive buffer (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B recvtag +- receive tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). This refers to the receive operation. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 new file mode 100644 index 00000000..c96a1127 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 @@ -0,0 +1,207 @@ +.TH MPI_Sendrecv_replace 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Sendrecv_replace \- Sends and receives using a single buffer +.SH SYNOPSIS +.nf +int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in send and receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of elements in send and receive buffer (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B sendtag +- send message tag (integer) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B recvtag +- receive message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send and receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TRUNCATE +- Message truncated on receive. The buffer size specified +was too small for the received message. This is a recoverable error in +the MPICH implementation. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 new file mode 100644 index 00000000..2390dfeb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 @@ -0,0 +1,164 @@ +.TH MPI_Ssend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ssend \- Blocking synchronous send +.SH SYNOPSIS +.nf +int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 new file mode 100644 index 00000000..4ebcebb8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 @@ -0,0 +1,172 @@ +.TH MPI_Ssend_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ssend_init \- Creates a persistent request for a synchronous send +.SH SYNOPSIS +.nf +int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Start.3 new file mode 100644 index 00000000..066a8fed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Start.3 @@ -0,0 +1,93 @@ +.TH MPI_Start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Start \- Initiates a communication with a persistent request handle +.SH SYNOPSIS +.nf +int MPI_Start(MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 new file mode 100644 index 00000000..e1dd2bb0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 @@ -0,0 +1,121 @@ +.TH MPI_Startall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Startall \- Starts a collection of persistent requests +.SH SYNOPSIS +.nf +int MPI_Startall(int count, MPI_Request array_of_requests[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handle) +.PD 1 + +.SH NOTES + +Unlike +.I MPI_Waitall +, +.I MPI_Startall +does not provide a mechanism for +returning multiple errors nor pinpointing the request(s) involved. +Furthermore, the behavior of +.I MPI_Startall +after an error occurs is not +defined by the MPI standard. If well-defined error reporting and behavior +are required, multiple calls to +.I MPI_Start +should be used instead. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 new file mode 100644 index 00000000..f6269b79 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 @@ -0,0 +1,93 @@ +.TH MPI_Status_set_cancelled 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_cancelled \- Sets the cancelled state associated with a Status object +.SH SYNOPSIS +.nf +int MPI_Status_set_cancelled(MPI_Status * status, int flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status to associate cancel flag with (Status) +.PD 1 +.PD 0 +.TP +.B flag +- if true indicates request was cancelled (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 new file mode 100644 index 00000000..54f4b9b1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 @@ -0,0 +1,107 @@ +.TH MPI_Status_set_elements 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_elements \- Set the number of elements in a status +.SH SYNOPSIS +.nf +int MPI_Status_set_elements(MPI_Status * status, MPI_Datatype datatype, int count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status to associate count with (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype associated with count (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements to associate with status (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 new file mode 100644 index 00000000..c3419d20 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Status_set_elements_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_elements_x \- Set the number of elements in a status +.SH SYNOPSIS +.nf +int MPI_Status_set_elements_x(MPI_Status * status, MPI_Datatype datatype, MPI_Count count) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status with which to associate count (Status) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype associated with count (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements to associate with status (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 new file mode 100644 index 00000000..518f7768 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 @@ -0,0 +1,67 @@ +.TH MPI_T_category_changed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_changed \- Get the timestamp indicating the last change to the categories +.SH SYNOPSIS +.nf +int MPI_T_category_changed(int *stamp) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B stamp +- a virtual time stamp to indicate the last change to the categories (integer) +.PD 1 + +.SH NOTES +If two subsequent calls to this routine return the same timestamp, it is guaranteed that +the category information has not changed between the two calls. If the timestamp retrieved +from the second call is higher, then some categories have been added or expanded. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 new file mode 100644 index 00000000..5d3aa1bb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_categories 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_categories \- Get sub-categories in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating category variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 new file mode 100644 index 00000000..03424429 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_cvars 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_cvars \- Get control variables in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_cvars(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating control variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 new file mode 100644 index 00000000..5d89f804 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 @@ -0,0 +1,74 @@ +.TH MPI_T_category_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_index \- Get the index of a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_index(const char *name, int *cat_index) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- the name of the category (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- the index of the category (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 new file mode 100644 index 00000000..61dffc15 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 @@ -0,0 +1,107 @@ +.TH MPI_T_category_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_info \- Get the information about a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, + int *desc_len, int *num_cvars, int *num_pvars, int *num_categories) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the category (string) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing the description of the category (string) +.PD 1 +.PD 0 +.TP +.B num_cvars +- number of control variables contained in the category (integer) +.PD 1 +.PD 0 +.TP +.B num_pvars +- number of performance variables contained in the category (integer) +.PD 1 +.PD 0 +.TP +.B num_categories +- number of categories contained in the category (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 new file mode 100644 index 00000000..dbfb5a29 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_category_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_num \- Get the number of categories +.SH SYNOPSIS +.nf +int MPI_T_category_get_num(int *num_cat) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_cat +- current number of categories (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 new file mode 100644 index 00000000..e29adb83 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_pvars 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_pvars \- Get performance variables in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating performance variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 new file mode 100644 index 00000000..30912d43 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 @@ -0,0 +1,74 @@ +.TH MPI_T_cvar_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_index \- Get the index of a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_index(const char *name, int *cvar_index) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- name of the control variable (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of the control variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 new file mode 100644 index 00000000..42961034 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 @@ -0,0 +1,118 @@ +.TH MPI_T_cvar_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_info \- Get the information about a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype * datatype, MPI_T_enum * enumtype, + char *desc, int *desc_len, int *binding, int *scope) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of the control variable to be queried, value between 0 and num_cvar-1 (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the control variable (string) +.PD 1 +.PD 0 +.TP +.B verbosity +- verbosity level of this variable (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- MPI datatype of the information stored in the control variable (handle) +.PD 1 +.PD 0 +.TP +.B enumtype +- optional descriptor for enumeration information (handle) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing a description of the control variable (string) +.PD 1 +.PD 0 +.TP +.B binding +- type of MPI object this variable is associated with +.PD 1 +.PD 0 +.TP +.B scope +- scope of when changes to this variable are possible (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 new file mode 100644 index 00000000..9b1e30de --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_cvar_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_num \- Get the number of control variables +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_num(int *num_cvar) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_cvar +- returns number of control variables (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 new file mode 100644 index 00000000..d049037f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 @@ -0,0 +1,95 @@ +.TH MPI_T_cvar_handle_alloc 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_handle_alloc \- Allocate a handle for a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle * handle, + int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of control variable for which handle is to be allocated (index) +.PD 1 +.PD 0 +.TP +.B obj_handle +- reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- allocated handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements used to represent this variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 new file mode 100644 index 00000000..5057c259 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 @@ -0,0 +1,67 @@ +.TH MPI_T_cvar_handle_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_handle_free \- Free an existing handle for a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_handle_free(MPI_T_cvar_handle * handle) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 new file mode 100644 index 00000000..e39957b2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 @@ -0,0 +1,74 @@ +.TH MPI_T_cvar_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_read \- Read the value of a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle to the control variable to be read (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 new file mode 100644 index 00000000..6cad5590 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 @@ -0,0 +1,82 @@ +.TH MPI_T_cvar_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_write \- Write a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle of the control variable to be written (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NOT_NOW +- The control variable can not be set at this moment. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NEVER +- The control variable can not be set until end of execution. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 new file mode 100644 index 00000000..55837be9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 @@ -0,0 +1,86 @@ +.TH MPI_T_enum_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_enum_get_info \- Get the information about an enumeration +.SH SYNOPSIS +.nf +int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B enumtype +- enumeration to be queried (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num +- number of discrete values represented by this enumeration (integer) +.PD 1 +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the enumeration (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 new file mode 100644 index 00000000..ce2c2081 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 @@ -0,0 +1,96 @@ +.TH MPI_T_enum_get_item 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_enum_get_item \- Get the information about an item in an enumeration +.SH SYNOPSIS +.nf +int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, int *name_len) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B enumtype +- enumeration to be queried (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B index +- number of the value to be queried in this enumeration (integer) +.PD 1 +.PD 0 +.TP +.B value +- variable value (integer) +.PD 1 +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the enumeration item (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_ITEM +- Item index queried is out of range. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 new file mode 100644 index 00000000..331be045 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 @@ -0,0 +1,74 @@ +.TH MPI_T_finalize 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_finalize \- Finalize the MPI tool information interface +.SH SYNOPSIS +.nf +int MPI_T_finalize(void) +.fi +.SH NOTES +This routine may be called as often as the corresponding MPI_T_init_thread() routine +up to the current point of execution. Calling it more times returns a corresponding +error code. As long as the number of calls to MPI_T_finalize() is smaller than the +number of calls to MPI_T_init_thread() up to the current point of execution, the MPI +tool information interface remains initialized and calls to its routines are permissible. +Further, additional calls to MPI_T_init_thread() after one or more calls to MPI_T_finalize() +are permissible. Once MPI_T_finalize() is called the same number of times as the routine +MPI_T_init_thread() up to the current point of execution, the MPI tool information +interface is no longer initialized. The interface can be reinitialized by subsequent calls +to MPI_T_init_thread(). + +At the end of the program execution, unless MPI_Abort() is called, an application must +have called MPI_T_init_thread() and MPI_T_finalize() an equal number of times. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 + +.SH SEE ALSO +MPI_T_init_thread +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 new file mode 100644 index 00000000..3b02e444 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 @@ -0,0 +1,95 @@ +.TH MPI_T_init_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_init_thread \- Initialize the MPI_T execution environment +.SH SYNOPSIS +.nf +int MPI_T_init_thread(int required, int *provided) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B required +- desired level of thread support (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- provided level of thread support (integer) +.PD 1 + +.SH NOTES +.SH THE VALID VALUES FOR THE LEVEL OF THREAD SUPPORT ARE +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI_T calls (all MPI_T calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI_T calls, but only one at a time: MPI_T calls are not +made concurrently from two distinct threads (all MPI_T calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI_T, with no restrictions. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_T_finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 new file mode 100644 index 00000000..f5e893d0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 @@ -0,0 +1,79 @@ +.TH MPI_T_pvar_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_index \- Get the index of a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B name +- the name of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B var_class +- the class of the performance variable (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B pvar_index +- the index of the performance variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 new file mode 100644 index 00000000..01bb7c00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 @@ -0,0 +1,133 @@ +.TH MPI_T_pvar_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_info \- Get the inforamtion about a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, + int *var_class, MPI_Datatype * datatype, MPI_T_enum * enumtype, char *desc, + int *desc_len, int *binding, int *readonly, int *continuous, int *atomic) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B pvar_index +- index of the performance variable to be queried between 0 and num_pvar-1 (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B verbosity +- verbosity level of this variable (integer) +.PD 1 +.PD 0 +.TP +.B var_class +- class of performance variable (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- MPI type of the information stored in the performance variable (handle) +.PD 1 +.PD 0 +.TP +.B enumtype +- optional descriptor for enumeration information (handle) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing a description of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B binding +- type of MPI object to which this variable must be bound (integer) +.PD 1 +.PD 0 +.TP +.B readonly +- flag indicating whether the variable can be written/reset (integer) +.PD 1 +.PD 0 +.TP +.B continuous +- flag indicating whether the variable can be started and stopped or is continuously active (integer) +.PD 1 +.PD 0 +.TP +.B atomic +- flag indicating whether the variable can be atomically read and reset (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 new file mode 100644 index 00000000..fdc4a193 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_pvar_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_num \- Get the number of performance variables +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_num(int *num_pvar) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_pvar +- returns number of performance variables (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 new file mode 100644 index 00000000..c91e6359 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 @@ -0,0 +1,100 @@ +.TH MPI_T_pvar_handle_alloc 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_handle_alloc \- Allocate a handle for a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle * handle, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B pvar_index +- index of performance variable for which handle is to be allocated (integer) +.PD 1 +.PD 0 +.TP +.B obj_handle +- reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- allocated handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements used to represent this variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 new file mode 100644 index 00000000..30e8fc76 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 @@ -0,0 +1,77 @@ +.TH MPI_T_pvar_handle_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_handle_free \- Free an existing handle for a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle * handle) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 new file mode 100644 index 00000000..dceef5a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 @@ -0,0 +1,95 @@ +.TH MPI_T_pvar_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_read \- Read the value of a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH NOTES +The MPI_T_pvar_read() call queries the value of the performance variable with the +handle "handle" in the session identified by the parameter session and stores the result +in the buffer identified by the parameter buf. The user is responsible to ensure that the +buffer is of the appropriate size to hold the entire value of the performance variable +(based on the datatype and count returned by the corresponding previous calls to +MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). + +The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_read(). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 new file mode 100644 index 00000000..1fa5d22c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 @@ -0,0 +1,94 @@ +.TH MPI_T_pvar_readreset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_readreset \- Read the value of a performance variable and then reset it +.SH SYNOPSIS +.nf +int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_ATOMIC +- The performance variable can not be read/write atomically. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 new file mode 100644 index 00000000..7a0e64d3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 @@ -0,0 +1,92 @@ +.TH MPI_T_pvar_reset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_reset \- Reset a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +The MPI_T_pvar_reset() call sets the performance variable with the handle identified +by the parameter handle to its starting value. If it is not possible +to change the variable, the function returns MPI_T_ERR_PVAR_NO_WRITE. +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to reset all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are reset successfully, otherwise MPI_T_ERR_PVAR_NO_WRITE is returned. Readonly +variables are ignored when MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 new file mode 100644 index 00000000..2d8c8f45 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 @@ -0,0 +1,67 @@ +.TH MPI_T_pvar_session_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_session_create \- Create a new session for accessing performance variables +.SH SYNOPSIS +.nf +int MPI_T_pvar_session_create(MPI_T_pvar_session * session) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance session (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_SESSIONS +- No more sessions available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 new file mode 100644 index 00000000..ae6860cd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 @@ -0,0 +1,72 @@ +.TH MPI_T_pvar_session_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_session_free \- Free an existing performance variable session +.SH SYNOPSIS +.nf +int MPI_T_pvar_session_free(MPI_T_pvar_session * session) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 + +.SH NOTES +Calls to the MPI tool information interface can no longer be made +within the context of a session after it is freed. On a successful +return, MPI sets the session identifier to MPI_T_PVAR_SESSION_NULL. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 new file mode 100644 index 00000000..c72532c0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 @@ -0,0 +1,90 @@ +.TH MPI_T_pvar_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_start \- Start a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to start all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are started successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already started are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- The performance variable can not be started or stopped. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 new file mode 100644 index 00000000..a2c141fa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 @@ -0,0 +1,93 @@ +.TH MPI_T_pvar_stop 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_stop \- Stop a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +This functions stops the performance variable with the handle identified by the parameter +handle in the session identified by the parameter session. + +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to stop all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are stopped successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already stopped are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- The performance variable can not be started or stopped. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 new file mode 100644 index 00000000..b33f5c65 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 @@ -0,0 +1,98 @@ +.TH MPI_T_pvar_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_write \- Write a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH NOTES +The MPI_T_pvar_write() call attempts to write the value of the performance variable +with the handle identified by the parameter handle in the session identified by the parameter +session. The value to be written is passed in the buffer identified by the parameter buf. The +user must ensure that the buffer is of the appropriate size to hold the entire value of the +performance variable (based on the datatype and count returned by the corresponding previous +calls to MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). + +The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_write(). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Test.3 new file mode 100644 index 00000000..aaa90c73 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Test.3 @@ -0,0 +1,167 @@ +.TH MPI_Test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Test \- Tests for the completion of a request +.SH SYNOPSIS +.nf +int MPI_Test(MPI_Request * request, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- MPI request (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if operation completed (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 b/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 new file mode 100644 index 00000000..5f5e9b37 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 @@ -0,0 +1,95 @@ +.TH MPI_Test_cancelled 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Test_cancelled \- Tests to see if a request was cancelled +.SH SYNOPSIS +.nf +int MPI_Test_cancelled(const MPI_Status * status, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if the request was cancelled, false otherwise (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 new file mode 100644 index 00000000..ae86abfc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 @@ -0,0 +1,243 @@ +.TH MPI_Testall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testall \- Tests for the completion of all previously initiated requests +.SH SYNOPSIS +.nf +int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- lists length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- True if all requests have completed; false otherwise (logical) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES +.I flag +is true only if all requests have completed. Otherwise, flag is +false and neither the +.I array_of_requests +nor the +.I array_of_statuses +is +modified. + +If one or more of the requests completes with an error, +.I MPI_ERR_IN_STATUS +is +returned. An error value will be present is elements of +.I array_of_status +associated with the requests. Likewise, the +.I MPI_ERROR +field in the status +elements associated with requests that have successfully completed will be +.I MPI_SUCCESS +\&. +Finally, those requests that have not completed will have a +value of +.I MPI_ERR_PENDING +\&. + + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 new file mode 100644 index 00000000..dee4ffe6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 @@ -0,0 +1,158 @@ +.TH MPI_Testany 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testany \- Tests for completion of any previdously initiated requests +.SH SYNOPSIS +.nf +int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx, + int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- index of operation that completed, or +.I MPI_UNDEFINED +if none +completed (integer) +.PD 1 +.PD 0 +.TP +.B flag +- true if one of the operations is complete (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 new file mode 100644 index 00000000..a49f394a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 @@ -0,0 +1,206 @@ +.TH MPI_Testsome 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testsome \- Tests for some given requests to complete +.SH SYNOPSIS +.nf +int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- length of array_of_requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outcount +- number of completed requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_indices +- array of indices of operations that +completed (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects for +operations that completed (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 new file mode 100644 index 00000000..856d1ad3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 @@ -0,0 +1,110 @@ +.TH MPI_Topo_test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Topo_test \- Determines the type of topology (if any) associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Topo_test(MPI_Comm comm, int *status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- topology type of communicator +.I comm +(integer). If the +communicator has no associated topology, returns +.I MPI_UNDEFINED +\&. + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Graph_create, MPI_Cart_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 new file mode 100644 index 00000000..94cd4247 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 @@ -0,0 +1,89 @@ +.TH MPI_Type_commit 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_commit \- Commits the datatype +.SH SYNOPSIS +.nf +int MPI_Type_commit(MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 new file mode 100644 index 00000000..e8e0da7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 @@ -0,0 +1,113 @@ +.TH MPI_Type_contiguous 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_contiguous \- Creates a contiguous datatype +.SH SYNOPSIS +.nf +int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- replication count (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 new file mode 100644 index 00000000..5e5864d3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 @@ -0,0 +1,151 @@ +.TH MPI_Type_create_darray 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_darray \- Create a datatype representing a distributed array +.SH SYNOPSIS +.nf +int MPI_Type_create_darray(int size, + int rank, + int ndims, + const int array_of_gsizes[], + const int array_of_distribs[], + const int array_of_dargs[], + const int array_of_psizes[], + int order, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of process group (positive integer) +.PD 1 +.PD 0 +.TP +.B rank +- rank in process group (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B ndims +- number of array dimensions as well as process grid dimensions (positive integer) +.PD 1 +.PD 0 +.TP +.B array_of_gsizes +- number of elements of type oldtype in each dimension of global array (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_distribs +- distribution of array in each dimension (array of state) +.PD 1 +.PD 0 +.TP +.B array_of_dargs +- distribution argument in each dimension (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_psizes +- size of process grid in each dimension (array of positive integers) +.PD 1 +.PD 0 +.TP +.B order +- array storage order flag (state) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 new file mode 100644 index 00000000..a67a9370 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 @@ -0,0 +1,123 @@ +.TH MPI_Type_create_hindexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hindexed \- Create a datatype for an indexed datatype with displacements in bytes +.SH SYNOPSIS +.nf +int MPI_Type_create_hindexed(int count, + const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks --- also number of entries in +array_of_displacements and array_of_blocklengths (integer) +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of address integers) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 new file mode 100644 index 00000000..bcd3e711 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 @@ -0,0 +1,122 @@ +.TH MPI_Type_create_hindexed_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hindexed_block \- Create an hindexed datatype with constant-sized blocks +.SH SYNOPSIS +.nf +int MPI_Type_create_hindexed_block(int count, + int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- length of array of displacements (integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- size of block (integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- array of displacements (array of integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 new file mode 100644 index 00000000..840dbbf2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 @@ -0,0 +1,121 @@ +.TH MPI_Type_create_hvector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hvector \- Create a datatype with a constant stride given in bytes +.SH SYNOPSIS +.nf +int MPI_Type_create_hvector(int count, + int blocklength, + MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of bytes between start of each block (address integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 new file mode 100644 index 00000000..a9b28533 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 @@ -0,0 +1,148 @@ +.TH MPI_Type_create_indexed_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_indexed_block \- Create an indexed datatype with constant-sized blocks +.SH SYNOPSIS +.nf +int MPI_Type_create_indexed_block(int count, + int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- length of array of displacements (integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- size of block (integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- array of displacements (array of integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH NOTES +The indices are displacements, and are based on a zero origin. A common error +is to do something like the following +.nf +integer a(100) +integer blens(10), indices(10) +do i=1,10 +10 indices(i) = 1 + (i-1)*10 +call MPI_TYPE_CREATE_INDEXED_BLOCK(10,1,indices,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the indices have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as indices into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 new file mode 100644 index 00000000..91f874ec --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 @@ -0,0 +1,139 @@ +.TH MPI_Type_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_keyval \- Create an attribute keyval for MPI datatypes +.SH SYNOPSIS +.nf +int MPI_Type_create_keyval(MPI_Type_copy_attr_function * type_copy_attr_fn, + MPI_Type_delete_attr_function * type_delete_attr_fn, + int *type_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B type_copy_attr_fn +- copy callback function for type_keyval (function) +.PD 1 +.PD 0 +.TP +.B type_delete_attr_fn +- delete callback function for type_keyval (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B type_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES + +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_TYPE_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_DUP_FN +- simple dup function +.PD 1 + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 new file mode 100644 index 00000000..b2953516 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 @@ -0,0 +1,107 @@ +.TH MPI_Type_create_resized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_resized \- Create a datatype with a new lower bound and extent from an existing datatype +.SH SYNOPSIS +.nf +int MPI_Type_create_resized(MPI_Datatype oldtype, + MPI_Aint lb, MPI_Aint extent, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- input datatype (handle) +.PD 1 +.PD 0 +.TP +.B lb +- new lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B extent +- new extent of datatype (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- output datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 new file mode 100644 index 00000000..99423772 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 @@ -0,0 +1,124 @@ +.TH MPI_Type_create_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_struct \- Create an MPI datatype from a general set of datatypes, displacements, and block sizes +.SH SYNOPSIS +.nf +int MPI_Type_create_struct(int count, + const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (integer) --- also number of entries in arrays +array_of_types, array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of address integer) +.PD 1 +.PD 0 +.TP +.B array_of_types +- type of elements in each block (array of handles to +datatype objects) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 new file mode 100644 index 00000000..026d29e3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 @@ -0,0 +1,136 @@ +.TH MPI_Type_create_subarray 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_subarray \- Create a datatype for a subarray of a regular, multidimensional array +.SH SYNOPSIS +.nf +int MPI_Type_create_subarray(int ndims, + const int array_of_sizes[], + const int array_of_subsizes[], + const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B ndims +- number of array dimensions (positive integer) +.PD 1 +.PD 0 +.TP +.B array_of_sizes +- number of elements of type oldtype in each dimension of the +full array (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_subsizes +- number of elements of type oldtype in each dimension of +the subarray (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_starts +- starting coordinates of the subarray in each dimension +(array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B order +- array storage order flag (state) +.PD 1 +.PD 0 +.TP +.B oldtype +- array element datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 new file mode 100644 index 00000000..4d706b3a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 @@ -0,0 +1,98 @@ +.TH MPI_Type_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_delete_attr \- Deletes an attribute value associated with a key on a datatype +.SH SYNOPSIS +.nf +int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI datatype to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 new file mode 100644 index 00000000..5050874c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 @@ -0,0 +1,100 @@ +.TH MPI_Type_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_dup \- Duplicate a datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Type_dup +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- copy of type (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 new file mode 100644 index 00000000..811af5c4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 @@ -0,0 +1,103 @@ +.TH MPI_Type_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_extent \- Returns the extent of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B extent +- datatype extent (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_get_extent +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 new file mode 100644 index 00000000..a1ad702a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 @@ -0,0 +1,110 @@ +.TH MPI_Type_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_free \- Frees the datatype +.SH SYNOPSIS +.nf +int MPI_Type_free(MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype that is freed (handle) +.PD 1 + +.SH PREDEFINED TYPES + +The MPI standard states that (in Opaque Objects) +.in 1cm + +MPI provides certain predefined opaque objects and predefined, static handles +to these objects. Such objects may not be destroyed. +.in + + +Thus, it is an error to free a predefined datatype. The same section makes +it clear that it is an error to free a null datatype. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 new file mode 100644 index 00000000..3f2d734d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 @@ -0,0 +1,93 @@ +.TH MPI_Type_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_free_keyval \- Frees an attribute key for datatypes +.SH SYNOPSIS +.nf +int MPI_Type_free_keyval(int *type_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B type_keyval +- Frees the integer key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 new file mode 100644 index 00000000..82dbfb89 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 @@ -0,0 +1,127 @@ +.TH MPI_Type_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_attr \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to which the attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless flag = false +.PD 1 +.PD 0 +.TP +.B flag +- false if no attribute is associated with the key (logical) +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_Type_set_attr +\&. +The notes for C and Fortran below explain +why. + +.SH NOTES FOR C +Even though the +.I attr_value +argument is declared as +.I void * +, it is +really the address of a void pointer. See the rationale in the +standard for more details. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 new file mode 100644 index 00000000..638340a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 @@ -0,0 +1,110 @@ +.TH MPI_Type_get_contents 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_contents \- get type contents +.SH SYNOPSIS +.nf +int MPI_Type_get_contents(MPI_Datatype datatype, + int max_integers, + int max_addresses, + int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to access (handle) +.PD 1 +.PD 0 +.TP +.B max_integers +- number of elements in array_of_integers (non-negative integer) +.PD 1 +.PD 0 +.TP +.B max_addresses +- number of elements in array_of_addresses (non-negative integer) +.PD 1 +.PD 0 +.TP +.B max_datatypes +- number of elements in array_of_datatypes (non-negative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_integers +- contains integer arguments used in constructing the datatype (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_addresses +- contains address arguments used in constructing the datatype (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_datatypes +- contains datatype arguments used in constructing the datatype (array of handles) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 new file mode 100644 index 00000000..7fe4af97 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 @@ -0,0 +1,96 @@ +.TH MPI_Type_get_envelope 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_envelope \- get type envelope +.SH SYNOPSIS +.nf +int MPI_Type_get_envelope(MPI_Datatype datatype, + int *num_integers, int *num_addresses, int *num_datatypes, int *combiner) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to access (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_integers +- number of input integers used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B num_addresses +- number of input addresses used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B num_datatypes +- number of input datatypes used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B combiner +- combiner (state) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 new file mode 100644 index 00000000..11143f0e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 @@ -0,0 +1,106 @@ +.TH MPI_Type_get_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_extent \- Get the lower bound and extent for a Datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint * lb, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to get information on (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B lb +- lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B extent +- extent of datatype (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 new file mode 100644 index 00000000..5efa1757 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Type_get_extent_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_extent_x \- Get the lower bound and extent as MPI_Count values for a Datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count * lb, MPI_Count * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B lb +- lower bound of datatype (integer) +.PD 1 +.PD 0 +.TP +.B extent +- extent of datatype (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 new file mode 100644 index 00000000..393cb463 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 @@ -0,0 +1,131 @@ +.TH MPI_Type_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_name \- Get the print name for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype whose name is to be returned (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B type_name +- the name previously stored on the datatype, or a empty string +if no such name exists (string) +.PD 1 +.PD 0 +.TP +.B resultlen +- length of returned name (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 new file mode 100644 index 00000000..d5b40edd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 @@ -0,0 +1,106 @@ +.TH MPI_Type_get_true_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_true_extent \- Get the true lower bound and extent for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint * true_lb, MPI_Aint * true_extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to get information on (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B true_lb +- true lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B true_extent +- true size of datatype (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 new file mode 100644 index 00000000..17169174 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Type_get_true_extent_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_true_extent_x \- Get the true lower bound and extent as MPI_Count values for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count * true_lb, MPI_Count * true_extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B true_lb +- true lower bound of datatype (integer) +.PD 1 +.PD 0 +.TP +.B true_extent +- true extent of datatype (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 new file mode 100644 index 00000000..8f14096d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 @@ -0,0 +1,170 @@ +.TH MPI_Type_hindexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_hindexed \- Creates an indexed datatype with offsets in bytes +.SH SYNOPSIS +.nf +int MPI_Type_hindexed(int count, + int *array_of_blocklengths, + MPI_Aint * array_of_displacements, + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of MPI_Aint) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +This routine is replaced by +.I MPI_Type_create_hindexed +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +.nf +integer a(100) +integer array_of_blocklengths(10), array_of_displacements(10) +do i=1,10 +array_of_blocklengths(i) = 1 +10 array_of_displacements(i) = (1 + (i-1)*10) * sizeofint +call MPI_TYPE_HINDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 new file mode 100644 index 00000000..b1281e46 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 @@ -0,0 +1,97 @@ +.TH MPI_Type_hvector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_hvector \- type_hvector +.SH SYNOPSIS +.nf +int MPI_Type_hvector(int count, + int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +(nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of bytes between start of each block (integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 new file mode 100644 index 00000000..249e975a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 @@ -0,0 +1,156 @@ +.TH MPI_Type_indexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_indexed \- Creates an indexed datatype +.SH SYNOPSIS +.nf +int MPI_Type_indexed(int count, + const int *array_of_blocklengths, + const int *array_of_displacements, + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- displacement of each block in multiples of oldtype (array of +integers) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +.nf +integer a(100) +integer array_of_blocklengths(10), array_of_displacements(10) +do i=1,10 +array_of_blocklengths(i) = 1 +10 array_of_displacements(i) = 1 + (i-1)*10 +call MPI_TYPE_INDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 new file mode 100644 index 00000000..1f0538a8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 @@ -0,0 +1,112 @@ +.TH MPI_Type_lb 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_lb \- Returns the lower-bound of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint * displacement) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B displacement +- displacement of lower bound from origin, +in bytes (address integer) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_Get_extent +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 new file mode 100644 index 00000000..74e262a3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 @@ -0,0 +1,114 @@ +.TH MPI_Type_match_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_match_size \- Find an MPI datatype matching a specified size +.SH SYNOPSIS +.nf +int MPI_Type_match_size(int typeclass, int size, MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B typeclass +- generic type specifier (integer) +.PD 1 +.PD 0 +.TP +.B size +- size, in bytes, of representation (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype with correct type, size (handle) +.PD 1 + +.SH NOTES +.I typeclass +is one of +.I MPI_TYPECLASS_REAL +, +.I MPI_TYPECLASS_INTEGER +and +.I MPI_TYPECLASS_COMPLEX +, corresponding to the desired typeclass. +The function returns an MPI datatype matching a local variable of type +.I (typeclass, size) +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 new file mode 100644 index 00000000..12506340 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 @@ -0,0 +1,107 @@ +.TH MPI_Type_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI Datatype to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- key value, as returned by +.I MPI_Type_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES + +The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 new file mode 100644 index 00000000..cec0bcff --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 @@ -0,0 +1,101 @@ +.TH MPI_Type_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_set_name \- set datatype name +.SH SYNOPSIS +.nf +int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype whose identifier is to be set (handle) +.PD 1 +.PD 0 +.TP +.B type_name +- the character string which is remembered as the name (string) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 new file mode 100644 index 00000000..452e28fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 @@ -0,0 +1,101 @@ +.TH MPI_Type_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_size \- Return the number of bytes occupied by entries in the datatype +.SH SYNOPSIS +.nf +int MPI_Type_size(MPI_Datatype datatype, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- datatype size (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 new file mode 100644 index 00000000..e22674ca --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 @@ -0,0 +1,82 @@ +.TH MPI_Type_size_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_size_x \- Return the number of bytes occupied by entries in the datatype +.SH SYNOPSIS +.nf +int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- datatype size (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 new file mode 100644 index 00000000..5a045c64 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 @@ -0,0 +1,193 @@ +.TH MPI_Type_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_struct \- Creates a struct datatype +.SH SYNOPSIS +.nf +int MPI_Type_struct(int count, + int *array_of_blocklengths, + MPI_Aint * array_of_displacements, + MPI_Datatype * array_of_types, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (integer) -- also number of +entries in arrays array_of_types , +array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array) +.PD 1 +.PD 0 +.TP +.B array_of_types +- type of elements in each block (array +of handles to datatype objects) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_create_struct + + +.SH NOTES +If an upperbound is set explicitly by using the MPI datatype +.I MPI_UB +, the +corresponding index must be positive. + +The MPI standard originally made vague statements about padding and alignment; +this was intended to allow the simple definition of structures that could +be sent with a count greater than one. For example, +.nf +struct { int a; char b; } foo; +.fi + +may have +.I sizeof(foo) > sizeof(int) + sizeof(char) +; for example, +.I sizeof(foo) == 2*sizeof(int) +\&. +The initial version of the MPI standard +defined the extent of a datatype as including an +.B epsilon +that would have +allowed an implementation to make the extent an MPI datatype +for this structure equal to +.I 2*sizeof(int) +\&. + +However, since different systems might define different paddings, there was +much discussion by the MPI Forum about what was the correct value of +epsilon, and one suggestion was to define epsilon as zero. +This would have been the best thing to do in MPI 1.0, particularly since +the +.I MPI_UB +type allows the user to easily set the end of the structure. +Unfortunately, this change did not make it into the final document. +Currently, this routine does not add any padding, since the amount of +padding needed is determined by the compiler that the user is using to +build their code, not the compiler used to construct the MPI library. +A later version of MPICH may provide for some natural choices of padding +(e.g., multiple of the size of the largest basic member), but users are +advised to never depend on this, even with vendor MPI implementations. +Instead, if you define a structure datatype and wish to send or receive +multiple items, you should explicitly include an +.I MPI_UB +entry as the +last member of the structure. For example, the following code can be used +for the structure foo +.nf +blen[0] = 1; array_of_displacements[0] = 0; oldtypes[0] = MPI_INT; +blen[1] = 1; array_of_displacements[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR; +blen[2] = 1; array_of_displacements[2] = sizeof(foo); oldtypes[2] = MPI_UB; +MPI_Type_struct(3, blen, array_of_displacements, oldtypes, &newtype); +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 new file mode 100644 index 00000000..7947f382 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 @@ -0,0 +1,111 @@ +.TH MPI_Type_ub 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_ub \- Returns the upper bound of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint * displacement) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B displacement +- displacement of upper bound from origin, +in bytes (address integer) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_get_extent + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 new file mode 100644 index 00000000..e2233da4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 @@ -0,0 +1,120 @@ +.TH MPI_Type_vector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_vector \- Creates a vector (strided) datatype +.SH SYNOPSIS +.nf +int MPI_Type_vector(int count, + int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +(nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of elements between start of each block (integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 new file mode 100644 index 00000000..84e548d2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 @@ -0,0 +1,151 @@ +.TH MPI_Unpack 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpack \- Unpack a buffer according to a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B insize +- size of input buffer, in bytes (integer) +.PD 1 +.PD 0 +.TP +.B outcount +- number of items to be unpacked (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each output data item (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator for packed message (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INOUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in bytes (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Pack, MPI_Pack_size +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 new file mode 100644 index 00000000..408d12ac --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 @@ -0,0 +1,134 @@ +.TH MPI_Unpack_external 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpack_external \- Unpack a buffer (packed with MPI_Pack_external) according to a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Unpack_external(const char datarep[], + const void *inbuf, + MPI_Aint insize, + MPI_Aint * position, void *outbuf, int outcount, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B insize +- input buffer size, in bytes (address integer) +.PD 1 +.PD 0 +.TP +.B outcount +- number of output data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of output data item (handle) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 new file mode 100644 index 00000000..d3d6d69a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 @@ -0,0 +1,119 @@ +.TH MPI_Unpublish_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpublish_name \- Unpublish a service name published with MPI_Publish_name +.SH SYNOPSIS +.nf +int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 new file mode 100644 index 00000000..0207ba2f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 @@ -0,0 +1,162 @@ +.TH MPI_Wait 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wait \- Waits for an MPI request to complete +.SH SYNOPSIS +.nf +int MPI_Wait(MPI_Request * request, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- request (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 new file mode 100644 index 00000000..0f228102 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 @@ -0,0 +1,228 @@ +.TH MPI_Waitall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitall \- Waits for all given MPI Requests to complete +.SH SYNOPSIS +.nf +int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of request handles (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_statuses +- array of status objects (array of Statuses). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES + +If one or more of the requests completes with an error, +.I MPI_ERR_IN_STATUS +is +returned. An error value will be present is elements of +.I array_of_status +associated with the requests. Likewise, the +.I MPI_ERROR +field in the status +elements associated with requests that have successfully completed will be +.I MPI_SUCCESS +\&. +Finally, those requests that have not completed will have a +value of +.I MPI_ERR_PENDING +\&. + + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 new file mode 100644 index 00000000..b3427ba9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 @@ -0,0 +1,188 @@ +.TH MPI_Waitany 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitany \- Waits for any specified MPI Request to complete +.SH SYNOPSIS +.nf +int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- index of handle for operation that completed (integer). In the +range +.I 0 +to +.I count-1 +\&. +In Fortran, the range is +.I 1 +to +.I count +\&. + +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES +If all of the requests are +.I MPI_REQUEST_NULL +, then +.I indx +is returned as +.I MPI_UNDEFINED +, and +.I status +is returned as an empty status. + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 new file mode 100644 index 00000000..fdeb1faf --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 @@ -0,0 +1,266 @@ +.TH MPI_Waitsome 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitsome \- Waits for some given MPI Requests to complete +.SH SYNOPSIS +.nf +int MPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- length of array_of_requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outcount +- number of completed requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_indices +- array of indices of operations that +completed (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects for +operations that completed (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES +The array of indicies are in the range +.I 0 +to +.I incount - 1 +for C and +in the range +.I 1 +to +.I incount +for Fortran. + +Null requests are ignored; if all requests are null, then the routine +returns with +.I outcount +set to +.I MPI_UNDEFINED +\&. + + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.I MPI_Waitsome +provides an interface much like the Unix +.I select +or +.I poll +calls and, in a high qualilty implementation, indicates all of the requests +that have completed when +.I MPI_Waitsome +is called. +However, +.I MPI_Waitsome +only guarantees that at least one +request has completed; there is no guarantee that +.B all +completed requests +will be returned, or that the entries in +.I array_of_indices +will be in +increasing order. Also, requests that are completed while +.I MPI_Waitsome +is +executing may or may not be returned, depending on the timing of the +completion of the message. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 new file mode 100644 index 00000000..1f9e9866 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 @@ -0,0 +1,158 @@ +.TH MPI_Win_allocate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_allocate \- Create and allocate an MPI Window object for one-sided communication. +.SH SYNOPSIS +.nf +int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. On +each process, it allocates memory of at least size bytes, returns a pointer to +it, and returns a window object that can be used by all processes in comm to +perform RMA operations. The returned memory consists of size bytes local to +each process, starting at address baseptr and is associated with the window as +if the user called +.I MPI_Win_create +on existing memory. The size argument may be +different at each process and size = 0 is valid; however, a library might +allocate and expose more memory in order to create a fast, globally symmetric +allocation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- base address of the window in local memory +.PD 1 +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate_shared MPI_Win_create MPI_Win_create_dynamic MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 new file mode 100644 index 00000000..e587a8f5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 @@ -0,0 +1,167 @@ +.TH MPI_Win_allocate_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_allocate_shared \- Create an MPI Window object for one-sided communication and shared memory access, and allocate memory at each process. +.SH SYNOPSIS +.nf +int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win * win) +.fi +This is a collective call executed by all processes in the group of comm. On +each process i, it allocates memory of at least size bytes that is shared among +all processes in comm, and returns a pointer to the locally allocated segment +in baseptr that can be used for load/store accesses on the calling process. The +locally allocated memory can be the target of load/store accesses by remote +processes; the base pointers for other processes can be queried using the +function +.I MPI_Win_shared_query +\&. + + +The call also returns a window object that can be used by all processes in comm +to perform RMA operations. The size argument may be different at each process +and size = 0 is valid. It is the user's responsibility to ensure that the +communicator comm represents a group of processes that can create a shared +memory segment that can be accessed by all processes in the group. The +allocated memory is contiguous across process ranks unless the info key +alloc_shared_noncontig is specified. Contiguous across process ranks means that +the first address in the memory segment of process i is consecutive with the +last address in the memory segment of process i − 1. This may enable the user +to calculate remote address offsets with local information only. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- initial address of window (choice) +.PD 1 +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate MPI_Win_create MPI_Win_create_dynamic MPI_Win_free MPI_Win_shared_query +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 new file mode 100644 index 00000000..07396bea --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 @@ -0,0 +1,149 @@ +.TH MPI_Win_attach 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_attach \- Attach memory to a dynamic window. +.SH SYNOPSIS +.nf +int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) +.fi + +Attaches a local memory region beginning at base for remote access within the +given window. The memory region specified must not contain any part that is +already attached to the window win, that is, attaching overlapping memory +concurrently within the same window is erroneous. The argument win must be a +window that was created with +.I MPI_Win_create_dynamic +\&. +Multiple (but +non-overlapping) memory regions may be attached to the same window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of memory to be attached in bytes +.PD 1 +.PD 0 +.TP +.B base +- initial address of memory to be attached +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_create_dynamic MPI_Win_detach +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 new file mode 100644 index 00000000..f9c46b90 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 @@ -0,0 +1,102 @@ +.TH MPI_Win_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_call_errhandler \- Call the error handler installed on a window object +.SH SYNOPSIS +.nf +int MPI_Win_call_errhandler(MPI_Win win, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + +.SH NOTE +Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 new file mode 100644 index 00000000..3cf9ace7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 @@ -0,0 +1,93 @@ +.TH MPI_Win_complete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_complete \- Completes an RMA operations begun after an MPI_Win_start. +.SH SYNOPSIS +.nf +int MPI_Win_complete(MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 new file mode 100644 index 00000000..8e5ffac6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 @@ -0,0 +1,203 @@ +.TH MPI_Win_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create \- Create an MPI Window object for one-sided communication +.SH SYNOPSIS +.nf +int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. It +returns a window object that can be used by these processes to perform RMA +operations. Each process specifies a window of existing memory that it exposes +to RMA accesses by the processes in the group of comm. The window consists of +size bytes, starting at address base. In C, base is the starting address of a +memory region. In Fortran, one can pass the first element of a memory region or +a whole array, which must be 'simply contiguous' (for 'simply contiguous', see +also MPI 3.0, Section 17.1.12 on page 626). A process may elect to expose no +memory by specifying size = 0. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of window (choice) +.PD 1 +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH NOTES + +The displacement unit argument is provided to facilitate address arithmetic in +RMA operations: the target displacement argument of an RMA operation is scaled +by the factor disp_unit specified by the target process, at window creation. + +The info argument provides optimization hints to the runtime about the expected +usage pattern of the window. The following info keys are predefined. + +.PD 0 +.TP +.B no_locks +- If set to true, then the implementation may assume that passive +target synchronization (i.e., +.I MPI_Win_lock +, +.I MPI_Win_lock_all +) will not be used on +the given window. This implies that this window is not used for 3-party +communication, and RMA can be implemented with no (less) asynchronous agent +activity at this process. +.PD 1 + +.PD 0 +.TP +.B accumulate_ordering +- Controls the ordering of accumulate operations at the +target. The argument string should contain a comma-separated list of the +following read/write ordering rules, where e.g. "raw" means read-after-write: +"rar,raw,war,waw". +.PD 1 + +.PD 0 +.TP +.B accumulate_ops +- If set to same_op, the implementation will assume that all +concurrent accumulate calls to the same target address will use the same +operation. If set to same_op_no_op, then the implementation will assume that +all concurrent accumulate calls to the same target address will use the same +operation or +.I MPI_NO_OP +\&. +This can eliminate the need to protect access for +certain operation types where the hardware can guarantee atomicity. The default +is same_op_no_op. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create_dynamic MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 new file mode 100644 index 00000000..f109fffe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 @@ -0,0 +1,177 @@ +.TH MPI_Win_create_dynamic 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_dynamic \- Create an MPI Window object for one-sided communication. This window allows memory to be dynamically exposed and un-exposed for RMA operations. +.SH SYNOPSIS +.nf +int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. It +returns a window win without memory attached. Existing process memory can be +attached as described below. This routine returns a window object that can be +used by these processes to perform RMA operations on attached memory. Because +this window has special properties, it will sometimes be referred to as a +dynamic window. The info argument can be used to specify hints similar to the +info argument for +.I MPI_Win_create +\&. + + +In the case of a window created with +.I MPI_Win_create_dynamic +, the target_disp +for all RMA functions is the address at the target; i.e., the effective +window_base is +.I MPI_BOTTOM +and the disp_unit is one. For dynamic windows, the +target_disp argument to RMA communication operations is not restricted to +non-negative values. Users should use +.I MPI_Get_address +at the target process to +determine the address of a target memory location and communicate this address +to the origin process. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH NOTES + +Users are cautioned that displacement arithmetic can overflow in variables of +type +.I MPI_Aint +and result in unexpected values on some platforms. This issue may +be addressed in a future version of MPI. + +Memory in this window may not be used as the target of one-sided accesses in +this window until it is attached using the function +.I MPI_Win_attach +\&. +That is, in +addition to using +.I MPI_Win_create_dynamic +to create an MPI window, the user must +use +.I MPI_Win_attach +before any local memory may be the target of an MPI RMA +operation. Only memory that is currently accessible may be attached. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_attach MPI_Win_detach MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 new file mode 100644 index 00000000..ed4d2145 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 @@ -0,0 +1,96 @@ +.TH MPI_Win_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_errhandler \- Create an error handler for use with MPI window objects +.SH SYNOPSIS +.nf +int MPI_Win_create_errhandler(MPI_Win_errhandler_function * win_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 new file mode 100644 index 00000000..06b9fc55 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 @@ -0,0 +1,146 @@ +.TH MPI_Win_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_keyval \- Create an attribute keyval for MPI window objects +.SH SYNOPSIS +.nf +int MPI_Win_create_keyval(MPI_Win_copy_attr_function * win_copy_attr_fn, + MPI_Win_delete_attr_function * win_delete_attr_fn, + int *win_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_copy_attr_fn +- copy callback function for win_keyval (function) +.PD 1 +.PD 0 +.TP +.B win_delete_attr_fn +- delete callback function for win_keyval (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_WIN_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DUP_FN +- simple dup function +.PD 1 + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 new file mode 100644 index 00000000..ec75437e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 @@ -0,0 +1,103 @@ +.TH MPI_Win_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_delete_attr \- Deletes an attribute value associated with a key on a datatype +.SH SYNOPSIS +.nf +int MPI_Win_delete_attr(MPI_Win win, int win_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window from which the attribute is deleted (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 new file mode 100644 index 00000000..448a9dbf --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 @@ -0,0 +1,143 @@ +.TH MPI_Win_detach 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_detach \- Detach memory from a dynamic window +.SH SYNOPSIS +.nf +int MPI_Win_detach(MPI_Win win, const void *base) +.fi + +Detaches a previously attached memory region beginning at base. The arguments +base and win must match the arguments passed to a previous call to +.I MPI_Win_attach +\&. + + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of memory to be detached +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH NOTES +Memory also becomes detached when the associated dynamic memory window is freed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_create_dynamic MPI_Win_attach +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 new file mode 100644 index 00000000..63d957d7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 @@ -0,0 +1,136 @@ +.TH MPI_Win_fence 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_fence \- Perform an MPI fence synchronization on a MPI window +.SH SYNOPSIS +.nf +int MPI_Win_fence(int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B assert +- program assertion (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_fence +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_fence +are: + +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- the local window was not updated by local stores +(or local get or receive calls) since last synchronization. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- the local window will not be updated by put or accumulate +calls after the fence call, until the ensuing (fence) synchronization. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPRECEDE +- the fence does not complete any sequence of locally +issued RMA calls. If this assertion is given by any process in the window +group, then it must be given by all processes in the group. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSUCCEED +- the fence does not start any sequence of locally +issued RMA calls. If the assertion is given by any process in the window +group, then it must be given by all processes in the group. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 new file mode 100644 index 00000000..69dc9664 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 @@ -0,0 +1,124 @@ +.TH MPI_Win_flush 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush \- Complete all outstanding RMA operations at the given target. +.SH SYNOPSIS +.nf +int MPI_Win_flush(int rank, MPI_Win win) +.fi + +.I MPI_Win_flush +completes all outstanding RMA operations initiated by the calling +process to the target rank on the specified window. The operations are +completed both at the origin and at the target. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 new file mode 100644 index 00000000..2915e16c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_flush_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_all \- Complete all outstanding RMA operations at all targets +.SH SYNOPSIS +.nf +int MPI_Win_flush_all(MPI_Win win) +.fi + +All RMA operations issued by the calling process to any target on the specified +window prior to this call and in the specified window will have completed +both at the origin and at the target when this call returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 new file mode 100644 index 00000000..35755ac6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 @@ -0,0 +1,124 @@ +.TH MPI_Win_flush_local 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_local \- Complete locally all outstanding RMA operations at the given target +.SH SYNOPSIS +.nf +int MPI_Win_flush_local(int rank, MPI_Win win) +.fi + +Locally completes at the origin all outstanding RMA operations initiated by the +calling process to the target process specified by rank on the specified +window. For example, after this routine completes, the user may reuse any +buffers provided to put, get, or accumulate operations. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 new file mode 100644 index 00000000..95bfa900 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 @@ -0,0 +1,119 @@ +.TH MPI_Win_flush_local_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_local_all \- Complete locally all outstanding RMA operations at all targets +.SH SYNOPSIS +.nf +int MPI_Win_flush_local_all(MPI_Win win) +.fi + +All RMA operations issued to any target prior to this call in this window will +have completed at the origin when +.I MPI_Win_flush_local_all +returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 new file mode 100644 index 00000000..655e13d1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 @@ -0,0 +1,101 @@ +.TH MPI_Win_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_free \- Free an MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_free(MPI_Win * win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +If successfully freed, +.I win +is set to +.I MPI_WIN_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 new file mode 100644 index 00000000..49d8098e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 @@ -0,0 +1,98 @@ +.TH MPI_Win_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_free_keyval \- Frees an attribute key for MPI RMA windows +.SH SYNOPSIS +.nf +int MPI_Win_free_keyval(int *win_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 new file mode 100644 index 00000000..8b96bd6f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 @@ -0,0 +1,134 @@ +.TH MPI_Win_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_attr \- Get attribute cached on an MPI window object +.SH SYNOPSIS +.nf +int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window to which the attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless flag is false +.PD 1 +.PD 0 +.TP +.B flag +- false if no attribute is associated with the key (logical) +.PD 1 + +.SH NOTES +The following attributes are predefined for all MPI Window objects: + +.PD 0 +.TP +.B MPI_WIN_BASE +- window base address. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_SIZE +- window size, in bytes. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DISP_UNIT +- displacement unit associated with the window. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 new file mode 100644 index 00000000..48723d2e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 @@ -0,0 +1,100 @@ +.TH MPI_Win_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_errhandler \- Get the error handler for the MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- error handler currently associated with window (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 new file mode 100644 index 00000000..da28b313 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 @@ -0,0 +1,121 @@ +.TH MPI_Win_get_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_group \- Get the MPI Group of the window object +.SH SYNOPSIS +.nf +int MPI_Win_get_group(MPI_Win win, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- group of processes which share access to the window (handle) +.PD 1 + +.SH NOTES +The group is a duplicate of the group from the communicator used to +create the MPI window, and should be freed with +.I MPI_Group_free +when +it is no longer needed. This group can be used to form the group of +neighbors for the routines +.I MPI_Win_post +and +.I MPI_Win_start +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 new file mode 100644 index 00000000..5b3f41a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 @@ -0,0 +1,133 @@ +.TH MPI_Win_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_info \- Returns a new info object containing the hints of the window associated with win. +.SH SYNOPSIS +.nf +int MPI_Win_get_info(MPI_Win win, MPI_Info * info_used) +.fi + +The current setting of all hints actually used by the system related to this +window is returned in info_used. If no such hints exist, a handle to a newly +created info object is returned that contains no key/value pair. The user is +responsible for freeing info_used via +.I MPI_Info_free +\&. + + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- new info argument (handle) +.PD 1 + +.SH NOTES + +The info object returned in info_used will contain all hints currently active +for this window. This set of hints may be greater or smaller than the set of +hints specified when the window was created, as the system may not recognize +some hints set by the user, and may recognize other hints that the user has not +set. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_set_info +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 new file mode 100644 index 00000000..6f1ed623 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 @@ -0,0 +1,122 @@ +.TH MPI_Win_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_name \- Get the print name associated with the MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window whose name is to be returned (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win_name +- the name previously stored on the window, or a empty string if +no such name exists (string) +.PD 1 +.PD 0 +.TP +.B resultlen +- length of returned name (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 new file mode 100644 index 00000000..a9fdff56 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 @@ -0,0 +1,164 @@ +.TH MPI_Win_lock 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_lock \- Begin an RMA access epoch at the target process. +.SH SYNOPSIS +.nf +int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B lock_type +- Indicates whether other processes may access the target +window at the same time (if +.I MPI_LOCK_SHARED +) or not ( +.I MPI_LOCK_EXCLUSIVE +) +.PD 1 +.PD 0 +.TP +.B rank +- rank of locked window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES + +The name of this routine is misleading. In particular, this +routine need not block, except when the target process is the calling +process. + +Implementations may restrict the use of RMA communication that is +synchronized +by lock calls to windows in memory allocated by +.I MPI_Alloc_mem +\&. +Locks can +be used portably only in such memory. + +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_lock +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_lock +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- no other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 new file mode 100644 index 00000000..9b9ffe7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 @@ -0,0 +1,169 @@ +.TH MPI_Win_lock_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_lock_all \- Begin an RMA access epoch at all processes on the given window. +.SH SYNOPSIS +.nf +int MPI_Win_lock_all(int assert, MPI_Win win) +.fi + +Starts an RMA access epoch to all processes in win, with a lock type of +.I MPI_Lock_shared +\&. +During the epoch, the calling process can access the window +memory on all processes in win by using RMA operations. A window locked with +.I MPI_Win_lock_all +must be unlocked with +.I MPI_Win_unlock_all +\&. +This routine is not +collective -- the ALL refers to a lock on all members of the group of the +window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES + +This call is not collective. + +The +.I assert +argument is used to indicate special conditions for the fence that +an implementation may use to optimize the +.I MPI_Win_lock_all +operation. The +value zero is always correct. Other assertion values may be or'ed together. +Assertions that are valid for +.I MPI_Win_lock_all +are: + +.PD 0 +.TP +.B +.I MPI_MODE_NOCHECK + +- No other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +.PD 1 + +There may be additional overheads associated with using +.I MPI_Win_lock +and +.I MPI_Win_lock_all +concurrently on the same window. These overheads could be +avoided by specifying the assertion +.I MPI_MODE_NOCHECK +when possible + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_unlock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 new file mode 100644 index 00000000..93181250 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 @@ -0,0 +1,120 @@ +.TH MPI_Win_post 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_post \- Start an RMA exposure epoch +.SH SYNOPSIS +.nf +int MPI_Win_post(MPI_Group group, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group of origin processes (handle) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_post +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_post +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- the matching calls to +.I MPI_WIN_START +have not yet +occurred on any origin processes when the call to +.I MPI_WIN_POST +is made. +The nocheck option can be specified by a post call if and only if it is +specified by each matching start call. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- the local window was not updated by local stores (or +local get or receive calls) since last synchronization. This may avoid +the need for cache synchronization at the post call. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- the local window will not be updated by put or accumulate +calls after the post call, until the ensuing (wait) synchronization. This +may avoid the need for cache synchronization at the wait call. +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 new file mode 100644 index 00000000..b62700de --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 @@ -0,0 +1,113 @@ +.TH MPI_Win_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- MPI window object to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value, as returned by +.I MPI_Win_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES + +The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 new file mode 100644 index 00000000..607054fd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 @@ -0,0 +1,98 @@ +.TH MPI_Win_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_errhandler \- Set window error handler +.SH SYNOPSIS +.nf +int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for window (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 new file mode 100644 index 00000000..708254bc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 @@ -0,0 +1,127 @@ +.TH MPI_Win_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_info \- Set new values for the hints of the window associated with win. +.SH SYNOPSIS +.nf +int MPI_Win_set_info(MPI_Win win, MPI_Info info) +.fi + +The call is collective on the group of win. The info object may be different on +each process, but any info entries that an implementation requires to be the +same on all processes must appear with the same value in each process' info +object. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH NOTES + +Some info items that an implementation can use when it creates a window cannot +easily be changed once the window has been created. Thus, an implementation may +ignore hints issued in this call that it would have accepted in a creation +call. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_get_info +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 new file mode 100644 index 00000000..5cf8fd63 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 @@ -0,0 +1,106 @@ +.TH MPI_Win_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_name \- Set the print name for an MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_set_name(MPI_Win win, const char *win_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window whose identifier is to be set (handle) +.PD 1 +.PD 0 +.TP +.B win_name +- the character string which is remembered as the name (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 new file mode 100644 index 00000000..615cd35e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 @@ -0,0 +1,164 @@ +.TH MPI_Win_shared_query 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_shared_query \- Query the size and base pointer for a patch of a shared memory window. +.SH SYNOPSIS +.nf +int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint * size, int *disp_unit, void *baseptr) +.fi + +This function queries the process-local address for remote memory segments +created with +.I MPI_Win_allocate_shared +\&. +This function can return different +process-local addresses for the same physical memory on different processes. + +The returned memory can be used for load/store accesses subject to the +constraints defined in MPI 3.0, Section 11.7. This function can only be called +with windows of type +.I MPI_Win_flavor_shared +\&. +If the passed window is not of +flavor +.I MPI_Win_flavor_shared +, the error +.I MPI_ERR_RMA_FLAVOR +is raised. When rank +is +.I MPI_PROC_NULL +, the pointer, disp_unit, and size returned are the pointer, +disp_unit, and size of the memory segment belonging the lowest rank that +specified size > 0. If all processes in the group attached to the window +specified size = 0, then the call returns size = 0 and a baseptr as if +.I MPI_Alloc_mem +was called with size = 0. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 +.PD 0 +.TP +.B rank +- target rank +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- size of the segment at the given rank +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B baseptr +- base pointer in the calling process' address space of the shared +segment belonging to the target rank. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate_shared +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 new file mode 100644 index 00000000..2a08e523 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 @@ -0,0 +1,131 @@ +.TH MPI_Win_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_start \- Start an RMA access epoch for MPI +.SH SYNOPSIS +.nf +int MPI_Win_start(MPI_Group group, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group of target processes (handle) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_start +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions tha are valid for +.I MPI_Win_start +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- the matching calls to +.I MPI_WIN_POST +have already +completed on all target processes when the call to +.I MPI_WIN_START +is made. +The nocheck option can be specified in a start call if and only if it is +specified in each matching post call. This is similar to the optimization +of ready-send that may save a handshake when the handshake is implicit in +the code. (However, ready-send is matched by a regular receive, whereas +both start and post must specify the nocheck option.) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 new file mode 100644 index 00000000..a594f681 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 @@ -0,0 +1,123 @@ +.TH MPI_Win_sync 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_sync \- Synchronize public and private copies of the given window. +.SH SYNOPSIS +.nf +int MPI_Win_sync(MPI_Win win) +.fi + +The call +.I MPI_Win_sync +synchronizes the private and public window copies of win. +For the purposes of synchronizing the private and public window, +.I MPI_Win_sync +has the effect of ending and reopening an access and exposure epoch on the +window (note that it does not actually end an epoch or complete any pending MPI +RMA operations). + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 new file mode 100644 index 00000000..895177d0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_test \- Test whether an RMA exposure epoch has completed +.SH SYNOPSIS +.nf +int MPI_Win_test(MPI_Win win, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- success flag (logical) +.PD 1 + +.SH NOTES +This is the nonblocking version of +.I MPI_Win_wait +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Win_wait, MPI_Win_post +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 new file mode 100644 index 00000000..7347767d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_unlock 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_unlock \- Completes an RMA access epoch at the target process +.SH SYNOPSIS +.nf +int MPI_Win_unlock(int rank, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_lock +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 new file mode 100644 index 00000000..aa6ccf74 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 @@ -0,0 +1,123 @@ +.TH MPI_Win_unlock_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_unlock_all \- Completes an RMA access epoch at all processes on the given window. +.SH SYNOPSIS +.nf +int MPI_Win_unlock_all(MPI_Win win) +.fi + +Completes a shared RMA access epoch started by a call to +.I MPI_Win_lock_all +\&. +RMA operations issued during this epoch will +have completed both at the origin and at the target when the call returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This call is not collective. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 new file mode 100644 index 00000000..058b0274 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 @@ -0,0 +1,93 @@ +.TH MPI_Win_wait 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_wait \- Completes an RMA exposure epoch begun with MPI_Win_post +.SH SYNOPSIS +.nf +int MPI_Win_wait(MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 new file mode 100644 index 00000000..84c52947 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 @@ -0,0 +1,18 @@ +.TH MPI_Wtick 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wtick \- Returns the resolution of MPI_Wtime +.SH SYNOPSIS +.nf +double MPI_Wtick(void) +.fi +.SH RETURN VALUE +Time in seconds of resolution of MPI_Wtime + +.SH NOTES FOR FORTRAN +This is a function, declared as +.I DOUBLE PRECISION MPI_WTICK() +in Fortran. + +.SH SEE ALSO +also: MPI_Wtime, MPI_Comm_get_attr, MPI_Attr_get +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 new file mode 100644 index 00000000..cb810be3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 @@ -0,0 +1,34 @@ +.TH MPI_Wtime 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wtime \- Returns an elapsed time on the calling processor +.SH SYNOPSIS +.nf +double MPI_Wtime(void) +.fi +.SH RETURN VALUE +Time in seconds since an arbitrary time in the past. + +.SH NOTES +This is intended to be a high-resolution, elapsed (or wall) clock. +See +.I MPI_WTICK +to determine the resolution of +.I MPI_WTIME +\&. + +If the attribute +.I MPI_WTIME_IS_GLOBAL +is defined and true, then the +value is synchronized across all processes in +.I MPI_COMM_WORLD +\&. + + +.SH NOTES FOR FORTRAN +This is a function, declared as +.I DOUBLE PRECISION MPI_WTIME() +in Fortran. + +.SH SEE ALSO +also: MPI_Wtick, MPI_Comm_get_attr, MPI_Attr_get +.br diff --git a/macx64/mpi/openmpi/bin/mpic++ b/macx64/mpi/openmpi/bin/mpic++ new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpic++ @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpicc b/macx64/mpi/openmpi/bin/mpicc new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpicc @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpicxx b/macx64/mpi/openmpi/bin/mpicxx new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpicxx @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpiexec b/macx64/mpi/openmpi/bin/mpiexec new file mode 120000 index 00000000..98ef9742 --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpiexec @@ -0,0 +1 @@ +orterun \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpif77 b/macx64/mpi/openmpi/bin/mpif77 new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpif77 @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpif90 b/macx64/mpi/openmpi/bin/mpif90 new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpif90 @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpifort b/macx64/mpi/openmpi/bin/mpifort new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpifort @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpirun b/macx64/mpi/openmpi/bin/mpirun new file mode 120000 index 00000000..98ef9742 --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpirun @@ -0,0 +1 @@ +orterun \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi-clean b/macx64/mpi/openmpi/bin/ompi-clean new file mode 120000 index 00000000..43bba2b2 --- /dev/null +++ b/macx64/mpi/openmpi/bin/ompi-clean @@ -0,0 +1 @@ +orte-clean \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi-server b/macx64/mpi/openmpi/bin/ompi-server new file mode 120000 index 00000000..b4abb5e5 --- /dev/null +++ b/macx64/mpi/openmpi/bin/ompi-server @@ -0,0 +1 @@ +orte-server \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi_info b/macx64/mpi/openmpi/bin/ompi_info new file mode 100755 index 00000000..563092e3 Binary files /dev/null and b/macx64/mpi/openmpi/bin/ompi_info differ diff --git a/macx64/mpi/openmpi/bin/opal_wrapper b/macx64/mpi/openmpi/bin/opal_wrapper new file mode 100755 index 00000000..77cbded1 Binary files /dev/null and b/macx64/mpi/openmpi/bin/opal_wrapper differ diff --git a/macx64/mpi/openmpi/bin/orte-clean b/macx64/mpi/openmpi/bin/orte-clean new file mode 100755 index 00000000..4637c249 Binary files /dev/null and b/macx64/mpi/openmpi/bin/orte-clean differ diff --git a/macx64/mpi/openmpi/bin/orte-info b/macx64/mpi/openmpi/bin/orte-info new file mode 100755 index 00000000..c0d477f0 Binary files /dev/null and b/macx64/mpi/openmpi/bin/orte-info differ diff --git a/macx64/mpi/openmpi/bin/orte-server b/macx64/mpi/openmpi/bin/orte-server new file mode 100755 index 00000000..64c991cd Binary files /dev/null and b/macx64/mpi/openmpi/bin/orte-server differ diff --git a/macx64/mpi/openmpi/bin/ortecc b/macx64/mpi/openmpi/bin/ortecc new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/ortecc @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/orted b/macx64/mpi/openmpi/bin/orted new file mode 100755 index 00000000..a9ba160d Binary files /dev/null and b/macx64/mpi/openmpi/bin/orted differ diff --git a/macx64/mpi/openmpi/bin/orterun b/macx64/mpi/openmpi/bin/orterun new file mode 100755 index 00000000..a2b89456 Binary files /dev/null and b/macx64/mpi/openmpi/bin/orterun differ diff --git a/macx64/mpi/openmpi/etc/openmpi-default-hostfile b/macx64/mpi/openmpi/etc/openmpi-default-hostfile new file mode 100644 index 00000000..ad5a0f79 --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-default-hostfile @@ -0,0 +1,36 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the default hostfile for Open MPI. Notice that it does not +# contain any hosts (not even localhost). This file should only +# contain hosts if a system administrator wants users to always have +# the same set of default hosts, and is not using a batch scheduler +# (such as SLURM, PBS, etc.). +# +# Note that this file is *not* used when running in "managed" +# environments (e.g., running in a job under a job scheduler, such as +# SLURM or PBS / Torque). +# +# If you are primarily interested in running Open MPI on one node, you +# should *not* simply list "localhost" in here (contrary to prior MPI +# implementations, such as LAM/MPI). A localhost-only node list is +# created by the RAS component named "localhost" if no other RAS +# components were able to find any hosts to run on (this behavior can +# be disabled by excluding the localhost RAS component by specifying +# the value "^localhost" [without the quotes] to the "ras" MCA +# parameter). + diff --git a/macx64/mpi/openmpi/etc/openmpi-mca-params.conf b/macx64/mpi/openmpi/etc/openmpi-mca-params.conf new file mode 100644 index 00000000..09c1ac30 --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-mca-params.conf @@ -0,0 +1,59 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This is the default system-wide MCA parameters defaults file. +# Specifically, the MCA parameter "mca_param_files" defaults to a +# value of +# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf" +# (this file is the latter of the two). So if the default value of +# mca_param_files is not changed, this file is used to set system-wide +# MCA parameters. This file can therefore be used to set system-wide +# default MCA parameters for all users. Of course, users can override +# these values if they want, but this file is an excellent location +# for setting system-specific MCA parameters for those users who don't +# know / care enough to investigate the proper values for them. + +# Note that this file is only applicable where it is visible (in a +# filesystem sense). Specifically, MPI processes each read this file +# during their startup to determine what default values for MCA +# parameters should be used. mpirun does not bundle up the values in +# this file from the node where it was run and send them to all nodes; +# the default value decisions are effectively distributed. Hence, +# these values are only applicable on nodes that "see" this file. If +# $sysconf is a directory on a local disk, it is likely that changes +# to this file will need to be propagated to other nodes. If $sysconf +# is a directory that is shared via a networked filesystem, changes to +# this file will be visible to all nodes that share this $sysconf. + +# The format is straightforward: one per line, mca_param_name = +# rvalue. Quoting is ignored (so if you use quotes or escape +# characters, they'll be included as part of the value). For example: + +# Disable run-time MPI parameter checking +# mpi_param_check = 0 + +# Note that the value "~/" will be expanded to the current user's home +# directory. For example: + +# Change component loading path +# mca_base_component_path = /usr/local/lib/openmpi:~/my_openmpi_components + +# See "ompi_info --param all all --level 9" for a full listing of Open +# MPI MCA parameters available and their default values. diff --git a/macx64/mpi/openmpi/etc/openmpi-totalview.tcl b/macx64/mpi/openmpi/etc/openmpi-totalview.tcl new file mode 100644 index 00000000..27edbc4f --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-totalview.tcl @@ -0,0 +1,38 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# Check if the newly loaded image is one of the MPI starter programs +# and start it immediately if it is. + +proc mpi_auto_run_starter {loaded_id} { + set starter_programs {mpirun mpiexec orterun} + set executable_name [TV::symbol get $loaded_id full_pathname] + set file_component [file tail $executable_name] + + if {[lsearch -exact $starter_programs $file_component] != -1} { + puts "**************************************" + puts "Automatically starting $file_component" + puts "**************************************" + dgo + } +} + +# Append this function to TotalView's image load callbacks so that +# TotalView run this program automatically. + +dlappend TV::image_load_callbacks mpi_auto_run_starter diff --git a/macx64/mpi/openmpi/etc/pmix-mca-params.conf b/macx64/mpi/openmpi/etc/pmix-mca-params.conf new file mode 100644 index 00000000..794dc52e --- /dev/null +++ b/macx64/mpi/openmpi/etc/pmix-mca-params.conf @@ -0,0 +1,59 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This is the default system-wide MCA parameters defaults file. +# Specifically, the MCA parameter "mca_param_files" defaults to a +# value of +# "$HOME/.pmix/mca-params.conf:$sysconf/pmix-mca-params.conf" +# (this file is the latter of the two). So if the default value of +# mca_param_files is not changed, this file is used to set system-wide +# MCA parameters. This file can therefore be used to set system-wide +# default MCA parameters for all users. Of course, users can override +# these values if they want, but this file is an excellent location +# for setting system-specific MCA parameters for those users who don't +# know / care enough to investigate the proper values for them. + +# Note that this file is only applicable where it is visible (in a +# filesystem sense). Specifically, processes each read this file +# during their call to PMIx_Init to determine what default values for MCA +# parameters should be used. Launchers generally do not bundle up the values in +# this file from the node where they are run and send them to all nodes; +# the default value decisions are effectively distributed. Hence, +# these values are typically only applicable on nodes that "see" this file. If +# $sysconf is a directory on a local disk, it is likely that changes +# to this file will need to be propagated to other nodes. If $sysconf +# is a directory that is shared via a networked filesystem, changes to +# this file will be visible to all nodes that share this $sysconf. + +# The format is straightforward: one per line, mca_param_name = +# rvalue. Quoting is ignored (so if you use quotes or escape +# characters, they'll be included as part of the value). For example: + +# Set debugging verbosity on the PTL framework +# ptl_base_verbose = 10 + +# Note that the value "~/" will be expanded to the current user's home +# directory. For example: + +# Change component loading path +# mca_base_component_path = /usr/local/lib/pmix:~/my_pmix_components + +# See "pinfo --param all all --level 9" for a full listing of PMIx +# MCA parameters available and their default values. diff --git a/macx64/mpi/openmpi/include/mpi-ext.h b/macx64/mpi/openmpi/include/mpi-ext.h new file mode 100644 index 00000000..950ccfb9 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi-ext.h @@ -0,0 +1,32 @@ +/* + * $HEADER$ + */ + +#ifndef OMPI_MPI_EXT_H +#define OMPI_MPI_EXT_H 1 + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +#define OMPI_HAVE_MPI_EXT 1 + +/* Enabled Extension: affinity */ +#define OMPI_HAVE_MPI_EXT_AFFINITY 1 +#include "openmpi/mpiext/mpiext_affinity_c.h" + +/* Enabled Extension: cuda */ +#define OMPI_HAVE_MPI_EXT_CUDA 1 +#include "openmpi/mpiext/mpiext_cuda_c.h" + +/* Enabled Extension: pcollreq */ +#define OMPI_HAVE_MPI_EXT_PCOLLREQ 1 +#include "openmpi/mpiext/mpiext_pcollreq_c.h" + + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* OMPI_MPI_EXT_H */ + diff --git a/macx64/mpi/openmpi/include/mpi.h b/macx64/mpi/openmpi/include/mpi.h new file mode 100644 index 00000000..2c9479a0 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi.h @@ -0,0 +1,2846 @@ +/* ompi/include/mpi.h. Generated from mpi.h.in by configure. */ +/* + * 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-2007 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2007-2019 Cisco Systems, Inc. All rights reserved + * Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2012 Oak Rigde National Laboratory. All rights reserved. + * Copyright (c) 2011 Sandia National Laboratories. All rights reserved. + * Copyright (c) 2012-2018 Los Alamos National Security, LLC. All rights + * reserved. + * Copyright (c) 2011-2013 INRIA. All rights reserved. + * Copyright (c) 2015 University of Houston. All rights reserved. + * Copyright (c) 2015-2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * Copyright (c) 2017-2019 IBM Corporation. All rights reserved. + * Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_MPI_H +#define OMPI_MPI_H + +/* The comment below (and the ending partner) are for building fat + distributions on platforms that support it. Please do not remove */ + +/* @OMPI_BEGIN_CONFIGURE_SECTION@ */ + +#ifndef OMPI_CONFIG_H + +/* Only include these if OMPI_CONFIG_H isn't defined (meaning if + ompi_config.h hasn't already been included). Otherwise, we'll + duplicate all those symbols. OMPI coding standards say that + ompi_config.h must be included before all other files, so this + should be good enough */ + +/* The compiler id which OMPI was built with */ +#define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID 1 + +/* The compiler version which OMPI was built with */ +#define OPAL_BUILD_PLATFORM_COMPILER_VERSION 262657 + +/* Define to 1 if you have the ANSI C header files. */ +#define OPAL_STDC_HEADERS 1 + +/* Whether your compiler has __attribute__ deprecated or not */ +#define OPAL_HAVE_ATTRIBUTE_DEPRECATED 1 + +/* Whether your compiler has __attribute__ deprecated with the optional argument */ +#define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT 1 + +/* Whether you compiler has __attribute__ error or not */ +#define OPAL_HAVE_ATTRIBUTE_ERROR 0 + +/* Define to 1 if you have the header file. */ +#define OPAL_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef OPAL_HAVE_SYS_SYNCH_H */ + +/* Define to 1 if the system has the type `long long'. */ +#define OPAL_HAVE_LONG_LONG 1 + +/* The size of a `bool', as computed by sizeof. */ +/* #undef OPAL_SIZEOF_BOOL */ + +/* The size of a `int', as computed by sizeof. */ +/* #undef OPAL_SIZEOF_INT */ + +/* Maximum length of datarep string (default is 128) */ +#define OPAL_MAX_DATAREP_STRING 128 + +/* Maximum length of error strings (default is 256) */ +#define OPAL_MAX_ERROR_STRING 256 + +/* Maximum length of info keys (default is 36) */ +#define OPAL_MAX_INFO_KEY 36 + +/* Maximum length of info vals (default is 256) */ +#define OPAL_MAX_INFO_VAL 256 + +/* Maximum length of object names (default is 64) */ +#define OPAL_MAX_OBJECT_NAME 64 + +/* Maximum length of port names (default is 1024) */ +#define OPAL_MAX_PORT_NAME 1024 + +/* Maximum length of processor names (default is 256) */ +#define OPAL_MAX_PROCESSOR_NAME 256 + +/* Whether we have FORTRAN LOGICAL*1 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL1 0 + +/* Whether we have FORTRAN LOGICAL*2 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL2 0 + +/* Whether we have FORTRAN LOGICAL*4 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL4 0 + +/* Whether we have FORTRAN LOGICAL*8 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL8 0 + +/* Whether we have FORTRAN INTEGER*1 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER1 0 + +/* Whether we have FORTRAN INTEGER*16 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER16 0 + +/* Whether we have FORTRAN INTEGER*2 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER2 0 + +/* Whether we have FORTRAN INTEGER*4 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER4 0 + +/* Whether we have FORTRAN INTEGER*8 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER8 0 + +/* Whether we have FORTRAN REAL*16 or not */ +#define OMPI_HAVE_FORTRAN_REAL16 0 + +/* Whether we have FORTRAN REAL*2 or not */ +#define OMPI_HAVE_FORTRAN_REAL2 0 + +/* Whether we have FORTRAN REAL*4 or not */ +#define OMPI_HAVE_FORTRAN_REAL4 0 + +/* Whether we have FORTRAN REAL*8 or not */ +#define OMPI_HAVE_FORTRAN_REAL8 0 + +/* Whether in include MPI-1 compatibility */ +#define OMPI_ENABLE_MPI1_COMPAT 0 + +/* Whether we have float _Complex or not */ +#define HAVE_FLOAT__COMPLEX 1 + +/* Whether we have double _Complex or not */ +#define HAVE_DOUBLE__COMPLEX 1 + +/* Whether we have long double _Complex or not */ +#define HAVE_LONG_DOUBLE__COMPLEX 1 + +/* Type of MPI_Aint */ +#define OMPI_MPI_AINT_TYPE ptrdiff_t + +/* Type of MPI_Offset */ +#define OMPI_MPI_OFFSET_TYPE long long + +/* MPI datatype corresponding to MPI_Offset */ +#define OMPI_OFFSET_DATATYPE MPI_LONG_LONG + +/* Size of the MPI_Offset corresponding type */ +#define OMPI_MPI_OFFSET_SIZE 8 + +/* Type of MPI_Count */ +#define OMPI_MPI_COUNT_TYPE long long + +/* type to use for ptrdiff_t, if it does not exist, set to ptrdiff_t if it does exist */ +/* #undef ptrdiff_t */ + +/* Whether we want MPI cxx support or not */ +#define OMPI_BUILD_CXX_BINDINGS 0 + +/* do we want to try to work around C++ bindings SEEK_* issue? */ +#define OMPI_WANT_MPI_CXX_SEEK 1 + +/* Whether a const_cast on a 2-d array will work with the C++ compiler */ +#define OMPI_CXX_SUPPORTS_2D_CONST_CAST 0 + +/* Whether OMPI was built with parameter checking or not */ +#define OMPI_PARAM_CHECK 1 + +/* Enable warnings in wrong usage (e.g. deprecated) in user-level code */ +#ifndef OMPI_WANT_MPI_INTERFACE_WARNING +#define OMPI_WANT_MPI_INTERFACE_WARNING 1 +#endif + +/* Whether or not we have compiled with C++ exceptions support */ +#define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0 + +/* Major, minor, and release version of Open MPI */ +#define OMPI_MAJOR_VERSION 4 +#define OMPI_MINOR_VERSION 0 +#define OMPI_RELEASE_VERSION 1 + +/* A type that allows us to have sentinel type values that are still + valid */ +#define ompi_fortran_bogus_type_t int + +/* C type corresponding to FORTRAN INTEGER */ +#define ompi_fortran_integer_t ompi_fortran_bogus_type_t + +/* Whether C compiler supports -fvisibility */ +#define OPAL_C_HAVE_VISIBILITY 1 + +#ifndef OMPI_DECLSPEC +# if defined(WIN32) || defined(_WIN32) +# if defined(OMPI_IMPORTS) +# define OMPI_DECLSPEC __declspec(dllimport) +# else +# define OMPI_DECLSPEC +# endif /* defined(OMPI_IMPORTS) */ +# else +# if OPAL_C_HAVE_VISIBILITY == 1 +# define OMPI_DECLSPEC __attribute__((visibility("default"))) +# else +# define OMPI_DECLSPEC +# endif +# endif +#endif + +#ifndef MPI_Fint +/* MPI_Fint is the same as ompi_fortran_INTEGER_t */ +#define MPI_Fint ompi_fortran_integer_t +#endif + +#endif /* #ifndef OMPI_CONFIG_H */ + +/* @OMPI_END_CONFIGURE_SECTION@ */ + +/* include for ptrdiff_t */ +#ifdef OPAL_STDC_HEADERS +#include +#endif + +#ifndef OMPI_BUILDING +#define OMPI_BUILDING 0 +#endif + + +/* + * Just in case you need it. :-) + */ +#define OPEN_MPI 1 + +/* + * MPI version + */ +#define MPI_VERSION 3 +#define MPI_SUBVERSION 1 + + +/* + * Do we want MPI interface deprecated function warnings? This is + * only relevant if we're not building Open MPI (i.e., we're compiling an + * MPI application). + */ +#if !(OMPI_BUILDING || \ + (defined(OMPI_BUILDING_CXX_BINDINGS_LIBRARY) && \ + OMPI_BUILDING_CXX_BINDINGS_LIBRARY)) + + /* + * Figure out which compiler is being invoked (in order to compare if + * it was different than what OMPI was built with). + */ +# include "mpi_portable_platform.h" + + /* + * If we're currently using the same compiler that was used to + * build Open MPI, enable compile-time warning of user-level code + * (e.g. usage of deprecated functions). + */ +# if (OPAL_BUILD_PLATFORM_COMPILER_FAMILYID == PLATFORM_COMPILER_FAMILYID) && \ + (OPAL_BUILD_PLATFORM_COMPILER_VERSION == PLATFORM_COMPILER_VERSION) + +# if OMPI_WANT_MPI_INTERFACE_WARNING +# if OPAL_HAVE_ATTRIBUTE_DEPRECATED +# if OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT +# define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__(msg))) +# else +# define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__)) +# endif +# endif +# endif + + /* For MPI removed APIs, there is no generally portable way to cause + * the C compiler to error with a nice message, on the _usage_ of + * one of these symbols. We've gone with tiered appraoch: + * + * If the user configured with --enable-mpi1-compatibility, + * just emit a compiletime warning (via the deprecation function + * attribute) that they're using an MPI1 removed function. + * + * Otherwise, we'd like to issue a fatal error directing the user + * that they've used an MPI1 removed function. If the user's + * compiler supports C11 _Static_assert feature, we #define + * the MPI routines to instead be a call to _Static_assert + * with an appropreate message suggesting the new MPI3 equivalent. + * + * Otherwise, if the user's compiler supports the error function + * attribute, define the MPI routines with that error attribute. + * This is supported by most modern GNU compilers. + * + * Finally if the compiler doesn't support any of those, just + * Don't declare those MPI routines at all in mpi.h + * + * Don't do MACRO magic for building Profiling library as it + * interferes with the above. + */ +# if defined(OMPI_OMIT_MPI1_COMPAT_DECLS) + /* The user set OMPI_OMIT_MPI1_COMPAT_DECLS, do what he commands */ +# elif (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING) +# define OMPI_OMIT_MPI1_COMPAT_DECLS 0 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# define __mpi_interface_removed__(func, newfunc) __mpi_interface_deprecated__(#func " was removed in MPI-3.0. Use " #newfunc " instead. continuing...") +# elif (__STDC_VERSION__ >= 201112L) +# define OMPI_OMIT_MPI1_COMPAT_DECLS 1 +# define OMPI_REMOVED_USE_STATIC_ASSERT 1 +// This macro definition may show up in compiler output. So we both +// outdent it back to column 0 and give it a user-friendly name to +// help users grok what we are trying to tell them here. +#define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") +# elif OPAL_HAVE_ATTRIBUTE_ERROR +# define OMPI_OMIT_MPI1_COMPAT_DECLS 0 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# define __mpi_interface_removed__(func, newfunc) __attribute__((__error__(#func " was removed in MPI-3.0. Use " #newfunc " instead."))) +# else +# define OMPI_OMIT_MPI1_COMPAT_DECLS 1 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# endif +# endif +#endif + +/* + * If we didn't define __mpi_interface_deprecated__ above, then we + * don't want it, so define it to empty (can't use #undef in the logic + * above because autoconf will comment it out). + */ +#if !defined(__mpi_interface_deprecated__) +# define __mpi_interface_deprecated__(msg) +#endif + +#if !defined(__mpi_interface_removed__) +# define __mpi_interface_removed__(A,B) +#endif + +#if !defined(THIS_SYMBOL_WAS_REMOVED_IN_MPI30) +# define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) +#endif + +#if !defined(OMPI_REMOVED_USE_STATIC_ASSERT) +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +#endif + +#if !defined(OMPI_OMIT_MPI1_COMPAT_DECLS) +# define OMPI_OMIT_MPI1_COMPAT_DECLS !OMPI_ENABLE_MPI1_COMPAT +#endif + +/* + * To accomodate programs written for MPI implementations that use a + * straight ROMIO import + */ +#if !OMPI_BUILDING +#define MPIO_Request MPI_Request +#define MPIO_Test MPI_Test +#define MPIO_Wait MPI_Wait +#endif + +/* + * When initializing global pointers to Open MPI internally-defined + * structs, some compilers warn about type-punning to incomplete + * types. Therefore, when full struct definitions are unavailable + * (when not building Open MPI), cast to an opaque (void *) pointer to + * disable any strict-aliasing optimizations. Don't cast to (void *) + * when building Open MPI so that we actually get the benefit of type + * checking (because we *do* have the full type definitions available + * when building OMPI). + */ +#if !OMPI_BUILDING +#if defined(c_plusplus) || defined(__cplusplus) +#define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast (static_cast (&(global)))) +#else +#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global))) +#endif +#else +#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global)) +#endif + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +/* + * Typedefs + */ + +typedef OMPI_MPI_AINT_TYPE MPI_Aint; +typedef OMPI_MPI_OFFSET_TYPE MPI_Offset; +typedef OMPI_MPI_COUNT_TYPE MPI_Count; +typedef struct ompi_communicator_t *MPI_Comm; +typedef struct ompi_datatype_t *MPI_Datatype; +typedef struct ompi_errhandler_t *MPI_Errhandler; +typedef struct ompi_file_t *MPI_File; +typedef struct ompi_group_t *MPI_Group; +typedef struct ompi_info_t *MPI_Info; +typedef struct ompi_op_t *MPI_Op; +typedef struct ompi_request_t *MPI_Request; +typedef struct ompi_message_t *MPI_Message; +typedef struct ompi_status_public_t MPI_Status; +typedef struct ompi_win_t *MPI_Win; +typedef struct mca_base_var_enum_t *MPI_T_enum; +typedef struct ompi_mpit_cvar_handle_t *MPI_T_cvar_handle; +typedef struct mca_base_pvar_handle_t *MPI_T_pvar_handle; +typedef struct mca_base_pvar_session_t *MPI_T_pvar_session; + +/* + * MPI_Status + */ +struct ompi_status_public_t { + /* These fields are publicly defined in the MPI specification. + User applications may freely read from these fields. */ + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; + /* The following two fields are internal to the Open MPI + implementation and should not be accessed by MPI applications. + They are subject to change at any time. These are not the + droids you're looking for. */ + int _cancelled; + size_t _ucount; +}; +typedef struct ompi_status_public_t ompi_status_public_t; + +/* + * User typedefs + */ +typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *); +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, + int, void *, MPI_Offset, void *); +typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); + + /* This is a little hackish, but errhandler.h needs space for a + MPI_File_errhandler_fn. While it could just be removed, this + allows us to maintain a stable ABI within OMPI, at least for + apps that don't use MPI I/O. */ +typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...); +typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); +typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *); +typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, + void *, void *, int *); +typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); +typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, + void *, void *, int *); +typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, + void *, void *); +typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, + void *, void *, int *); +typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); +typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); +typedef int (MPI_Grequest_free_function)(void *); +typedef int (MPI_Grequest_cancel_function)(void *, int); + +/* + * Deprecated typedefs. Usage is discouraged, as these may be deleted + * in future versions of the MPI Standard. + */ +typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn + __mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead"); +typedef ompi_file_errhandler_fn MPI_File_errhandler_fn + __mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead"); +typedef ompi_file_errhandler_fn MPI_File_errhandler_function; +typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn + __mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead"); + + +/* + * Miscellaneous constants + */ +#define MPI_ANY_SOURCE -1 /* match any source rank */ +#define MPI_PROC_NULL -2 /* rank of null process */ +#define MPI_ROOT -4 /* special value for intercomms */ +#define MPI_ANY_TAG -1 /* match any message tag */ +#define MPI_MAX_PROCESSOR_NAME OPAL_MAX_PROCESSOR_NAME /* max proc. name length */ +#define MPI_MAX_ERROR_STRING OPAL_MAX_ERROR_STRING /* max error message length */ +#define MPI_MAX_OBJECT_NAME OPAL_MAX_OBJECT_NAME /* max object name length */ +#define MPI_MAX_LIBRARY_VERSION_STRING 256 /* max length of library version string */ +#define MPI_UNDEFINED -32766 /* undefined stuff */ +#define MPI_DIST_GRAPH 3 /* dist graph topology */ +#define MPI_CART 1 /* cartesian topology */ +#define MPI_GRAPH 2 /* graph topology */ +#define MPI_KEYVAL_INVALID -1 /* invalid key value */ + +/* + * More constants + */ +#define MPI_UNWEIGHTED ((int *) 2) /* unweighted graph */ +#define MPI_WEIGHTS_EMPTY ((int *) 3) /* empty weights */ +#define MPI_BOTTOM ((void *) 0) /* base reference address */ +#define MPI_IN_PLACE ((void *) 1) /* in place buffer */ +#define MPI_BSEND_OVERHEAD 128 /* size of bsend header + ptr */ +#define MPI_MAX_INFO_KEY OPAL_MAX_INFO_KEY /* max info key length */ +#define MPI_MAX_INFO_VAL OPAL_MAX_INFO_VAL /* max info value length */ +#define MPI_ARGV_NULL ((char **) 0) /* NULL argument vector */ +#define MPI_ARGVS_NULL ((char ***) 0) /* NULL argument vectors */ +#define MPI_ERRCODES_IGNORE ((int *) 0) /* don't return error codes */ +#define MPI_MAX_PORT_NAME OPAL_MAX_PORT_NAME /* max port name length */ +#define MPI_ORDER_C 0 /* C row major order */ +#define MPI_ORDER_FORTRAN 1 /* Fortran column major order */ +#define MPI_DISTRIBUTE_BLOCK 0 /* block distribution */ +#define MPI_DISTRIBUTE_CYCLIC 1 /* cyclic distribution */ +#define MPI_DISTRIBUTE_NONE 2 /* not distributed */ +#define MPI_DISTRIBUTE_DFLT_DARG (-1) /* default distribution arg */ + +/* + * Since these values are arbitrary to Open MPI, we might as well make + * them the same as ROMIO for ease of mapping. These values taken + * from ROMIO's mpio.h file. + */ +#define MPI_MODE_CREATE 1 /* ADIO_CREATE */ +#define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */ +#define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */ +#define MPI_MODE_RDWR 8 /* ADIO_RDWR */ +#define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */ +#define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */ +#define MPI_MODE_EXCL 64 /* ADIO_EXCL */ +#define MPI_MODE_APPEND 128 /* ADIO_APPEND */ +#define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */ + +#define MPI_DISPLACEMENT_CURRENT -54278278 + +#define MPI_SEEK_SET 600 +#define MPI_SEEK_CUR 602 +#define MPI_SEEK_END 604 + +/* Max data representation length */ +#define MPI_MAX_DATAREP_STRING OPAL_MAX_DATAREP_STRING + +/* + * MPI-2 One-Sided Communications asserts + */ +#define MPI_MODE_NOCHECK 1 +#define MPI_MODE_NOPRECEDE 2 +#define MPI_MODE_NOPUT 4 +#define MPI_MODE_NOSTORE 8 +#define MPI_MODE_NOSUCCEED 16 + +#define MPI_LOCK_EXCLUSIVE 1 +#define MPI_LOCK_SHARED 2 + +#define MPI_WIN_FLAVOR_CREATE 1 +#define MPI_WIN_FLAVOR_ALLOCATE 2 +#define MPI_WIN_FLAVOR_DYNAMIC 3 +#define MPI_WIN_FLAVOR_SHARED 4 + +#define MPI_WIN_UNIFIED 0 +#define MPI_WIN_SEPARATE 1 + +/* + * Predefined attribute keyvals + * + * DO NOT CHANGE THE ORDER WITHOUT ALSO CHANGING THE ORDER IN + * src/attribute/attribute_predefined.c and mpif.h.in. + */ +enum { + /* MPI-1 */ + MPI_TAG_UB, + MPI_HOST, + MPI_IO, + MPI_WTIME_IS_GLOBAL, + + /* MPI-2 */ + MPI_APPNUM, + MPI_LASTUSEDCODE, + MPI_UNIVERSE_SIZE, + MPI_WIN_BASE, + MPI_WIN_SIZE, + MPI_WIN_DISP_UNIT, + MPI_WIN_CREATE_FLAVOR, + MPI_WIN_MODEL, + + /* Even though these four are IMPI attributes, they need to be there + for all MPI jobs */ + IMPI_CLIENT_SIZE, + IMPI_CLIENT_COLOR, + IMPI_HOST_SIZE, + IMPI_HOST_COLOR +}; + +/* + * Error classes and codes + * Do not change the values of these without also modifying mpif.h.in. + */ +#define MPI_SUCCESS 0 +#define MPI_ERR_BUFFER 1 +#define MPI_ERR_COUNT 2 +#define MPI_ERR_TYPE 3 +#define MPI_ERR_TAG 4 +#define MPI_ERR_COMM 5 +#define MPI_ERR_RANK 6 +#define MPI_ERR_REQUEST 7 +#define MPI_ERR_ROOT 8 +#define MPI_ERR_GROUP 9 +#define MPI_ERR_OP 10 +#define MPI_ERR_TOPOLOGY 11 +#define MPI_ERR_DIMS 12 +#define MPI_ERR_ARG 13 +#define MPI_ERR_UNKNOWN 14 +#define MPI_ERR_TRUNCATE 15 +#define MPI_ERR_OTHER 16 +#define MPI_ERR_INTERN 17 +#define MPI_ERR_IN_STATUS 18 +#define MPI_ERR_PENDING 19 +#define MPI_ERR_ACCESS 20 +#define MPI_ERR_AMODE 21 +#define MPI_ERR_ASSERT 22 +#define MPI_ERR_BAD_FILE 23 +#define MPI_ERR_BASE 24 +#define MPI_ERR_CONVERSION 25 +#define MPI_ERR_DISP 26 +#define MPI_ERR_DUP_DATAREP 27 +#define MPI_ERR_FILE_EXISTS 28 +#define MPI_ERR_FILE_IN_USE 29 +#define MPI_ERR_FILE 30 +#define MPI_ERR_INFO_KEY 31 +#define MPI_ERR_INFO_NOKEY 32 +#define MPI_ERR_INFO_VALUE 33 +#define MPI_ERR_INFO 34 +#define MPI_ERR_IO 35 +#define MPI_ERR_KEYVAL 36 +#define MPI_ERR_LOCKTYPE 37 +#define MPI_ERR_NAME 38 +#define MPI_ERR_NO_MEM 39 +#define MPI_ERR_NOT_SAME 40 +#define MPI_ERR_NO_SPACE 41 +#define MPI_ERR_NO_SUCH_FILE 42 +#define MPI_ERR_PORT 43 +#define MPI_ERR_QUOTA 44 +#define MPI_ERR_READ_ONLY 45 +#define MPI_ERR_RMA_CONFLICT 46 +#define MPI_ERR_RMA_SYNC 47 +#define MPI_ERR_SERVICE 48 +#define MPI_ERR_SIZE 49 +#define MPI_ERR_SPAWN 50 +#define MPI_ERR_UNSUPPORTED_DATAREP 51 +#define MPI_ERR_UNSUPPORTED_OPERATION 52 +#define MPI_ERR_WIN 53 +#define MPI_T_ERR_MEMORY 54 +#define MPI_T_ERR_NOT_INITIALIZED 55 +#define MPI_T_ERR_CANNOT_INIT 56 +#define MPI_T_ERR_INVALID_INDEX 57 +#define MPI_T_ERR_INVALID_ITEM 58 +#define MPI_T_ERR_INVALID_HANDLE 59 +#define MPI_T_ERR_OUT_OF_HANDLES 60 +#define MPI_T_ERR_OUT_OF_SESSIONS 61 +#define MPI_T_ERR_INVALID_SESSION 62 +#define MPI_T_ERR_CVAR_SET_NOT_NOW 63 +#define MPI_T_ERR_CVAR_SET_NEVER 64 +#define MPI_T_ERR_PVAR_NO_STARTSTOP 65 +#define MPI_T_ERR_PVAR_NO_WRITE 66 +#define MPI_T_ERR_PVAR_NO_ATOMIC 67 +#define MPI_ERR_RMA_RANGE 68 +#define MPI_ERR_RMA_ATTACH 69 +#define MPI_ERR_RMA_FLAVOR 70 +#define MPI_ERR_RMA_SHARED 71 +#define MPI_T_ERR_INVALID 72 +#define MPI_T_ERR_INVALID_NAME 73 + +/* Per MPI-3 p349 47, MPI_ERR_LASTCODE must be >= the last predefined + MPI_ERR_ code. Set the last code to allow some room for adding + error codes without breaking ABI. */ +#define MPI_ERR_LASTCODE 92 + +/* + * Comparison results. Don't change the order of these, the group + * comparison functions rely on it. + * Do not change the order of these without also modifying mpif.h.in. + */ +enum { + MPI_IDENT, + MPI_CONGRUENT, + MPI_SIMILAR, + MPI_UNEQUAL +}; + +/* + * MPI_Init_thread constants + * Do not change the order of these without also modifying mpif.h.in. + */ +enum { + MPI_THREAD_SINGLE, + MPI_THREAD_FUNNELED, + MPI_THREAD_SERIALIZED, + MPI_THREAD_MULTIPLE +}; + +/* + * Datatype combiners. + * Do not change the order of these without also modifying mpif.h.in. + * (see also mpif-common.h.fin). + */ +enum { + MPI_COMBINER_NAMED, + MPI_COMBINER_DUP, + MPI_COMBINER_CONTIGUOUS, + MPI_COMBINER_VECTOR, + MPI_COMBINER_HVECTOR_INTEGER, + MPI_COMBINER_HVECTOR, + MPI_COMBINER_INDEXED, + MPI_COMBINER_HINDEXED_INTEGER, + MPI_COMBINER_HINDEXED, + MPI_COMBINER_INDEXED_BLOCK, + MPI_COMBINER_STRUCT_INTEGER, + MPI_COMBINER_STRUCT, + MPI_COMBINER_SUBARRAY, + MPI_COMBINER_DARRAY, + MPI_COMBINER_F90_REAL, + MPI_COMBINER_F90_COMPLEX, + MPI_COMBINER_F90_INTEGER, + MPI_COMBINER_RESIZED, + MPI_COMBINER_HINDEXED_BLOCK +}; + +/* + * Communicator split type constants. + * Do not change the order of these without also modifying mpif.h.in + * (see also mpif-common.h.fin). + */ +enum { + MPI_COMM_TYPE_SHARED, + OMPI_COMM_TYPE_HWTHREAD, + OMPI_COMM_TYPE_CORE, + OMPI_COMM_TYPE_L1CACHE, + OMPI_COMM_TYPE_L2CACHE, + OMPI_COMM_TYPE_L3CACHE, + OMPI_COMM_TYPE_SOCKET, + OMPI_COMM_TYPE_NUMA, + OMPI_COMM_TYPE_BOARD, + OMPI_COMM_TYPE_HOST, + OMPI_COMM_TYPE_CU, + OMPI_COMM_TYPE_CLUSTER +}; +#define OMPI_COMM_TYPE_NODE MPI_COMM_TYPE_SHARED + +/* + * MPIT Verbosity Levels + */ +enum { + MPI_T_VERBOSITY_USER_BASIC, + MPI_T_VERBOSITY_USER_DETAIL, + MPI_T_VERBOSITY_USER_ALL, + MPI_T_VERBOSITY_TUNER_BASIC, + MPI_T_VERBOSITY_TUNER_DETAIL, + MPI_T_VERBOSITY_TUNER_ALL, + MPI_T_VERBOSITY_MPIDEV_BASIC, + MPI_T_VERBOSITY_MPIDEV_DETAIL, + MPI_T_VERBOSITY_MPIDEV_ALL +}; + +/* + * MPIT Scopes + */ +enum { + MPI_T_SCOPE_CONSTANT, + MPI_T_SCOPE_READONLY, + MPI_T_SCOPE_LOCAL, + MPI_T_SCOPE_GROUP, + MPI_T_SCOPE_GROUP_EQ, + MPI_T_SCOPE_ALL, + MPI_T_SCOPE_ALL_EQ +}; + +/* + * MPIT Object Binding + */ +enum { + MPI_T_BIND_NO_OBJECT, + MPI_T_BIND_MPI_COMM, + MPI_T_BIND_MPI_DATATYPE, + MPI_T_BIND_MPI_ERRHANDLER, + MPI_T_BIND_MPI_FILE, + MPI_T_BIND_MPI_GROUP, + MPI_T_BIND_MPI_OP, + MPI_T_BIND_MPI_REQUEST, + MPI_T_BIND_MPI_WIN, + MPI_T_BIND_MPI_MESSAGE, + MPI_T_BIND_MPI_INFO +}; + +/* + * MPIT pvar classes + */ +enum { + MPI_T_PVAR_CLASS_STATE, + MPI_T_PVAR_CLASS_LEVEL, + MPI_T_PVAR_CLASS_SIZE, + MPI_T_PVAR_CLASS_PERCENTAGE, + MPI_T_PVAR_CLASS_HIGHWATERMARK, + MPI_T_PVAR_CLASS_LOWWATERMARK, + MPI_T_PVAR_CLASS_COUNTER, + MPI_T_PVAR_CLASS_AGGREGATE, + MPI_T_PVAR_CLASS_TIMER, + MPI_T_PVAR_CLASS_GENERIC +}; + +/* + * NULL handles + */ +#define MPI_GROUP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_null) +#define MPI_COMM_NULL OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_null) +#define MPI_REQUEST_NULL OMPI_PREDEFINED_GLOBAL(MPI_Request, ompi_request_null) +#define MPI_MESSAGE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_null) +#define MPI_OP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_null) +#define MPI_ERRHANDLER_NULL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errhandler_null) +#define MPI_INFO_NULL OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_null) +#define MPI_WIN_NULL OMPI_PREDEFINED_GLOBAL(MPI_Win, ompi_mpi_win_null) +#define MPI_FILE_NULL OMPI_PREDEFINED_GLOBAL(MPI_File, ompi_mpi_file_null) +#define MPI_T_ENUM_NULL ((MPI_T_enum) NULL) + +/* + * MPI_INFO_ENV handle + */ +#define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env) + +#if defined(c_plusplus) || defined(__cplusplus) +#define MPI_STATUS_IGNORE (static_cast (0)) +#define MPI_STATUSES_IGNORE (static_cast (0)) +#else +#define MPI_STATUS_IGNORE ((MPI_Status *) 0) +#define MPI_STATUSES_IGNORE ((MPI_Status *) 0) +#endif + +/* + * Special MPI_T handles + */ +#define MPI_T_PVAR_ALL_HANDLES ((MPI_T_pvar_handle) -1) +#define MPI_T_PVAR_HANDLE_NULL ((MPI_T_pvar_handle) 0) +#define MPI_T_PVAR_SESSION_NULL ((MPI_T_pvar_session) 0) +#define MPI_T_CVAR_HANDLE_NULL ((MPI_T_cvar_handle) 0) + +/* MPI-2 specifies that the name "MPI_TYPE_NULL_DELETE_FN" (and all + related friends) must be accessible in C, C++, and Fortran. This is + unworkable if the back-end Fortran compiler uses all caps for its + linker symbol convention -- it results in two functions with + different signatures that have the same name (i.e., both C and + Fortran use the symbol MPI_TYPE_NULL_DELETE_FN). So we have to + #define the C names to be something else, so that they names are + *accessed* through MPI_TYPE_NULL_DELETE_FN, but their actual symbol + name is different. + + However, this file is included when the fortran wrapper functions + are compiled in Open MPI, so we do *not* want these #defines in + this case (i.e., we need the Fortran wrapper function to be + compiled as MPI_TYPE_NULL_DELETE_FN). So add some #if kinds of + protection for this case. */ + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) + +#define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN +#define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN +#define MPI_TYPE_DUP_FN OMPI_C_MPI_TYPE_DUP_FN + +#define MPI_COMM_NULL_DELETE_FN OMPI_C_MPI_COMM_NULL_DELETE_FN +#define MPI_COMM_NULL_COPY_FN OMPI_C_MPI_COMM_NULL_COPY_FN +#define MPI_COMM_DUP_FN OMPI_C_MPI_COMM_DUP_FN + +#define MPI_WIN_NULL_DELETE_FN OMPI_C_MPI_WIN_NULL_DELETE_FN +#define MPI_WIN_NULL_COPY_FN OMPI_C_MPI_WIN_NULL_COPY_FN +#define MPI_WIN_DUP_FN OMPI_C_MPI_WIN_DUP_FN + +/* MPI_CONVERSION_FN_NULL is a sentinel value, but it has to be large + enough to be the same size as a valid function pointer. It + therefore shares many characteristics between Fortran constants and + Fortran sentinel functions. For example, it shares the problem of + having Fortran compilers have all-caps versions of the symbols that + must be able to be present, and therefore has to be in this + conditional block in mpi.h. */ +#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*) 0) +#endif + +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_DELETE_FN( MPI_Datatype datatype, + int type_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_COPY_FN( MPI_Datatype datatype, + int type_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_DUP_FN( MPI_Datatype datatype, + int type_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_DELETE_FN( MPI_Comm comm, + int comm_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_COPY_FN( MPI_Comm comm, + int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window, + int win_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_COPY_FN( MPI_Win window, int win_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_DUP_FN( MPI_Win window, int win_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); + +/* + * External variables + * + * The below externs use the ompi_predefined_xxx_t structures to maintain + * back compatibility between MPI library versions. + * See ompi/communicator/communicator.h comments with struct ompi_communicator_t + * for full explanation why we chose to use the ompi_predefined_xxx_t structure. + */ +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world; +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self; +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null; + +OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty; +OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null; + +OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null; + +OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_null; +OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_no_proc; + +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_min; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_no_op; + + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_datatype_null; + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_byte; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_long_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_packed; + +/* + * Following are the C++/C99 datatypes + */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_dblcplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex; + +/* + * Following are the Fortran datatypes + */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_character; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblcplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ldblcplex; + +/* Aggregate struct datatypes are not const */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblprec; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblcplex; + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_longdbl_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int; + +/* Optional MPI2 datatypes, always declared and defined, but not "exported" as MPI_LOGICAL1 */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32; + +/* New datatypes from the MPI 2.2 standard */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int8_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint8_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int16_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint16_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int32_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint32_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int64_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint64_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_aint; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_offset; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_count; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_bool; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_float_complex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_double_complex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_long_double_complex; + +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null; +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal; +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return; + +OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null; +OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null; + +OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null; +OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_env; + +OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE; +OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE; + +/* + * Removed datatypes. These datatypes are only available if Open MPI + * was configured with --enable-mpi1-compatibility. + * + * These datatypes were formally removed from the MPI specification + * and should no longer be used in MPI applications. + */ +#if (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING) +# define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub) +# define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb) + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_lb; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub; + +#else +/* If not building or configured --enable-mpi1-compatibility, then + * we don't want these datatypes, instead we define MPI_UB and + * MPI_LB to our Static Assert message if the compiler supports + * that staticly assert with a nice message. + */ +# if (OMPI_REMOVED_USE_STATIC_ASSERT) +# define MPI_UB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_UB, MPI_Type_create_resized); +# define MPI_LB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_LB, MPI_Type_create_resized); +# endif /* OMPI_REMOVED_USE_STATIC_ASSERT */ +#endif /* Removed datatypes */ + + +/* + * MPI predefined handles + */ +#define MPI_COMM_WORLD OMPI_PREDEFINED_GLOBAL( MPI_Comm, ompi_mpi_comm_world) +#define MPI_COMM_SELF OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_self) + +#define MPI_GROUP_EMPTY OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_empty) + +#define MPI_MESSAGE_NO_PROC OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_no_proc) + +#define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max) +#define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min) +#define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum) +#define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod) +#define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land) +#define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band) +#define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor) +#define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor) +#define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor) +#define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor) +#define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc) +#define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc) +#define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace) +#define MPI_NO_OP OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_no_op) + +/* C datatypes */ +#define MPI_DATATYPE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_datatype_null) +#define MPI_BYTE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_byte) +#define MPI_PACKED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_packed) +#define MPI_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_char) +#define MPI_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short) +#define MPI_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int) +#define MPI_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long) +#define MPI_FLOAT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float) +#define MPI_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double) +#define MPI_LONG_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_double) +#define MPI_UNSIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_char) +#define MPI_SIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_signed_char) +#define MPI_UNSIGNED_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_short) +#define MPI_UNSIGNED_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long) +#define MPI_UNSIGNED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned) +#define MPI_FLOAT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float_int) +#define MPI_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double_int) +#define MPI_LONG_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_longdbl_int) +#define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int) +#define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int) +#define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int) + +#define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar) +#if OPAL_HAVE_LONG_LONG +#define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) +#define MPI_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) +#define MPI_UNSIGNED_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long_long) +#endif /* OPAL_HAVE_LONG_LONG */ +#define MPI_2COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2cplex) +#define MPI_2DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblcplex) + +/* Fortran datatype bindings */ +#define MPI_CHARACTER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_character) +#define MPI_LOGICAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical) +#if OMPI_HAVE_FORTRAN_LOGICAL1 +#define MPI_LOGICAL1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical1) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL2 +#define MPI_LOGICAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical2) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL4 +#define MPI_LOGICAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical4) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL8 +#define MPI_LOGICAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical8) +#endif +#define MPI_INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer) +#if OMPI_HAVE_FORTRAN_INTEGER1 +#define MPI_INTEGER1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer1) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER2 +#define MPI_INTEGER2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer2) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER4 +#define MPI_INTEGER4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer4) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER8 +#define MPI_INTEGER8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer8) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER16 +#define MPI_INTEGER16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer16) +#endif +#define MPI_REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real) +#if OMPI_HAVE_FORTRAN_REAL4 +#define MPI_REAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real4) +#endif +#if OMPI_HAVE_FORTRAN_REAL8 +#define MPI_REAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real8) +#endif +#if OMPI_HAVE_FORTRAN_REAL16 +#define MPI_REAL16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real16) +#endif +#define MPI_DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblprec) +#define MPI_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cplex) +#if OMPI_HAVE_FORTRAN_REAL4 +#define MPI_COMPLEX8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex8) +#endif +#if OMPI_HAVE_FORTRAN_REAL8 +#define MPI_COMPLEX16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex16) +#endif +#if OMPI_HAVE_FORTRAN_REAL16 +#define MPI_COMPLEX32 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex32) +#endif +#define MPI_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblcplex) +#define MPI_2REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2real) +#define MPI_2DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblprec) +#define MPI_2INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2integer) + +/* New datatypes from the MPI 2.2 standard */ +#define MPI_INT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int8_t) +#define MPI_UINT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint8_t) +#define MPI_INT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int16_t) +#define MPI_UINT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint16_t) +#define MPI_INT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int32_t) +#define MPI_UINT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint32_t) +#define MPI_INT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int64_t) +#define MPI_UINT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint64_t) +#define MPI_AINT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_aint) +#define MPI_OFFSET OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_offset) +#define MPI_C_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_bool) +#if HAVE_FLOAT__COMPLEX +#define MPI_C_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex) +#define MPI_C_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex) +#endif +#if HAVE_DOUBLE__COMPLEX +#define MPI_C_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_double_complex) +#endif +#if HAVE_LONG_DOUBLE__COMPLEX +#define MPI_C_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_long_double_complex) +#endif +#define MPI_CXX_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_bool) +#define MPI_CXX_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex) +#define MPI_CXX_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex) +#define MPI_CXX_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_dblcplex) +#define MPI_CXX_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_ldblcplex) + +/* New datatypes from the 3.0 standard */ +#define MPI_COUNT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_count) + +#define MPI_ERRORS_ARE_FATAL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_are_fatal) +#define MPI_ERRORS_RETURN OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_return) + +/* Typeclass definition for MPI_Type_match_size */ +#define MPI_TYPECLASS_INTEGER 1 +#define MPI_TYPECLASS_REAL 2 +#define MPI_TYPECLASS_COMPLEX 3 + +/* 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) + +/* + * MPI API + */ + +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, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass); +OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode); +OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, const char *string); +OMPI_DECLSPEC int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, + void *baseptr); +OMPI_DECLSPEC int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Buffer_attach(void *buffer, int size); +OMPI_DECLSPEC int MPI_Buffer_detach(void *buffer, int *size); +OMPI_DECLSPEC int MPI_Cancel(MPI_Request *request); +OMPI_DECLSPEC int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); +OMPI_DECLSPEC int MPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[], + const int periods[], int reorder, MPI_Comm *comm_cart); +OMPI_DECLSPEC int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], + int periods[], int coords[]); +OMPI_DECLSPEC int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], + const int periods[], int *newrank); +OMPI_DECLSPEC int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); +OMPI_DECLSPEC int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, + int *rank_source, int *rank_dest); +OMPI_DECLSPEC int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm); +OMPI_DECLSPEC int MPI_Cartdim_get(MPI_Comm comm, int *ndims); +OMPI_DECLSPEC int MPI_Close_port(const char *port_name); +OMPI_DECLSPEC int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Fint MPI_Comm_c2f(MPI_Comm comm); +OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); +OMPI_DECLSPEC int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, + int *comm_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); +OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm); +OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm); +OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval); +OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm); +OMPI_DECLSPEC int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[], + const int degrees[], const int targets[], + const int weights[], MPI_Info info, + int reorder, MPI_Comm * newcomm); +OMPI_DECLSPEC int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, + const int destinations[], + const int destweights[], + MPI_Info info, int reorder, + MPI_Comm *comm_dist_graph); +OMPI_DECLSPEC int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, + int sources[], int sourceweights[], + int maxoutdegree, + int destinations[], + int destweights[]); +OMPI_DECLSPEC int MPI_Dist_graph_neighbors_count(MPI_Comm comm, + int *inneighbors, + int *outneighbors, + int *weighted); +OMPI_DECLSPEC int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); +OMPI_DECLSPEC int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); +OMPI_DECLSPEC int MPI_Comm_get_parent(MPI_Comm *parent); +OMPI_DECLSPEC int MPI_Comm_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int MPI_Comm_join(int fd, MPI_Comm *intercomm); +OMPI_DECLSPEC int MPI_Comm_rank(MPI_Comm comm, int *rank); +OMPI_DECLSPEC int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int MPI_Comm_remote_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); +OMPI_DECLSPEC int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info); +OMPI_DECLSPEC int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name); +OMPI_DECLSPEC int MPI_Comm_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_test_inter(MPI_Comm comm, int *flag); +OMPI_DECLSPEC int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win); +OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int dims[]); +OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler); +OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler); +OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass); +OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen); +OMPI_DECLSPEC int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, + int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file); +OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file); +OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode); +OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_File_open(MPI_Comm comm, const char *filename, int amode, + MPI_Info info, MPI_File *fh); +OMPI_DECLSPEC int MPI_File_close(MPI_File *fh); +OMPI_DECLSPEC int MPI_File_delete(const char *filename, MPI_Info info); +OMPI_DECLSPEC int MPI_File_set_size(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int MPI_File_preallocate(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int MPI_File_get_size(MPI_File fh, MPI_Offset *size); +OMPI_DECLSPEC int MPI_File_get_group(MPI_File fh, MPI_Group *group); +OMPI_DECLSPEC int MPI_File_get_amode(MPI_File fh, int *amode); +OMPI_DECLSPEC int MPI_File_set_info(MPI_File fh, MPI_Info info); +OMPI_DECLSPEC int MPI_File_get_info(MPI_File fh, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, const char *datarep, MPI_Info info); +OMPI_DECLSPEC int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, + MPI_Datatype *etype, + MPI_Datatype *filetype, char *datarep); +OMPI_DECLSPEC int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_read(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int MPI_File_get_position(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, + MPI_Offset *disp); +OMPI_DECLSPEC int MPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, + MPI_Aint *extent); +OMPI_DECLSPEC int MPI_File_set_atomicity(MPI_File fh, int flag); +OMPI_DECLSPEC int MPI_File_get_atomicity(MPI_File fh, int *flag); +OMPI_DECLSPEC int MPI_File_sync(MPI_File fh); +OMPI_DECLSPEC int MPI_Finalize(void); +OMPI_DECLSPEC int MPI_Finalized(int *flag); +OMPI_DECLSPEC int MPI_Free_mem(void *base); +OMPI_DECLSPEC int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address); +OMPI_DECLSPEC int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count); +OMPI_DECLSPEC int MPI_Get(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, + MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Get_library_version(char *version, int *resultlen); +OMPI_DECLSPEC int MPI_Get_processor_name(char *name, int *resultlen); +OMPI_DECLSPEC int MPI_Get_version(int *version, int *subversion); +OMPI_DECLSPEC int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[], + const int edges[], int reorder, MPI_Comm *comm_graph); +OMPI_DECLSPEC int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, + int index[], int edges[]); +OMPI_DECLSPEC int MPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[], + int *newrank); +OMPI_DECLSPEC int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); +OMPI_DECLSPEC int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, + int neighbors[]); +OMPI_DECLSPEC int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); +OMPI_DECLSPEC int MPI_Grequest_complete(MPI_Request request); +OMPI_DECLSPEC int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + void *extra_state, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Group_c2f(MPI_Group group); +OMPI_DECLSPEC int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); +OMPI_DECLSPEC int MPI_Group_difference(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC MPI_Group MPI_Group_f2c(MPI_Fint group); +OMPI_DECLSPEC int MPI_Group_free(MPI_Group *group); +OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_rank(MPI_Group group, int *rank); +OMPI_DECLSPEC int MPI_Group_size(MPI_Group group, int *size); +OMPI_DECLSPEC int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]); +OMPI_DECLSPEC int MPI_Group_union(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Improbe(int source, int tag, MPI_Comm comm, + int *flag, MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Imrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Info_c2f(MPI_Info info); +OMPI_DECLSPEC int MPI_Info_create(MPI_Info *info); +OMPI_DECLSPEC int MPI_Info_delete(MPI_Info info, const char *key); +OMPI_DECLSPEC int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo); +OMPI_DECLSPEC MPI_Info MPI_Info_f2c(MPI_Fint info); +OMPI_DECLSPEC int MPI_Info_free(MPI_Info *info); +OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, const char *key, int valuelen, + char *value, int *flag); +OMPI_DECLSPEC int MPI_Info_get_nkeys(MPI_Info info, int *nkeys); +OMPI_DECLSPEC int MPI_Info_get_nthkey(MPI_Info info, int n, char *key); +OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, + int *flag); +OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, const char *key, const char *value); +OMPI_DECLSPEC int MPI_Init(int *argc, char ***argv); +OMPI_DECLSPEC int MPI_Initialized(int *flag); +OMPI_DECLSPEC int MPI_Init_thread(int *argc, char ***argv, int required, + int *provided); +OMPI_DECLSPEC int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm bridge_comm, int remote_leader, + int tag, MPI_Comm *newintercomm); +OMPI_DECLSPEC int MPI_Intercomm_merge(MPI_Comm intercomm, int high, + MPI_Comm *newintercomm); +OMPI_DECLSPEC int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Is_thread_main(int *flag); +OMPI_DECLSPEC int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Fint MPI_Message_c2f(MPI_Message message); +OMPI_DECLSPEC MPI_Message MPI_Message_f2c(MPI_Fint message); +OMPI_DECLSPEC int MPI_Mprobe(int source, int tag, MPI_Comm comm, + MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Mrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Status *status); +OMPI_DECLSPEC int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Op_c2f(MPI_Op op); +OMPI_DECLSPEC int MPI_Op_commutative(MPI_Op op, int *commute); +OMPI_DECLSPEC int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op); +OMPI_DECLSPEC int MPI_Open_port(MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Op MPI_Op_f2c(MPI_Fint op); +OMPI_DECLSPEC int MPI_Op_free(MPI_Op *op); +OMPI_DECLSPEC int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, + MPI_Aint outsize, MPI_Aint *position); +OMPI_DECLSPEC int MPI_Pack_external_size(const char datarep[], int incount, + MPI_Datatype datatype, MPI_Aint *size); +OMPI_DECLSPEC int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, + void *outbuf, int outsize, int *position, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, + int *size); +OMPI_DECLSPEC int MPI_Pcontrol(const int level, ...); +OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Publish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int MPI_Query_thread(int *provided); +OMPI_DECLSPEC int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Recv(void *buf, int 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_Ireduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, + MPI_Datatype datatype, MPI_Op op); +OMPI_DECLSPEC int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Register_datarep(const char *datarep, + MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, + void *extra_state); +OMPI_DECLSPEC MPI_Fint MPI_Request_c2f(MPI_Request request); +OMPI_DECLSPEC MPI_Request MPI_Request_f2c(MPI_Fint request); +OMPI_DECLSPEC int MPI_Request_free(MPI_Request *request); +OMPI_DECLSPEC int MPI_Request_get_status(MPI_Request request, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_cout, + MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Scan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Start(MPI_Request *request); +OMPI_DECLSPEC int MPI_Startall(int count, MPI_Request array_of_requests[]); +OMPI_DECLSPEC int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); +OMPI_DECLSPEC int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); +OMPI_DECLSPEC int MPI_Status_set_cancelled(MPI_Status *status, int flag); +OMPI_DECLSPEC int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, + int count); +OMPI_DECLSPEC int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, + MPI_Count count); +OMPI_DECLSPEC int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Testany(int count, MPI_Request array_of_requests[], int *index, + int *flag, MPI_Status *status); +OMPI_DECLSPEC int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); +OMPI_DECLSPEC int MPI_Test_cancelled(const MPI_Status *status, int *flag); +OMPI_DECLSPEC int MPI_Testsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Topo_test(MPI_Comm comm, int *status); +OMPI_DECLSPEC MPI_Fint MPI_Type_c2f(MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_Type_commit(MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_contiguous(int count, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_darray(int size, int rank, int ndims, + const int gsize_array[], const int distrib_array[], + const int darg_array[], const int psize_array[], + int order, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Type_create_indexed_block(int count, int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_struct(int count, const int array_of_block_lengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[], + const int start_array[], int order, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, + MPI_Aint extent, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval); +OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval); +OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype); +OMPI_DECLSPEC int MPI_Type_get_attr(MPI_Datatype type, int type_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers, + int max_addresses, int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], + MPI_Datatype array_of_datatypes[]); +OMPI_DECLSPEC int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers, + int *num_addresses, int *num_datatypes, + int *combiner); +OMPI_DECLSPEC int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, + MPI_Aint *extent); +OMPI_DECLSPEC int MPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb, + MPI_Count *extent); +OMPI_DECLSPEC int MPI_Type_get_name(MPI_Datatype type, char *type_name, + int *resultlen); +OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, + MPI_Aint *true_extent); +OMPI_DECLSPEC int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, + MPI_Count *true_extent); +OMPI_DECLSPEC int MPI_Type_indexed(int count, const int array_of_blocklengths[], + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, + void *attr_val); +OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, const char *type_name); +OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size); +OMPI_DECLSPEC int MPI_Type_size_x(MPI_Datatype type, MPI_Count *size); +OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name); +OMPI_DECLSPEC int MPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_Waitall(int count, MPI_Request array_of_requests[], + MPI_Status *array_of_statuses); +OMPI_DECLSPEC int MPI_Waitany(int count, MPI_Request array_of_requests[], + int *index, MPI_Status *status); +OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status); +OMPI_DECLSPEC int MPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); +OMPI_DECLSPEC MPI_Fint MPI_Win_c2f(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode); +OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, + MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, + int *win_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Win_delete_attr(MPI_Win win, int win_keyval); +OMPI_DECLSPEC int MPI_Win_detach(MPI_Win win, const void *base); +OMPI_DECLSPEC MPI_Win MPI_Win_f2c(MPI_Fint win); +OMPI_DECLSPEC int MPI_Win_fence(int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_local(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_local_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_free(MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_free_keyval(int *win_keyval); +OMPI_DECLSPEC int MPI_Win_get_attr(MPI_Win win, int win_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Win_get_group(MPI_Win win, MPI_Group *group); +OMPI_DECLSPEC int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); +OMPI_DECLSPEC int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_lock_all(int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_post(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); +OMPI_DECLSPEC int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_Win_set_info(MPI_Win win, MPI_Info info); +OMPI_DECLSPEC int MPI_Win_set_name(MPI_Win win, const char *win_name); +OMPI_DECLSPEC int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); +OMPI_DECLSPEC int MPI_Win_start(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_sync(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_test(MPI_Win win, int *flag); +OMPI_DECLSPEC int MPI_Win_unlock(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_unlock_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_wait(MPI_Win win); +OMPI_DECLSPEC double MPI_Wtick(void); +OMPI_DECLSPEC double MPI_Wtime(void); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPI_Abort(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass); +OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode); +OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, const char *string); +OMPI_DECLSPEC int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, + void *baseptr); +OMPI_DECLSPEC int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[], + const int degrees[], const int targets[], + const int weights[], MPI_Info info, + int reorder, MPI_Comm * newcomm); +OMPI_DECLSPEC int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, + const int destinations[], + const int destweights[], + MPI_Info info, int reorder, + MPI_Comm *comm_dist_graph); +OMPI_DECLSPEC int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, + int sources[], int sourceweights[], + int maxoutdegree, + int destinations[], + int destweights[]); +OMPI_DECLSPEC int PMPI_Dist_graph_neighbors_count(MPI_Comm comm, + int *inneighbors, + int *outneighbors, + int *weighted); +OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Buffer_attach(void *buffer, int size); +OMPI_DECLSPEC int PMPI_Buffer_detach(void *buffer, int *size); +OMPI_DECLSPEC int PMPI_Cancel(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); +OMPI_DECLSPEC int PMPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[], + const int periods[], int reorder, MPI_Comm *comm_cart); +OMPI_DECLSPEC int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], + int periods[], int coords[]); +OMPI_DECLSPEC int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], + const int periods[], int *newrank); +OMPI_DECLSPEC int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); +OMPI_DECLSPEC int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, + int *rank_source, int *rank_dest); +OMPI_DECLSPEC int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm); +OMPI_DECLSPEC int PMPI_Cartdim_get(MPI_Comm comm, int *ndims); +OMPI_DECLSPEC int PMPI_Close_port(const char *port_name); +OMPI_DECLSPEC int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Fint PMPI_Comm_c2f(MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); +OMPI_DECLSPEC int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, + int *comm_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); +OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm); +OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm); +OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval); +OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm); +OMPI_DECLSPEC int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); +OMPI_DECLSPEC int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); +OMPI_DECLSPEC int PMPI_Comm_get_parent(MPI_Comm *parent); +OMPI_DECLSPEC int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Comm_join(int fd, MPI_Comm *intercomm); +OMPI_DECLSPEC int PMPI_Comm_rank(MPI_Comm comm, int *rank); +OMPI_DECLSPEC int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Comm_remote_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); +OMPI_DECLSPEC int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info); +OMPI_DECLSPEC int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name); +OMPI_DECLSPEC int PMPI_Comm_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_test_inter(MPI_Comm comm, int *flag); +OMPI_DECLSPEC int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win); +OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int dims[]); +OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler); +OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass); +OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen); +OMPI_DECLSPEC int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, + int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file); +OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file); +OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode); +OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_File_open(MPI_Comm comm, const char *filename, int amode, + MPI_Info info, MPI_File *fh); +OMPI_DECLSPEC int PMPI_File_close(MPI_File *fh); +OMPI_DECLSPEC int PMPI_File_delete(const char *filename, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_set_size(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int PMPI_File_preallocate(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int PMPI_File_get_size(MPI_File fh, MPI_Offset *size); +OMPI_DECLSPEC int PMPI_File_get_group(MPI_File fh, MPI_Group *group); +OMPI_DECLSPEC int PMPI_File_get_amode(MPI_File fh, int *amode); +OMPI_DECLSPEC int PMPI_File_set_info(MPI_File fh, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_get_info(MPI_File fh, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, const char *datarep, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp, + MPI_Datatype *etype, + MPI_Datatype *filetype, char *datarep); +OMPI_DECLSPEC int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_read(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int PMPI_File_get_position(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int PMPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, + MPI_Offset *disp); +OMPI_DECLSPEC int PMPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_ordered(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int PMPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_all_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, + MPI_Aint *extent); +OMPI_DECLSPEC int PMPI_File_set_atomicity(MPI_File fh, int flag); +OMPI_DECLSPEC int PMPI_File_get_atomicity(MPI_File fh, int *flag); +OMPI_DECLSPEC int PMPI_File_sync(MPI_File fh); +OMPI_DECLSPEC int PMPI_Finalize(void); +OMPI_DECLSPEC int PMPI_Finalized(int *flag); +OMPI_DECLSPEC int PMPI_Free_mem(void *base); +OMPI_DECLSPEC int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Get_address(const void *location, MPI_Aint *address); +OMPI_DECLSPEC int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, + int *count); +OMPI_DECLSPEC int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, + MPI_Count *count); +OMPI_DECLSPEC int PMPI_Get(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, + MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int PMPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Get_library_version(char *version, int *resultlen); +OMPI_DECLSPEC int PMPI_Get_processor_name(char *name, int *resultlen); +OMPI_DECLSPEC int PMPI_Get_version(int *version, int *subversion); +OMPI_DECLSPEC int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[], + const int edges[], int reorder, MPI_Comm *comm_graph); +OMPI_DECLSPEC int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, + int index[], int edges[]); +OMPI_DECLSPEC int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[], + int *newrank); +OMPI_DECLSPEC int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); +OMPI_DECLSPEC int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, + int neighbors[]); +OMPI_DECLSPEC int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); +OMPI_DECLSPEC int PMPI_Grequest_complete(MPI_Request request); +OMPI_DECLSPEC int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + void *extra_state, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Group_c2f(MPI_Group group); +OMPI_DECLSPEC int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); +OMPI_DECLSPEC int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_excl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC MPI_Group PMPI_Group_f2c(MPI_Fint group); +OMPI_DECLSPEC int PMPI_Group_free(MPI_Group *group); +OMPI_DECLSPEC int PMPI_Group_incl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_rank(MPI_Group group, int *rank); +OMPI_DECLSPEC int PMPI_Group_size(MPI_Group group, int *size); +OMPI_DECLSPEC int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]); +OMPI_DECLSPEC int PMPI_Group_union(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Improbe(int source, int tag, MPI_Comm comm, + int *flag, MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Imrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Info_c2f(MPI_Info info); +OMPI_DECLSPEC int PMPI_Info_create(MPI_Info *info); +OMPI_DECLSPEC int PMPI_Info_delete(MPI_Info info, const char *key); +OMPI_DECLSPEC int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo); +OMPI_DECLSPEC MPI_Info PMPI_Info_f2c(MPI_Fint info); +OMPI_DECLSPEC int PMPI_Info_free(MPI_Info *info); +OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, const char *key, int valuelen, + char *value, int *flag); +OMPI_DECLSPEC int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys); +OMPI_DECLSPEC int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key); +OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, + int *flag); +OMPI_DECLSPEC int PMPI_Info_set(MPI_Info info, const char *key, const char *value); +OMPI_DECLSPEC int PMPI_Init(int *argc, char ***argv); +OMPI_DECLSPEC int PMPI_Initialized(int *flag); +OMPI_DECLSPEC int PMPI_Init_thread(int *argc, char ***argv, int required, + int *provided); +OMPI_DECLSPEC int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm bridge_comm, int remote_leader, + int tag, MPI_Comm *newintercomm); +OMPI_DECLSPEC int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, + MPI_Comm *newintercomm); +OMPI_DECLSPEC int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag); +OMPI_DECLSPEC int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Fint PMPI_Message_c2f(MPI_Message message); +OMPI_DECLSPEC MPI_Message PMPI_Message_f2c(MPI_Fint message); +OMPI_DECLSPEC int PMPI_Mprobe(int source, int tag, MPI_Comm comm, + MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Mrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Op_c2f(MPI_Op op); +OMPI_DECLSPEC int PMPI_Op_commutative(MPI_Op op, int *commute); +OMPI_DECLSPEC int PMPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op); +OMPI_DECLSPEC int PMPI_Open_port(MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Op PMPI_Op_f2c(MPI_Fint op); +OMPI_DECLSPEC int PMPI_Op_free(MPI_Op *op); +OMPI_DECLSPEC int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, + MPI_Aint outsize, MPI_Aint *position); +OMPI_DECLSPEC int PMPI_Pack_external_size(const char datarep[], int incount, + MPI_Datatype datatype, MPI_Aint *size); +OMPI_DECLSPEC int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, + void *outbuf, int outsize, int *position, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, + int *size); +OMPI_DECLSPEC int PMPI_Pcontrol(const int level, ...); +OMPI_DECLSPEC int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Publish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int PMPI_Query_thread(int *provided); +OMPI_DECLSPEC int PMPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Recv(void *buf, int 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_Ireduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, + MPI_Datatype datatype, MPI_Op); +OMPI_DECLSPEC int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Register_datarep(const char *datarep, + MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, + void *extra_state); +OMPI_DECLSPEC MPI_Fint PMPI_Request_c2f(MPI_Request request); +OMPI_DECLSPEC MPI_Request PMPI_Request_f2c(MPI_Fint request); +OMPI_DECLSPEC int PMPI_Request_free(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Request_get_status(MPI_Request request, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_cout, + MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Start(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Startall(int count, MPI_Request array_of_requests[]); +OMPI_DECLSPEC int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); +OMPI_DECLSPEC int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); +OMPI_DECLSPEC int PMPI_Status_set_cancelled(MPI_Status *status, int flag); +OMPI_DECLSPEC int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, + int count); +OMPI_DECLSPEC int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, + MPI_Count count); +OMPI_DECLSPEC int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Test_cancelled(const MPI_Status *status, int *flag); +OMPI_DECLSPEC int PMPI_Testsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Topo_test(MPI_Comm comm, int *status); +OMPI_DECLSPEC MPI_Fint PMPI_Type_c2f(MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_Type_commit(MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_darray(int size, int rank, int ndims, + const int gsize_array[], const int distrib_array[], + const int darg_array[], const int psize_array[], + int order, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_indexed_block(int count, int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_struct(int count, const int array_of_block_lengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[], + const int start_array[], int order, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, + MPI_Aint extent, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval); +OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval); +OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype); +OMPI_DECLSPEC int PMPI_Type_get_attr(MPI_Datatype type, int type_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Type_get_contents(MPI_Datatype mtype, int max_integers, + int max_addresses, int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], + MPI_Datatype array_of_datatypes[]); +OMPI_DECLSPEC int PMPI_Type_get_envelope(MPI_Datatype type, int *num_integers, + int *num_addresses, int *num_datatypes, + int *combiner); +OMPI_DECLSPEC int PMPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, + MPI_Aint *extent); +OMPI_DECLSPEC int PMPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb, + MPI_Count *extent); +OMPI_DECLSPEC int PMPI_Type_get_name(MPI_Datatype type, char *type_name, + int *resultlen); +OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, + MPI_Aint *true_extent); +OMPI_DECLSPEC int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, + MPI_Count *true_extent); +OMPI_DECLSPEC int PMPI_Type_indexed(int count, const int array_of_blocklengths[], + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval, + void *attr_val); +OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, const char *type_name); +OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size); +OMPI_DECLSPEC int PMPI_Type_size_x(MPI_Datatype type, MPI_Count *size); +OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Unpublish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int PMPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_Waitall(int count, MPI_Request array_of_requests[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Waitany(int count, MPI_Request array_of_requests[], + int *index, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Wait(MPI_Request *request, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); +OMPI_DECLSPEC MPI_Fint PMPI_Win_c2f(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode); +OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, + MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, + int *win_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Win_delete_attr(MPI_Win win, int win_keyval); +OMPI_DECLSPEC int PMPI_Win_detach(MPI_Win win, const void *base); +OMPI_DECLSPEC MPI_Win PMPI_Win_f2c(MPI_Fint win); +OMPI_DECLSPEC int PMPI_Win_fence(int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_local(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_local_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_free(MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_free_keyval(int *win_keyval); +OMPI_DECLSPEC int PMPI_Win_get_attr(MPI_Win win, int win_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Win_get_group(MPI_Win win, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); +OMPI_DECLSPEC int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_lock_all(int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); +OMPI_DECLSPEC int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_Win_set_info(MPI_Win win, MPI_Info info); +OMPI_DECLSPEC int PMPI_Win_set_name(MPI_Win win, const char *win_name); +OMPI_DECLSPEC int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); +OMPI_DECLSPEC int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_sync(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_test(MPI_Win win, int *flag); +OMPI_DECLSPEC int PMPI_Win_unlock(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_unlock_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_wait(MPI_Win win); +OMPI_DECLSPEC double PMPI_Wtick(void); +OMPI_DECLSPEC double PMPI_Wtime(void); +OMPI_DECLSPEC int PMPI_T_init_thread (int required, int *provided); +OMPI_DECLSPEC int PMPI_T_finalize (void); +OMPI_DECLSPEC int PMPI_T_cvar_get_num (int *num_cvar); +OMPI_DECLSPEC int PMPI_T_cvar_get_info (int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, + int *desc_len, int *bind, int *scope); +OMPI_DECLSPEC int PMPI_T_cvar_get_index (const char *name, int *cvar_index); +OMPI_DECLSPEC int PMPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle, + MPI_T_cvar_handle *handle, int *count); +OMPI_DECLSPEC int PMPI_T_cvar_handle_free (MPI_T_cvar_handle *handle); +OMPI_DECLSPEC int PMPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf); +OMPI_DECLSPEC int PMPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf); +OMPI_DECLSPEC int PMPI_T_category_get_num(int *num_cat); +OMPI_DECLSPEC int PMPI_T_category_get_info(int cat_index, char *name, int *name_len, + char *desc, int *desc_len, int *num_cvars, + int *num_pvars, int *num_categories); +OMPI_DECLSPEC int PMPI_T_category_get_index (const char *name, int *category_index); +OMPI_DECLSPEC int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_get_categories(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_changed(int *stamp); + +OMPI_DECLSPEC int PMPI_T_pvar_get_num(int *num_pvar); +OMPI_DECLSPEC int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, + int *verbosity, int *var_class, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind, + int *readonly, int *continuous, int *atomic); +OMPI_DECLSPEC int PMPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index); +OMPI_DECLSPEC int PMPI_T_pvar_session_create(MPI_T_pvar_session *session); +OMPI_DECLSPEC int PMPI_T_pvar_session_free(MPI_T_pvar_session *session); +OMPI_DECLSPEC int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle *handle, int *count); +OMPI_DECLSPEC int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); +OMPI_DECLSPEC int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + const void *buf); +OMPI_DECLSPEC int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); +OMPI_DECLSPEC int PMPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, + int *name_len); + + /* + * Tool MPI API + */ +OMPI_DECLSPEC int MPI_T_init_thread (int required, int *provided); +OMPI_DECLSPEC int MPI_T_finalize (void); +OMPI_DECLSPEC int MPI_T_cvar_get_num (int *num_cvar); +OMPI_DECLSPEC int MPI_T_cvar_get_info (int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, + int *desc_len, int *bind, int *scope); +OMPI_DECLSPEC int MPI_T_cvar_get_index (const char *name, int *cvar_index); +OMPI_DECLSPEC int MPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle, + MPI_T_cvar_handle *handle, int *count); +OMPI_DECLSPEC int MPI_T_cvar_handle_free (MPI_T_cvar_handle *handle); +OMPI_DECLSPEC int MPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf); +OMPI_DECLSPEC int MPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf); +OMPI_DECLSPEC int MPI_T_category_get_num(int *num_cat); +OMPI_DECLSPEC int MPI_T_category_get_info(int cat_index, char *name, int *name_len, + char *desc, int *desc_len, int *num_cvars, + int *num_pvars, int *num_categories); +OMPI_DECLSPEC int MPI_T_category_get_index (const char *name, int *category_index); +OMPI_DECLSPEC int MPI_T_category_get_cvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_get_pvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_get_categories(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_changed(int *stamp); + +OMPI_DECLSPEC int MPI_T_pvar_get_num(int *num_pvar); +OMPI_DECLSPEC int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, + int *verbosity, int *var_class, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind, + int *readonly, int *continuous, int *atomic); +OMPI_DECLSPEC int MPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index); +OMPI_DECLSPEC int MPI_T_pvar_session_create(MPI_T_pvar_session *session); +OMPI_DECLSPEC int MPI_T_pvar_session_free(MPI_T_pvar_session *session); +OMPI_DECLSPEC int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle *handle, int *count); +OMPI_DECLSPEC int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); +OMPI_DECLSPEC int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + const void *buf); +OMPI_DECLSPEC int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); +OMPI_DECLSPEC int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, + int *name_len); +/* + * Deprecated prototypes. Usage is discouraged, as these may be + * deleted in future versions of the MPI Standard. + */ +OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval) + __mpi_interface_deprecated__("MPI_Attr_delete was deprecated in MPI-2.0; use MPI_Comm_delete_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval) + __mpi_interface_deprecated__("PMPI_Attr_delete was deprecated in MPI-2.0; use PMPI_Comm_delete_attr instead"); +OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) + __mpi_interface_deprecated__("MPI_Attr_get was deprecated in MPI-2.0; use MPI_Comm_get_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) + __mpi_interface_deprecated__("PMPI_Attr_get was deprecated in MPI-2.0; use PMPI_Comm_get_attr instead"); +OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) + __mpi_interface_deprecated__("MPI_Attr_put was deprecated in MPI-2.0; use MPI_Comm_set_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) + __mpi_interface_deprecated__("PMPI_Attr_put was deprecated in MPI-2.0; use PMPI_Comm_set_attr instead"); + +/* + * Even though MPI_Copy_function and MPI_Delete_function are + * deprecated, we do not use the attributes marking them as such, + * because otherwise the compiler will warn for all the functions that + * are declared using them (e.g., MPI_Keyval_create). + */ +typedef int (MPI_Copy_function)(MPI_Comm, int, void *, + void *, void *, int *); +/* MPI_Copy_function was deprecated in MPI-2.0; use MPI_Comm_copy_attr_function instead. */ +typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *); +/* MPI_Delete_function was deprecated in MPI-2.0; use MPI_Comm_delete_attr_function instead. */ +OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn, + MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) + __mpi_interface_deprecated__("MPI_Keyval_create was deprecated in MPI-2.0; use MPI_Comm_create_keyval instead."); +OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn, + MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) + __mpi_interface_deprecated__("PMPI_Keyval_create was deprecated in MPI-2.0; use PMPI_Comm_create_keyval instead."); +OMPI_DECLSPEC int MPI_Keyval_free(int *keyval) + __mpi_interface_deprecated__("MPI_Keyval_free was deprecated in MPI-2.0; MPI_Comm_free_keyval instead."); +OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval) + __mpi_interface_deprecated__("PMPI_Keyval_free was deprecated in MPI-2.0; PMPI_Comm_free_keyval instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_DUP_FN OMPI_C_MPI_DUP_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ) + __mpi_interface_deprecated__("MPI_DUP_FN was deprecated in MPI-2.0; use MPI_COMM_DUP_FN instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ) + __mpi_interface_deprecated__("MPI_NULL_COPY_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_COPY_FN instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval, + void* attribute_val_out, + void* extra_state ) + __mpi_interface_deprecated__("MPI_NULL_DELETE_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_DELETE_FN instead."); + +#if (!OMPI_OMIT_MPI1_COMPAT_DECLS || OMPI_BUILDING) +/* + * Removed typedefs. These typedefs are only available if Open MPI + * was configured with --enable-mpi1-compatibility. + * + * These typedefs were formally removed from the MPI specification + * and should no longer be used in MPI applications. + * + * Even though MPI_Handler_function is removed, we do not use the + * attributes marking it as such, because otherwise the compiler + * will warn for all the functions that are declared using them + * (e.g., MPI_Errhandler_create). + */ +typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...); +/* MPI_Handler_function was removed in MPI-3.0; use MPI_Comm_use_errhandler_function instead. */ + +/* + * Removed prototypes. These prototypes are only available if Open + * MPI was configured with --enable-mpi1-compatibility. + * + * These functions were formally removed from the MPI specification + * and should no longer be used in MPI applications. + */ +OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address) + __mpi_interface_removed__(MPI_Address, MPI_Get_address); +OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address) + __mpi_interface_removed__(PMPI_Address, PMPI_Get_address); +OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function, + MPI_Errhandler *errhandler) + __mpi_interface_removed__(MPI_Errhandler_create, MPI_Comm_create_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function, + MPI_Errhandler *errhandler) + __mpi_interface_removed__(PMPI_Errhandler_create, PMPI_Comm_create_errhandler); +OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) + __mpi_interface_removed__(MPI_Errhandler_get, MPI_Comm_get_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) + __mpi_interface_removed__(PMPI_Errhandler_get, PMPI_Comm_get_errhandler); +OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) + __mpi_interface_removed__(MPI_Errhandler_set, MPI_Comm_set_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) + __mpi_interface_removed__(PMPI_Errhandler_set, PMPI_Comm_set_errhandler); +OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent) + __mpi_interface_removed__(MPI_Type_extent, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent) + __mpi_interface_removed__(PMPI_Type_extent, PMPI_Type_get_extent); +OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_hindexed, MPI_Type_create_hindexed); +OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_hindexed, PMPI_Type_create_hindexed); +OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_hvector, MPI_Type_create_hvector); +OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_hvector, PMPI_Type_create_hvector); +OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb) + __mpi_interface_removed__(MPI_Type_lb, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb) + __mpi_interface_removed__(PMPI_Type_lb, PMPI_Type_get_extent); +OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_struct, MPI_Type_create_struct); +OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_struct, PMPI_Type_create_struct); +OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) + __mpi_interface_removed__(MPI_Type_ub, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) + __mpi_interface_removed__(PMPI_Type_ub, PMPI_Type_get_extent); +#endif /* !OMPI_OMIT_MPI1_COMPAT_DECLS */ + +#if OMPI_REMOVED_USE_STATIC_ASSERT +#define MPI_Address(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Address, MPI_Get_address) +#define MPI_Errhandler_create(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_create, MPI_Comm_create_errhandler) +#define MPI_Errhandler_get(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_get, MPI_Comm_get_errhandler) +#define MPI_Errhandler_set(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_set, MPI_Comm_set_errhandler) +#define MPI_Type_extent(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_extent, MPI_Type_get_extent) +#define MPI_Type_hindexed(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hindexed, MPI_Type_create_hindexed) +#define MPI_Type_hvector(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hvector, MPI_Type_create_hvector) +#define MPI_Type_lb(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_lb, MPI_Type_get_extent) +#define MPI_Type_struct(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_struct, MPI_Type_create_struct) +#define MPI_Type_ub(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_ub, MPI_Type_get_extent) +#endif + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +/* + * Conditional MPI 2 C++ bindings support. Include if: + * - The user does not explicitly request us to skip it (when a C++ compiler + * is used to compile C code). + * - We want C++ bindings support + * - We are not building OMPI itself + * - We are using a C++ compiler + */ +#if !defined(OMPI_SKIP_MPICXX) && OMPI_BUILD_CXX_BINDINGS && !OMPI_BUILDING +#if defined(c_plusplus) || defined(__cplusplus) +#include "openmpi/ompi/mpi/cxx/mpicxx.h" +#endif +#endif + +#endif /* OMPI_MPI_H */ diff --git a/macx64/mpi/openmpi/include/mpi_portable_platform.h b/macx64/mpi/openmpi/include/mpi_portable_platform.h new file mode 100644 index 00000000..e54db913 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi_portable_platform.h @@ -0,0 +1,401 @@ +/* + * Header file with preprocessor magic to figure out, which compiler the user has been calling! + * + * This code is adapted from the file other/portable_platform.h of GASnet-1.14.0: + * - Ripping out the required parts. + * - Get rid of brackets as it messes up autoconf + * - Delete version tests for older PGI versions (#include "omp.h" not acceptabe) + * - Indent ('#' should be in column 0) + * + * External packages (i.e., romio) depend on top_build_dir/ompi/include, therefore + * although this is not changed in the configure process, this has to be set as + * a .in file... + * --------------------------------------------------------------------------- + */ +#ifndef OPAL_PORTABLE_PLATFORM_H +#define OPAL_PORTABLE_PLATFORM_H + +/* All files in this directory and all sub-directories (except where otherwise noted) + * are subject to the following licensing terms: + * + * --------------------------------------------------------------------------- + * "Copyright (c) 2000-2003 The Regents of the University of California. + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice and the following + * two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF + * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." + * --------------------------------------------------------------------------- + * + * Please see the license.txt files within the gm-conduit, lapi-conduit and + * vapi-conduit directories for the licensing terms governing those + * contributed components. + * + * The authors/contributors of GASNet include: + * + * Dan Bonachea : + * General infrastructure & documentation + * mpi-conduit + * elan-conduit + * smp-conduit + * udp-conduit + * extended-ref + * template-conduit + * Christian Bell : gm-conduit, shmem-conduit + * Mike Welcome : lapi-conduit, portals-conduit + * Paul H. Hargrove : vapi-conduit, ibv-conduit + * Rajesh Nishtala : collectives, dcmf-conduit + * Parry Husbands (PJRHusbands@lbl.gov): lapi-conduit + * + * For more information about GASNet, visit our home page at: + * http://gasnet.cs.berkeley.edu/ + * Or send email to: + * + * + * Source code contributions (fixes, patches, extensions etc.) should be + * sent to to be reviewed for acceptance into the primary + * distribution. Contributions are most likely to be accepted if they + * are provided as public domain, or under a BSD-style license such as + * the one above. + * + */ +#ifndef _STRINGIFY +#define _STRINGIFY_HELPER(x) #x +#define _STRINGIFY(x) _STRINGIFY_HELPER(x) +#endif + +#if defined(__INTEL_COMPILER) +# define PLATFORM_COMPILER_FAMILYNAME INTEL +# define PLATFORM_COMPILER_FAMILYID 2 +# ifdef __cplusplus +# define PLATFORM_COMPILER_INTEL_CXX 1 +# else +# define PLATFORM_COMPILER_INTEL_C 1 +# endif +# define _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE 19700000 /* year 1970: predates most intel products :) */ +# ifdef __INTEL_COMPILER_BUILD_DATE +# define _PLATFORM_INTEL_COMPILER_BUILD_DATE __INTEL_COMPILER_BUILD_DATE +# else +# define _PLATFORM_INTEL_COMPILER_BUILD_DATE _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE +# endif + /* patch number is a decimal build date: YYYYMMDD */ +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + (((((maj) * 10) | (min)) << 20) | \ + ((pat) < _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE ? \ + _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE : ((pat)-_PLATFORM_COMPILER_INTEL_MIN_BUILDDATE))) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__INTEL_COMPILER/10, __INTEL_COMPILER/100, _PLATFORM_INTEL_COMPILER_BUILD_DATE) +# define PLATFORM_COMPILER_VERSION_STR \ + _STRINGIFY(__INTEL_COMPILER) "." _STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE) + +#elif defined(__PATHSCALE__) +# define PLATFORM_COMPILER_PATHSCALE 1 +# define PLATFORM_COMPILER_FAMILYNAME PATHSCALE +# define PLATFORM_COMPILER_FAMILYID 3 +# ifdef __cplusplus +# define PLATFORM_COMPILER_PATHSCALE_CXX 1 +# else +# define PLATFORM_COMPILER_PATHSCALE_C 1 +# endif +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION_STR __PATHSCALE__ + +#elif defined(__PGI) +# define PLATFORM_COMPILER_PGI 1 +# define PLATFORM_COMPILER_FAMILYNAME PGI +# define PLATFORM_COMPILER_FAMILYID 4 +# ifdef __cplusplus +# define PLATFORM_COMPILER_PGI_CXX 1 +# else +# define PLATFORM_COMPILER_PGI_C 1 +# endif +# if __PGIC__ == 99 + /* bug 2230: PGI versioning was broken for some platforms in 7.0 + no way to know exact version, but provide something slightly more accurate */ +# define PLATFORM_COMPILER_VERSION 0x070000 +# define PLATFORM_COMPILER_VERSION_STR "7.?-?" +# elif defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION_STR \ + _STRINGIFY(__PGIC__) "." _STRINGIFY(__PGIC_MINOR__) "-" _STRINGIFY(__PGIC_PATCHLEVEL__) +# else + /* PGI before 6.1-4 lacks any version ID preprocessor macros - so use this filthy hack */ + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + * We cannot do these within mpi.h.in, as we should not include ompi.h + * Hopefully, compilers with integrated preprocessors will not analyse code within the #if 0-block + * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + */ +#if 0 +# ifdef PLATFORM_PGI_IS_ANCIENT + /* Include below might fail for ancient versions lacking this header, but testing shows it + works back to at least 5.1-3 (Nov 2003), and based on docs probably back to 3.2 (Sep 2000) */ +# define PLATFORM_COMPILER_VERSION 0 +# elif defined(__x86_64__) /* bug 1753 - 64-bit omp.h upgrade happenned in <6.0-8,6.1-1) */ +# include "omp.h" +# if defined(_PGOMP_H) + /* 6.1.1 or newer */ +# define PLATFORM_COMPILER_VERSION 0x060101 +# define PLATFORM_COMPILER_VERSION_STR ">=6.1-1" +# else + /* 6.0.8 or older */ +# define PLATFORM_COMPILER_VERSION 0 +# define PLATFORM_COMPILER_VERSION_STR "<=6.0-8" +# endif +# else /* 32-bit omp.h upgrade happenned in <5.2-4,6.0-8 */ +# include "omp.h" +# if defined(_PGOMP_H) + /* 6.0-8 or newer */ +# define PLATFORM_COMPILER_VERSION 0x060008 +# define PLATFORM_COMPILER_VERSION_STR ">=6.0-8" +# else + /* 5.2-4 or older */ +# define PLATFORM_COMPILER_VERSION 0 +# define PLATFORM_COMPILER_VERSION_STR "<=5.2-4" +# endif +# endif +#endif /* 0 */ + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */ +# endif + +#elif defined(__xlC__) +# define PLATFORM_COMPILER_XLC 1 +# define PLATFORM_COMPILER_FAMILYNAME XLC +# define PLATFORM_COMPILER_FAMILYID 5 +# ifdef __cplusplus +# define PLATFORM_COMPILER_XLC_CXX 1 +# else +# define PLATFORM_COMPILER_XLC_C 1 +# endif +# define PLATFORM_COMPILER_VERSION __xlC__ +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(__DECC) || defined(__DECCXX) +# define PLATFORM_COMPILER_COMPAQ 1 +# define PLATFORM_COMPILER_FAMILYNAME COMPAQ +# define PLATFORM_COMPILER_FAMILYID 6 +# ifdef __cplusplus +# define PLATFORM_COMPILER_COMPAQ_CXX 1 +# else +# define PLATFORM_COMPILER_COMPAQ_C 1 +# endif +# if defined(__DECC_VER) +# define PLATFORM_COMPILER_VERSION __DECC_VER +# elif defined(__DECCXX_VER) +# define PLATFORM_COMPILER_VERSION __DECCXX_VER +# endif + +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) * 10000000) + ((min) * 100000) + (90000) + (pat) ) + /* 90000 = official ver, 80000 = customer special ver, 60000 = field test ver */ + +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define PLATFORM_COMPILER_SUN 1 +# define PLATFORM_COMPILER_FAMILYNAME SUN +# define PLATFORM_COMPILER_FAMILYID 7 +# ifdef __cplusplus +# define PLATFORM_COMPILER_SUN_CXX 1 +# else +# define PLATFORM_COMPILER_SUN_C 1 +# endif +# if defined(__SUNPRO_C) && __SUNPRO_C > 0 +# define PLATFORM_COMPILER_VERSION __SUNPRO_C +# elif defined(__SUNPRO_CC) && __SUNPRO_CC > 0 +# define PLATFORM_COMPILER_VERSION __SUNPRO_CC +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(__HP_cc) || defined(__HP_aCC) +# define PLATFORM_COMPILER_HP 1 +# define PLATFORM_COMPILER_FAMILYNAME HP +# define PLATFORM_COMPILER_FAMILYID 8 +# ifdef __cplusplus +# define PLATFORM_COMPILER_HP_CXX 1 +# else +# define PLATFORM_COMPILER_HP_C 1 +# endif +# if defined(__HP_cc) && __HP_cc > 0 +# define PLATFORM_COMPILER_VERSION __HP_cc +# elif defined(__HP_aCC) && __HP_aCC > 0 +# define PLATFORM_COMPILER_VERSION __HP_aCC +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 16) | ((min) << 8) | (pat) ) + +#elif defined(_SGI_COMPILER_VERSION) || \ + (defined(_COMPILER_VERSION) && defined(__sgi) && !defined(__GNUC__)) /* 7.3.0 and earlier lack _SGI_COMPILER_VERSION */ +# define PLATFORM_COMPILER_SGI 1 +# define PLATFORM_COMPILER_FAMILYNAME SGI +# define PLATFORM_COMPILER_FAMILYID 9 +# ifdef __cplusplus +# define PLATFORM_COMPILER_SGI_CXX 1 +# else +# define PLATFORM_COMPILER_SGI_C 1 +# endif +# if defined(_SGI_COMPILER_VERSION) && _SGI_COMPILER_VERSION > 0 +# define PLATFORM_COMPILER_VERSION _SGI_COMPILER_VERSION +# elif defined(_COMPILER_VERSION) && _COMPILER_VERSION > 0 +# define PLATFORM_COMPILER_VERSION _COMPILER_VERSION +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(_CRAYC) +# define PLATFORM_COMPILER_CRAY 1 +# define PLATFORM_COMPILER_FAMILYNAME CRAY +# define PLATFORM_COMPILER_FAMILYID 10 +# ifdef __cplusplus +# define PLATFORM_COMPILER_CRAY_CXX 1 +# else +# define PLATFORM_COMPILER_CRAY_C 1 +# endif +# if defined(_RELEASE) && defined(_RELEASE_MINOR) /* X1 and XT */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(_RELEASE,_RELEASE_MINOR,0) +# elif defined(_RELEASE) /* T3E */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(_RELEASE,0,0) +# endif +# ifdef _RELEASE_STRING /* X1 and XT */ +# define PLATFORM_COMPILER_VERSION_STR _RELEASE_STRING +# endif + +#elif defined(__KCC) +# define PLATFORM_COMPILER_KAI 1 +# define PLATFORM_COMPILER_FAMILYNAME KAI +# define PLATFORM_COMPILER_FAMILYID 11 +# ifdef __cplusplus +# define PLATFORM_COMPILER_KAI_CXX 1 +# else +# define PLATFORM_COMPILER_KAI_C 1 +# endif + +#elif defined(__MTA__) +# define PLATFORM_COMPILER_MTA 1 +# define PLATFORM_COMPILER_FAMILYNAME MTA +# define PLATFORM_COMPILER_FAMILYID 12 +# ifdef __cplusplus +# define PLATFORM_COMPILER_MTA_CXX 1 +# else +# define PLATFORM_COMPILER_MTA_C 1 +# endif + +#elif defined(_SX) +# define PLATFORM_COMPILER_NECSX 1 +# define PLATFORM_COMPILER_FAMILYNAME NECSX +# define PLATFORM_COMPILER_FAMILYID 13 +# ifdef __cplusplus +# define PLATFORM_COMPILER_NECSX_CXX 1 +# else +# define PLATFORM_COMPILER_NECSX_C 1 +# endif + +#elif defined(_MSC_VER) +# define PLATFORM_COMPILER_MICROSOFT 1 +# define PLATFORM_COMPILER_FAMILYNAME MICROSOFT +# define PLATFORM_COMPILER_FAMILYID 14 +# ifdef __cplusplus +# define PLATFORM_COMPILER_MICROSOFT_CXX 1 +# else +# define PLATFORM_COMPILER_MICROSOFT_C 1 +# endif +# define PLATFORM_COMPILER_VERSION _MSC_VER + +#elif defined(__TINYC__) +# define PLATFORM_COMPILER_TINY 1 +# define PLATFORM_COMPILER_FAMILYNAME TINY +# define PLATFORM_COMPILER_FAMILYID 15 +# ifdef __cplusplus +# define PLATFORM_COMPILER_TINY_CXX 1 +# else +# define PLATFORM_COMPILER_TINY_C 1 +# endif + +#elif defined(__LCC__) +# define PLATFORM_COMPILER_LCC 1 +# define PLATFORM_COMPILER_FAMILYNAME LCC +# define PLATFORM_COMPILER_FAMILYID 16 +# ifdef __cplusplus +# define PLATFORM_COMPILER_LCC_CXX 1 +# else +# define PLATFORM_COMPILER_LCC_C 1 +# endif + +#else /* unknown compiler */ +# define PLATFORM_COMPILER_UNKNOWN 1 +#endif + +/* this stanza comes last, because many vendor compilers lie and claim + to be GNU C for compatibility reasons and/or because they share a frontend */ +#if defined(__GNUC__) +# undef PLATFORM_COMPILER_UNKNOWN +# ifndef PLATFORM_COMPILER_FAMILYID +# define PLATFORM_COMPILER_GNU 1 +# define PLATFORM_COMPILER_FAMILYNAME GNU +# define PLATFORM_COMPILER_FAMILYID 1 +# ifdef __cplusplus +# define PLATFORM_COMPILER_GNU_CXX 1 +# else +# define PLATFORM_COMPILER_GNU_C 1 +# endif +# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__) +# elif defined(__GNUC_MINOR__) /* older versions of egcs lack __GNUC_PATCHLEVEL__ */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,0) +# else +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,0,0) +# endif +# define PLATFORM_COMPILER_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR +# else +# define _PLATFORM_COMPILER_GNU_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR +# endif + /* gather any advertised GNU version number info, even for non-gcc compilers */ +# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) "." _STRINGIFY(__GNUC_PATCHLEVEL__) +# elif defined(__GNUC_MINOR__) +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) ".?" +# else +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) ".?.?" +# endif +#elif defined(PLATFORM_COMPILER_UNKNOWN) /* unknown compiler */ +# define PLATFORM_COMPILER_FAMILYNAME UNKNOWN +# define PLATFORM_COMPILER_FAMILYID 0 +#endif + +/* Default Values */ +#ifndef PLATFORM_COMPILER_VERSION +# define PLATFORM_COMPILER_VERSION 0 /* don't know */ +#endif + +#ifndef PLATFORM_COMPILER_VERSION_STR +# define PLATFORM_COMPILER_VERSION_STR _STRINGIFY(PLATFORM_COMPILER_VERSION) +#endif + +#ifndef PLATFORM_COMPILER_VERSION_INT +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + (((maj) << 16) | ((min) << 8) | (pat)) +#endif + + +#endif /* OPAL_PORTABLE_PLATFORM_H */ diff --git a/macx64/mpi/openmpi/include/mpif-c-constants-decl.h b/macx64/mpi/openmpi/include/mpif-c-constants-decl.h new file mode 100644 index 00000000..e69de29b diff --git a/macx64/mpi/openmpi/include/mpif-ext.h b/macx64/mpi/openmpi/include/mpif-ext.h new file mode 100644 index 00000000..473bf02e --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif-ext.h @@ -0,0 +1,32 @@ +! -*- fortran -*- +! $HEADER$ +! +! *** THIS FILE IS AUTOMATICALLY GENERATED! +! *** Any manual edits will be lost! +! + integer OMPI_HAVE_MPI_EXT + parameter (OMPI_HAVE_MPI_EXT=1) +! +! +! Enabled Extension: affinity +! No mpif.h bindings available +! + integer OMPI_HAVE_MPI_EXT_AFFINITY + parameter (OMPI_HAVE_MPI_EXT_AFFINITY=0) + +! +! Enabled Extension: cuda +! No mpif.h bindings available +! + integer OMPI_HAVE_MPI_EXT_CUDA + parameter (OMPI_HAVE_MPI_EXT_CUDA=0) + +! +! Enabled Extension: pcollreq +! + integer OMPI_HAVE_MPI_EXT_PCOLLREQ + parameter (OMPI_HAVE_MPI_EXT_PCOLLREQ=1) + + include 'openmpi/mpiext/mpiext_pcollreq_mpifh.h' + +! diff --git a/macx64/mpi/openmpi/include/mpif-sizeof.h b/macx64/mpi/openmpi/include/mpif-sizeof.h new file mode 100644 index 00000000..ffadd2e4 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif-sizeof.h @@ -0,0 +1,30 @@ +! -*- f90 -*- +! WARNING: This is a generated file! Edits will be lost! +! +! Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +! $COPYRIGHT$ +! +! This file was generated by gen-mpi-sizeof.pl for all the MPI_SIZEOF +! interface possibilities for intrinsic types. Once TS 29113 is +! supported in all compilers, we can simply have *one* procedure for +! each type and use dimension(..) to indicate scalars+all array ranks. +! But until more compilers support this, we simply generate a +! procedure for scalars and all possible ranks in an attempt to +! support lots of Fortran compilers. + +! *** ATTENTION! +! +! Sad panda. +! +! This compiler does not support the Right Stuff to enable MPI_SIZEOF. +! Specifically: we need support for the INTERFACE keyword, +! ISO_FORTRAN_ENV, and the STORAGE_SIZE() intrinsic on all types. +! Apparently, this compiler does not support both of those things, so +! this file will be (effecitvely) blank (i.e., we didn't bother +! generating the necessary stuff for MPI_SIZEOF because the compiler +! doesn't support +! it). +! +! If you want support for MPI_SIZEOF, please use a different Fortran +! compiler to build Open MPI. + diff --git a/macx64/mpi/openmpi/include/mpif.h b/macx64/mpi/openmpi/include/mpif.h new file mode 100644 index 00000000..d4cbd138 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif.h @@ -0,0 +1,63 @@ +! -*- fortran -*- +! +! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +! University Research and Technology +! Corporation. All rights reserved. +! Copyright (c) 2004-2005 The University of Tennessee and The University +! of Tennessee Research Foundation. All rights +! reserved. +! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +! University of Stuttgart. All rights reserved. +! Copyright (c) 2004-2005 The Regents of the University of California. +! All rights reserved. +! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2017 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ +! +! Additional copyrights may follow +! +! $HEADER$ +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! Do ***not*** copy this file to the directory where your Fortran +! fortran application is compiled unless it is absolutely necessary! Most +! modern Fortran compilers now support the -I command line flag, which +! tells the compiler where to find .h files (specifically, this one). For +! example: +! +! shell$ mpifort foo.f -o foo -I$OMPI_HOME/include +! +! will probably do the trick (assuming that you have set OMPI_HOME +! properly). +! +! That being said, OMPI's "mpifort" wrapper compiler should +! automatically include the -I option for you. The following command +! should be equivalent to the command listed above: +! +! shell$ mpifort foo.f -o foo +! +! You should not copy this file to your local directory because it is +! possible that this file will be changed between versions of Open MPI. +! Indeed, this mpif.h is incompatible with the mpif.f of other +! implementations of MPI. Using this mpif.h with other implementations +! of MPI, or with other versions of Open MPI will result in undefined +! behavior (to include incorrect results, segmentation faults, +! unexplainable "hanging" in your application, etc.). Always use the +! -I command line option instead (or let mpifort do it for you). +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + include 'mpif-config.h' + include 'mpif-constants.h' + include 'mpif-handles.h' + include 'mpif-io-constants.h' + include 'mpif-io-handles.h' + include 'mpif-externals.h' + include 'mpif-sentinels.h' + include 'mpif-sizeof.h' diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h new file mode 100644 index 00000000..bf94f283 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2004-2009 The Trustees of Indiana University. + * All rights reserved. + * Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +#define OMPI_AFFINITY_STRING_MAX 1024 + +typedef enum ompi_affinity_fmt { + OMPI_AFFINITY_RSRC_STRING_FMT, + OMPI_AFFINITY_LAYOUT_FMT +} ompi_affinity_fmt_t; + +OMPI_DECLSPEC int OMPI_Affinity_str(ompi_affinity_fmt_t fmt_type, + char ompi_bound[OMPI_AFFINITY_STRING_MAX], + char current_binding[OMPI_AFFINITY_STRING_MAX], + char exists[OMPI_AFFINITY_STRING_MAX]); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h new file mode 100644 index 00000000..e8f3eec5 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h @@ -0,0 +1,17 @@ +/* ompi/mpiext/cuda/c/mpiext_cuda_c.h. Generated from mpiext_cuda_c.h.in by configure. */ +/* + * Copyright (c) 2004-2009 The Trustees of Indiana University. + * All rights reserved. + * Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015 NVIDIA, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +#define MPIX_CUDA_AWARE_SUPPORT 0 +OMPI_DECLSPEC int MPIX_Query_cuda_support(void); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h new file mode 100644 index 00000000..11bdb993 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017 FUJITSU LIMITED. All rights reserved. + * Copyright (c) 2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h new file mode 100644 index 00000000..11bdb993 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017 FUJITSU LIMITED. All rights reserved. + * Copyright (c) 2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); diff --git a/macx64/mpi/openmpi/lib/libmpi.40.dylib b/macx64/mpi/openmpi/lib/libmpi.40.dylib new file mode 100755 index 00000000..c408ed7f Binary files /dev/null and b/macx64/mpi/openmpi/lib/libmpi.40.dylib differ diff --git a/macx64/mpi/openmpi/lib/libmpi.dylib b/macx64/mpi/openmpi/lib/libmpi.dylib new file mode 120000 index 00000000..b39a9abb --- /dev/null +++ b/macx64/mpi/openmpi/lib/libmpi.dylib @@ -0,0 +1 @@ +libmpi.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libmpi.la b/macx64/mpi/openmpi/lib/libmpi.la new file mode 100755 index 00000000..7b54f14d --- /dev/null +++ b/macx64/mpi/openmpi/lib/libmpi.la @@ -0,0 +1,41 @@ +# libmpi.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libmpi.40.dylib' + +# Names of this library. +library_names='libmpi.40.dylib libmpi.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-rte.la /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libmpi. +current=60 +age=20 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/libompitrace.40.dylib b/macx64/mpi/openmpi/lib/libompitrace.40.dylib new file mode 100755 index 00000000..0546b51d Binary files /dev/null and b/macx64/mpi/openmpi/lib/libompitrace.40.dylib differ diff --git a/macx64/mpi/openmpi/lib/libompitrace.dylib b/macx64/mpi/openmpi/lib/libompitrace.dylib new file mode 120000 index 00000000..8f385632 --- /dev/null +++ b/macx64/mpi/openmpi/lib/libompitrace.dylib @@ -0,0 +1 @@ +libompitrace.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libompitrace.la b/macx64/mpi/openmpi/lib/libompitrace.la new file mode 100755 index 00000000..77da0120 --- /dev/null +++ b/macx64/mpi/openmpi/lib/libompitrace.la @@ -0,0 +1,41 @@ +# libompitrace.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libompitrace.40.dylib' + +# Names of this library. +library_names='libompitrace.40.dylib libompitrace.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libompitrace. +current=60 +age=20 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/libopen-pal.40.dylib b/macx64/mpi/openmpi/lib/libopen-pal.40.dylib new file mode 100755 index 00000000..9f53916e Binary files /dev/null and b/macx64/mpi/openmpi/lib/libopen-pal.40.dylib differ diff --git a/macx64/mpi/openmpi/lib/libopen-pal.dylib b/macx64/mpi/openmpi/lib/libopen-pal.dylib new file mode 120000 index 00000000..c3632de9 --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-pal.dylib @@ -0,0 +1 @@ +libopen-pal.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libopen-pal.la b/macx64/mpi/openmpi/lib/libopen-pal.la new file mode 100755 index 00000000..a96ebc5e --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-pal.la @@ -0,0 +1,41 @@ +# libopen-pal.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libopen-pal.40.dylib' + +# Names of this library. +library_names='libopen-pal.40.dylib libopen-pal.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' -lm -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libopen-pal. +current=60 +age=20 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/libopen-rte.40.dylib b/macx64/mpi/openmpi/lib/libopen-rte.40.dylib new file mode 100755 index 00000000..59b612ff Binary files /dev/null and b/macx64/mpi/openmpi/lib/libopen-rte.40.dylib differ diff --git a/macx64/mpi/openmpi/lib/libopen-rte.dylib b/macx64/mpi/openmpi/lib/libopen-rte.dylib new file mode 120000 index 00000000..54ad5bab --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-rte.dylib @@ -0,0 +1 @@ +libopen-rte.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libopen-rte.la b/macx64/mpi/openmpi/lib/libopen-rte.la new file mode 100755 index 00000000..2022c1b8 --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-rte.la @@ -0,0 +1,41 @@ +# libopen-rte.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libopen-rte.40.dylib' + +# Names of this library. +library_names='libopen-rte.40.dylib libopen-rte.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libopen-rte. +current=60 +age=20 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la new file mode 100755 index 00000000..3009a9f8 --- /dev/null +++ b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la @@ -0,0 +1,41 @@ +# libompi_dbg_msgq.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libompi_dbg_msgq.so' + +# Names of this library. +library_names='libompi_dbg_msgq.so libompi_dbg_msgq.so' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libompi_dbg_msgq. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/openmpi' diff --git a/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so new file mode 100755 index 00000000..1b22a99e Binary files /dev/null and b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so differ diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi-c.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi-c.pc new file mode 100644 index 00000000..1fb0e7ff --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi-c.pc @@ -0,0 +1,22 @@ +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 IBM Corporation. All rights reserved. +# +Name: Open MPI +Description: Portable high-performance MPI implementation +Version: 4.0.1 +URL: http://www.open-mpi.org/ +# +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1 +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib +pkgincludedir=${includedir}/openmpi +# +# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when +# static linking (they're pulled in by libopen-rte.so's implicit +# dependencies), so only list these in Libs.private. +# +Libs: -L${libdir} -lmpi +Libs.private: -lopen-rte -lopen-pal -lm -lz +# +Cflags: -I${includedir} diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi-cxx.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi-cxx.pc new file mode 100644 index 00000000..92f78b32 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi-cxx.pc @@ -0,0 +1,22 @@ +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 IBM Corporation. All rights reserved. +# +Name: Open MPI +Description: Portable high-performance MPI implementation +Version: 4.0.1 +URL: http://www.open-mpi.org/ +# +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1 +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib +pkgincludedir=${includedir}/openmpi +# +# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when +# static linking (they're pulled in by libopen-rte.so's implicit +# dependencies), so only list these in Libs.private. +# +Libs: -L${libdir} -lmpi +Libs.private: -lopen-rte -lopen-pal -lm -lz +# +Cflags: -I${includedir} diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi-f77.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi-f77.pc new file mode 120000 index 00000000..848231f6 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi-f77.pc @@ -0,0 +1 @@ +ompi-fort.pc \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi-f90.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi-f90.pc new file mode 120000 index 00000000..848231f6 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi-f90.pc @@ -0,0 +1 @@ +ompi-fort.pc \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi-fort.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi-fort.pc new file mode 100644 index 00000000..132e7194 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi-fort.pc @@ -0,0 +1,21 @@ +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 IBM Corporation. All rights reserved. +# +Name: Open MPI +Description: Portable high-performance MPI implementation +Version: 4.0.1 +URL: http://www.open-mpi.org/ +# +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1 +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib +pkgincludedir=${includedir}/openmpi +# +# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when +# static linking (they're pulled in by libopen-rte.so's implicit +# dependencies), so only list these in Libs.private. +# +Libs: -L${libdir} -lmpi_mpifh -lmpi +Libs.private: -lopen-rte -lopen-pal -lm -lz +Cflags: -I${includedir} diff --git a/macx64/mpi/openmpi/lib/pkgconfig/ompi.pc b/macx64/mpi/openmpi/lib/pkgconfig/ompi.pc new file mode 100644 index 00000000..cd7463c5 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/ompi.pc @@ -0,0 +1,22 @@ +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 IBM Corporation. All rights reserved. +# +Name: Open MPI +Description: Portable high-performance MPI implementation +Version: 4.0.1 +URL: http://www.open-mpi.org/ +# +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1 +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib +pkgincludedir=${includedir}/openmpi +# +# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when +# static linking (they're pulled in by libopen-rte.so's implicit +# dependencies), so only list these in Libs.private. +# +Libs: -L${libdir} -lmpi +Libs.private: -lm -lz +# +Cflags: -I${includedir} diff --git a/macx64/mpi/openmpi/lib/pkgconfig/orte.pc b/macx64/mpi/openmpi/lib/pkgconfig/orte.pc new file mode 100644 index 00000000..c6adf074 --- /dev/null +++ b/macx64/mpi/openmpi/lib/pkgconfig/orte.pc @@ -0,0 +1,25 @@ +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# +Name: Open MPI Run-Time Environment (ORTE) +Description: Open MPI's run-time environment functionality +Version: 4.0.1 +URL: http://www.open-mpi.org/ +# +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1 +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib +pkgincludedir=${includedir}/openmpi +# +# Note that -lopen-pal and all the EXTRA_LIBS are only necessary when +# static linking (they're pulled in by libopen-rte.so's implicit +# dependencies), so only list these in Libs.private. +# +Libs: -L${libdir} -lopen-rte +Libs.private: -lopen-pal -lm -lz +# +# It is safe to hard-wire the -I before the EXTRA_INCLUDES because we +# will not be installing this .pc file unless --enable-devel-headers is +# selected, meaning that there will definitely be a value in EXTRA_INCLUDES. +# +Cflags: -I${includedir} diff --git a/macx64/mpi/openmpi/share/man/man1/mpic++.1 b/macx64/mpi/openmpi/share/man/man1/mpic++.1 new file mode 100644 index 00000000..3f25247b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpic++.1 @@ -0,0 +1,265 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH mpic++ 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpic++ -- Open MPI C++ wrapper compiler +. +.SH SYNTAX +mpic++ [-showme|-showme:compile|-showme:link] ... +. +.SH OPTIONS +.TP +--showme +This option comes in several different variants (see below). None of +the variants invokes the underlying compiler; they all provide +information on how the underlying compiler would have been invoked had +.I --showme +not been used. +The basic +.I --showme +option outputs the command line that would be executed to compile the +program. \fBNOTE:\fR If a non-filename argument is passed on the +command line, the \fI-showme\fR option will \fInot\fR display any +additional flags. For example, both "mpic++ --showme" and +"mpic++ --showme my_source.c" will show all the wrapper-supplied +flags. But "mpic++ --showme -v" will only show the underlying +compiler name and "-v". +.TP +--showme:compile +Output the compiler flags that would have been supplied to the +C++ compiler. +.TP +--showme:link +Output the linker flags that would have been supplied to the +C++ compiler. +.TP +--showme:command +Outputs the underlying C++ compiler command (which may be one +or more tokens). +.TP +--showme:incdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying C++ compiler to indicate where relevant header files +are located. +.TP +--showme:libdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying linker to indicate where relevant libraries are located. +.TP +--showme:libs +Outputs a space-delimited (but otherwise undecorated) list of library +names that the wrapper compiler would have used to link an +application. For example: "mpi open-rte open-pal util". +.TP +--showme:version +Outputs the version number of Open MPI. +.TP +--showme:help +Output a brief usage help message. +.PP +See the man page for your underlying C++ compiler for other +options that can be passed through mpic++. +. +. +.SH DESCRIPTION +.PP +Conceptually, the role of these commands is quite simple: +transparently add relevant compiler and linker flags to the user's +command line that are necessary to compile / link Open MPI +programs, and then invoke the underlying compiler to actually perform +the command. +. +.PP +As such, these commands are frequently referred to as "wrapper" +compilers because they do not actually compile or link applications +themselves; they only add in command line flags and invoke the +back-end compiler. +. +. +.SS Background +Open MPI is comprised of three software layers: OPAL (Open Portable +Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI). +There are wrapper compilers for each layer; each layer's wrapper only +links in the libraries relevant for that layer. Specifically, each +layer provides the following wrapper compilers: +. +.TP 4 +OPAL +\fIopalcc\fR and \fIopalc++\fR +. +.TP +ORTE +\fIortecc\fR and \fIortec++\fR +. +.TP +OMPI +\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with +case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated +names \fImpif77\fR and \fImpif90\fR). Note +that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same +underlying C++ compiler with the same options. All are provided as +compatibility with other MPI implementations. +. +. +.SS Fortran Notes +.PP +The Fortran wrapper compiler for MPI (\fImpifort\fR, and its +legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and +link MPI applications that use any/all of the MPI Fortran bindings: +.IR mpif.h , +the +.I mpi +module, and the +.I mpi_f08 +module (assuming Open MPI was installed with support for each of these +Fortran bindings). Specifically: it is no longer necessary to use +different wrapper compilers for applications that use +.I mpif.h +vs. applications that use the +.I mpi +module -- just use +.I mpifort +for all Fortran MPI applications. +. +.PP +Note, however, that the Fortran compiler may require additional +command-line options to enforce a specific Fortran dialect. For +example, in some versions of the IBM XLF compiler, if xlf90 is the +underlying Fortran compiler, +.IR -qfixed +may be necessary to compile fixed-format Fortran source files. +. +.PP +Finally, note that +.I mpifort +will be inoperative and will return an error on use if Fortran support +was not built into the MP Ilayer. +. +. +.SS Overview +\fImpic++\fR is a convenience wrappers for the underlying +C++ compiler. Translation of an Open MPI program requires the +linkage of the Open MPI-specific libraries which may not reside in +one of the standard search directories of ld(1). It also often +requires the inclusion of header files what may also not be found in a +standard location. +. +.PP +\fImpic++\fR passes its arguments to the underlying C++ +compiler along with the -I, -L and -l options required by Open MPI +programs. +. +.PP +The Open MPI Team \fIstrongly\fR encourages using the wrapper +compilers instead of attempting to link to the Open MPI libraries +manually. This allows the specific implementation of Open MPI to +change without forcing changes to linker directives in users' +Makefiles. Indeed, the specific set of flags and libraries used by +the wrapper compilers depends on how Open MPI was configured and +built; the values can change between different installations of the +same version of Open MPI. +. +.PP +Indeed, since the wrappers are simply thin shells on top of an +underlying compiler, there are very, very few compelling reasons +\fInot\fR to use \fImpic++\fR. When it is not possible to use the +wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR +options should be used to determine what flags the wrappers would have +used. For example: +. +.PP +shell$ cc -c file1.c `mpicc -showme:compile` +. +.PP +shell$ cc -c file2.c `mpicc -showme:compile` +. +.PP +shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program +. +. +.SH NOTES +.PP +It is possible to make the wrapper compilers multi-lib aware. That +is, the libraries and includes specified may differ based on the +compiler flags specified (for example, with the GNU compilers on +Linux, a different library path may be used if -m32 is seen versus +-m64 being seen). This is not the default behavior in a standard +build, but can be activated (for example, in a binary package +providing both 32 and 64 bit support). More information can be found +at: +.PP + https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +. +. +.SH FILES +.PP +The string that the wrapper compilers insert into the command line +before invoking the underlying compiler are stored in a text file +created by Open MPI and installed to +\fI$pkgdata/mpic++-wrapper-data.txt\fR, where \fI$pkgdata\fR +is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top +installation directory of Open MPI. +. +.PP +It is rarely necessary to edit this file, but it can be examined to +gain insight into what flags the wrappers are placing on the command +line. +. +. +.SH ENVIRONMENT VARIABLES +.PP +By default, the wrappers use the compilers that were selected when +Open MPI was configured. These compilers were either found +automatically by Open MPI's "configure" script, or were selected by +the user in the CC, CXX, F77, and/or FC environment variables +before "configure" was invoked. Additionally, other arguments +specific to the compiler may have been selected by configure. +. +.PP +These values can be selectively overridden by either editing the text +files containing this configuration information (see the \fBFILES\fR +section), or by setting selected environment variables of the +form "OMPI_value". +. +.PP +Valid value names are: +. +.TP +CPPFLAGS +Flags added when invoking the preprocessor (C or C++) +. +.TP +LDFLAGS +Flags added when invoking the linker (C, C++, or Fortran) +. +.TP +LIBS +Libraries added when invoking the linker (C, C++, or Fortran) +. +.TP +CC +C compiler +. +.TP +CFLAGS +C compiler flags +. +.TP +CXX +C++ compiler +. +.TP +CXXFLAGS +C++ compiler flags +. +. +.TP +FC +Fortran compiler +. +.TP +FCFLAGS +Fortran compiler flags diff --git a/macx64/mpi/openmpi/share/man/man1/mpicc.1 b/macx64/mpi/openmpi/share/man/man1/mpicc.1 new file mode 100644 index 00000000..73ff95e3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpicc.1 @@ -0,0 +1,265 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH mpicc 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpicc -- Open MPI C wrapper compiler +. +.SH SYNTAX +mpicc [-showme|-showme:compile|-showme:link] ... +. +.SH OPTIONS +.TP +--showme +This option comes in several different variants (see below). None of +the variants invokes the underlying compiler; they all provide +information on how the underlying compiler would have been invoked had +.I --showme +not been used. +The basic +.I --showme +option outputs the command line that would be executed to compile the +program. \fBNOTE:\fR If a non-filename argument is passed on the +command line, the \fI-showme\fR option will \fInot\fR display any +additional flags. For example, both "mpicc --showme" and +"mpicc --showme my_source.c" will show all the wrapper-supplied +flags. But "mpicc --showme -v" will only show the underlying +compiler name and "-v". +.TP +--showme:compile +Output the compiler flags that would have been supplied to the +C compiler. +.TP +--showme:link +Output the linker flags that would have been supplied to the +C compiler. +.TP +--showme:command +Outputs the underlying C compiler command (which may be one +or more tokens). +.TP +--showme:incdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying C compiler to indicate where relevant header files +are located. +.TP +--showme:libdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying linker to indicate where relevant libraries are located. +.TP +--showme:libs +Outputs a space-delimited (but otherwise undecorated) list of library +names that the wrapper compiler would have used to link an +application. For example: "mpi open-rte open-pal util". +.TP +--showme:version +Outputs the version number of Open MPI. +.TP +--showme:help +Output a brief usage help message. +.PP +See the man page for your underlying C compiler for other +options that can be passed through mpicc. +. +. +.SH DESCRIPTION +.PP +Conceptually, the role of these commands is quite simple: +transparently add relevant compiler and linker flags to the user's +command line that are necessary to compile / link Open MPI +programs, and then invoke the underlying compiler to actually perform +the command. +. +.PP +As such, these commands are frequently referred to as "wrapper" +compilers because they do not actually compile or link applications +themselves; they only add in command line flags and invoke the +back-end compiler. +. +. +.SS Background +Open MPI is comprised of three software layers: OPAL (Open Portable +Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI). +There are wrapper compilers for each layer; each layer's wrapper only +links in the libraries relevant for that layer. Specifically, each +layer provides the following wrapper compilers: +. +.TP 4 +OPAL +\fIopalcc\fR and \fIopalc++\fR +. +.TP +ORTE +\fIortecc\fR and \fIortec++\fR +. +.TP +OMPI +\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with +case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated +names \fImpif77\fR and \fImpif90\fR). Note +that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same +underlying C++ compiler with the same options. All are provided as +compatibility with other MPI implementations. +. +. +.SS Fortran Notes +.PP +The Fortran wrapper compiler for MPI (\fImpifort\fR, and its +legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and +link MPI applications that use any/all of the MPI Fortran bindings: +.IR mpif.h , +the +.I mpi +module, and the +.I mpi_f08 +module (assuming Open MPI was installed with support for each of these +Fortran bindings). Specifically: it is no longer necessary to use +different wrapper compilers for applications that use +.I mpif.h +vs. applications that use the +.I mpi +module -- just use +.I mpifort +for all Fortran MPI applications. +. +.PP +Note, however, that the Fortran compiler may require additional +command-line options to enforce a specific Fortran dialect. For +example, in some versions of the IBM XLF compiler, if xlf90 is the +underlying Fortran compiler, +.IR -qfixed +may be necessary to compile fixed-format Fortran source files. +. +.PP +Finally, note that +.I mpifort +will be inoperative and will return an error on use if Fortran support +was not built into the MP Ilayer. +. +. +.SS Overview +\fImpicc\fR is a convenience wrappers for the underlying +C compiler. Translation of an Open MPI program requires the +linkage of the Open MPI-specific libraries which may not reside in +one of the standard search directories of ld(1). It also often +requires the inclusion of header files what may also not be found in a +standard location. +. +.PP +\fImpicc\fR passes its arguments to the underlying C +compiler along with the -I, -L and -l options required by Open MPI +programs. +. +.PP +The Open MPI Team \fIstrongly\fR encourages using the wrapper +compilers instead of attempting to link to the Open MPI libraries +manually. This allows the specific implementation of Open MPI to +change without forcing changes to linker directives in users' +Makefiles. Indeed, the specific set of flags and libraries used by +the wrapper compilers depends on how Open MPI was configured and +built; the values can change between different installations of the +same version of Open MPI. +. +.PP +Indeed, since the wrappers are simply thin shells on top of an +underlying compiler, there are very, very few compelling reasons +\fInot\fR to use \fImpicc\fR. When it is not possible to use the +wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR +options should be used to determine what flags the wrappers would have +used. For example: +. +.PP +shell$ cc -c file1.c `mpicc -showme:compile` +. +.PP +shell$ cc -c file2.c `mpicc -showme:compile` +. +.PP +shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program +. +. +.SH NOTES +.PP +It is possible to make the wrapper compilers multi-lib aware. That +is, the libraries and includes specified may differ based on the +compiler flags specified (for example, with the GNU compilers on +Linux, a different library path may be used if -m32 is seen versus +-m64 being seen). This is not the default behavior in a standard +build, but can be activated (for example, in a binary package +providing both 32 and 64 bit support). More information can be found +at: +.PP + https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +. +. +.SH FILES +.PP +The string that the wrapper compilers insert into the command line +before invoking the underlying compiler are stored in a text file +created by Open MPI and installed to +\fI$pkgdata/mpicc-wrapper-data.txt\fR, where \fI$pkgdata\fR +is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top +installation directory of Open MPI. +. +.PP +It is rarely necessary to edit this file, but it can be examined to +gain insight into what flags the wrappers are placing on the command +line. +. +. +.SH ENVIRONMENT VARIABLES +.PP +By default, the wrappers use the compilers that were selected when +Open MPI was configured. These compilers were either found +automatically by Open MPI's "configure" script, or were selected by +the user in the CC, CXX, F77, and/or FC environment variables +before "configure" was invoked. Additionally, other arguments +specific to the compiler may have been selected by configure. +. +.PP +These values can be selectively overridden by either editing the text +files containing this configuration information (see the \fBFILES\fR +section), or by setting selected environment variables of the +form "OMPI_value". +. +.PP +Valid value names are: +. +.TP +CPPFLAGS +Flags added when invoking the preprocessor (C or C++) +. +.TP +LDFLAGS +Flags added when invoking the linker (C, C++, or Fortran) +. +.TP +LIBS +Libraries added when invoking the linker (C, C++, or Fortran) +. +.TP +CC +C compiler +. +.TP +CFLAGS +C compiler flags +. +.TP +CXX +C++ compiler +. +.TP +CXXFLAGS +C++ compiler flags +. +. +.TP +FC +Fortran compiler +. +.TP +FCFLAGS +Fortran compiler flags diff --git a/macx64/mpi/openmpi/share/man/man1/mpicxx.1 b/macx64/mpi/openmpi/share/man/man1/mpicxx.1 new file mode 100644 index 00000000..66252fa3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpicxx.1 @@ -0,0 +1,265 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH mpicxx 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpicxx -- Open MPI C++ wrapper compiler +. +.SH SYNTAX +mpicxx [-showme|-showme:compile|-showme:link] ... +. +.SH OPTIONS +.TP +--showme +This option comes in several different variants (see below). None of +the variants invokes the underlying compiler; they all provide +information on how the underlying compiler would have been invoked had +.I --showme +not been used. +The basic +.I --showme +option outputs the command line that would be executed to compile the +program. \fBNOTE:\fR If a non-filename argument is passed on the +command line, the \fI-showme\fR option will \fInot\fR display any +additional flags. For example, both "mpicxx --showme" and +"mpicxx --showme my_source.c" will show all the wrapper-supplied +flags. But "mpicxx --showme -v" will only show the underlying +compiler name and "-v". +.TP +--showme:compile +Output the compiler flags that would have been supplied to the +C++ compiler. +.TP +--showme:link +Output the linker flags that would have been supplied to the +C++ compiler. +.TP +--showme:command +Outputs the underlying C++ compiler command (which may be one +or more tokens). +.TP +--showme:incdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying C++ compiler to indicate where relevant header files +are located. +.TP +--showme:libdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying linker to indicate where relevant libraries are located. +.TP +--showme:libs +Outputs a space-delimited (but otherwise undecorated) list of library +names that the wrapper compiler would have used to link an +application. For example: "mpi open-rte open-pal util". +.TP +--showme:version +Outputs the version number of Open MPI. +.TP +--showme:help +Output a brief usage help message. +.PP +See the man page for your underlying C++ compiler for other +options that can be passed through mpicxx. +. +. +.SH DESCRIPTION +.PP +Conceptually, the role of these commands is quite simple: +transparently add relevant compiler and linker flags to the user's +command line that are necessary to compile / link Open MPI +programs, and then invoke the underlying compiler to actually perform +the command. +. +.PP +As such, these commands are frequently referred to as "wrapper" +compilers because they do not actually compile or link applications +themselves; they only add in command line flags and invoke the +back-end compiler. +. +. +.SS Background +Open MPI is comprised of three software layers: OPAL (Open Portable +Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI). +There are wrapper compilers for each layer; each layer's wrapper only +links in the libraries relevant for that layer. Specifically, each +layer provides the following wrapper compilers: +. +.TP 4 +OPAL +\fIopalcc\fR and \fIopalc++\fR +. +.TP +ORTE +\fIortecc\fR and \fIortec++\fR +. +.TP +OMPI +\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with +case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated +names \fImpif77\fR and \fImpif90\fR). Note +that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same +underlying C++ compiler with the same options. All are provided as +compatibility with other MPI implementations. +. +. +.SS Fortran Notes +.PP +The Fortran wrapper compiler for MPI (\fImpifort\fR, and its +legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and +link MPI applications that use any/all of the MPI Fortran bindings: +.IR mpif.h , +the +.I mpi +module, and the +.I mpi_f08 +module (assuming Open MPI was installed with support for each of these +Fortran bindings). Specifically: it is no longer necessary to use +different wrapper compilers for applications that use +.I mpif.h +vs. applications that use the +.I mpi +module -- just use +.I mpifort +for all Fortran MPI applications. +. +.PP +Note, however, that the Fortran compiler may require additional +command-line options to enforce a specific Fortran dialect. For +example, in some versions of the IBM XLF compiler, if xlf90 is the +underlying Fortran compiler, +.IR -qfixed +may be necessary to compile fixed-format Fortran source files. +. +.PP +Finally, note that +.I mpifort +will be inoperative and will return an error on use if Fortran support +was not built into the MP Ilayer. +. +. +.SS Overview +\fImpicxx\fR is a convenience wrappers for the underlying +C++ compiler. Translation of an Open MPI program requires the +linkage of the Open MPI-specific libraries which may not reside in +one of the standard search directories of ld(1). It also often +requires the inclusion of header files what may also not be found in a +standard location. +. +.PP +\fImpicxx\fR passes its arguments to the underlying C++ +compiler along with the -I, -L and -l options required by Open MPI +programs. +. +.PP +The Open MPI Team \fIstrongly\fR encourages using the wrapper +compilers instead of attempting to link to the Open MPI libraries +manually. This allows the specific implementation of Open MPI to +change without forcing changes to linker directives in users' +Makefiles. Indeed, the specific set of flags and libraries used by +the wrapper compilers depends on how Open MPI was configured and +built; the values can change between different installations of the +same version of Open MPI. +. +.PP +Indeed, since the wrappers are simply thin shells on top of an +underlying compiler, there are very, very few compelling reasons +\fInot\fR to use \fImpicxx\fR. When it is not possible to use the +wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR +options should be used to determine what flags the wrappers would have +used. For example: +. +.PP +shell$ cc -c file1.c `mpicc -showme:compile` +. +.PP +shell$ cc -c file2.c `mpicc -showme:compile` +. +.PP +shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program +. +. +.SH NOTES +.PP +It is possible to make the wrapper compilers multi-lib aware. That +is, the libraries and includes specified may differ based on the +compiler flags specified (for example, with the GNU compilers on +Linux, a different library path may be used if -m32 is seen versus +-m64 being seen). This is not the default behavior in a standard +build, but can be activated (for example, in a binary package +providing both 32 and 64 bit support). More information can be found +at: +.PP + https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +. +. +.SH FILES +.PP +The string that the wrapper compilers insert into the command line +before invoking the underlying compiler are stored in a text file +created by Open MPI and installed to +\fI$pkgdata/mpicxx-wrapper-data.txt\fR, where \fI$pkgdata\fR +is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top +installation directory of Open MPI. +. +.PP +It is rarely necessary to edit this file, but it can be examined to +gain insight into what flags the wrappers are placing on the command +line. +. +. +.SH ENVIRONMENT VARIABLES +.PP +By default, the wrappers use the compilers that were selected when +Open MPI was configured. These compilers were either found +automatically by Open MPI's "configure" script, or were selected by +the user in the CC, CXX, F77, and/or FC environment variables +before "configure" was invoked. Additionally, other arguments +specific to the compiler may have been selected by configure. +. +.PP +These values can be selectively overridden by either editing the text +files containing this configuration information (see the \fBFILES\fR +section), or by setting selected environment variables of the +form "OMPI_value". +. +.PP +Valid value names are: +. +.TP +CPPFLAGS +Flags added when invoking the preprocessor (C or C++) +. +.TP +LDFLAGS +Flags added when invoking the linker (C, C++, or Fortran) +. +.TP +LIBS +Libraries added when invoking the linker (C, C++, or Fortran) +. +.TP +CC +C compiler +. +.TP +CFLAGS +C compiler flags +. +.TP +CXX +C++ compiler +. +.TP +CXXFLAGS +C++ compiler flags +. +. +.TP +FC +Fortran compiler +. +.TP +FCFLAGS +Fortran compiler flags diff --git a/macx64/mpi/openmpi/share/man/man1/mpiexec.1 b/macx64/mpi/openmpi/share/man/man1/mpiexec.1 new file mode 100644 index 00000000..e906e1f4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpiexec.1 @@ -0,0 +1,1763 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +.\" Copyright (c) 2017 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" $COPYRIGHT$ +.\" +.\" Man page for ORTE's orterun command +.\" +.\" .TH name section center-footer left-footer center-header +.TH MPIRUN 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. +oshrun, shmemrun \- Execute serial and parallel jobs in Open SHMEM. + +.B Note: +\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each +other as well as \fIoshrun\fP, \fIshmemrun\fP in case Open SHMEM is installed. +Using any of the names will produce the same behavior. +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.PP +Single Process Multiple Data (SPMD) Model: + +.B mpirun +[ options ] +.B +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI\fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man1/mpif77.1 b/macx64/mpi/openmpi/share/man/man1/mpif77.1 new file mode 100644 index 00000000..4f55a089 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpif77.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers +. +.SH SYNTAX +mpif90 ... +. +.\" ************************** +.\" Description Section +.\" ************************** +. +.SH DESCRIPTION +.PP +The +.I mpif77 +and +.I mpif90 +wrapper compiler names are deprecated, and will disappear in a future +version of Open MPI. You should use the +.I mpifort +wrapper compiler, instead. While they are deprecated, +.I mpif77 +and +.I mpif90 +accept all the same parameters as +.IR mpifort , +and behaves the same as +.IR mpifort . +. +.PP +With +.IR mpifort , +you can compile any Fortran program that uses the "mpif.h", "use mpi", +and/or "use mpi_f08" MPI Fortran interfaces. +. +.PP +See mpifort(1) for more details. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +mpifort(1) +. diff --git a/macx64/mpi/openmpi/share/man/man1/mpif90.1 b/macx64/mpi/openmpi/share/man/man1/mpif90.1 new file mode 100644 index 00000000..4f55a089 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpif90.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers +. +.SH SYNTAX +mpif90 ... +. +.\" ************************** +.\" Description Section +.\" ************************** +. +.SH DESCRIPTION +.PP +The +.I mpif77 +and +.I mpif90 +wrapper compiler names are deprecated, and will disappear in a future +version of Open MPI. You should use the +.I mpifort +wrapper compiler, instead. While they are deprecated, +.I mpif77 +and +.I mpif90 +accept all the same parameters as +.IR mpifort , +and behaves the same as +.IR mpifort . +. +.PP +With +.IR mpifort , +you can compile any Fortran program that uses the "mpif.h", "use mpi", +and/or "use mpi_f08" MPI Fortran interfaces. +. +.PP +See mpifort(1) for more details. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +mpifort(1) +. diff --git a/macx64/mpi/openmpi/share/man/man1/mpifort.1 b/macx64/mpi/openmpi/share/man/man1/mpifort.1 new file mode 100644 index 00000000..44e1f88d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpifort.1 @@ -0,0 +1,265 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH mpifort 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpifort -- Open MPI Fortran wrapper compiler +. +.SH SYNTAX +mpifort [-showme|-showme:compile|-showme:link] ... +. +.SH OPTIONS +.TP +--showme +This option comes in several different variants (see below). None of +the variants invokes the underlying compiler; they all provide +information on how the underlying compiler would have been invoked had +.I --showme +not been used. +The basic +.I --showme +option outputs the command line that would be executed to compile the +program. \fBNOTE:\fR If a non-filename argument is passed on the +command line, the \fI-showme\fR option will \fInot\fR display any +additional flags. For example, both "mpifort --showme" and +"mpifort --showme my_source.c" will show all the wrapper-supplied +flags. But "mpifort --showme -v" will only show the underlying +compiler name and "-v". +.TP +--showme:compile +Output the compiler flags that would have been supplied to the +Fortran compiler. +.TP +--showme:link +Output the linker flags that would have been supplied to the +Fortran compiler. +.TP +--showme:command +Outputs the underlying Fortran compiler command (which may be one +or more tokens). +.TP +--showme:incdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying Fortran compiler to indicate where relevant header files +are located. +.TP +--showme:libdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying linker to indicate where relevant libraries are located. +.TP +--showme:libs +Outputs a space-delimited (but otherwise undecorated) list of library +names that the wrapper compiler would have used to link an +application. For example: "mpi open-rte open-pal util". +.TP +--showme:version +Outputs the version number of Open MPI. +.TP +--showme:help +Output a brief usage help message. +.PP +See the man page for your underlying Fortran compiler for other +options that can be passed through mpifort. +. +. +.SH DESCRIPTION +.PP +Conceptually, the role of these commands is quite simple: +transparently add relevant compiler and linker flags to the user's +command line that are necessary to compile / link Open MPI +programs, and then invoke the underlying compiler to actually perform +the command. +. +.PP +As such, these commands are frequently referred to as "wrapper" +compilers because they do not actually compile or link applications +themselves; they only add in command line flags and invoke the +back-end compiler. +. +. +.SS Background +Open MPI is comprised of three software layers: OPAL (Open Portable +Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI). +There are wrapper compilers for each layer; each layer's wrapper only +links in the libraries relevant for that layer. Specifically, each +layer provides the following wrapper compilers: +. +.TP 4 +OPAL +\fIopalcc\fR and \fIopalc++\fR +. +.TP +ORTE +\fIortecc\fR and \fIortec++\fR +. +.TP +OMPI +\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with +case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated +names \fImpif77\fR and \fImpif90\fR). Note +that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same +underlying C++ compiler with the same options. All are provided as +compatibility with other MPI implementations. +. +. +.SS Fortran Notes +.PP +The Fortran wrapper compiler for MPI (\fImpifort\fR, and its +legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and +link MPI applications that use any/all of the MPI Fortran bindings: +.IR mpif.h , +the +.I mpi +module, and the +.I mpi_f08 +module (assuming Open MPI was installed with support for each of these +Fortran bindings). Specifically: it is no longer necessary to use +different wrapper compilers for applications that use +.I mpif.h +vs. applications that use the +.I mpi +module -- just use +.I mpifort +for all Fortran MPI applications. +. +.PP +Note, however, that the Fortran compiler may require additional +command-line options to enforce a specific Fortran dialect. For +example, in some versions of the IBM XLF compiler, if xlf90 is the +underlying Fortran compiler, +.IR -qfixed +may be necessary to compile fixed-format Fortran source files. +. +.PP +Finally, note that +.I mpifort +will be inoperative and will return an error on use if Fortran support +was not built into the MP Ilayer. +. +. +.SS Overview +\fImpifort\fR is a convenience wrappers for the underlying +Fortran compiler. Translation of an Open MPI program requires the +linkage of the Open MPI-specific libraries which may not reside in +one of the standard search directories of ld(1). It also often +requires the inclusion of header files what may also not be found in a +standard location. +. +.PP +\fImpifort\fR passes its arguments to the underlying Fortran +compiler along with the -I, -L and -l options required by Open MPI +programs. +. +.PP +The Open MPI Team \fIstrongly\fR encourages using the wrapper +compilers instead of attempting to link to the Open MPI libraries +manually. This allows the specific implementation of Open MPI to +change without forcing changes to linker directives in users' +Makefiles. Indeed, the specific set of flags and libraries used by +the wrapper compilers depends on how Open MPI was configured and +built; the values can change between different installations of the +same version of Open MPI. +. +.PP +Indeed, since the wrappers are simply thin shells on top of an +underlying compiler, there are very, very few compelling reasons +\fInot\fR to use \fImpifort\fR. When it is not possible to use the +wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR +options should be used to determine what flags the wrappers would have +used. For example: +. +.PP +shell$ cc -c file1.c `mpicc -showme:compile` +. +.PP +shell$ cc -c file2.c `mpicc -showme:compile` +. +.PP +shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program +. +. +.SH NOTES +.PP +It is possible to make the wrapper compilers multi-lib aware. That +is, the libraries and includes specified may differ based on the +compiler flags specified (for example, with the GNU compilers on +Linux, a different library path may be used if -m32 is seen versus +-m64 being seen). This is not the default behavior in a standard +build, but can be activated (for example, in a binary package +providing both 32 and 64 bit support). More information can be found +at: +.PP + https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +. +. +.SH FILES +.PP +The string that the wrapper compilers insert into the command line +before invoking the underlying compiler are stored in a text file +created by Open MPI and installed to +\fI$pkgdata/mpifort-wrapper-data.txt\fR, where \fI$pkgdata\fR +is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top +installation directory of Open MPI. +. +.PP +It is rarely necessary to edit this file, but it can be examined to +gain insight into what flags the wrappers are placing on the command +line. +. +. +.SH ENVIRONMENT VARIABLES +.PP +By default, the wrappers use the compilers that were selected when +Open MPI was configured. These compilers were either found +automatically by Open MPI's "configure" script, or were selected by +the user in the CC, CXX, F77, and/or FC environment variables +before "configure" was invoked. Additionally, other arguments +specific to the compiler may have been selected by configure. +. +.PP +These values can be selectively overridden by either editing the text +files containing this configuration information (see the \fBFILES\fR +section), or by setting selected environment variables of the +form "OMPI_value". +. +.PP +Valid value names are: +. +.TP +CPPFLAGS +Flags added when invoking the preprocessor (C or C++) +. +.TP +LDFLAGS +Flags added when invoking the linker (C, C++, or Fortran) +. +.TP +LIBS +Libraries added when invoking the linker (C, C++, or Fortran) +. +.TP +CC +C compiler +. +.TP +CFLAGS +C compiler flags +. +.TP +CXX +C++ compiler +. +.TP +CXXFLAGS +C++ compiler flags +. +. +.TP +FC +Fortran compiler +. +.TP +FCFLAGS +Fortran compiler flags diff --git a/macx64/mpi/openmpi/share/man/man1/mpirun.1 b/macx64/mpi/openmpi/share/man/man1/mpirun.1 new file mode 100644 index 00000000..e906e1f4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpirun.1 @@ -0,0 +1,1763 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +.\" Copyright (c) 2017 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" $COPYRIGHT$ +.\" +.\" Man page for ORTE's orterun command +.\" +.\" .TH name section center-footer left-footer center-header +.TH MPIRUN 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. +oshrun, shmemrun \- Execute serial and parallel jobs in Open SHMEM. + +.B Note: +\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each +other as well as \fIoshrun\fP, \fIshmemrun\fP in case Open SHMEM is installed. +Using any of the names will produce the same behavior. +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.PP +Single Process Multiple Data (SPMD) Model: + +.B mpirun +[ options ] +.B +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI\fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 b/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 new file mode 100644 index 00000000..3ac3129f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 @@ -0,0 +1,120 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" +.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBorte-clean\fP - Cleans up any stale processes and files leftover +from Open MPI jobs. + +.sp + +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.ft R +.nf +orte-clean [--verbose] +.br +mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose] +.fi +.sp + + +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.ft R +[-v | --verbose] This argument will run the command in verbose +mode and print out the universes that are getting cleaned up +as well as processes that are being killed. +.sp + +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.ft R +\fIorte-clean\fR attempts to clean up any processes and files +left over from Open MPI jobs that were run in the past as well as any +currently running jobs. This includes OMPI infrastructure and helper +commands, any processes that were spawned as part of the job, and any +temporary files. orte-clean will only act upon processes and files +that belong to the user running the orte-clean command. If run as +root, it will kill off processes belonging to any users. +.sp +When run from the command line, orte-clean will attempt to clean up +the local node it is run from. When launched via mpirun, it will +clean up the nodes selected by mpirun. +.sp + +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.ft R +Example 1: Clean up local node only. +.sp +.nf +example% orte-clean +.fi +.sp + +Example 2: To clean up on a specific set of nodes specified on +command line, it is recommended to use the pernode option. This +will run one orte-clean for each node. +.sp +.nf +example% mpirun --pernode --host node1,node2,node3 orte-clean +.fi +.sp +To clean up on a specific set of nodes from a file. +.sp +.nf +example% mpirun --pernode --hostfile nodes_file orte-clean +.fi +.sp +Example 3: Within a resource managed environment like N1GE, +SLURM, or Torque. The following example is from N1GE. +.sp +First, we see that we have two nodes with two CPUs each. +.sp +.nf +example% qsh -pe orte 4 +.br +example% mpirun -np 4 hostname +.br +node1 +.br +node1 +.br +node2 +.br +node2 +.fi +.sp +Clean up all the nodes in the cluster. +.sp +.nf +example% mpirun --pernode orte-clean +.fi +.sp +Clean up a subset of the nodes in the cluster. +.sp +.nf +example% mpirun --pernode --host node1 orte-clean +.fi +.sp + +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +.ft R +orterun(1), orte-ps(1) +.sp diff --git a/macx64/mpi/openmpi/share/man/man1/ompi-server.1 b/macx64/mpi/openmpi/share/man/man1/ompi-server.1 new file mode 100644 index 00000000..bc57431f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi-server.1 @@ -0,0 +1,72 @@ +.\" +.\" Copyright (c) 2007 Los Alamos National Security, LLC +.\" All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OMPI's ompi-server command +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ompi-server \- Server for supporting name publish/lookup operations. +. +.PP +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.BR ompi-server " [ options ]" +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH Options +. +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.TP 10 +.B -h | --help +Display help for this command +. +. +.TP +.B -d | --debug +Enable verbose output for debugging +. +. +.TP +.B -r | --report-uri \fR\fP +Report the Open MPI contact information for the server. This information is +required for MPI jobs to use the data server. Three parameter values are supported: +(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that +the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that +the uri is to be printed to the specified file. The "path-to-file" can be either +absolute or relative, but must be in a location where the user has write +permissions. Please note that the resulting file must be read-accessible to +expected users of the server. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +. diff --git a/macx64/mpi/openmpi/share/man/man1/ompi_info.1 b/macx64/mpi/openmpi/share/man/man1/ompi_info.1 new file mode 100644 index 00000000..31fcac41 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi_info.1 @@ -0,0 +1,287 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +.TH OMPI_INFO 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +ompi_info - Display information about the Open MPI installation +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.B ompi_info [options] +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.PP +.B ompi_info +provides detailed information about the Open MPI installation. It can +be useful for at least three common scenarios: +.PP +1. Checking local configuration and seeing how Open MPI was installed. +.PP +2. Submitting bug reports / help requests to the Open MPI community +(see +.IR http://www.open-mpi.org/community/help/ ) +.PP +3. Seeing a list of installed Open MPI plugins and querying what +MCA parameters they support. +.PP +.B NOTE: +.B ompi_info +defaults to only showing a few MCA parameters by default (i.e., level +1 parameters). Use the +.B --level +option to enable showing more options (see the LEVELS section for more +information). +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.B ompi_info +accepts the following options: +.TP 8 +.I \-a|\-\-all +Show all configuration options and MCA parameters. Also changes the +default MCA parameter level to 9, unless +.I --level +is also specified. +.TP 8 +.I \-\-arch +Show architecture on which Open MPI was compiled. +.TP 8 +.I \-c|\-\-config +Show configuration options +.TP 8 +.I \-gmca|\-\-gmca +Pass global MCA parameters that are applicable to all contexts. +.TP 8 +.I \-h|\-\-help +Shows help / usage message. +.TP 8 +.I \-\-hostname +Show the hostname on which Open MPI was configured and built. +.TP 8 +.I \-\-internal +Show internal MCA parameters (not meant to be modified by users). +.TP 8 +.I \-\-level +Show only variables with at most this level (1-9). The default is 1 unless +\-\-all is specified without \-\-level, in which case the default is 9. See +the LEVELS section for more information. +.TP 8 +.I \-mca|\-\-mca +Pass context-specific MCA parameters; they are considered global if --gmca is +not used and only one context is specified. +.TP 8 +.I \-\-param +Show MCA parameters. The first parameter is the type of the component +to display; the second parameter is the specific component to display +(or the keyword "all", meaning "display all components of this type"). +.TP 8 +.I \-t|\-\-type +Show MCA parameters of the type specified in the parameter. Accepts the +following parameters: unsigned_int, unsigned_long, unsigned_long_long, +size_t, string, version_string, bool, double. By default level +is 1 unless it is specified with \-\-level. +.TP 8 +.I \-\-parsable +When used in conjunction with other parameters, the output is +displayed in a machine-parsable format +.I \-\-parseable +Synonym for --parsable +.TP 8 +.I \-\-path +Show paths that Open MPI was configured with. Accepts the following +parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir. +.TP 8 +.I \-\-pretty +When used in conjunction with other parameters, the output is +displayed in 'prettyprint' format (default) +.TP 8 +.I \-\-selected-only +Show only variables from selected components. +.TP 8 +.I \-V|\-\-version +Show version of Open MPI. +. +.\" ************************** +.\" Levels Section +.\" ************************** +.SH LEVELS +Open MPI has many, many run-time tunable parameters (called "MCA +parameters"), and usually only a handfull of them are useful to a +given user. +. +. +.PP +As such, Open MPI has divided these parameters up into nine distinct +levels, broken down into three categories, each with three +sub-categories. +. +. +.PP +Note that since each MCA parameter is accessible through the MPI_T +control variable API (introduced in MPI-3.0), these levels exactly +correspond to the nine MPI_T cvar levels. +. +. +.PP +The three categories are: +.TP 4 +.B End user +Generally, these are parameters that are required for correctness, +meaning that a user may need to set these just to get their MPI +application to run correctly. For example, BTL "if_include" and +"if_exclude" parameters fit into this category. +. +.TP +.B Application tuner +Generally, these are parameters that can be used to tweak MPI +application performance. This even includes parameters that control +resource exhaustion levels (e.g., number of free list entries, size of +buffers, etc.), and could be considered "correctness" parameters if +they're set too low. But, really -- they're tuning parameters. +. +.TP +.B Open MPI developer +Parameters in this category either don't fit in the other two, or are +specifically intended for debugging / development of Open MPI itself. +. +. +.PP +And within each category, there are three sub-categories: +.TP 4 +.B Basic +This sub-category is for parameters that everyone in this category +will want to see -- even less-advanced end users, application tuners, +and new OMPI developers. +. +.TP +.B Detailed +This sub-category is for parameters that are generally useful, but +users probably won't need to change them often. +. +.TP +.B All +This sub-category is for all other parameters. Such parameters are +likely fairly esoteric. +. +. +.PP +Combining the categories and sub-categories, here's how Open MPI +defines all nine levels: +.TP 4 +1 +Basic information of interest to end users. +.TP +2 +Detailed information of interest to end users. +.TP +3 +All remaining information of interest to end users. +.TP +4 +Basic information required for application tuners. +.TP +5 +Detailed information required for application tuners. +.TP +6 +All remaining information required for application tuners. +.TP +7 +Basic information for Open MPI implementors. +.TP +8 +Detailed information for Open MPI implementors. +.TP +9 +All remaining information for Open MPI implementors. +. +. +.PP +By default, +.B ompi_info +only shows level 1 MCA parameters. To see more MCA parameters, use +the +.B --level +command line option. +. +. +.PP +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.TP 4 +ompi_info +Show the default output of options and listing of installed +components in a human-readable / prettyprint format. +. +. +.TP +ompi_info --parsable +Show the default output of options and listing of installed +components in a machine-parsable format. +. +. +.TP +ompi_info --param btl tcp +Show the level 1 MCA parameters of the "tcp" BTL component in a +human-readable / prettyprint format. +. +. +.TP +ompi_info --param btl tcp --level 6 +Show the level 1 through level 6 MCA parameters of the "tcp" BTL +component in a human-readable / prettyprint format. +. +. +.TP +ompi_info --param btl tcp --parsable +Show the level 1 MCA parameters of the "tcp" BTL component in a +machine-parsable format. +. +. +.TP +ompi_info --type string --pretty-print --level 3 +Show the level 3 MCA parameters of string type in a human-readable / +prettyprint format. +. +. +.TP +ompi_info --path bindir +Show the "bindir" that Open MPI was configured with. +. +. +.TP +ompi_info --version +Show the version of Open MPI version numbers in a prettyprint format. +. +. +.TP +ompi_info --all +Show +.I all +information about the Open MPI installation, including all components +that can be found, all the MCA parameters that they support (i.e., +levels 1 through 9), versions of Open MPI and the components, etc. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 b/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 new file mode 100644 index 00000000..9daf8acb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 @@ -0,0 +1,78 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.TH OPAL_WRAPPER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +opal_wrapper - Back-end Open MPI wrapper command +.SH SYNOPSIS +.B opal_wrapper [options] +.SH DESCRIPTION +.PP +.B opal_wrapper +is not meant to be called directly by end users. It is automatically +invoked as the back-end by the Open MPI wrapper commands such as: +.BR mpicc , +.BR mpiCC , +.BR mpic++ , +and +.BR mpifort +(and its legacy/deprecated names +.BR mpif77 +and +.BR mpif90 ). +.PP +Some Open MPI installations may have additional wrapper commands, +and/or have renamed the wrapper compilers listed above to avoid +executable name conflicts with other MPI implementations. Hence, you +may also have wrapper compilers installed including the following +names: +.BR mpifort.openmpi +(and the legacy/deprecated names +.BR mpif90.openmpi +and +.BR mpif77.openmpi ), +.BR mpicxx.openmpi , +.BR mpiCC.openmpi , +.BR mpicc.openmpi , +.BR mpic++.openmpi , +.BR opalcc , +.BR opalc++ , +.BR ortecc , +and +.BR ortec++ , +. +. +.\" ************************** +.\" See Also Section +.\" ************************** +.SH SEE ALSO +The following may exist depending on your particular Open MPI +installation: +.BR mpicc (1), +.BR mpiCC (1), +.BR mpic++ (1), +.BR mpifort (1), +.BR mpifort.openmpi (1), +.BR mpicxx.openmpi (1), +.BR mpiCC.openmpi (1), +.BR mpicc.openmpi (1), +.BR mpic++.openmpi (1), +.BR ortecc (1), +.BR ortec++ (1), +.BR opalccc (1), +and the website at +.IR http://www.openmpi.org/ . +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orte-clean.1 b/macx64/mpi/openmpi/share/man/man1/orte-clean.1 new file mode 100644 index 00000000..3ac3129f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-clean.1 @@ -0,0 +1,120 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" +.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBorte-clean\fP - Cleans up any stale processes and files leftover +from Open MPI jobs. + +.sp + +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.ft R +.nf +orte-clean [--verbose] +.br +mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose] +.fi +.sp + + +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.ft R +[-v | --verbose] This argument will run the command in verbose +mode and print out the universes that are getting cleaned up +as well as processes that are being killed. +.sp + +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.ft R +\fIorte-clean\fR attempts to clean up any processes and files +left over from Open MPI jobs that were run in the past as well as any +currently running jobs. This includes OMPI infrastructure and helper +commands, any processes that were spawned as part of the job, and any +temporary files. orte-clean will only act upon processes and files +that belong to the user running the orte-clean command. If run as +root, it will kill off processes belonging to any users. +.sp +When run from the command line, orte-clean will attempt to clean up +the local node it is run from. When launched via mpirun, it will +clean up the nodes selected by mpirun. +.sp + +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.ft R +Example 1: Clean up local node only. +.sp +.nf +example% orte-clean +.fi +.sp + +Example 2: To clean up on a specific set of nodes specified on +command line, it is recommended to use the pernode option. This +will run one orte-clean for each node. +.sp +.nf +example% mpirun --pernode --host node1,node2,node3 orte-clean +.fi +.sp +To clean up on a specific set of nodes from a file. +.sp +.nf +example% mpirun --pernode --hostfile nodes_file orte-clean +.fi +.sp +Example 3: Within a resource managed environment like N1GE, +SLURM, or Torque. The following example is from N1GE. +.sp +First, we see that we have two nodes with two CPUs each. +.sp +.nf +example% qsh -pe orte 4 +.br +example% mpirun -np 4 hostname +.br +node1 +.br +node1 +.br +node2 +.br +node2 +.fi +.sp +Clean up all the nodes in the cluster. +.sp +.nf +example% mpirun --pernode orte-clean +.fi +.sp +Clean up a subset of the nodes in the cluster. +.sp +.nf +example% mpirun --pernode --host node1 orte-clean +.fi +.sp + +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +.ft R +orterun(1), orte-ps(1) +.sp diff --git a/macx64/mpi/openmpi/share/man/man1/orte-info.1 b/macx64/mpi/openmpi/share/man/man1/orte-info.1 new file mode 100644 index 00000000..9c4174d1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-info.1 @@ -0,0 +1,162 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.TH orte-info 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +orte-info - Display information about the ORTE installation +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.B orte-info [options] +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.PP +.B orte-info +provides detailed information about the ORTE installation. It can +be useful for at least three common scenarios: +.PP +1. Checking local configuration and seeing how ORTE was installed. +.PP +2. Submitting bug reports / help requests to the ORTE community +(see +.IR http://www.open-mpi.org/community/help/ ) +.PP +3. Seeing a list of installed ORTE plugins and querying what +MCA parameters they support. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.B orte-info +accepts the following options: +.TP 8 +.I \-a|\-\-all +Show all configuration options and MCA parameters +.TP 8 +.I \-\-arch +Show architecture ORTE was compiled on +.TP 8 +.I \-c|\-\-config +Show configuration options +.TP 8 +.I \-gmca|\-\-gmca +Pass global MCA parameters that are applicable to all contexts. +.TP 8 +.I \-h|\-\-help +Shows help / usage message +.TP 8 +.I \-\-hostname +Show the hostname that ORTE was configured and built on +.TP 8 +.I \-\-internal +Show internal MCA parameters (not meant to be modified by users) +.TP 8 +.I \-mca|\-\-mca +Pass context-specific MCA parameters; they are considered global if --gmca is +not used and only one context is specified. +.TP 8 +.I \-\-param +Show MCA parameters. The first parameter is the type of the component +to display; the second parameter is the specific component to display +(or the keyword "all", meaning "display all components of this type"). +.TP 8 +.I \-\-parsable +When used in conjunction with other parameters, the output is +displayed in a machine-parsable format +.I \-\-parseable +Synonym for --parsable +.TP 8 +.I \-\-path +Show paths that ORTE was configured with. Accepts the following +parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir. +.TP 8 +.I \-\-pretty +When used in conjunction with other parameters, the output is +displayed in 'prettyprint' format (default) +.TP 8 +.I \-v|\-\-version +Show version of ORTE or a component. can be the +keywords "ompi" or "all", the name of a framework (e.g., "coll" shows +all components in the coll framework), or the name of a specific +component (e.g., "pls:rsh" shows the information from the rsh PLS +component). can be one of: full, major, minor, release, +greek, svn. +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.TP 4 +orte-info +Show the default output of options and listing of installed +components in a human-readable / prettyprint format. +. +. +.TP +orte-info --parsable +Show the default output of options and listing of installed +components in a machine-parsable format. +. +. +.TP +orte-info --param rmcast udp +Show the MCA parameters of the "udp" RMCAST component in a +human-readable / prettyprint format. +. +. +.TP +orte-info --param rmcast udp --parsable +Show the MCA parameters of the "udp" RMCAST component in a +machine-parsable format. +. +. +.TP +orte-info --path bindir +Show the "bindir" that ORTE was configured with. +. +. +.TP +orte-info --version orte full --parsable +Show the full version numbers of ORTE (including the OPAL +version number) in a machine-readable format. +. +. +.TP +orte-info --version rmcast major +Show the major version number of all RMCAST components in a prettyprint +format. +. +. +.TP +orte-info --version rmcast:tcp minor +Show the minor version number of the TCP RMCAST component in a +prettyprint format. +. +. +.TP +orte-info --all +Show +.I all +information about the ORTE installation, including all components +that can be found, the MCA parameters that they support, versions of +ORTE and the components, etc. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The ORTE maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orte-server.1 b/macx64/mpi/openmpi/share/man/man1/orte-server.1 new file mode 100644 index 00000000..bc57431f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-server.1 @@ -0,0 +1,72 @@ +.\" +.\" Copyright (c) 2007 Los Alamos National Security, LLC +.\" All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OMPI's ompi-server command +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ompi-server \- Server for supporting name publish/lookup operations. +. +.PP +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.BR ompi-server " [ options ]" +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH Options +. +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.TP 10 +.B -h | --help +Display help for this command +. +. +.TP +.B -d | --debug +Enable verbose output for debugging +. +. +.TP +.B -r | --report-uri \fR\fP +Report the Open MPI contact information for the server. This information is +required for MPI jobs to use the data server. Three parameter values are supported: +(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that +the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that +the uri is to be printed to the specified file. The "path-to-file" can be either +absolute or relative, but must be in a location where the user has write +permissions. Please note that the resulting file must be read-accessible to +expected users of the server. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +. diff --git a/macx64/mpi/openmpi/share/man/man1/orted.1 b/macx64/mpi/openmpi/share/man/man1/orted.1 new file mode 100644 index 00000000..f265658f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orted.1 @@ -0,0 +1,46 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license. +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.TH ORTED 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +orted - Start an Open RTE User-Level Daemon +.SH SYNOPSIS +.B orted [options] +.SH DESCRIPTION +.PP +.B orted +starts an Open RTE daemon for the Open MPI system. +.SH NOTE +The +.B orted +command is +.I not intended to be manually invoked by end users. +. +It is part of the Open MPI architecture and is invoked automatically +as necessary. This man page is mainly intended for those adventerous +end users and system administrators who have noticed an "orted" +process and wondered what it is. +.PP +As such, the command line options accepted by the +.B orted +are not listed below because they are considered internal and are +therefore subject to change between versions without warning. +Running +.B orted +with the +.I --help +command line option will show all available options. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orterun.1 b/macx64/mpi/openmpi/share/man/man1/orterun.1 new file mode 100644 index 00000000..e906e1f4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orterun.1 @@ -0,0 +1,1763 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +.\" Copyright (c) 2017 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" $COPYRIGHT$ +.\" +.\" Man page for ORTE's orterun command +.\" +.\" .TH name section center-footer left-footer center-header +.TH MPIRUN 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. +oshrun, shmemrun \- Execute serial and parallel jobs in Open SHMEM. + +.B Note: +\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each +other as well as \fIoshrun\fP, \fIshmemrun\fP in case Open SHMEM is installed. +Using any of the names will produce the same behavior. +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.PP +Single Process Multiple Data (SPMD) Model: + +.B mpirun +[ options ] +.B +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI\fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man3/MPI.3 b/macx64/mpi/openmpi/share/man/man3/MPI.3 new file mode 100644 index 00000000..a7a59397 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI.3 @@ -0,0 +1,194 @@ +.\" -*- nroff -*- +.\" Copyright 2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +MPI \- General information Open MPI 4.0.1. + +.SH MPI +.ft R +Open MPI is an open source implementation of MPI (message-passing +interface), the industry-standard specification for writing +message-passing programs. Message passing is a programming model that +gives the programmer explicit control over interprocess communication. +.sp +The MPI specification was developed by the MPI Forum, a group of +software developers, computer vendors, academics, and computer-science +researchers whose goal was to develop a standard for writing +message-passing programs that would be efficient, flexible, and +portable. +.sp +The outcome, known as the MPI Standard, was first published in 1993; +its most recent version (MPI-2) was published in July 1997. Open MPI +1.2 includes all MPI 1.2-compliant and MPI 2-compliant routines. +.sp +For more information about Open MPI, see the following URL: +.nf + + http://www.open-mpi.org +.fi +.sp +The MPI standards are available at the following URL: +.nf + + http://www.mpi-forum.org +.fi + +.SH MAN PAGE SYNTAX +.ft R +Man pages for Open MPI and Open MPI I/O routines are named according to C syntax, that is, they begin with the prefix "MPI_", all in uppercase, and the first letter following the "MPI_" prefix is also uppercase. The rest of the letters in the routine are all lowercase, for example, "MPI_Comm_get_attr". + +.SH ENVIRONMENT +.ft R +To fine-tune your Open MPI environment, you can either use arguments to the \fImpirun\fP, \fIorterun\fP, or \fImpiexec\fP commands, or you can use MCA parameters. +.sp +For more information on arguments, see the orterun.1 man page. +.sp +For a complete listing of MCA parameters and their descriptions, issue the command \fIompi_info -h\fP or \fIompi_info -param all all\fP. This information also appears in the FAQ on the Open MPI web site at: +.nf + + http://www.open-mpi.org/faq/?category=tuning#mca-params +.fi + +.SH ERRORS +.ft R +All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does not guarantee that an MPI program can continue past +an error. +.sp +For more information on Open MPI error codes, see \fImpi.h\fP in the \fIinclude\fP directory. +.sp +Standard error return classes for Open MPI: +.sp +.nf +MPI_SUCCESS 0 Successful return code. +MPI_ERR_BUFFER 1 Invalid buffer pointer. +MPI_ERR_COUNT 2 Invalid count argument. +MPI_ERR_TYPE 3 Invalid datatype argument. +MPI_ERR_TAG 4 Invalid tag argument. +MPI_ERR_COMM 5 Invalid communicator. + +MPI_ERR_RANK 6 Invalid rank. +MPI_ERR_REQUEST 7 Invalid MPI_Request handle. +MPI_ERR_ROOT 8 Invalid root. +MPI_ERR_GROUP 9 Null group passed to function. +MPI_ERR_OP 10 Invalid operation. + +MPI_ERR_TOPOLOGY 11 Invalid topology. +MPI_ERR_DIMS 12 Illegal dimension argument. +MPI_ERR_ARG 13 Invalid argument. +MPI_ERR_UNKNOWN 14 Unknown error. +MPI_ERR_TRUNCATE 15 Message truncated on receive. + +MPI_ERR_OTHER 16 Other error; use Error_string. +MPI_ERR_INTERN 17 Internal error code. +MPI_ERR_IN_STATUS 18 Look in status for error value. +MPI_ERR_PENDING 19 Pending request. +MPI_ERR_ACCESS 20 Permission denied. + +MPI_ERR_AMODE 21 Unsupported amode passed to open. +MPI_ERR_ASSERT 22 Invalid assert. +MPI_ERR_BAD_FILE 23 Invalid file name (for example, + path name too long). +MPI_ERR_BASE 24 Invalid base. +MPI_ERR_CONVERSION 25 An error occurred in a user-supplied + data-conversion function. + +MPI_ERR_DISP 26 Invalid displacement. +MPI_ERR_DUP_DATAREP 27 Conversion functions could not + be registered because a data + representation identifier that was + already defined was passed to + MPI_REGISTER_DATAREP. +MPI_ERR_FILE_EXISTS 28 File exists. +MPI_ERR_FILE_IN_USE 29 File operation could not be + completed, as the file is currently + open by some process. +MPI_ERR_FILE 30 Invalid file handle. + +MPI_ERR_INFO_KEY 31 Illegal info key. +MPI_ERR_INFO_NOKEY 32 No such key. +MPI_ERR_INFO_VALUE 33 Illegal info value. +MPI_ERR_INFO 34 Invalid info object. +MPI_ERR_IO 35 I/O error. + +MPI_ERR_KEYVAL 36 Illegal key value. +MPI_ERR_LOCKTYPE 37 Invalid locktype. +MPI_ERR_NAME 38 Name not found. +MPI_ERR_NO_MEM 39 Memory exhausted. +MPI_ERR_NOT_SAME 40 Collective argument not identical + on all processes, or collective + routines called in a different order + by different processes. + +MPI_ERR_NO_SPACE 41 Not enough space. +MPI_ERR_NO_SUCH_FILE 42 File (or directory) does not exist. +MPI_ERR_PORT 43 Invalid port. +MPI_ERR_QUOTA 44 Quota exceeded. +MPI_ERR_READ_ONLY 45 Read-only file system. + +MPI_ERR_RMA_CONFLICT 46 Conflicting accesses to window. +MPI_ERR_RMA_SYNC 47 Erroneous RMA synchronization. +MPI_ERR_SERVICE 48 Invalid publish/unpublish. +MPI_ERR_SIZE 49 Invalid size. +MPI_ERR_SPAWN 50 Error spawning. + +MPI_ERR_UNSUPPORTED_DATAREP + 51 Unsupported datarep passed to + MPI_File_set_view. +MPI_ERR_UNSUPPORTED_OPERATION + 52 Unsupported operation, such as + seeking on a file that supports + only sequential access. +MPI_ERR_WIN 53 Invalid window. +MPI_T_ERR_MEMORY 54 Out of memory. +MPI_T_ERR_NOT_INITIALIZED 55 Interface not initialized. + +MPI_T_ERR_CANNOT_INIT 56 Interface not in the state to be + initialized. +MPI_T_ERR_INVALID_INDEX 57 The enumeration index is invalid. +MPI_T_ERR_INVALID_ITEM 58 The item index queried is out of + range. +MPI_T_ERR_INVALID_HANDLE 59 The handle is invalid. +MPI_T_ERR_OUT_OF_HANDLES 60 No more handles available. + +MPI_T_ERR_OUT_OF_SESSIONS 61 No more sessions available. +MPI_T_ERR_INVALID_SESSION 62 Session argument is not a valid + session. +MPI_T_ERR_CVAR_SET_NOT_NOW + 63 Variable cannot be set at this + moment. +MPI_T_ERR_CVAR_SET_NEVER 64 Variable cannot be set until end of + execution. +MPI_T_ERR_PVAR_NO_STARTSTOP + 65 Variable cannot be started or stopped. + +MPI_T_ERR_PVAR_NO_WRITE 66 Variable cannot be written or reset. +MPI_T_ERR_PVAR_NO_ATOMIC 67 Variable cannot be read and written + atomically. +MPI_ERR_RMA_RANGE 68 Target memory is not part of the + window (in the case of a window + created with MPI_WIN_CREATE_DYNAMIC, + target memory is not attached). +MPI_ERR_RMA_ATTACH 69 Memory cannot be attached (e.g., + because of resource exhaustion). +MPI_ERR_RMA_FLAVOR 70 Passed window has the wrong flavor + for the called function. + +MPI_ERR_RMA_SHARED 71 Memory cannot be shared (e.g., some + process in the group of the specified + communicator cannot expose shared + memory). +MPI_T_ERR_INVALID 72 Invalid use of the interface or bad + parameter values(s). +MPI_T_ERR_INVALID_NAME 73 The variable or category name is + invalid. + +MPI_ERR_LASTCODE 93 Last error code. +.fi + diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 new file mode 100644 index 00000000..f8c40fe2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPIX_Barrier_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPIX_Allgather_init, MPIX_Allgatherv_init, MPIX_Allreduce_init, MPIX_Alltoall_init, MPIX_Alltoallv_init, MPIX_Alltoallw_init, MPIX_Barrier_init, MPIX_Bcast_init, MPIX_Exscan_init, MPIX_Gather_init, MPIX_Gatherv_init, MPIX_Reduce_init, MPIX_Reduce_scatter_init, MPIX_Reduce_scatter_block_init, MPIX_Scan_init, MPIX_Scatter_init, MPIX_Scatterv_init, MPIX_Neighbor_allgather_init, MPIX_Neighbor_allgatherv_init, MPIX_Neighbor_alltoall_init, MPIX_Neighbor_alltoallv_init, MPIX_Neighbor_alltoallw_init\fP \- Builds a handle for a collective communication or neighborhood collective communication + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include +int MPIX_Allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Allreduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Alltoallv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, + MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Alltoallw_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Barrier_init(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Bcast_init(void *\fIbuffer\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Exscan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Gather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Gatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_scatter_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, + MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_scatter_block_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, + int \fIrecvcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Scan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Scatter_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Scatterv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, + int \fIrecvcount\fP, MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoallv_init(const void *\fIsendbuf\fP, + const int \fIsendcounts\fP[], const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoallw_init(const void *\fIsendbuf\fP, + const int \fIsendcounts\fP[], const MPI_Aint \fIsdispls\fP[], + const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a collective operation or neighborhood collective operation. + +As of Nov. 2018, the feature of persistent collective communication operations and persistent collective neighborhood communication operations is planned to be included in the next MPI Standard after MPI-3.1. +.nf + + https://github.com/mpi-forum/mpi-issues/issues/25 +.fi + +Open MPI implements 2018 Draft Specification of the MPI standard shown in the following URL. +.nf + + https://www.mpi-forum.org/docs/drafts/mpi-2018-draft-report.pdf +.fi + +The interface may still change in the standard. Therefore the prefix \fIMPIX_\fP is used instead of \fIMPI_\fP for these request creation routines. To start, complete, and free the created request, usual MPI routines (\fIMPI_Start\fP etc.) can be used. + +Future versions of Open MPI will switch to the \fIMPI_\fP prefix and will not require the C header file \fImpi-ext.h\fP, the Fortran modules \fImpi_ext\fP and \fImpi_f08_ext\fP, and the Fortran header file \fImpif-ext.h\fP once the MPI Standard which includes this feature is published. + +.SH EXAMPLE +.nf + + MPI_Request req; + MPIX_Barrier_init(MPI_COMM_WORLD, MPI_INFO_NULL, &req); + MPI_Start(&req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + MPI_Request_free(&req); +.fi + +.SH SEE ALSO +.ft R +.sp +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 new file mode 100644 index 00000000..845cec19 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 @@ -0,0 +1,28 @@ +.\" Copyright 2007-2010 Oracle and/or its affiliates. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2015 NVIDIA, Inc. All rights reserved. +.TH MPIx_CUDA_SUPPORT 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPIX_Query_cuda_support\fP \- Returns 1 if there is CUDA aware support and 0 if there is not. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include + +int MPIX_Query_cuda_support(void) +.fi +.SH DESCRIPTION +.ft R + +.SH Examples +.ft R + +.SH See Also +.ft R +.nf + +.fi diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 new file mode 100644 index 00000000..26d2c472 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Abort 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Abort\fP \- Terminates MPI execution environment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Abort(MPI_Comm \fIcomm\fP, int\fI errorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator of tasks to abort. +.TP 1i +errorcode +Error code to return to invoking environment. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine makes a "best attempt" to abort all tasks in the group of +comm. This function does not require that the invoking environment take any +action with the error code. However, a UNIX or POSIX +environment should handle this as a return errorcode from the main program +or an abort (errorcode). +.sp +The long-term goal of the Open MPI implementation is to terminate all processes in all tasks that contain a process in \fIcomm\fP, and the error code is not returned to the invoking environment. At the moment, this isn't fully implemented and MPI_Abort will terminate the entire job. +.sp +Note: All associated processes are sent a SIGTERM. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 new file mode 100644 index 00000000..1458d39c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Accumulate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Accumulate\fP, \fBMPI_Raccumulate\fP \- Combines the contents of the origin buffer with that of a target buffer. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +int MPI_Raccumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP 1i +origin_count +Number of entries in buffer (nonnegative integer). +.ft R +.TP 1i +origin_datatype +Data type of each buffer entry (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.ft R +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +MPI_Raccumulate: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Accumulate\fP is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. The target window can only be accessed by processes within the same node. This is similar to MPI_Put, except that data is combined into the target area instead of overwriting it. +.sp +Any of the predefined operations for MPI_Reduce can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target. +.sp +Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +\fBMPI_Raccumulate\fP is similar to \fBMPI_Accumulate\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an \fBMPI_Raccumulate\fP operation indicates that the \fIorigin_addr\fP buffer is free to be updated. It does not indicate that the operation has completed at the target window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +MPI_Put is a special case of \fBMPI_Accumulate\fP, with the operation MPI_REPLACE. Note, however, that MPI_Put and \fBMPI_Accumulate\fP have different constraints on concurrent updates. +.sp +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Accumulate\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put +MPI_Get_accumulate +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 new file mode 100644 index 00000000..d8841066 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_class 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Add_error_class\fP \- Creates a new error class and returns its value + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_class(int *\fIerrorclass\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +errorclass +New error class (integer). +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Add_error_class creates a new, local error +class. + +.SH NOTES +.ft R +Because this function is local, the same value of \fIerrorclass\fP may +not be returned on all processes that make this call, even if they +call the function concurrently. Thus, same error on different +processes may not cause the same value of \fIerrorclass\fP to be +returned. To reduce the potential for confusion, MPI_Add_error_string +may be used on multiple processes to associate the same error string +with the newly created \fIerrorclass\fP. Even though \fIerrorclass\fP +may not be consistent across processes, using MPI_Add_error_string +will ensure the error string associated with it will be the same +everywhere. +.sp +No function is provided to free error classes, as it is not expected +that an application will create them in significant numbers. +.sp +The value returned is always greater than or equal to MPI_ERR_LASTCODE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_code +MPI_Add_error_string +MPI_Error_class +MPI_Error_string + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 new file mode 100644 index 00000000..5d367013 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_code 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Add_error_code\fP \- Creates a new error code associated +with \fIerrorclass\fP + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_code(int \fIerrorclass\fP, int *\fIerrorcode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1.4i +errorclass +MPI error class (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +errorcode +Error code returned by an MPI routine or an MPI error class (integer). +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +Creates a new error code associated with \fIerrorclass\fP and returns +its value in \fIerrorcode\fP. + +.SH NOTES +.ft R +No function is provided to free error codes, as it is not expected +that an application will create them in significant numbers. +.sp +The value returned is always greater than or equal to MPI_ERR_LASTCODE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_class +MPI_Error_class + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 new file mode 100644 index 00000000..3b84622b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_string 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Add_error_string\fP \- Associates a string with an error code or class + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_string(int \fIerrorcode\fP, const char *\fIstring\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +errorcode +MPI error class, or an error code returned by an MPI routine (integer). +.ft R +.TP 1.4i +string +Text that corresponds to the error code or class (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine associates an error string with an error code or +class. Calling MPI_Add_error_string for an error code or class that +already has an associated error string will replace the old string +with the new one. It is erroneous to call MPI_Add_error_string for an +error value not generated via MPI_Add_error_class or +MPI_Add_error_code (e.g., an error code or class with a value not +greater than MPI_LAST_ERRCODE). + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_class +MPI_Add_error_code +MPI_Error_class +MPI_Error_string + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 new file mode 100644 index 00000000..cc57e294 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 @@ -0,0 +1,84 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Address 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Address\fP \- Gets the address of a location in memory -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Address(void *\fIlocation\fP, MPI_Aint\fP *address\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +location +Location in caller memory (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +address +Address of location (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Get_address instead. +.sp +This deprecated routine is not available in C++. +.sp +The address of a location in memory can be found by invoking this function. Returns the (byte) address of location. +.sp +Example: Using MPI_Address for an array. +.sp +.nf +REAL A(100,100) +.fi +.br + INTEGER I1, I2, DIFF +.br + CALL MPI_ADDRESS(A(1,1), I1, IERROR) +.br + CALL MPI_ADDRESS(A(10,10), I2, IERROR) +.br + DIFF = I2 - I1 +.br +! The value of DIFF is 909*sizeofreal; the values of I1 and I2 are +.br +! implementation dependent. +.fi + +.SH NOTES +.ft R +This routine is provided for both Fortran and C programmers and may be useful when writing portable code. In the current release, the address returned by this routine will be the same as that produced by the C & operator. +.sp +C users may be tempted to avoid using +MPI_Address and rely on the availability of the address operator &. +Note, however, that & cast-expression is a pointer, not an address. +ANSI C does not require that the value of a pointer (or the pointer +cast to int) be the absolute address of the object pointed at although +this is commonly the case. Furthermore, referencing may not have a unique +definition on machines with a segmented address space. The use of +MPI_Address to "reference" C variables guarantees portability to +such machines as well. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Get_address +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 new file mode 100644 index 00000000..70c92b75 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 @@ -0,0 +1,73 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Aint_add 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Aint_add\fP, \fBMPI_Aint_diff\fP \- Portable functions for +arithmetic on MPI_Aint values. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Aint MPI_Aint_add(MPI_Aint \fIbase\fP, MPI_Aint \fIdisp\fP) + +MPI_Aint MPI_Aint_diff(MPI_Aint \fIaddr1\fP, MPI_Aint \fIaddr2\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +base +Base address (integer). +.ft R +.TP 1i +disp +Displacement (integer). +.ft R +.TP 1i +addr1 +Minuend address (integer). +.ft R +.TP +addr2 +Subtrahend address (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Aint_add\fP produces a new MPI_Aint value that is equivalent to the sum of +the \fIbase\fP and \fIdisp\fP arguments, where \fIbase\fP represents +a base address returned by a call to \fBMPI_Get_address\fP and +\fIdisp\fP represents a signed integer displacement. The resulting +address is valid only at the process that generated \fIbase\fP, and it +must correspond to a location in the same object referenced by +\fIbase\fP, as described in MPI-3.1 \[char167] 4.1.12. The addition is +performed in a manner that results in the correct MPI_Aint +representation of the output address, as if the process that +originally produced \fIbase\fP had called: + +.nf + \fBMPI_Get_address\fP ((char *) \fIbase\fP + \fIdisp\fP, &\fIresult\fP); +.fi +.sp +.ft R +\fBMPI_Aint_diff\fP produces a new MPI_Aint value that is equivalent +to the difference between \fIaddr1\fP and \fIaddr2\fP arguments, where +\fIaddr1\fP and \fIaddr2\fP represent addresses returned by calls to +\fBMPI_Get_address\fP. The resulting address is valid only at the +process that generated \fIaddr1\fP and \fIaddr2\fP, and \fIaddr1\fP +and \fIaddr2\fP must correspond to locations in the same object in the +same process, as described in MPI-3.1 \[char167] 4.1.12. The difference is +calculated in a manner that results in the signed difference from +\fIaddr1\fP to \fIaddr2\fP, as if the process that originally produced +the addresses had called (char *) \fIaddr1\fP - (char *) \fIaddr2\fP +on the addresses initially passed to \fBMPI_Get_address\fP. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_address diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 new file mode 100644 index 00000000..5fb829b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 @@ -0,0 +1 @@ +.so man3/MPI_Aint_add.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 new file mode 100644 index 00000000..885cd7ab --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 @@ -0,0 +1,129 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allgather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allgather, MPI_Iallgather\fP \- Gathers data from all processes and distributes it to all processes + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvbuf +Starting address of recv buffer (choice). +.TP 1i +recvcount +Number of elements received from any process (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Allgather is similar to MPI_Gather, except that all processes receive the result, instead of just the root. In other words, all processes contribute to the result, and all processes receive the result. +.sp +The type signature associated with sendcount, sendtype at a process must be equal to the type signature associated with recvcount, recvtype at any other process. +.sp +The outcome of a call to MPI_Allgather(\&...) is as if all processes executed n calls to +.sp +.nf + MPI_Gather(sendbuf,sendcount,sendtype,recvbuf,recvcount, + recvtype,root,comm), +.fi +.sp +.fi +for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgather are easily found from the corresponding rules for MPI_Gather. +.sp +\fBExample:\fR The all-gather version of Example 1 in MPI_Gather. Using MPI_Allgather, we will gather 100 ints from every process in the group to every process. +.sp +.nf +MPI_Comm comm; + int gsize,sendarray[100]; + int *rbuf; + \&... + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Allgather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, comm); +.fi +.sp +After the call, every process has the group-wide concatenation of the sets of data. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to +.sp +.nf + MPI_GATHER ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf, + recvcount, recvtype, root, comm ) + +for root =0, ... , n-1. +.fi +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation, however, need not be symmetric. The number of items sent by the processes in first group need not be equal to the number of items sent by the the processes in the second group. You can move data in only one direction by giving \fIsendcount\fR a value of 0 for communication in the reverse direction. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allgatherv +.br +MPI_Gather + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 new file mode 100644 index 00000000..1b49564a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 @@ -0,0 +1,113 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allgatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allgatherv, MPI_Iallgatherv\fP \- Gathers data from all processes and delivers it to all. Each process may contribute a different amount of data. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Integer array (of length group size) containing the number of elements that are received from each process. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from process i. +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Allgatherv is similar to MPI_Allgather in that all processes gather data from all other processes, except that each process can send a different amount of data. The block of data sent from the jth process is received by every process and placed in the jth block of the buffer +.I recvbuf. +.sp +The type signature associated with sendcount, sendtype, at process j must be equal to the type signature associated with recvcounts[j], recvtype at any other process. +.sp +The outcome is as if all processes executed calls to +.nf +MPI_Gatherv(sendbuf,sendcount,sendtype,recvbuf,recvcount, + displs,recvtype,root,comm) +.fi +.sp +for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgatherv are easily found from the corresponding rules for MPI_Gatherv. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to +.sp +.nf + MPI_GATHERV ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf, + recvcounts, displs, recvtype, root, comm ) + +for root =0, ... , n-1. +.fi +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group, concatenated, and received by all the members of the second group. Then the data is gathered from all the members of the second group, concatenated, and received by all the members of the first. The send buffer arguments in the one group must be consistent with the receive buffer arguments in the other group, and vice versa. The operation must exhibit symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Gatherv +.br +MPI_Allgather diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 new file mode 100644 index 00000000..87a55786 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alloc_mem 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Alloc_mem \fP \- Allocates a specified memory segment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Alloc_mem(MPI_Aint \fIsize\fP, MPI_Info \fIinfo\fP, void *\fIbaseptr\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of memory segment in bytes (nonnegative integer). +.ft R +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Pointer to beginning of memory segment allocated. +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Alloc_mem allocates \fIsize\fP bytes of memory. The starting address +of this memory is returned in the variable \fIbase\fP. +.sp + +.SH FORTRAN NOTES +.ft R +There is no portable FORTRAN 77 syntax for using MPI_Alloc_mem. +There is no portable Fortran syntax for using pointers returned +from MPI_Alloc_mem. However, MPI_Alloc_mem can be used with Sun +Fortran compilers. +.sp +From FORTRAN 77, you can use the following non-standard +declarations for the SIZE and BASEPTR arguments: +.nf + INCLUDE "mpif.h" + INTEGER*MPI_ADDRESS_KIND SIZE, BASEPTR +.fi +.sp +From either FORTRAN 77 or Fortran 90, you can use "Cray pointers" +for the BASEPTR argument. Cray pointers are described further in +the Fortran User's Guide and are supported by many Fortran compilers. +For example, +.sp +.nf + INCLUDE "mpif.h" + REAL*4 A(100,100) + POINTER (BASEPTR, A) + INTEGER*MPI_ADDRESS_KIND SIZE + + SIZE = 4 * 100 * 100 + CALL MPI_ALLOC_MEM(SIZE,MPI_INFO_NULL,BASEPTR,IERR) + + ! use A + + CALL MPI_FREE_MEM(A, IERR) +.fi +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Free_mem diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 new file mode 100644 index 00000000..1ad1399c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 @@ -0,0 +1,138 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allreduce 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allreduce, MPI_Iallreduce\fP \- Combines values from all processes and distributes the result back to all processes. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allreduce(const void \fI*sendbuf\fP, void \fI*recvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallreduce(const void \fI*sendbuf\fP, void \fI*recvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of elements of send buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Same as MPI_Reduce except that the result appears in the receive buffer of all the group members. +.sp +\fBExample 1:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at all nodes (compare with Example 2, with MPI_Reduce, below). +.sp +.nf +SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) +REAL a(m), b(m,n) ! local slice of array +REAL c(n) ! result +REAL sum(n) +INTEGER n, comm, i, j, ierr + +! local sum +DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO +END DO + +! global sum +CALL MPI_ALLREDUCE(sum, c, n, MPI_REAL, MPI_SUM, comm, ierr) + +! return result at all nodes +RETURN +.fi +.sp +\fBExample 2:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at node zero. +.sp +.nf +SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) +REAL a(m), b(m,n) ! local slice of array +REAL c(n) ! result +REAL sum(n) +INTEGER n, comm, i, j, ierr + +! local sum +DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO +END DO + +! global sum +CALL MPI_REDUCE(sum, c, n, MPI_REAL, MPI_SUM, 0, comm, ierr) + +! return result at node zero (and garbage at the other nodes) +RETURN +.fi +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-reduce operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR at all processes. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +When the communicator is an inter-communicator, the reduce operation occurs in two phases. The data is reduced from all the members of the first group and received by all the members of the second group. Then the data is reduced from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 new file mode 100644 index 00000000..02b4b9b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 @@ -0,0 +1,127 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoall 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoall, MPI_Ialltoall\fP \- All processes send data to all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ialltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer (choice). +.TP 1.2i +sendcount +Number of elements to send to each process (integer). +.TP 1.2i +sendtype +Datatype of send buffer elements (handle). +.TP 1.2i +recvcount +Number of elements to receive from each process (integer). +.TP 1.2i +recvtype +Datatype of receive buffer elements (handle). +.TP 1.2i +comm +Communicator over which data is to be exchanged (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Starting address of receive buffer (choice). +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Alltoall is a collective operation in which all processes send the same amount of data to each other, and receive the same amount of data from each other. The operation of this routine can be represented as follows, where each process performs 2n (n being the number of processes in communicator \fIcomm\fP) independent point-to-point communications (including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, i, ..., \fIcomm\fP); +.fi +.sp +Each process breaks up its local \fIsendbuf\fP into n blocks \- each +containing \fIsendcount\fP elements of type \fIsendtype\fP \- and +divides its \fIrecvbuf\fP similarly according to \fIrecvcount\fP and +\fIrecvtype\fP. Process j sends the k-th block of its local +\fIsendbuf\fP to process k, which places the data in the j-th block of +its local \fIrecvbuf\fP. The amount of data sent must be equal to the +amount of data received, pairwise, between every pair of processes. + +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.sp +.SH NOTES +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +There are two MPI library functions that are more general than +MPI_Alltoall. MPI_Alltoallv allows all-to-all communication to and +from buffers that need not be contiguous; different processes may +send and receive different amounts of data. MPI_Alltoallw expands +MPI_Alltoallv's functionality to allow the exchange of data with +different datatypes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoallv +MPI_Alltoallw + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 new file mode 100644 index 00000000..b6e28ae1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 @@ -0,0 +1,154 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoallv 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoallv, MPI_Ialltoallv\fP \- All processes send different amount of data to, and receive different amount of data from, all processes +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ialltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to rank i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (offset from +\fIsendbuf\fP, in units of \fIsendtype\fP) from which to send data to +rank i. +.TP 1.2i +sendtype +Datatype of send buffer elements. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from rank j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (offset from +\fIrecvbuf\fP, in units of \fIrecvtype\fP) to which data from rank j +should be written. +.TP 1.2i +recvtype +Datatype of receive buffer elements. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Alltoallv is a generalized collective operation in which all +processes send data to and receive data from all other processes. It +adds flexibility to MPI_Alltoall by allowing the user to specify data +to send and receive vector-style (via a displacement and element +count). The operation of this routine can be thought of as follows, +where each process performs 2n (n being the number of processes in +communicator \fIcomm\fP) independent point-to-point communications +(including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcounts\fP[i], \fIsendtype\fP, i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcounts\fP[i], \fIrecvtype\fP, i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to process +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts of data to different processes in the communicator. + +.sp +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcounts\fR, \fIsdispls\fP, and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.SH NOTES +.sp +The specification of counts and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. Compare this to +MPI_Alltoallw, where these offsets are measured in bytes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoall +MPI_Alltoallw + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 new file mode 100644 index 00000000..17f2ab79 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoallw 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoallw, MPI_Ialltoallw\fP \- All processes send data of different types to, and receive data of different types from, all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP) + +int MPI_Ialltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to rank i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (in bytes, +offset from \fIsendbuf\fP) from which to send data to rank i. +.TP 1.2i +sendtypes +Datatype array, where entry i specifies the datatype to use when +sending data to rank i. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from rank j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (in bytes, +offset from \fIrecvbuf\fP) to which data from rank j should +be written. +.TP 1.2i +recvtypes +Datatype array, where entry j specifies the datatype to use when +receiving data from rank j. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Alltoallw is a generalized collective operation in which all +processes send data to and receive data from all other processes. It +adds flexibility to MPI_Alltoallv by allowing the user to specify the +datatype of individual data blocks (in addition to displacement and +element count). Its operation can be thought of in the following way, +where each process performs 2n (n being the number of processes in +communicator \fIcomm\fP) independent point-to-point communications +(including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i], \fIsendcounts\fP[i], + \fIsendtypes\fP[i], i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i], \fIrecvcounts\fP[i], + \fIrecvtypes\fP[i], i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to process +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts and types of data to different processes in the +communicator. + +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcounts\fR, \fIsdispls\fP, and \fIsendtypes\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.SH NOTES +.sp +The specification of counts, types, and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in bytes. +Compare this to MPI_Alltoallv, where these offsets are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoall +MPI_Alltoallv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 new file mode 100644 index 00000000..501e7f01 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_delete\fP \- Deletes attribute value associated with a key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_delete(MPI_Comm\fI comm\fP, int\fI keyval\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute is attached (handle). +.TP 1i +keyval +The key value of the deleted attribute (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_delete_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +Delete attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the keyval was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS. + +Whenever a communicator is replicated using the function MPI_Comm_dup, all callback copy functions for attributes that are currently set are invoked (in arbitrary order). Whenever a communicator is deleted using the function MPI_Comm_free, all callback delete functions for attributes that are currently set are invoked. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_delete_attr +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 new file mode 100644 index 00000000..93df4c42 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_get\fP \- Retrieves attribute value by key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_get(MPI_Comm \fIcomm\fP, int\fI keyval\fP,void\fI *attribute_val\fP, + int\fI *flag \fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute is attached (handle). +.TP 1i +keyval + Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless flag = false. +.TP 1i +flag +True if an attribute value was extracted; false if no attribute is associated with the key. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_get_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +Retrieves attribute value by key. The call is erroneous if there is no key +with value keyval. On the other hand, the call is correct if the key value exists, but no attribute is attached on comm for that key; in such case, the call returns flag = false. In particular MPI_KEYVAL_INVALID is an erroneous key value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO + +MPI_Comm_get_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 new file mode 100644 index 00000000..32b61739 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_put 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_put\fP \- Stores attribute value associated with a key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_put(MPI_Comm \fIcomm\fP, int\fI keyval\fP, void\fI *attribute_val\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute will be attached (handle). +.TP 1i +keyval +Key value, as returned by MPI_KEYVAL_CREATE (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_set_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +MPI_Attr_put stores the stipulated attribute value attribute_val for subsequent retrieval by MPI_Attr_get. If the value is already present, then the outcome is as if MPI_Attr_delete was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value keyval; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS. + +.SH NOTES +.ft R +Values of the permanent attributes MPI_TAG_UB, MPI_HOST, +MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed. +.sp +The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single integer (not a pointer, since Fortran has no pointers and there are systems for which a pointer does not fit in an integer, e.g., any 32-bit address system that uses 64 bits for Fortran DOUBLE PRECISION). +.sp +If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 new file mode 100644 index 00000000..e1349b46 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Barrier 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Barrier, MPI_Ibarrier\fP \- Synchronization between MPI processes in a group + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Barrier(MPI_Comm \fIcomm\fP) + +int MPI_Ibarrier(MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +An MPI barrier completes after all group members have entered the +barrier. + +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the barrier operation is performed across all processes in both groups. All processes in the first group may exit the barrier when all processes in the second group have entered the barrier. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Bcast diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 new file mode 100644 index 00000000..26860e6f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Bcast 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Bcast, MPI_Ibcast\fP \- Broadcasts a message from the process with rank \fIroot\fP to all other processes of the group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Bcast(void \fI*buffer\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI root\fP, MPI_Comm\fI comm\fP) + +int MPI_Ibcast(void \fI*buffer\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI root\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +buffer +Starting address of buffer (choice). +.TP 1i +count +Number of entries in buffer (integer). +.TP 1i +datatype +Data type of buffer (handle). +.TP 1i +root +Rank of broadcast root (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Bcast broadcasts a message from the process with rank root to all processes of the group, itself included. It is called by all members of group using the same arguments for comm, root. On return, the contents of root's communication buffer has been copied to all processes. +.sp +General, derived datatypes are allowed for datatype. The type signature of count, datatype on any process must be equal to the type signature of count, datatype at the root. This implies that the amount of data sent must be equal to the amount received, pairwise between each process and the root. MPI_Bcast and all other data-movement collective routines make this restriction. Distinct type maps between sender and receiver are still allowed. +.sp +\fBExample:\fR Broadcast 100 ints from process 0 to every process in the group. +.nf + MPI_Comm comm; + int array[100]; + int root=0; + \&... + MPI_Bcast( array, 100, MPI_INT, root, comm); +.fi +.sp +As in many of our sample code fragments, we assume that some of the variables (such as comm in the example above) have been assigned appropriate values. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group broadcasts data to all the processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer arguments of the processes in the second group must be consistent with the send buffer argument of the root process in the first group. +.sp +.SH NOTES +This function does not support the in-place option. +.sp + + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 new file mode 100644 index 00000000..6358754a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Bsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Bsend\fP \- Basic send with user-specified buffering. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Bsend(const void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of entries in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Bsend performs a buffered-mode, blocking send. + +.SH NOTES +.ft R +This send is provided as a convenience function; it allows the user to send messages without worrying about where they are buffered (because the user must have provided buffer space with MPI_Buffer_attach). +.sp +In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent \fIMPI_Bsend\fPs unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space: +.nf + + MPI_Buffer_attach( b, n*sizeof(double) + MPI_BSEND_OVERHEAD ); + for (i=0; i +int MPI_Bsend_init(const void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements sent (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a buffered mode send, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Send_init +MPI_Ssend_init +MPI_Rsend_init +MPI_Recv_init +MPI_Start +MPI_Startall + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 new file mode 100644 index 00000000..8dc0a36e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Buffer_attach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Buffer_attach\fP \- Attaches a user-defined buffer for sending. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Buffer_attach(void \fI*buf\fP, int\fI size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial buffer address (choice). +.TP 1i +size +Buffer size, in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Provides to MPI a buffer in the user's memory to be used for buffering outgoing messages. The buffer is used only by messages sent in buffered mode. Only one buffer can be attached to a process at a time. + +.SH NOTES +.ft R +The size given should be the sum of the sizes of all outstanding Bsends that you intend to have, plus MPI_BSEND_OVERHEAD bytes for each Bsend that you do. For the purposes of calculating size, you should use MPI_Pack_size. In other words, in the code +.sp +.nf + MPI_Buffer_attach( buf, size ); + MPI_Bsend( \&..., count=20, datatype=type1, \&... ); + \&... + MPI_Bsend( \&..., count=40, datatype=type2, \&... ); +.fi +.sp +the value of size in the MPI_Buffer_attach call should be greater than the value computed by +.sp +.nf + MPI_Pack_size( 20, type1, comm, &s1 ); + MPI_Pack_size( 40, type2, comm, &s2 ); + size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD; +.fi +.sp +MPI_BSEND_OVERHEAD gives the maximum amount of buffer space that may be used by the Bsend routines. This value is in mpi.h for C and mpif.h for Fortran. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Buffer_detach + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 new file mode 100644 index 00000000..b2f98f59 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Buffer_detach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Buffer_detach\fP \- Removes an existing buffer (for use in MPI_Bsend, etc.) + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Buffer_detach(void \fI*buf\fP, int\fI *size\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial buffer address (choice). +.TP 1i +size +Buffer size, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Detach the buffer currently associated with MPI. The call returns the address and the size of the detached buffer. This operation will block until all messages currently in the buffer have been transmitted. Upon return of this function, the user may reuse or deallocate the space taken by the buffer. +.sp +\fBExample:\fP Calls to attach and detach buffers. +.sp +.nf + #define BUFFSIZE 10000 + int size + char *buff; + MPI_Buffer_attach( malloc(BUFFSIZE), BUFFSIZE); + /* a buffer of 10000 bytes can now be used by MPI_Bsend */ + MPI_Buffer_detach( &buff, &size); + /* Buffer size reduced to zero */ + MPI_Buffer_attach( buff, size); + /* Buffer of 10000 bytes available again */ +.fi + +.SH NOTES +.ft R +The reason that MPI_Buffer_detach returns the address and size of the buffer being detached is to allow nested libraries to replace and restore the buffer. For example, consider +.sp +.nf + int size, mysize, idummy; + void *ptr, *myptr, *dummy; + MPI_Buffer_detach( &ptr, &size ); + MPI_Buffer_attach( myptr, mysize ); + \&... + \&... library code \&... + \&... + MPI_Buffer_detach( &dummy, &idummy ); + MPI_Buffer_attach( ptr, size ); +.fi +.sp +This is much like the action of the UNIX signal routine and has the same strengths (it's simple) and weaknesses (it only works for nested usages). +.sp +\fBFor Fortran:\fP The Fortran binding for this routine is different. Because Fortran does not have pointers, it is impossible to provide a way to use the output of this routine to exchange buffers. In this case, only the size field is set. +.sp +\fBFor C:\fP Even though the buf argument is declared as void, it is really the address of a void pointer. See Rationale, below, for more details. +.sp +Even though the C functions MPI_Buffer_attach and +MPI_Buffer_detach both have a first argument of type void*, these arguments are used differently: A pointer to the buffer is passed to MPI_Buffer_attach; the address of the pointer is passed to MPI_Buffer_detach, so that this call can return the pointer value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Buffer_attach +MPI_Bsend diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 new file mode 100644 index 00000000..776096a6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cancel 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cancel\fP \- Cancels a communication request. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cancel(MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Cancel operation allows pending communications to be canceled. This is required for cleanup. Posting a send or a receive ties up user resources (send or receive buffers), and a cancel may be needed to free these resources gracefully. +.sp +A call to MPI_Cancel marks for cancellation a pending, nonblocking communication operation (send or receive). The cancel call is local. It returns immediately, possibly before the communication is actually canceled. It is still necessary to complete a communication that has been marked for cancellation, using a call to MPI_Request_free, MPI_Wait, or MPI_Test (or any of the derived operations). +.sp +If a communication is marked for cancellation, then an MPI_Wait call for that communication is guaranteed to return, irrespective of the activities of other processes (i.e., MPI_Wait behaves as a local function); similarly if MPI_Test is repeatedly called in a busy wait loop for a canceled communication, then MPI_Test will eventually be successful. +.sp +MPI_Cancel can be used to cancel a communication that uses a persistent request (see Section 3.9 in the MPI-1 Standard, "Persistent Communication Requests") in the same way it is used for nonpersistent requests. A successful cancellation cancels the active communication, but not the request itself. After the call to MPI_Cancel and the subsequent call to MPI_Wait or MPI_Test, the request becomes inactive and can be activated for a new communication. +.sp +The successful cancellation of a buffered send frees the buffer space occupied by the pending message. +.sp +Either the cancellation succeeds or the communication succeeds, but not both. If a send is marked for cancellation, then it must be the case that either the send completes normally, in which case the message sent is received at the destination process, or that the send is successfully canceled, in which case no part of the message is received at the destination. Then, any matching receive has to be satisfied by another send. If a receive is marked for cancellation, then it must be the case that either the receive completes normally, or that the receive is successfully canceled, in which case no part of the receive buffer is altered. Then, any matching send has to be satisfied by another receive. +.sp +If the operation has been canceled, then information to that effect will be returned in the status argument of the operation that completes the communication. + +.SH NOTES +.ft R +The primary expected use of MPI_Cancel is in multi-buffering schemes, +where speculative MPI_Irecvs are made. When the +computation completes, some of these requests may remain; +using MPI_Cancel allows the user to cancel these unsatisfied requests. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Probe +MPI_Iprobe +MPI_Test_cancelled +MPI_Cart_coords + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 new file mode 100644 index 00000000..8577309a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_coords 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_coords\fP \- Determines process coords in Cartesian topology given rank in group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_coords(MPI_Comm \fIcomm\fP, int\fI rank\fP, int\fI maxdims\fP, + int\fI coords\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +rank +Rank of a process within group of comm (integer). +.TP 1i +maxdims + Length of vector coords in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +coords +Integer array (of size ndims,which was defined by MPI_Cart_create call) containing the Cartesian coordinates of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_coords provies a mapping of ranks to Cartesian coordinates. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 new file mode 100644 index 00000000..0d4d17c7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_create\fP \- Makes a new communicator to which Cartesian topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_create(MPI_Comm\fI comm_old\fP, int\fI ndims\fP, const int\fI dims\fP[], + const int\fI periods\fP[], int\fI reorder\fP, MPI_Comm\fI *comm_cart\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator (handle). +.TP 1i +ndims +Number of dimensions of Cartesian grid (integer). +.TP 1i +dims +Integer array of size ndims specifying the number of processes in each +dimension. +.TP 1i +periods +Logical array of size ndims specifying whether the grid is periodic (true) +or not (false) in each dimension. +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_cart +Communicator with new Cartesian topology (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_create returns a handle to a new communicator to which the Cartesian topology information is attached. If reorder = false then the rank of each process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the processes (possibly so as to choose a good embedding of the virtual topology onto the physical machine). If the total size of the Cartesian grid is smaller than the size of the group of comm, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Comm_split. The call is erroneous if it specifies a grid that is larger than the group size. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 new file mode 100644 index 00000000..5dad6f27 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_get\fP \- Retrieves Cartesian topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_get(MPI_Comm\fI comm\fP, int\fI maxdims\fP, int\fI dims\fP[], int\fI periods\fP[], + int\fI coords\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +maxdims +Length of vectors dims, periods, and coords in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +dims +Number of processes for each Cartesian dimension (array of integers). +.TP 1i +periods +Periodicity (true/false) for each Cartesian dimension (array of logicals). +.TP 1i +coords +Coordinates of calling process in Cartesian structure (array of integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Cartdim_get and MPI_Cart_get return the Cartesian topology information that was associated with a communicator by MPI_Cart_create. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cartdim_get +MPI_Cart_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 new file mode 100644 index 00000000..9e64a9fd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_map 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_map \fP \- Maps process to Cartesian topology information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_map(MPI_Comm \fIcomm\fP, int\fI ndims\fP, const int\fI dims\fP[], + const int\fI periods\fP[], int\fI *newrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Input communicator (handle). +.TP 1i +ndims +Number of dimensions of Cartesian structure (integer). +.TP 1i +dims +Integer array of size ndims specifying the number of processes in each +coordinate direction. +.TP 1i +periods +Logical array of size ndims specifying the periodicity specification in each coordinate direction. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newrank +Reordered rank of the calling process; MPI_UNDEFINED if calling process does not belong to grid (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_map and MPI_Graph_map can be used to implement all other topology functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI. +.sp +MPI_Cart_map computes an "optimal" placement for the calling process on the physical machine. A possible implementation of this function is to always return the rank of the calling process, that is, not to perform any reordering. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_map diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 new file mode 100644 index 00000000..364e7d17 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_rank \fP \- Determines process rank in communicator given Cartesian location. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_rank(MPI_Comm \fIcomm\fP, int\fI coords\fP[], int\fI *rank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +coords +Integer array (of size ndims, which was defined by MPI_Cart_create call) specifying the Cartesian coordinates of a process. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +rank +Rank of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For a process group with Cartesian structure, the function MPI_Cart_rank +translates the logical process coordinates to process ranks as they are used by the point-to-point routines. For dimension i with periods(i) = true, if the coordinate, coords(i), is out of range, that is, coords(i) < 0 or coords(i) >= dims(i), it is shifted back to the interval 0 =< coords(i) < dims(i) automatically. Out-of-range coordinates are erroneous for nonperiodic dimensions. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Cart_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 new file mode 100644 index 00000000..36d05d13 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Cart_shift 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_shift \fP \- Returns the shifted source and destination ranks, given a shift direction and amount. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_shift(MPI_Comm \fIcomm\fP, int\fI direction\fP, int\fI disp\fP, + int\fI *rank_source\fP, int\fI *rank_dest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +direction +Coordinate dimension of shift (integer). +.TP 1i +disp +Displacement ( > 0: upward shift, < 0: downward shift) (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank_source +Rank of source process (integer). +.TP 1i +rank_dest +Rank of destination process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If the process topology is a Cartesian structure, an MPI_Sendrecv operation is likely to be used along a coordinate direction to perform a shift of data. As input, MPI_Sendrecv takes the rank of a source process for the receive, and the rank of a destination process for the send. If the function MPI_Cart_shift is called for a Cartesian process group, it provides the calling process with the above identifiers, which then can be passed to MPI_Sendrecv. The user specifies the coordinate direction and the size of the step (positive or negative). The function is local. +.sp +The direction argument indicates the dimension of the shift, i.e., the coordinate whose value is modified by the shift. The coordinates are numbered from 0 to ndims-1, where ndims is the number of dimensions. +.sp +\fBNote:\fP The direction argument is in the range [0, n-1] for an n-dimensional Cartesian mesh. +.sp +Depending on the periodicity of the Cartesian group in the specified coordinate direction, MPI_Cart_shift provides the identifiers for a circular or an end-off shift. In the case of an end-off shift, the value MPI_PROC_NULL may be returned in rank_source or rank_dest, indicating that the source or the destination for the shift is out of range. +.sp +\fBExample:\fP The communicator, comm, has a two-dimensional, periodic, Cartesian topology associated with it. A two-dimensional array of REALs is stored one element per process, in variable A. One wishes to skew this array, by shifting column i (vertically, i.e., along the column) by i steps. +.sp +.nf + \&.... + C find process rank + CALL MPI_COMM_RANK(comm, rank, ierr) + C find Cartesian coordinates + CALL MPI_CART_COORDS(comm, rank, maxdims, coords, + ierr) + C compute shift source and destination + CALL MPI_CART_SHIFT(comm, 0, coords(2), source, + dest, ierr) + C skew array + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, dest, 0, + source, 0, comm, status, + ierr) +.fi + +.SH NOTE +In Fortran, the dimension indicated by DIRECTION = i has DIMS(i+1) nodes, where DIMS is the array that was used to create the grid. In C, the dimension indicated by direction = i is the dimension specified by dims[i]. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 new file mode 100644 index 00000000..9d3a3481 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_sub 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_sub \fP \- Partitions a communicator into subgroups, which form lower-dimensional Cartesian subgrids. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_sub(MPI_Comm \fIcomm\fP, const int\fI remain_dims\fP[], MPI_Comm\fI *comm_new\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +remain_dims +The ith entry of remain_dims specifies whether the ith dimension is kept in the subgrid (true) or is dropped (false) (logical vector). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_new +Communicator containing the subgrid that includes the calling process (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If a Cartesian topology has been created with MPI_Cart_create, the function MPI_Cart_sub can be used to partition the communicator group into subgroups that form lower-dimensional Cartesian subgrids, and to build for each subgroup a communicator with the associated subgrid Cartesian topology. (This function is closely related to MPI_Comm_split.) +.sp +\fBExample:\fP Assume that MPI_Cart_create( \&..., comm) has defined a (2 x 3 x 4) grid. Let remain_dims = (true, false, true). Then a call to +.sp +.nf + MPI_Cart_sub(comm, remain_dims, comm_new) +.fi +.sp +will create three communicators, each with eight processes in a 2 x 4 Cartesian topology. If remain_dims = (false, false, true) then the call to MPI_Cart_sub(comm, remain_dims, comm_new) will create six nonoverlapping communicators, each with four processes, in a one-dimensional Cartesian topology. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cart_create +MPI_Comm_split + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 new file mode 100644 index 00000000..9e3ac58e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cartdim_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cartdim_get \fP \- Retrieves Cartesian topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cartdim_get(MPI_Comm\fI comm\fP, int\fI *ndims\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ndims +Number of dimensions of the Cartesian structure (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cartdim_get returns the number of dimensions of the Cartesian structure. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cart_get +MPI_Cart_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 new file mode 100644 index 00000000..deaca92c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 @@ -0,0 +1,40 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Close_port 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Close_port \fP \- Releases the specified network address. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Close_port(const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +port_name +A port (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Close_port releases the network address represented by \fIport_name\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 new file mode 100644 index 00000000..cc5e6757 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007, Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_accept 3OpenMPI "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_accept \fP \- Establishes communication with a client. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_accept(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +port_name +Port name (string, used only on \fIroot\fP). +.TP 1i +info +Options given by root for the accept (handle, used only on root). No options currently supported. +.TP 1i +root +Rank in \fIcomm\fP of root node (integer). +.TP 1i +comm +Intracommunicator over which call is collective (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Intercommunicator with client as remote group (handle) +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_accept establishes communication with a client. It is collective over the calling communicator. It returns an intercommunicator that allows communication with the client, after the client has connected with the MPI_Comm_accept function using the MPI_Comm_connect function. +.sp +The \fIport_name\fP must have been established through a call to MPI_Open_port on the root. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +MPI_Comm_connect +MPI_Open_port +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 new file mode 100644 index 00000000..2bf94cfc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME + +\fBMPI_Comm_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a communicator + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Comm_call_errhandler(MPI_Comm \fIcomm\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1.4i +comm +communicator with error handler (handle). +.ft R +.TP 1.4i +errorcode +error code (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the communicator +\fIcomm\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. + +.SH NOTES +.ft R +Users should note that the default error handler is +MPI_ERRORS_ARE_FATAL. Thus, calling this function will abort the +processes in \fIcomm\fP if the default error handler has not been +changed. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_create_errhandler +MPI_Comm_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 new file mode 100644 index 00000000..8e2830ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_compare 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_compare \fP \- Compares two communicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_compare(MPI_Comm \fIcomm1\fP, MPI_Comm\fI comm2\fP, int\fI *result\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm1 +Comm1 (handle). +.TP 1i +comm2 +Comm2 (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +result +Result of comparison (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_IDENT results if and only if comm1 and comm2 are handles for the same object (identical groups and same contexts). MPI_CONGRUENT results if the underlying groups are identical in constituents and rank order; these communicators differ only by context. MPI_SIMILAR results of the group members of both communicators are the same but the rank order differs. MPI_UNEQUAL results otherwise. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 new file mode 100644 index 00000000..43977054 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_connect 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_connect \fP \- Establishes communication with a server. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_connect(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, + MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +port_name +Port name (string, used only on \fIroot\fP). +.TP 1i +info +Options given by root for the connect (handle, used only on root). No options currently supported. +.TP 1i +root +Rank in \fIcomm\fP of root node (integer). +.TP 1i +comm +Intracommunicator over which call is collective (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Intercommunicator with client as remote group (handle) +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_connect establishes communication with a server specified by \fIport_name\fP. It is collective over the calling communicator and returns an intercommunicator in which the remote group participated in an MPI_Comm_accept. The MPI_Comm_connect call must only be called after the MPI_Comm_accept call has been made by the MPI job acting as the server. +.sp +If the named port does not exist (or has been closed), MPI_Comm_connect raises an error of class MPI_ERR_PORT. +.sp +MPI provides no guarantee of fairness in servicing connection attempts. That is, connection attempts are not necessarily satisfied in the order in which they were initiated, and competition from other connection attempts may prevent a particular connection attempt from being satisfied. + +The \fIport_name\fP parameter is the address of the server. It must be the same as the name returned by MPI_Open_port on the server. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +MPI_Comm_accept +MPI_Open_port +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 new file mode 100644 index 00000000..65457f46 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create\fP \- Creates a new communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +group +Group, which is a subset of the group of comm (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function creates a new communicator newcomm with communication +group defined by group and a new context. The function sets +\fInewcomm\fR to a new communicator that spans all the processes that +are in the group. It sets \fInewcomm\fR to MPI_COMM_NULL for +processes that are not in the group. + +Each process must call with a \fIgroup\fR argument that is a subgroup +of the group associated with \fIcomm\fR; this could be +MPI_GROUP_EMPTY. The processes may specify different values for the +\fIgroup\fR argument. If a process calls with a non-empty \fIgroup\fR, +then all processes in that group must call the function with the same +\fIgroup\fR as argument, that is: the same processes in the same +order. Otherwise the call is erroneous. +.sp +.LP + +.SH NOTES +MPI_Comm_create provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create, can be used in subsequent calls to MPI_Comm_create (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_split +.sp +MPI_Intercomm_create +MPI_Comm_create_group diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 new file mode 100644 index 00000000..efa95265 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_errhandler \fP \- Creates an error handler that can be attached to communicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function \fI*function\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_Comm_errhandler_fn and +MPI::Comm::Errhandler_fn types in favor of +MPI_Comm_errhandler_function and MPI::Comm::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_create_errhandler creates an error handler that can be attached to communicators. This function is identical to MPI_Errhandler_create, the use of which is deprecated. +.sp +In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as +.sp +.nf + typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, \&...); +.fi +.sp +The first argument is the communicator in use. The second is the error code +to be returned by the MPI routine that raised the error. This typedef replaces MPI_Handler_function, the use of which is deprecated. +.sp +In Fortran, the user routine should be of this form: +.sp +.nf + SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, \&...) + INTEGER COMM, ERROR_CODE +.fi +.sp +In C++, the user routine should be of this form: +.sp +.nf + typedef void MPI::Comm::Errhandler_function(MPI_Comm &, int *, \&...); +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 new file mode 100644 index 00000000..854d6c4a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_group\fP \- Creates a new communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_group(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, int\fI tag\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +group +Group, which is a subset of the group of comm (handle). +.TP 1i +tag +Tag (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_create_group is similar to MPI_Comm_create; however, +MPI_Comm_create must be called by all processes in the group of +comm, whereas MPI_Comm_create_group must be called by all processes in group, +which is a subgroup of the group of \fIcomm\fP. In addition, MPI_Comm_create_group +requires that \fIcomm\fP is an intracommunicator. MPI_Comm_create_group returns a new +intracommunicator, \fInewcomm\fP, for which the group argument defines the communication +group. No cached information propagates from \fIcomm\fP to \fInewcomm\fP. + +Each process must provide a group argument that is a subgroup of the group associated with \fIcomm\fP; +this could be MPI_GROUP_EMPTY. If a non-empty group is specified, then all processes in that +group must call the function, and each of these processes must provide the same arguments, +including a group that contains the same members with the same ordering. Otherwise +the call is erroneous. If the calling process is a member of the group given as the \fIgroup\fP +argument, then newcomm is a communicator with group as its associated group. If the +calling process is not a member of group, e.g., \fIgroup\fP is MPI_GROUP_EMPTY, then the call +is a local operation and MPI_COMM_NULL is returned as \fInewcomm\fP. + +.sp +.LP + +.SH NOTES +MPI_Comm_create_group provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create_group, can be used in subsequent calls to MPI_Comm_create_group (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Comm_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 new file mode 100644 index 00000000..71deb612 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_keyval\fP \- Generates a new attribute key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function + *\fIcomm_copy_attr_fn\fP, MPI_Comm_delete_attr_function + *\fIcomm_delete_attr_fn\fP, int *\fIcomm_keyval\fP, + void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_copy_attr_fn +Copy callback function for \fIcomm_keyval\fP (function). +.TP 1i +comm_delete_attr_fn +Delete callback function for \fIcomm_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +comm_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function replaces MPI_Keyval_create, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIextra_state\fP is an address-sized integer. Also, the copy and delete callback functions have Fortran bindings that are consistent with address-sized attributes. +.sp +The argument \fIcomm_copy_attr_fn\fP may be specified as MPI_COMM_NULL_COPY_FN or MPI_COMM_DUP_FN from C, C++, or Fortran. MPI_COMM_NULL_COPY_FN is a function that does nothing more than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_COMM_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. These replace the MPI-1 predefined callbacks MPI_NULL_COPY_FN and MPI_DUP_FN, the use of which is deprecated. +.sp +The C callback functions are: +.sp +.nf +typedef int MPI_Comm_copy_attr_function(MPI_Comm \fIoldcomm\fP, int \fIcomm_keyval\fP, + void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +and +.nf +typedef int MPI_Comm_delete_attr_function(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +which are the same as the MPI-1.1 calls but with a new name. The old names are deprecated. +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE COMM_COPY_ATTR_FN(\fIOLDCOMM, COMM_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDCOMM, COMM_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +and +.nf +SUBROUTINE COMM_DELETE_ATTR_FN(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, + IERROR\fP) + INTEGER \fICOMM, COMM_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Comm::Copy_attr_function(const MPI::Comm& \fIoldcomm\fP, + int \fIcomm_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, + void* \fIattribute_val_out\fP, bool& \fIflag\fP); +.fi +and +.nf +typedef int MPI::Comm::Delete_attr_function(MPI::Comm& \fIcomm\fP, + int \fIcomm_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 new file mode 100644 index 00000000..ff28f920 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_delete_attr\fP \- Deletes attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_delete_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator from which the attribute is deleted (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +comm_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_delete_attr deletes an attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the \fIcomm_keyval\fP was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS. + +Whenever a communicator is replicated using the function MPI_Comm_dup, all callback copy functions for attributes that are currently set are invoked (in arbitrary order). Whenever a communicator is deleted using the function MPI_Comm_free, all callback delete functions for attributes that are currently set are invoked. +.sp +This function is the same as MPI_Attr_delete but is needed to match the communicator-specific functions introduced in the MPI-2 standard. The use of MPI_Attr_delete is deprecated. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 new file mode 100644 index 00000000..2f953088 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_disconnect 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_disconnect\fP \- Deallocates communicator object and sets handle to MPI_COMM_NULL. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_disconnect(MPI_Comm *\fIcomm\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_disconnect waits for all pending communication on \fIcomm\fP to complete internally, deallocates the communicator object, and sets the handle to MPI_COMM_NULL. It is a collective operation. +.sp +It may not be called with the communicator MPI_COMM_WORLD or MPI_COMM_SELF. +.sp +MPI_Comm_disconnect may be called only if all communication is complete and matched, so that buffered data can be delivered to its destination. This requirement is the same as for MPI_Finalize. +.sp +MPI_Comm_disconnect has the same action as MPI_Comm_free, except that it waits for pending communication to finish internally and enables the guarantee about the behavior of disconnected processes. + +.SH NOTES +.ft R +To disconnect two processes you may need to call MPI_Comm_disconnect, MPI_Win_free, and MPI_File_close to remove all communication paths between the two processes. Note that it may be necessary to disconnect several communicators (or to free several windows or files) before two processes are completely independent. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_connect +.br +MPI_Comm_accept +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 new file mode 100644 index 00000000..ee753dc7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_dup \fP \- Duplicates an existing communicator with all its cached information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_dup(MPI_Comm \fIcomm\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_dup duplicates the existing communicator comm with associated key +values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information, but a new context (see Section 5.7.1 of the MPI-1 Standard, "Functionality"). + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_dup_with_info +MPI_Comm_idup diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 new file mode 100644 index 00000000..17263cfc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_dup_with_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_dup_with_info \fP \- Duplicates an existing communicator using provided info. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_dup_with_info(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). +.ft R +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_dup_with_info acts exactly like MPI_Comm_dup except that the +info hints associated with the communicator \fIcomm\fP are not duplicated in \fInewcomm\fP. The +hints provided by the argument \fIinfo\fP are associated with the output communicator \fInewcomm\fP +instead. +.sp +See +.BR MPI_Comm_set_info (3) +for the list of recognized info keys. + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup_with_info at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_dup +MPI_Comm_idup +MPI_Comm_set_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 new file mode 100644 index 00000000..6a270fa7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_f2c 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_f2c, MPI_Comm_c2f, MPI_File_f2c, MPI_File_c2f, MPI_Info_f2c, MPI_Info_c2f, MPI_Message_f2c, MPI_Message_c2f, MPI_Op_f2c, MPI_Op_c2f, MPI_Request_f2c, MPI_Request_c2f, MPI_Type_f2c, MPI_Type_c2f, MPI_Win_f2c, MPI_Win_c2f \fP \- Translates a C handle into a Fortran handle, or vice versa. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Comm MPI_Comm_f2c(MPI_Fint \fIcomm\fP) +MPI_Fint MPI_Comm_c2f(MPI_Comm \fIcomm\fP) + +MPI_File MPI_File_f2c(MPI_Fint \fIfile\fP) +MPI_Fint MPI_File_c2f(MPI_File \fIfile\fP) + +MPI_Group MPI_Group_f2c(MPI Fint \fIgroup\fP) +MPI_Fint MPI_Group_c2f(MPI Group \fIgroup\fP) + +MPI_Info MPI_Info_f2c(MPI_Fint \fIinfo\fP) +MPI_Fint MPI_Info_c2f(MPI_Info \fIinfo\fP) + +MPI_Message MPI_Message_f2c(MPI_Fint \fImessage\fP) +MPI_Fint MPI_Message_c2f(MPI_Message \fImessage\fP) + +MPI_Op MPI_Op_f2c(MPI_Fint \fIop\fP) +MPI_Fint MPI_Op_c2f(MPI_Op \fIop\fP) + +MPI_Request MPI_Request_f2c(MPI_Fint \fIrequest\fP) +MPI_Fint MPI_Request_c2f(MPI_Request \fIrequest\fP) + +MPI_Datatype MPI_Type_f2c(MPI_Fint \fIdatatype\fP) +MPI_Fint MPI_Type_c2f(MPI_Datatype \fIdatatype\fP) + +MPI_Win MPI_Win_f2c(MPI_Fint \fIwin\fP) +MPI_Fint MPI_Win_c2f(MPI_Win \fIwin\fP) + +.fi +.SH DESCRIPTION +.ft R +Handles are passed between Fortran and C or C++ by using an explicit C wrapper to convert Fortran handles to C handles. There is no direct access to C or C++ handles in Fortran. Handles are passed between C and C++ using overloaded C++ operators called from C++ code. There is no direct access to C++ objects from C. The type definition \fIMPI_Fint\fP is provided in C/C++ for an integer of the size that matches a Fortran \fIINTEGER\fP; usually, \fIMPI_Fint\fP will be equivalent to \fIint\fP. The handle translation functions are provided in C to convert from a Fortran handle (which is an integer) to a C handle, and vice versa. +.PP +For example, if \fIcomm\fP is a valid Fortran handle to a communicator, then MPI_Comm_f2c returns a valid C handle to that same communicator; if \fIcomm\fP = MPI_COMM_NULL (Fortran value), then MPI_Comm_f2c returns a null C handle; if \fIcomm\fP is an invalid Fortran handle, then MPI_Comm_f2c returns an invalid C handle. +.SH NOTE +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 new file mode 100644 index 00000000..dd5f4640 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_free \fP \- Mark a communicator object for deallocation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_free(MPI_Comm *\fIcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator to be destroyed (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This operation marks the communicator object for deallocation. The handle is set to MPI_COMM_NULL. Any pending operations that use this communicator will complete normally; the object is actually deallocated only if there are no other active references to it. This call applies to intracommunicators and intercommunicators. Upon actual deallocation, the delete callback functions for all cached attributes (see Section 5.7 in the MPI-1 Standard, "Caching") are called in arbitrary order. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_delete_attr diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 new file mode 100644 index 00000000..6b00050c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_free_keyval\fP \- Frees attribute key for communicator cache attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_free_keyval(int *\fIcomm_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm_keyval + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Comm_free_keyval frees an extant attribute key. This function sets the value of \fIkeyval\fP to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to MPI_Comm_delete_attr that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator. +.sp +This call is identical to the call MPI_Keyval_free but is needed to match the communicator-specific creation function introduced in the MPI-2 standard. The use of MPI_Keyval_free is deprecated. + + +.SH NOTES +.ft R +Key values are global (they can be used with any and all communicators). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 new file mode 100644 index 00000000..5b09107a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_attr\fP \- Retrieves attribute value by key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, + void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which the attribute is attached (handle). +.TP 1i +comm_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +attribute_val +Attribute value, unless f\fIlag\fP = false. +.TP 1i +flag +False if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_attr retrieves an attribute value by key. The call is erroneous if there is no key with value \fIkeyval\fP. On the other hand, the call is correct if the key value exists, but no attribute is attached on \fIcomm\fP for that key; in that case, the call returns \fIflag\fP = false. In particular, MPI_KEYVAL_INVALID is an erroneous key value. +.sp +This function replaces MPI_Attr_get, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 new file mode 100644 index 00000000..b330acc2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_errhandler \fP \- Retrieves error handler associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_errhandler(MPI_Comm \fIcomm\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +New error handler for communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. This call is identical to MPI_Errhandler_get, the use of which is deprecated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 new file mode 100644 index 00000000..67fd835e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_info\fP \- Retrieves active communicator info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_info(MPI_Comm \fIcomm\fP, MPI_Info \fI*info_used\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator from which to receive active info hints +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object returned with all active hints on this communicator. +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_Comm_get_info returns a new info object containing the hints of +the communicator associated with +.IR comm . +The current setting of all hints actually used by the system related +to this communicator is returned in +.IR info_used . +If no such hints exist, a handle to a newly created info object is +returned that contains no key/value pair. The user is responsible for +freeing info_used via MPI_Info_free. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Comm_get_info, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 new file mode 100644 index 00000000..feab035d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_name\fP \- Returns the name that was most recently associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_name(MPI_Comm \fIcomm\fP, char *\fIcomm_name\fP, int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator the name of which is to be returned (handle). +.TP 1i + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +comm_name +Name previously stored on the communicator, or an empty string if no such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_name returns the last name that was previously associated with the given communicator. The name may be set and retrieved from any language. The same name will be returned independent of the language used. \fIcomm_name\fP should be allocated so that it can hold a resulting string of length MPI_MAX_OBJECT_NAME characters. MPI_Comm_get_name returns a copy of the set name in \fIcomm_name\fP. +.sp +If the user has not associated a name with a communicator, or an error occurs, MPI_Comm_get_name will return an empty string (all spaces in Fortran, "" in C and C++). The three predefined communicators will have predefined names associated with them. Thus, the names of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT will have the default of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT. The fact that the system may have chosen to give a default name to a communicator does not prevent the user from setting a name on the same communicator; doing this removes the old name and assigns the new one. + +.SH NOTES +.ft R +It is safe simply to print the string returned by MPI_Comm_get_name, as it is always a valid string even if there was no name. +.sp +Note that associating a name with a communicator has no effect on the semantics of an MPI program, and will (necessarily) increase the store requirement of the program, since the names must be saved. Therefore, there is no requirement that users use these functions to associate names with communicators. However debugging and profiling MPI applications may be made easier if names are associated with communicators, since the debugger or profiler should then be able to present information in a less cryptic manner. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 new file mode 100644 index 00000000..440f747c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_parent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_parent\fP \- Returns the parent intercommunicator of current spawned process. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_parent(MPI_Comm *\fIparent\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +parent +The parent communicator (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, MPI_Comm_get_parent returns the "parent" intercommunicator of the current process. This parent intercommunicator is created implicitly inside of MPI_Init and is the same intercommunicator returned by the spawn call made in the parents. +.sp +If the process was not spawned, MPI_Comm_get_parent returns MPI_COMM_NULL. +.sp +After the parent communicator is freed or disconnected, MPI_Comm_get_parent returns MPI_COMM_NULL. + +.SH NOTES +.ft R +MPI_Comm_get_parent returns a handle to a single intercommunicator. Calling MPI_Comm_get_parent a second time returns a handle to the same intercommunicator. Freeing the handle with MPI_Comm_disconnect or MPI_Comm_free will cause other references to the intercommunicator to become invalid (dangling). Note that calling MPI_Comm_free on the parent communicator is not useful. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn +MPI_Comm_spawn_multiple + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 new file mode 100644 index 00000000..c9e639dc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_group \fP \- Returns the group associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_group(MPI_Comm \fIcomm\fP, MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Group in communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If the communicator is an intercommunicator (enables communication between two groups of processes), this function returns the local group. To return the remote group, use the MPI_Comm_remote_group function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 new file mode 100644 index 00000000..7c66cc23 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_idup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_idup \fP \- Start the nonblocking duplication of an existing communicator with all its cached information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_idup(MPI_Comm \fIcomm\fP, MPI_Comm\fI *newcomm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_idup starts the nonblocking duplication of an existing communicator comm with associated key +values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information, but a new context (see Section 5.7.1 of the MPI-1 Standard, "Functionality"). The communicator returned in \fInewcomm\fP will not be available until the request is complete. +.sp +The completion of a communicator duplication request can be determined by calling any of MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with the request returned by this function. + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_idup at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +MPI_Comm_dup +MPI_Comm_dup_with_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 new file mode 100644 index 00000000..3fdb313e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_join 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Comm_join\fP \- Establishes communication between MPI jobs + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Comm_join(int \fIfd\fP, MPI_Comm *\fIintercomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fd +socket file descriptor (socket). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator between processes (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_join creates an intercommunicator from the union of two MPI +processes that are connected by a socket. \fIfd\fP is a file +descriptor representing a socket of type SOCK_STREAM (a two-way +reliable byte-stream connection). Nonblocking I/O and asynchronous +notification via SIGIO must not be enabled for the socket. The socket +must be in a connected state, and must be quiescent when MPI_Comm_join +is called. +.sp +MPI_Comm_join must be called by the process at each end of the +socket. It does not return until both processes have called +MPI_Comm_join. + +.SH NOTES +.ft R +There are no MPI library calls for opening and manipulating a socket. +The socket \fIfd\fP can be opened using standard socket API calls. +MPI uses the socket to bootstrap creation of the intercommunicator, +and for nothing else. Upon return, the file descriptor will be open +and quiescent. +.sp +In a multithreaded process, the application must ensure that other +threads do not access the socket while one is in the midst of +calling MPI_Comm_join. +.sp +The returned communicator will contain the two processes connected by +the socket, and may be used to establish MPI communication with +additional processes, through the usual MPI communicator-creation +mechanisms. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +socket(3SOCKET) +MPI_Comm_create +MPI_Comm_group + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 new file mode 100644 index 00000000..0da54200 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_rank\fP \- Determines the rank of the calling process in the communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_rank(MPI_Comm \fIcomm\fP, int\fI *rank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of the calling process in group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function gives the rank of the process in the +particular communicator's group. It is equivalent to accessing the +communicator's group with MPI_Comm_group, computing the rank using MPI_Group_rank, and then freeing the temporary group via MPI_Group_free. +.sp +Many programs will be written with the master-slave model, where one process (such as the rank-zero process) will play a supervisory role, and the other processes will serve as compute nodes. In this framework, MPI_Comm_size and MPI_Comm_rank are useful for determining the roles of the various processes of a communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_group +MPI_Comm_size +MPI_Comm_compare + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 new file mode 100644 index 00000000..0906de8e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_remote_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_remote_group \fP \- Accesses the remote group associated with an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_remote_group(MPI_Comm \fIcomm\fP, MPI_Group\fI *group\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Remote group of communicator. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_remote_group accesses the remote group associated with an intercommunicator. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, +MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +.nf +MPI_Comm_test_inter +MPI_Comm_remote_size +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 new file mode 100644 index 00000000..ad1d76de --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_remote_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_remote_size \fP \- Determines the size of the remote group associated with an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_remote_size(MPI_Comm \fIcomm\fP, int\fI *size\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the remote group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_remote_size determines the size of the remote group associated with an intercommunicator. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_test_inter +MPI_Comm_remote_group +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 new file mode 100644 index 00000000..a1cd50e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_attr\fP \- Stores attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator from which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_set_attr stores the stipulated attribute value \fIattribute_val\fP for subsequent retrieval by MPI_Comm_get_attr. If the value is already present, then the outcome is as if MPI_Comm_delete_attr was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value \fIcomm_keyval\fP; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS. +.sp +This function replaces MPI_Attr_put, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +Values of the permanent attributes MPI_TAG_UB, MPI_HOST, +MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed. +.sp +The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single, address-size integer system for which a pointer does not fit in an integer. +.sp +If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 new file mode 100644 index 00000000..fb41588b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_errhandler \fP \- Attaches a new error handler to a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_errhandler(MPI_Comm \fIcomm\fP, + MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +New error handler for communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. This call is identical to MPI_Errhandler_set, the use of which is deprecated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 new file mode 100644 index 00000000..dc80a85c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 @@ -0,0 +1,86 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_info\fP \- Set communicator info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_info(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator on which to set info hints +.TP 1i +info +Info object containing hints to be set on +.I comm +. +.SH OUTPUT PARAMETERS +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_COMM_SET_INFO sets new values for the hints of the communicator +associated with +.IR comm . +MPI_COMM_SET_INFO is a collective routine. The info object may be +different on each process, but any info entries that an implementation +requires to be the same on all processes must appear with the same +value in each process's +.I info +object. +.sp +The following info key assertions may be accepted by Open MPI: +.sp +\fImpi_assert_no_any_tag\fP (boolean): If set to true, then the +implementation may assume that the process will not use the +MPI_ANY_TAG wildcard on the given +communicator. +.sp +\fImpi_assert_no_any_source\fP (boolean): If set to true, then +the implementation may assume that the process will not use the +MPI_ANY_SOURCE wildcard on the given communicator. +.sp +\fImpi_assert_exact_length\fP (boolean): If set to true, then the +implementation may assume that the lengths of messages received by the +process are equal to the lengths of the corresponding receive buffers, +for point-to-point communication operations on the given communicator. +.sp +\fImpi_assert_allow_overtaking\fP (boolean): If set to true, then the +implementation may assume that point-to-point communications on the +given communicator do not rely on the non-overtaking rule specified in +MPI-3.1 Section 3.5. In other words, the application asserts that send +operations are not required to be matched at the receiver in the order +in which the send operations were performed by the sender, and receive +operations are not required to be matched in the order in which they +were performed by the receiver. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Comm_get_info, +MPI_Info_create, +MPI_Info_set, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 new file mode 100644 index 00000000..6620526a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_name\fP \- Associates a name with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_name(MPI_Comm \fIcomm\fP, const char *\fIcomm_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator whose identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +comm_name +Character string to be used as the identifier for the communicator (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Comm_set_name allows a user to associate a name string with a communicator. The character string that is passed to MPI_Comm_set_name is saved inside the MPI library (so it can be freed by the caller immediately after the call, or allocated on the stack). Leading spaces in \fIname\fP are significant, but trailing ones are not. +.sp +MPI_Comm_set_name is a local (noncollective) operation, which affects only the name of the communicator as seen in the process that made the MPI_Comm_set_name call. There is no requirement that the same (or any) name be assigned to a communicator in every process where it exists. +.sp +The length of the name that can be stored is limited to the value of MPI_MAX_OBJECT_NAME in Fortran and MPI_MAX_OBJECT_NAME-1 in C and C++ (to allow for the null terminator). Attempts to set names longer than this will result in truncation of the name. MPI_MAX_OBJECT_NAME must have a value of at least 64. + + +.SH NOTES +.ft R +Since MPI_Comm_set_name is provided to help debug code, it is sensible to give the same name to a communicator in all of the processes where it exists, to avoid confusion. +.sp +Regarding name length, under circumstances of store exhaustion, an attempt to set a name of any length could fail; therefore, the value of MPI_MAX_OBJECT_NAME should be viewed only as a strict upper bound on the name length, not a guarantee that setting names of less than this length will always succeed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Comm_get_name +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 new file mode 100644 index 00000000..0798b584 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_size \fP \- Returns the size of the group associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_size(MPI_Comm \fIcomm\fP, int *\fIsize\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function indicates the number of processes involved in a +communicator. For MPI_COMM_WORLD, it indicates the total number of +processes available. This function is equivalent to accessing the +communicator's group with MPI_Comm_group, computing the size using +MPI_Group_size, and then freeing the temporary group via +MPI_Group_free. If the communicator is an inter-communicator (enables +communication between two groups), this function returns the size of +the local group. To return the size of the remote group, use the +MPI_Comm_remote_size function. +.sp +This call is often used with MPI_Comm_rank to determine the amount of concurrency available for a specific library or program. MPI_Comm_rank indicates the rank of the process that calls it in the range from 0 . . . size-1, where size is the return value of MPI_Comm_size. + +.SH NOTE +.ft R +MPI_COMM_NULL is not considered a valid argument to this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_group +MPI_Comm_rank +MPI_Comm_compare + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 new file mode 100644 index 00000000..068715e2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 @@ -0,0 +1,207 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_spawn 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_spawn\fP \- Spawns a number of identical binaries. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_spawn(const char *\fIcommand\fP, char *\fIargv\fP[], int \fImaxprocs\fP, + MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Comm *\fIintercomm\fP, int \fIarray_of_errcodes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +command +Name of program to be spawned (string, significant only at \fIroot\fP). +.TP 1i +argv +Arguments to \fIcommand\fP (array of strings, significant only at \fIroot\fP). +.TP 1i +maxprocs +Maximum number of processes to start (integer, significant only at \fIroot\fP). +.TP 1i +info +A set of key-value pairs telling the runtime system where and how to start the processes (handle, significant only at \fIroot\fP). +.TP 1i +root +Rank of process in which previous arguments are examined (integer). +.TP 1i +comm +Intracommunicator containing group of spawning processes (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +intercomm +Intercommunicator between original group and the newly spawned group (handle). +.TP 1i +array_of_errcodes +One code per process (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_spawn tries to start \fImaxprocs\fP identical copies of the MPI program specified by \fIcommand\fP, establishing communication with them and returning an intercommunicator. The spawned processes are referred to as children. The children have their own MPI_COMM_WORLD, which is separate from that of the parents. MPI_Comm_spawn is collective over \fIcomm\fP, and also may not return until MPI_Init has been called in the children. Similarly, MPI_Init in the children may not return until all parents have called MPI_Comm_spawn. In this sense, MPI_Comm_spawn in the parents and MPI_Init in the children form a collective operation over the union of parent and child processes. The intercommunicator returned by MPI_Comm_spawn contains the parent processes in the local group and the child processes in the remote group. The ordering of processes in the local and remote groups is the same as the as the ordering of the group of the \fIcomm\fP in the parents and of MPI_COMM_WORLD of the children, respectively. This intercommunicator can be obtained in the children through the function MPI_Comm_get_parent. +.sp +The MPI standard allows an implementation to use the MPI_UNIVERSE_SIZE attribute of MPI_COMM_WORLD to specify the number of processes that will be active in a program. Although this implementation of the MPI standard defines MPI_UNIVERSE_SIZE, it does not allow the user to set its value. If you try to set the value of MPI_UNIVERSE_SIZE, you will get an error message. +.sp +The \fIcommand\fP Argument +.sp +The \fIcommand\fP argument is a string containing the name of a program to be spawned. The string is null-terminated in C. In Fortran, leading and trailing spaces are stripped. MPI looks for the file first in the working directory of the spawning process. +.sp +The \fIargv\fP Argument +.sp +\fIargv\fP is an array of strings containing arguments that are passed +to the program. The first element of \fIargv\fP is the first argument +passed to \fIcommand\fP, not, as is conventional in some contexts, the +command itself. The argument list is terminated by NULL in C and C++ +and an empty string in Fortran (note that it is the MPI application's +responsibility to ensure that the last entry of the +.I argv +array is an empty string; the compiler will not automatically insert +it). In Fortran, leading and trailing spaces are always stripped, so +that a string consisting of all spaces is considered an empty +string. The constant MPI_ARGV_NULL may be used in C, C++ and Fortran +to indicate an empty argument list. In C and C++, this constant is the +same as NULL. +.sp +In C, the MPI_Comm_spawn argument \fIargv\fP differs from the \fIargv\fP argument of \fImain\fP in two respects. First, it is shifted by one element. Specifically, \fIargv\fP[0] of \fImain\fP contains the name of the program (given by \fIcommand\fP). \fIargv\fP[1] of \fImain\fP corresponds to \fIargv\fP[0] in MPI_Comm_spawn, \fIargv\fP[2] of \fImain\fP to \fIargv\fP[1] of MPI_Comm_spawn, and so on. Second, \fIargv\fP of MPI_Comm_spawn must be null-terminated, so that its length can be determined. Passing an \fIargv\fP of MPI_ARGV_NULL to MPI_Comm_spawn results in \fImain\fP receiving \fIargc\fP of 1 and an \fIargv\fP whose element 0 is the name of the program. +.sp +The \fImaxprocs\fP Argument +.sp +Open MPI tries to spawn \fImaxprocs\fP processes. If it is unable to spawn \fImaxprocs\fP processes, it raises an error of class MPI_ERR_SPAWN. If MPI is able to spawn the specified number of processes, MPI_Comm_spawn returns successfully and the number of spawned processes, \fIm\fP, is given by the size of the remote group of \fIintercomm\fP. +.sp +A spawn call with the default behavior is called hard. A spawn call for which fewer than \fImaxprocs\fP processes may be returned is called soft. +.sp +The \fIinfo\fP Argument +.sp +The \fIinfo\fP argument is an opaque handle of type MPI_Info in C, MPI::Info in C++ and INTEGER in Fortran. It is a container for a number of user-specified (\fIkey,value\fP) pairs. \fIkey\fP and \fIvalue\fP are strings (null-terminated char* in C, character*(*) in Fortran). Routines to create and manipulate the \fIinfo\fP argument are described in Section 4.10 of the MPI-2 standard. +.sp +For the SPAWN calls, \fIinfo\fP provides additional, implementation-dependent instructions to MPI and the runtime system on how to start processes. An application may pass MPI_INFO_NULL in C or Fortran. Portable programs not requiring detailed control over process locations should use MPI_INFO_NULL. +.sp +The following keys for \fIinfo\fP are recognized in Open MPI. (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.) +.sp +.nf +Key Type Description +--- ---- ----------- + +host char * Host on which the process should be + spawned. See the \fIorte_host\fP man + page for an explanation of how this + will be used. +hostfile char * Hostfile containing the hosts on which + the processes are to be spawned. See + the \fIorte_hostfile\fP man page for + an explanation of how this will be + used. +add-host char * Add the specified host to the list of + hosts known to this job and use it for + the associated process. This will be + used similarly to the -host option. +add-hostfile char * Hostfile containing hosts to be added + to the list of hosts known to this job + and use it for the associated + process. This will be used similarly + to the -hostfile option. +wdir char * Directory where the executable is + located. If files are to be + pre-positioned, then this location is + the desired working directory at time + of execution - if not specified, then + it will automatically be set to + \fIompi_preload_files_dest_dir\fP. +ompi_prefix char * Same as the --prefix command line + argument to mpirun. +ompi_preload_binary bool If set to true, pre-position the + specified executable onto the remote + host. A destination directory must + also be provided. +ompi_preload_files char * A comma-separated list of files that + are to be pre-positioned in addition + to the executable. Note that this + option does not depend upon + \fIompi_preload_binary\fP - files can + be moved to the target even if an + executable is not moved. +ompi_stdin_target char * Comma-delimited list of ranks to + receive stdin when forwarded. +ompi_non_mpi bool If set to true, launching a non-MPI + application; the returned communicator + will be MPI_COMM_NULL. Failure to set + this flag when launching a non-MPI + application will cause both the child + and parent jobs to "hang". +ompi_param char * Pass an OMPI MCA parameter to the + child job. If that parameter already + exists in the environment, the value + will be overwritten by the provided + value. +mapper char * Mapper to be used for this job +map_by char * Mapping directive indicating how + processes are to be mapped (slot, + node, socket, etc.). +rank_by char * Ranking directive indicating how + processes are to be ranked (slot, + node, socket, etc.). +bind_to char * Binding directive indicating how + processes are to be bound (core, slot, + node, socket, etc.). +path char * List of directories to search for + the executable +npernode char * Number of processes to spawn on + each node of the allocation +pernode bool Equivalent to npernode of 1 +ppr char * Spawn specified number of processes + on each of the identified object type +env char * Newline-delimited list of envars to + be passed to the spawned procs +.fi + +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. + +.sp +The \fIroot\fP Argument +.sp +All arguments before the \fIroot\fP argument are examined only on the process whose rank in \fIcomm\fP is equal to \fIroot\fP. The value of these arguments on other processes is ignored. +.sp +The \fIarray_of_errcodes\fP Argument +.sp +The \fIarray_of_errcodes\fP is an array of length \fImaxprocs\fP in which MPI reports the status of the processes that MPI was requested to start. If all \fImaxprocs\fP processes were spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_SUCCESS. If anyof the processes are \fInot\fP spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_ERR_SPAWN. In C or Fortran, an application may pass MPI_ERRCODES_IGNORE if it is not interested in the error codes. In C++ this constant does not exist, and the \fIarray_of_errcodes\fP argument may be omitted from the argument list. + +.SH NOTES +.ft R +Completion of MPI_Comm_spawn in the parent does not necessarily mean that MPI_Init has been called in the children (although the returned intercommunicator can be used immediately). + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn_multiple(3) +MPI_Comm_get_parent(3) +mpirun(1) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 new file mode 100644 index 00000000..46fbe447 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 @@ -0,0 +1,239 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2018 Cisco Systems, Inc. All rights reserved +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_spawn_multiple 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_spawn_multiple\fP \- Spawns multiple binaries, or the same binary with multiple sets of arguments. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_spawn_multiple(int \fIcount\fP, char *\fIarray_of_commands\fP[], + char **\fIarray_of_argv\fP[], const int \fIarray_of_maxprocs\fP[], const MPI_Info + \fIarray_of_info\fP[], int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fIintercomm\fP, + int \fIarray_of_errcodes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of commands (positive integer, significant to MPI only at \fIroot\fP -- see NOTES). +.TP 1i +array_of_commands +Programs to be executed (array of strings, significant only at \fIroot\fP). +.TP 1i +array_of_argv +Arguments for \fIcommands\fP (array of array of strings, significant only at \fIroot\fP). +.TP 1i +array_of_maxprocs +Maximum number of processes to start for each command (array of integers, significant only at \fIroot\fP). +.TP 1i +array_of_info +Info objects telling the runtime system where and how to start processes (array of handles, significant only at \fIroot\fP). +.TP 1i +root +Rank of process in which previous arguments are examined (integer). +.TP 1i +comm +Intracommunicator containing group of spawning processes (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator between original group and the newly spawned group (handle). +.TP 1i +array_of_errcodes +One code per process (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_spawn_multiple is identical to MPI_Comm_spawn(3) except that +it can specify multiple executables. The first argument, \fIcount\fP, +indicates the number of executables. The next three arguments are +arrays of the corresponding arguments in MPI_Comm_spawn(3). The next +argument, \fIarray_of_info\fP, is an array of \fIinfo\fP arguments, one +for each executable. See the INFO ARGUMENTS section for more information. +.sp +For the Fortran version of \fIarray_of_argv\fP, the element \fIarray_of_argv\fP(i,j) is the jth argument to command number i. +.sp +In any language, an application may use the constant MPI_ARGVS_NULL (which is likely to be (char ***)0 in C) to specify that no arguments should be passed to any commands. The effect of setting individual elements of \fIarray_of_argv\fP to MPI_ARGV_NULL is not defined. To specify arguments for some commands but not others, the commands without arguments should have a corresponding \fIargv\fP whose first element is null ((char *)0 in C and empty string in Fortran). +.sp +All of the spawned processes have the same MPI_COMM_WORLD. Their ranks in MPI_COMM_WORLD correspond directly to the order in which the commands are specified in MPI_Comm_spawn_multiple. Assume that m1 processes are generated by the first command, m2 by the second, etc. The processes corresponding to the first command have ranks 0, 1,..., m1-1. The processes in the second command have ranks m1, m1+1, ..., m1+m2-1. The processes in the third have ranks m1+m2, m1+m2+1, ..., m1+m2+m3-1, etc. +.sp +The \fIarray_of_errcodes\fP argument is 1-dimensional array of size +.sp +.nf + _ count + \\ n , + /_ i=1 i +.fi +.sp +where i is the ith element of \fIarray_of_maxprocs\fP. Command number \fIi\fP corresponds to the i contiguous slots in this array from element +.sp +.nf + _ _ + _ \fIi\fP-1 | _ \fIi\fP | + \\ n , to | \\ n | -1 + /_ \fIj\fP=1 i | /_ \fIj\fP=1 j | + |_ _| +.fi +.sp +Error codes are treated as for MPI_Comm_spawn(3). + + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized in "Open MPI". (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.) +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +host char * Comma-separated list of hosts on which + the processes should be spawned. See + the \fIorte_host\fP man page for an + explanation of how this will be used. +hostfile char * Hostfile containing the hosts on which + the processes are to be spawned. See + the \fIorte_hostfile\fP man page for + an explanation of how this will be + used. +add-host char * Add the specified hosts to the list of + hosts known to this job and use it for + the associated processes. This will be + used similarly to the -host option. +add-hostfile char * Hostfile containing hosts to be added + to the list of hosts known to this job + and use it for the associated + process. This will be used similarly + to the -hostfile option. +wdir char * Directory where the executable is + located. If files are to be + pre-positioned, then this location is + the desired working directory at time + of execution - if not specified, then + it will automatically be set to + \fIompi_preload_files_dest_dir\fP. +ompi_prefix char * Same as the --prefix command line + argument to mpirun. +ompi_preload_binary bool If set to true, pre-position the + specified executable onto the remote + host. A destination directory must + also be provided. +ompi_preload_files char * A comma-separated list of files that + are to be pre-positioned in addition + to the executable. Note that this + option does not depend upon + \fIompi_preload_binary\fP - files can + be moved to the target even if an + executable is not moved. +ompi_stdin_target char * Comma-delimited list of ranks to + receive stdin when forwarded. +ompi_non_mpi bool If set to true, launching a non-MPI + application; the returned communicator + will be MPI_COMM_NULL. Failure to set + this flag when launching a non-MPI + application will cause both the child + and parent jobs to "hang". +ompi_param char * Pass an OMPI MCA parameter to the + child job. If that parameter already + exists in the environment, the value + will be overwritten by the provided + value. +mapper char * Mapper to be used for this job +map_by char * Mapping directive indicating how + processes are to be mapped (slot, + node, socket, etc.). +rank_by char * Ranking directive indicating how + processes are to be ranked (slot, + node, socket, etc.). +bind_to char * Binding directive indicating how + processes are to be bound (core, slot, + node, socket, etc.). +path char * List of directories to search for + the executable +npernode char * Number of processes to spawn on + each node of the allocation +pernode bool Equivalent to npernode of 1 +ppr char * Spawn specified number of processes + on each of the identified object type +env char * Newline-delimited list of envars to + be passed to the spawned procs +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. + +.sp +Note that if any of the info handles have \fIompi_non_mpi\fP set to +true, then all info handles must have it set to true. If some are set +to true, but others are set to false (or are unset), MPI_ERR_INFO will +be returned. + +.sp +Note that in "Open MPI", the first array location in \fIarray_of_info\fP is applied to all the commands in \fIarray_of_commands\fP. + +.SH NOTES +The argument \fIcount\fP is interpreted by MPI only at the root, as is \fIarray_of_argv\fP. Since the leading dimension of \fIarray_of_argv\fP is \fIcount\fP, a nonpositive value of \fIcount\fP at a nonroot node could theoretically cause a runtime bounds check error, even though \fIarray_of_argv\fP should be ignored by the subroutine. If this happens, you should explicitly supply a reasonable value of \fIcount\fP on the nonroot nodes. +.sp +Similar to MPI_Comm_spawn(3), it is the application's responsibility +to terminate each individual set of argv in the +.I array_of_argv +argument. In C, each argv array is terminated by a NULL pointer. In +Fortran, each argv array is terminated by an empty string (note that +compilers will not automatically insert this blank string; the +application must ensure to have enough space for an empty string entry +as the last element of the array). +.sp +Other restrictions apply to the +.I array_of_argv +parameter; see MPI_Comm_spawn(3)'s description of the +.I argv +parameter for more details. +.sp +MPI-3.1 implies (but does not directly state) that the argument +\fIarray_of_commands\fP must be an array of strings of length +\fIcount\fP. Unlike the \fIarray_of_argv\fP parameter, +\fIarray_of_commands\fP does not need to be terminated with a NULL +pointer in C or a blank string in Fortran. Older versions of Open MPI +required that \fIarray_of_commands\fP be terminated with a blank +string in Fortran; that is no longer required in this version of Open +MPI. +.sp +Calling MPI_Comm_spawn(3) many times would create many sets of +children with different MPI_COMM_WORLDs, whereas +MPI_Comm_spawn_multiple creates children with a single MPI_COMM_WORLD, +so the two methods are not completely equivalent. Also if you need to +spawn multiple executables, you may get better performance by using +MPI_Comm_spawn_multiple instead of calling MPI_Comm_spawn(3) several +times. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn(3) +MPI_Comm_get_parent(3) +mpirun(1) diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 new file mode 100644 index 00000000..8d6b1eaa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_split 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_split \fP \- Creates new communicators based on colors and keys. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_split(MPI_Comm \fIcomm\fP, int\fI color\fP, int\fI key\fP, + MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +color +Control of subset assignment (nonnegative integer). +.TP 1i +key +Control of rank assignment (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function partitions the group associated with comm into disjoint subgroups, one for each value of color. Each subgroup contains all processes of the same color. Within each subgroup, the processes are ranked in the order defined by the value of the argument key, with ties broken according to their rank in the old group. A new communicator is created for each subgroup and returned in newcomm. A process may supply the color value MPI_UNDEFINED, in which case newcomm returns MPI_COMM_NULL. This is a collective call, but each process is permitted to provide different values for color and key. +.sp +When you call MPI_Comm_split on an inter-communicator, the processes on the left with the same color as those on the right combine to create a new inter-communicator. The key argument describes the relative rank of processes on each side of the inter-communicator. The function returns MPI_COMM_NULL for those colors that are specified on only one side of the inter-communicator, or for those that specify MPI_UNDEFINED as the color. +.sp +A call to MPI_Comm_create(\fIcomm\fP, \fIgroup\fP, \fInewcomm\fP) is equivalent to a call to MPI_Comm_split(\fIcomm\fP, \fIcolor\fP,\fI key\fP, \fInewcomm\fP), where all members of \fIgroup\fP provide \fIcolor\fP = 0 and \fIkey\fP = rank in group, and all processes that are not members of \fIgroup\fP provide \fIcolor\fP = MPI_UNDEFINED. The function MPI_Comm_split allows more general partitioning of a group into one or more subgroups with optional reordering. +.sp +The value of \fIcolor\fP must be nonnegative or MPI_UNDEFINED. + +.SH NOTES +.ft R +This is an extremely powerful mechanism for +dividing a single communicating group of processes into k subgroups, with k +chosen implicitly by the user (by the number of colors asserted over all +the processes). Each resulting communicator will be nonoverlapping. Such a division could be useful for defining a hierarchy of computations, such as for multigrid or linear algebra. +.sp +Multiple calls to MPI_Comm_split can be used to overcome the requirement that any call have no overlap of the resulting communicators (each process is of only one color per call). In this way, multiple overlapping communication structures can be created. Creative use of the color and key in such splitting operations is encouraged. +.sp +Note that, for a fixed color, the keys need not be unique. It is MPI_Comm_split's responsibility to sort processes in ascending order according to this key, and to break ties in a consistent way. If all the keys are specified in the same way, then all the processes in a given color will have the relative rank order as they did in their parent group. (In general, they will have different ranks.) +.sp +Essentially, making the key value zero for all processes of a given color +means that one needn't really pay attention to the rank-order of the processes in the new communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create +.br +MPI_Intercomm_create +.br +MPI_Comm_dup +.br +MPI_Comm_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 new file mode 100644 index 00000000..2827952a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 @@ -0,0 +1,146 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_split_type 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_split_type \fP \- Creates new communicators based on colors and keys. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_split_type(MPI_Comm \fIcomm\fP, int\fI split_type\fP, int\fI key\fP, + MPI_Info info, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +split_type +Type of processes to be grouped together (integer). +.TP 1i +key +Control of rank assignment (integer). +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function partitions the group associated with \fIcomm\fP into disjoint subgroups, based on +the type specied by \fIsplit_type\fP. Each subgroup contains all processes of the same type. +Within each subgroup, the processes are ranked in the order defined by the value of the +argument \fIkey\fP, with ties broken according to their rank in the old group. A new communicator +is created for each subgroup and returned in newcomm. This is a collective call; +all processes must provide the same \fIsplit_type\fP, but each process is permitted to provide +different values for key. An exception to this rule is that a process may supply the type +value MPI_UNDEFINED, in which case newcomm returns MPI_COMM_NULL. + +.SH SPLIT TYPES +.ft R +.TP 1i +MPI_COMM_TYPE_SHARED +This type splits the communicator into subcommunicators, each of which can create a shared memory region. + +.ft R +.TP 1i +OMPI_COMM_TYPE_NODE +Synonym for MPI_COMM_TYPE_SHARED. +.ft R +.TP 1i +OMPI_COMM_TYPE_HWTHREAD +This type splits the communicator into subcommunicators, each of which belongs to the same hardware thread. +.ft R +.TP 1i +OMPI_COMM_TYPE_CORE +This type splits the communicator into subcommunicators, each of which belongs to the same core/processing unit. +.ft R +.TP 1i +OMPI_COMM_TYPE_L1CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L1 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_L2CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L2 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_L3CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L3 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_SOCKET +This type splits the communicator into subcommunicators, each of which belongs to the same socket. +.ft R +.TP 1i +OMPI_COMM_TYPE_NUMA +This type splits the communicator into subcommunicators, each of which belongs to the same NUMA-node. +.ft R +.TP 1i +OMPI_COMM_TYPE_BOARD +This type splits the communicator into subcommunicators, each of which belongs to the same board. +.ft R +.TP 1i +OMPI_COMM_TYPE_HOST +This type splits the communicator into subcommunicators, each of which belongs to the same host. +.ft R +.TP 1i +OMPI_COMM_TYPE_CU +This type splits the communicator into subcommunicators, each of which belongs to the same computational unit. +.ft R +.TP 1i +OMPI_COMM_TYPE_CLUSTER +This type splits the communicator into subcommunicators, each of which belongs to the same cluster. + +.SH NOTES +.sp +The communicator keys denoted with an +.I OMPI_ +prefix instead of an +.I MPI_ +prefix are specific to Open MPI, and are not part of the MPI +standard. Their use should be protected by the +.I OPEN_MPI +C preprocessor macro. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create +.br +MPI_Intercomm_create +.br +MPI_Comm_dup +.br +MPI_Comm_free +.br +MPI_Comm_split + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 new file mode 100644 index 00000000..6396c43c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_test_inter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_test_inter \fP \- Tests to see if a comm is an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_test_inter(MPI_Comm \fIcomm\fP, int\fI *flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag (Logical.) +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This local routine allows the calling process to determine the type of a communicator. It returns true for an intercommunicator, false for an intracommunicator. +.sp +The type of communicator also affects the value returned by three other functions. When dealing with an intracommunicator (enables communication within a single group), the functions listed below return the expected values, group size, group, and rank. When dealing with an inter-communicator, however, they return the following values: +.sp +.nf +MPI_Comm_size Returns the size of the local group. +MPI_Comm_group Returns the local group. +MPI_Comm_rank Returns the rank in the local group. +.fi +.sp +To return the remote group and remote group size of an inter-communicator, use the MPI_Comm_remote_group and MPI_Comm_remote_size functions. +.sp +The operation MPI_Comm_compare is valid for intercommunicators. Both communicators must be either intra- or intercommunicators, or else MPI_UNEQUAL results. Both corresponding local and remote groups must compare correctly to get the results MPI_CONGRUENT and MPI_SIMILAR. In particular, it is possible for MPI_SIMILAR to result because either the local or remote groups were similar but not identical. +.sp +The following accessors provide consistent access to the remote group of an +intercommunicator: MPI_Comm_remote_size, MPI_Comm_remote_group. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_remote_group +MPI_Comm_remote_size +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 new file mode 100644 index 00000000..ecfae0f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Compare_and_swap 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Compare_and_swap\fP \- Perform RMA compare-and-swap + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Compare_and_swap(const void *\fIorigin_addr\fP, const void *\fIcompare_addr\fP, + void *\fIresult_addr\fP, MPI_Datatype \fIdatatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP +compare_addr +Initial address of compare buffer (choice). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +datatype +Data type of the entry in origin, result, and target buffers (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function compares one element of type \fIdatatype\fP in the compare buffer \fIcompare_addr\fP with the buffer at offset \fItarget_disp\fP in the target window specified by \fItarget_rank\fP and \fIwin\fP and replaces the value at the target with the value in the origin buffer \fIorigin_addr\fP if the compare buffer and the target buffer are identical. The original value at the target is returned in the buffer \fIresult_addr\fP. The parameter \fIdatatype\fP must belong to one of the following categories of predefined datatypes: C integer, Fortran integer, Logical, Multi-language types, or Byte as specified in MPI-3 § 5.9.2 on page 176. +.sp +The origin and result buffers (\fIorigin_addr\fP and \fIresult_addr\fP) must be disjoint. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Compare_and_swap\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 new file mode 100644 index 00000000..aa7b275c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dims_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dims_create \fP \- Creates a division of processors in a Cartesian grid. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dims_create(int \fInnodes\fP, int\fI ndims\fP, int\fI dims\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +nnodes +Number of nodes in a grid (integer). +.TP 1i +ndims +Number of Cartesian dimensions (integer). + +.SH IN/OUT PARAMETER +.TP 1i +dims +Integer array of size ndims specifying the number of nodes in each dimension. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For Cartesian topologies, the function MPI_Dims_create helps the user select a balanced distribution of processes per coordinate direction, depending on the number of processes in the group to be balanced and optional constraints that can be specified by the user. One use is to partition all the processes (the size of MPI_COMM_WORLD's group) into an n-dimensional topology. +.sp +The entries in the array \fIdims\fP are set to describe a Cartesian grid with \fIndims\fP dimensions and a total of \fInnodes\fP nodes. The dimensions are set to be as close to each other as possible, using an appropriate divisibility algorithm. The caller may further constrain the operation of this routine by specifying elements of array dims. If dims[i] is set to a positive number, the routine will not modify the number of nodes in dimension i; only those entries where dims[i] = 0 are modified by the call. +.sp +Negative input values of dims[i] are erroneous. An error will occur if +nnodes is not a multiple of ((pi) over (i, dims[i] != 0)) dims[i]. +.sp +For dims[i] set by the call, dims[i] will be ordered in nonincreasing order. Array dims is suitable for use as input to routine MPI_Cart_create. MPI_Dims_create is local. +.sp +\fBExample:\fP +.nf + +dims +before dims +call function call on return +----------------------------------------------------- +(0,0) MPI_Dims_create(6, 2, dims) (3,2) +(0,0) MPI_Dims_create(7, 2, dims) (7,1) +(0,3,0) MPI_Dims_create(6, 3, dims) (2,3,1) +(0,3,0) MPI_Dims_create(7, 3, dims) erroneous call +------------------------------------------------------ + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 new file mode 100644 index 00000000..a3c87ce2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 @@ -0,0 +1,112 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_create \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_create(MPI_Comm \fIcomm_old\fP, int\fI n\fP, const int\fI sources[]\fP, + const int\fI degrees[]\fP, const int\fI destinations\fP[], const int\fI weights\fP[], + MPI_Info info, int\fI reorder\fP, MPI_Comm\fI *comm_dist_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +n +Number of source nodes for which this process specifies edges (non-negative integer). +.TP 1i +sources +Array containing the \fIn\fP source nodes for which this process species edges (array of non-negative integers). +.TP 1i +degrees +Array specifying the number of destinations for each source node in the source node array (array of non-negative integers). +.TP 1i +destinations +Destination nodes for the source nodes in the source node array (array of non-negative integers). +.TP 1i +weights +Weights for source to destination edges (array of non-negative integers). +.TP 1i +Hints on optimization and interpretation of weights (handle). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_dist_graph +Communicator with distibuted graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_create creates a new communicator \fIcomm_dist_graph\fP with distrubuted +graph topology and returns a handle to the new communicator. The number of processes in +\fIcomm_dist_graph\fP is identical to the number of processes in \fIcomm_old\fP. Concretely, each process calls the +constructor with a set of directed (source,destination) communication edges as described below. +Every process passes an array of \fIn\fP source nodes in the \fIsources\fP array. For each source node, a +non-negative number of destination nodes is specied in the \fIdegrees\fP array. The destination +nodes are stored in the corresponding consecutive segment of the \fIdestinations\fP array. More +precisely, if the i-th node in sources is s, this species \fIdegrees\fP[i] \fIedges\fP (s,d) with d of the j-th +such edge stored in \fIdestinations\fP[\fIdegrees\fP[0]+...+\fIdegrees\fP[i-1]+j]. The weight of this edge is +stored in \fIweights\fP[\fIdegrees\fP[0]+...+\fIdegrees\fP[i-1]+j]. Both the \fIsources\fP and the \fIdestinations\fP arrays +may contain the same node more than once, and the order in which nodes are listed as +destinations or sources is not signicant. Similarly, different processes may specify edges +with the same source and destination nodes. Source and destination nodes must be process +ranks of comm_old. Different processes may specify different numbers of source and +destination nodes, as well as different source to destination edges. This allows a fully distributed +specification of the communication graph. Isolated processes (i.e., processes with +no outgoing or incoming edges, that is, processes that do not occur as source or destination +node in the graph specication) are allowed. The call to MPI_Dist_graph_create is collective. + +If reorder = false, all processes will have the same rank in comm_dist_graph as in +comm_old. If reorder = true then the MPI library is free to remap to other processes (of +comm_old) in order to improve communication on the edges of the communication graph. +The weight associated with each edge is a hint to the MPI library about the amount or +intensity of communication on that edge, and may be used to compute a \"best\" reordering. + +.SH WEIGHTS +.ft R +Weights are specied as non-negative integers and can be used to influence the process +remapping strategy and other internal MPI optimizations. For instance, approximate count +arguments of later communication calls along specic edges could be used as their edge +weights. Multiplicity of edges can likewise indicate more intense communication between +pairs of processes. However, the exact meaning of edge weights is not specied by the MPI +standard and is left to the implementation. An application can supply the special value +MPI_UNWEIGHTED for the weight array to indicate that all edges have the same (effectively no) +weight. It is erroneous to supply MPI_UNWEIGHTED for some but not +all processes of comm_old. If the graph is weighted but \fIn\fP = 0, then MPI_WEIGHTS_EMPTY +or any arbitrary array may be passed to weights. Note that MPI_UNWEIGHTED and +MPI_WEIGHTS_EMPTY are not special weight values; rather they are special values for the +total array argument. In Fortran, MPI_UNWEIGHTED and MPI_WEIGHTS_EMPTY are objects +like MPI_BOTTOM (not usable for initialization or assignment). See MPI-3 § 2.5.4. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_create_adjacent +MPI_Dist_graph_neighbors +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 new file mode 100644 index 00000000..e8e21ef6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_create_adjacent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_create_adjacent \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_create_adjacent(MPI_Comm \fIcomm_old\fP, int\fI indegree\fP, const int\fI sources[]\fP, + const int\fI sourceweights[]\fP, int\fI outdegree\fP, const int\fI destinations\fP[], const int\fI destweights\fP[], + MPI_Info info, int\fI reorder\fP, MPI_Comm\fI *comm_dist_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +indegree +Size of \fIsources\fP and \fIsourceweights\fP arrays (non-negative integer). +.TP 1i +sources +Ranks of processes for which the calling process is a destination (array of non-negative integers). +.TP 1i +sourceweights +Weights of the edges into the calling process (array of non-negative integers). +.TP 1i +outdegree +Size of \fIdestinations\fP and \fIdestweights\fP arrays (non-negative integer). +.TP 1i +destinations +Ranks of processes for which the calling process is a source (array of non-negative integers). +.TP 1i +destweights +Weights of the edges out of the calling process (array of non-negative integers). +.TP 1i +Hints on optimization and interpretation of weights (handle). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_dist_graph +Communicator with distibuted graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_create_adjacent creats a new communicator \fIcomm_dist_graph\fP with distrubuted +graph topology and returns a handle to the new communicator. The number of processes in +\fIcomm_dist_graph\fP is identical to the number of processes in \fIcomm_old\fP. Each process passes all +information about its incoming and outgoing edges in the virtual distributed graph topology. +The calling processes must ensure that each edge of the graph is described in the source +and in the destination process with the same weights. If there are multiple edges for a given +(source,dest) pair, then the sequence of the weights of these edges does not matter. The +complete communication topology is the combination of all edges shown in the \fIsources\fP arrays +of all processes in comm_old, which must be identical to the combination of all edges shown +in the \fIdestinations\fP arrays. Source and destination ranks must be process ranks of comm_old. +This allows a fully distributed specication of the communication graph. Isolated processes +(i.e., processes with no outgoing or incoming edges, that is, processes that have specied +indegree and outdegree as zero and thus do not occur as source or destination rank in the +graph specication) are allowed. The call to MPI_Dist_graph_create_adjacent is collective. + +.SH WEIGHTS +.ft R +Weights are specied as non-negative integers and can be used to influence the process +remapping strategy and other internal MPI optimizations. For instance, approximate count +arguments of later communication calls along specic edges could be used as their edge +weights. Multiplicity of edges can likewise indicate more intense communication between +pairs of processes. However, the exact meaning of edge weights is not specied by the MPI +standard and is left to the implementation. An application can supply the special value +MPI_UNWEIGHTED for the weight array to indicate that all edges have the same (effectively +no) weight. It is erroneous to supply MPI_UNWEIGHTED for some but not all processes of +comm_old. If the graph is weighted but \fIindegree\fP or \fIoutdegree\fP is zero, then +MPI_WEIGHTS_EMPTY or any arbitrary array may be passed to sourceweights or destweights +respectively. Note that MPI_UNWEIGHTED and MPI_WEIGHTS_EMPTY are not special weight values; +rather they are special values for the total array argument. In Fortran, MPI_UNWEIGHTED +and MPI_WEIGHTS_EMPTY are objects like MPI_BOTTOM (not usable for initialization or +assignment). See MPI-3 § 2.5.4. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_create +MPI_Dist_graph_neighbors +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 new file mode 100644 index 00000000..cb009455 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 @@ -0,0 +1,73 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_neighbors 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_neighbors \fP \- Returns the neighbors of the calling process in a distributed graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_neighbors(MPI_Comm \fIcomm\fP, int \fImaxindegree\fP, int \fIsources\fP[], int \fIsourceweights\fP[], + int \fImaxoutdegree\fP, int \fIdestinations\fP[], int \fIdestweights\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with distributed graph topology (handle). +.TP 1i +maxindegree +Size of \fIsources\fP and \fIsourceweights\fP arrays (non-negative integer). +.TP 1i +maxoutdegree +Size of \fIdestinations\fP and \fIdestweights\fP arrays (non-negative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +sources +Processes for which the calling process is a destination (array of non-negative integers). +.TP 1i +sourceweights +Weights of the edges into the calling process (array of non-negative integers). +.TP 1i +destinations +Processes for which the calling process is a source (array of non-negative integers). +.TP 1i +destweights +Weights of the edges out of the calling process (array of non-negative integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_neighbors returns the source and destination ranks in a distributed graph topology +for the calling process. This call will return up to \fImaxindegree\fP source ranks in the \fIsources\fP array +and up to \fImaxoutdegree\fP destination ranks in the \fIdestinations\fP array. If weights were +specified at the time of the communicator's creation then the associated weights +are returned in the \fIsourceweights\fP and \fI destweights\fP arrays. If the communicator +was created with MPI_Dist_graph_create_adjacent then the order of the values in \fIsources\fP and +\fIdestinations\fP is identical to the input that was used by the process with the same rank in +comm_old in the creation call. + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 new file mode 100644 index 00000000..a47d32be --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_neighbors_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_neighbors_count \fP \- Returns the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_neighbors_count(MPI_Comm \fIcomm\fP, int\fI *indegree\fP, + int\fI *outdegree\fP, int\fI *weighted\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with distributed graph topology (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indegree +Number of edges into this process (non-negative integer). +.TP 1i +outdegree +Number of edges out of this process (non-negative integer). +.TP 1i +weighted +False if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_neighbors_count and MPI_Graph_neighbors provide adjacency information for a distributed graph topology. MPI_Dist_graph_neighbors_count returns the number of sources and destinations for the calling process. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_neighbors diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 new file mode 100644 index 00000000..d229556c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_create \fP \- Creates an MPI-style error handler -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_create(MPI_Handler_function *\fIfunction\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Registers the user routine function for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler. +.sp +In the C language, the user routine should be a C function of type MPI_Handler_function, which is defined as +.sp +.nf + typedef void (MPI_Handler_function)(MPI_Comm *, int *, \&...); +.fi +.sp +The first argument is the communicator in use. The second is the error code +to be returned by the MPI routine that raised the error. If the routine would have returned MPI_ERR_IN_STATUS, it is the error code returned in the status for the request that caused the error handler to be invoked. The remaining arguments are stdargs arguments whose number and meaning is implementation-dependent. An implementation should clearly document these arguments. Addresses are used so that the handler may be written in Fortran. + +.SH NOTE +.ft R +The MPI-1 Standard states that an implementation may make the output value (errhandler) simply the address of the function. However, the action of MPI_Errhandler_ free makes this impossible, since it is required to set the value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual error handler must remain until all communicators that use it are freed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.br +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 new file mode 100644 index 00000000..defd1c02 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_free \fP \- Frees an MPI-style error handler. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_free(MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +MPI error handler (handle). Set to MPI_ERRHANDLER_NULL on exit. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks the error handler associated with errhandler for deallocation and sets errhandler to MPI_ERRHANDLER_NULL. The error handler will be deallocated after all communicators associated with it have been deallocated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 new file mode 100644 index 00000000..c0edb35b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_get \fP \- Gets the error handler for a communicator -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_get(MPI_Comm \fIcomm\fP, MPI_Errhandler\fI *errhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator to get the error handler from (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler currently associated with communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_get_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Returns in errhandler (a handle to) the error handler that is currently associated with communicator comm. +.sp +\fBExample:\fP A library function may register at its entry point the current error handler for a communicator, set its own private error handler for this communicator, and restore before exiting the previous error handler. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 new file mode 100644 index 00000000..69c02062 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_set 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_set \fP \- Sets the error handler for a communicator -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_set(MPI_Comm \fIcomm\fP, MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to set the error handler for (handle). +.TP 1i +errhandler +New MPI error handler for communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_set_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Associates the new error handler errhandler with communicator comm at the calling process. Note that an error handler is always associated with the communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 new file mode 100644 index 00000000..2fae0b64 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Error_class 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Error_class \fP \- Converts an error code into an error class. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Error_class(int \fIerrorcode\fP, int\fI *errorclass\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errorcode +Error code returned by an MPI routine. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errorclass +Error class associated with errorcode. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Error_class maps each standard error code (error class) onto itself. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Error_string + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 new file mode 100644 index 00000000..6c9058e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Error_string 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Error_string \fP \- Returns a string for a given error code. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Error_string(int \fIerrorcode\fP, char\fI *string\fP, int\fI *resultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errorcode +Error code returned by an MPI routine or an MPI error class. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +string +Text that corresponds to the errorcode. +.TP 1i +resultlen +Length of string. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns the error string associated with an error code or class. The argument string must represent storage that is at least MPI_MAX_ERROR_STRING characters long. +.sp +The number of characters actually written is returned in the output +argument, resultlen. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Error_class + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 new file mode 100644 index 00000000..e4490a55 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 @@ -0,0 +1,131 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Exscan 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Exscan, MPI_Iexscan\fP \- Computes an exclusive scan (partial reduction) + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Exscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP) + +int MPI_Iexscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Send buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Exscan is used to perform an exclusive prefix reduction on data +distributed across the calling processes. The operation returns, in +the \fIrecvbuf\fP of the process with rank i, the reduction +(calculated according to the function \fIop\fP) of the values in the +\fIsendbuf\fPs of processes with ranks 0, ..., i-1. Compare this with +the functionality of MPI_Scan, which calculates over the range 0, ..., +i (inclusive). The type of operations supported, their semantics, and +the constraints on send and receive buffers are as for MPI_Reduce. +.sp +The value in \fIrecvbuf\fP on process 0 is undefined and unreliable +as \fIrecvbuf\fP is not significant for process 0. The value of +\fIrecvbuf\fP on process 1 is always the value in \fIsendbuf\fP on +process 0. +.sp +.SH USE OF IN-PLACE OPTION +The `in place' option for intracommunicators is specified by passing MPI_IN_PLACE in the \fIsendbuf\fP argument. In this case, the input data is taken from the receive buffer, and replaced by the output data. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp + +.SH NOTES +.ft R +MPI does not specify which process computes which operation. In +particular, both processes 0 and 1 may participate in the computation +even though the results for both processes' \fIrecvbuf\fP are +degenerate. Therefore, all processes, including 0 and 1, must provide +the same \fIop\fP. +.sp +It can be argued, from a mathematical perspective, that the definition +of MPI_Exscan is unsatisfactory because the output at process 0 is +undefined. The "mathematically correct" output for process 0 would be +the unit element of the reduction operation. However, such a +definition of an exclusive scan would not work with user-defined +\fIop\fP functions as there is no way for MPI to "know" the unit value +for these custom operations. + +.SH NOTES ON COLLECTIVE OPERATIONS +.ft R +The reduction functions of type MPI_Op do not return an error value. +As a result, if the functions detect an error, all they can do is +either call MPI_Abort or silently skip the problem. Thus, if the +error handler is changed from MPI_ERRORS_ARE_FATAL to something else +(e.g., MPI_ERRORS_RETURN), then no error may be indicated. +.sp +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Op_create +MPI_Reduce +MPI_Scan + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 new file mode 100644 index 00000000..2a00bda1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Fetch_and_op 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Fetch_and_op\fP \- Combines the contents of the origin buffer with that of a target buffer and returns the target buffer value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Fetch_and_op(const void *\fIorigin_addr\fP, void *\fIresult_addr\fP, + MPI_Datatype \fIdatatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +datatype +Data type of the entry in origin, result, and target buffers (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Accumulate one element of type \fIdatatype\fP from the origin buffer (\fIorigin_addr\fP) to the buffer at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP and return in the result buffer \fIresult_addr\fP the contents of the target buffer before the accumulation. +.sp +The origin and result buffers (\fIorigin_addr\fP and \fIresult_addr\fP) must be disjoint. Any of the predefined operations for \fBMPI_Rreduce\fP, as well as MPI_NO_OP or MPI_REPLACE, can be specified as \fIop\fP; user-defined functions cannot be used. The \fIdatatype\fP argument must be a predefined datatype. The operation is executed atomically. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +A new predefined operation, MPI_NO_OP, is defined. It corresponds to the assiciative function f(a, b) = a; that is the current value in the target memory is returned in the result buffer at the origin and no operation is performed on the target buffer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the MPI_Fetch_and_op function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_accumulate +.br +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 new file mode 100644 index 00000000..2cff3ba1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_File_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a file + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_File_call_errhandler(MPI_File \fIfh\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +fh +file with error handler (handle). +.ft R +.TP 1.4i +errorcode +MPI error code (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the file handle +\fIfh\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. +.sp +Unlike errors on communicators and windows, the default errorhandler +for files is MPI_ERRORS_RETURN. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_File_create_errhandler +MPI_File_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 new file mode 100644 index 00000000..7c80c046 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_close 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_close\fP \- Closes a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_close(MPI_File \fI*fh\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_close first synchronizes file state, then closes the file +associated with +.I fh. +MPI_File_close is a collective routine. The user is responsible for +ensuring that all outstanding requests associated with +.I fh +have completed before calling MPI_File_close. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 new file mode 100644 index 00000000..101ad817 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_create_errhandler \fP \- Creates an MPI-style error handler that can be attached to a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_create_errhandler(MPI_File_errhandler_function \fI*function\fP, + MPI_Errhandler \fI*errhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_File_errhandler_fn and +MPI::file::Errhandler_fn types in favor of +MPI_File_errhandler_function and MPI::File::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Registers the user routine \fIfunction\fP for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler. +.sp +In the C language, the user routine \fIfunction\fP should be a C function of type MPI_File_errhandler_function, which is defined as +.sp +.nf + typedef void (MPI_File_errhandler_function)(MPI_File *, int *, + \&...); +.fi +.sp +The first argument to \fIfunction\fP is the file in use. The second is the error code +to be returned by the MPI routine that raised the error. +.sp +In the Fortran language, the user routine should be of the form: +.sp +.nf + SUBROUTINE FILE_ERRHANDLER_FUNCTION(FILE, ERROR_CODE, ...) + INTEGER FILE, ERROR_CODE +.fi +.sp +In C++, the user routine \fIfunction\fP should be of the form: +.sp +.nf + typedef void MPI::File::Errhandler_function(MPI::File &, int *, + ...); +.fi +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 new file mode 100644 index 00000000..d0bb3c43 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_delete\fP \- Deletes a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_delete(const char \fI*filename\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +filename +Name of file to delete (string). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_delete deletes the file identified by the file name +\fIfilename\fP, provided it is not currently open by any process. It is an error to delete the file with MPI_File_delete if some process has it open, but MPI_File_delete does not check this. If the file does not exist, MPI_File_delete returns an error in the class MPI_ERR_NO_SUCH_FILE. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 new file mode 100644 index 00000000..f2a36231 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 @@ -0,0 +1,2 @@ +.\" -*- nroff -*- +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 new file mode 100644 index 00000000..d66b5905 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_amode 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_amode\fP \- Returns access mode associated with an open file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_amode(MPI_File \fIfh\fP, int \fI*amode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +amode +File access mode used to open the file (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_get_amode returns, in +.I amode, +the access mode associated with the open file +.I fh. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 new file mode 100644 index 00000000..5ad16ccb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_atomicity 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_atomicity\fP \- Returns current consistency semantics for data-access operations. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_atomicity(MPI_File \fIfh\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +flag +true if atomic mode is enabled, false if nonatomic mode is enabled (boolean). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_atomicity returns the current consistency semantics for +data access operations on the set of file handles created by one +collective MPI_File_open. If \fIflag\fP is +.I true, +atomic mode is currently enabled; if +.I flag +is +.I false, +nonatomic mode is currently enabled. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 new file mode 100644 index 00000000..a364fbfb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_byte_offset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_byte_offset\fP \- Converts a view-relative offset into an absolute byte position. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_byte_offset(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + MPI_Offset \fI*disp\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +Offset (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +disp +Absolute byte position of offset (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_byte_offset converts an offset specified for the current view to its corresponding displacement value, or absolute byte position, from the beginning of the file. The absolute byte position of \fIoffset\fP relative to the current view of \fIfh\fP is returned in \fIdisp\fP. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP and \fIDISP\fP arguments only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +or + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 new file mode 100644 index 00000000..51f90720 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_errhandler \fP \- Gets the error handler for a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_get_errhandler(MPI_File \fIfile\fP, MPI_Errhandler\fI + *errhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +file +File (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler currently associated with file (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns in \fIerrhandler\fP (a handle to) the error handler that is currently associated with file \fIfile\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 new file mode 100644 index 00000000..6a1572e7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_group\fP \- Returns a duplicate of the process group of a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_group(MPI_File \fIfh\fP, MPI_Group \fI*group\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.TP 1i +group +Group that opened the file (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_group returns a duplicate of the group of the communicator +used to open the file associated with +.I fh. +The group is returned in +.I group. +The user is responsible for freeing +.I group, +using MPI_Group_free. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 new file mode 100644 index 00000000..9d828f50 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_info\fP \- Returns a new info object containing values for current hints associated with a file. + + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_info(MPI_File \fIfh\fP, MPI_Info \fI*info_used\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_info returns a new info object containing all the hints that the system currently associates with the file \fIfh\fP. The current setting of all hints actually used by the system related to this open file is returned in \fIinfo_used\fP. The user is responsible for freeing \fIinfo_used\fP via MPI_Info_free. + +Note that the set of hints returned in \fIinfo_used\fP may be greater or smaller than the set of hints passed in to MPI_File_open, MPI_File_set_view, and MPI_File_set_info, as the system may not recognize some hints set by the user, and may automatically set other hints that the user has not requested to be set. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo_used\fP argument. +.sp +SETTABLE HINTS: +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 new file mode 100644 index 00000000..bc46fbae --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_position 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_position\fP \- Returns the current position of the individual file pointer. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_position(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +offset +Offset of the individual file pointer (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_position returns, in +.I offset, +the current position of the individual file pointer in +.I etype +units relative to the current displacement and file type. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 new file mode 100644 index 00000000..bc8cf86c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_position_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_position_shared\fP \- Returns the current position of the shared file pointer. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax + #include + int MPI_File_get_position_shared(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +offset +Offset of the shared file pointer (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_position_shared returns, in +.I offset, +the current position of the shared file pointer in +.I etype +units relative to the current displacement and file type. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 new file mode 100644 index 00000000..952091f2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_size\fP \- Returns the current size of the file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_size(MPI_File \fIfh\fP, MPI_Offset \fI*size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +size +Size of the file in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_size returns, in +.I size +, the current size in bytes of the file associated with the file handle +\fIfh\fP. Note that the file size returned by Solaris may not represent the number of bytes physically allocated for the file in those cases where all bytes in this file have not been written at least once. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.br +MPI_File_preallocate +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 new file mode 100644 index 00000000..7232fc43 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_type_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_type_extent\fP \- Returns the extent of the data type in a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_type_extent(MPI_File \fIfh\fP, MPI_Datatype + \fIdatatype\fP, MPI_Aint \fI*extent\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +datatype +Data type (handle). + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +extent +Data type extent (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_type_extent can be used to calculate \fIextent\fP for \fIdatatype\fP in the file. The extent is the same for all processes accessing the file associated with \fIfh\fP. If the current view uses a user-defined data representation, MPI_File_get_type_extent uses the \fIdtype_file_extent_fn\fP callback to calculate the extent. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTENT\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +If the file data representation is other than "native," care must be taken in constructing etypes and file types. Any of the data-type constructor functions may be used; however, for those functions that accept displacements in bytes, the displacements must be specified in terms of their values in the file for the file data representation being used. MPI will interpret these byte displacements as is; no scaling will be done. The function MPI_File_get_type_extent can be used to calculate the extents of data types in the file. For etypes and file types that are portable data types, MPI will scale any displacements in the data types to match the file data representation. Data types passed as arguments to read/write routines specify the data layout in memory; therefore, they must always be constructed using displacements corresponding to displacements in memory. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 new file mode 100644 index 00000000..5d8494b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_view 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_view\fP \- Returns the process's view of data in the file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_view(MPI_File \fIfh\fP, MPI_Offset \fI*disp\fP, + MPI_Datatype \fI*etype\fP, MPI_Datatype \fI*filetype\fP, + char \fI*datarep\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +disp +Displacement (integer). +.TP 1i +etype +Elementary data type (handle). +.TP 1i +filetype +File type (handle). See Restrictions, below. +.TP 1i +datarep +Data representation (string). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_File_get_view routine returns the process's view of the data +in the file. The current values of the displacement, etype, and +filetype are returned in +.I disp, +.I etype, +and +.I filetype, +respectively. +.sp +The MPI_File_get_view interface allows the user to pass a data-representation string via the \fIdatarep\fP argument. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIDISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax. +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 new file mode 100644 index 00000000..aed00c64 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread\fP \- Reads a file starting at the location specified by the individual file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread is a nonblocking version of MPI_File_read. It attempts to read from the file associated with +.I fh +at the current individual file pointer position maintained by the system in which a total number of +.I count +data items having +.I datatype +type are read into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_iread stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 new file mode 100644 index 00000000..c0886aea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_all\fP \- Reads a file starting at the location specified by the individual file pointer (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_all(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_all is a nonblocking version of MPI_File_read_all. It attempts to read from the file associated with +.I fh +at the current individual file pointer position maintained by the system in which a total number of +.I count +data items having +.I datatype +type are read into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_all stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 new file mode 100644 index 00000000..02a28aa5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 @@ -0,0 +1,99 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_at\fP \- Reads a file at an explicitly specified offset (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of the buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_at is the nonblocking version of MPI_File_read_at. + +MPI_File_iread_at is a nonblocking routine that attempts to read from the file associated with +.I fh +at the +.I offset +position a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_at stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 new file mode 100644 index 00000000..55028cda --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 @@ -0,0 +1,99 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_at_all\fP \- Reads a file at an explicitly specified offset (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of the buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_at_all is the nonblocking version of MPI_File_read_at_all. + +MPI_File_iread_at_all is a nonblocking routine that attempts to read from the file associated with +.I fh +at the +.I offset +position a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_at_all stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 new file mode 100644 index 00000000..5c4f727d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_shared\fP \- Reads a file using the shared file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_shared(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_shared is a nonblocking version of the MPI_File_read_shared interface. It uses the shared file pointer to read files. The order of serialization among the processors is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order among processors. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 new file mode 100644 index 00000000..a7218fe0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite\fP \- Writes a file starting at the location specified by the individual file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite is a nonblocking version of the MPI_File_write interface. It attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_iwrite stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 new file mode 100644 index 00000000..4bcb2741 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_all\fP \- Writes a file starting at the location specified by the individual file pointer (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_all(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_all is a nonblocking version of the MPI_File_write_all interface. It attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 new file mode 100644 index 00000000..873cad6a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 @@ -0,0 +1,101 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_at\fP \- Writes a file at an explicitly specified offset (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_at is a nonblocking version of MPI_File_write_at. It attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_at stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. The request structure can be passed to MPI_Wait or MPI_Test, which will return a status with the number of bytes actually accessed. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 new file mode 100644 index 00000000..a655999a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 @@ -0,0 +1,101 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_at_all\fP \- Writes a file at an explicitly specified offset (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_at_all is a nonblocking version of MPI_File_write_at_all. It attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_at_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. The request structure can be passed to MPI_Wait or MPI_Test, which will return a status with the number of bytes actually accessed. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 new file mode 100644 index 00000000..4f94e12e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_shared\fP \- Writes a file using the shared file pointer (nonblocking, noncollective). + + + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_shared(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype + \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_shared is a nonblocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 new file mode 100644 index 00000000..59f9b900 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 @@ -0,0 +1,169 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_open 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_open\fP \- Opens a file (collective). +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_open(MPI_Comm \fIcomm\fP, const char \fI*filename\fP, + int \fIamode\fP, MPI_Info \fIinfo\fP, + MPI_File \fI*fh\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +filename +Name of file to open (string). +.TP 1i +amode +File access mode (integer). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +fh +New file handle (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_open opens the file identified by the filename +.I +filename +on all processes in the +.I comm +communicator group. MPI_File_open is a collective routine; all processes +must provide the same value for +.I amode, +and all processes must provide filenames that reference the same +file which are textually identical (note: Open MPI I/O plugins may +have restrictions on characters that can be used in filenames. For +example, the ROMIO plugin may disallow the colon (":") character from +appearing in a filename). A process can open a file independently of +other processes by using the MPI_COMM_SELF communicator. The file +handle returned, +.I fh, +can be subsequently used to access the file until the file is closed +using MPI_File_close. Before calling MPI_Finalize, the user is required to +close (via MPI_File_close) all files that were opened with MPI_File_open. Note +that the communicator +.I comm +is unaffected by MPI_File_open and continues to be usable in all MPI +routines. Furthermore, use of +.I comm +will not interfere with I/O behavior. +.sp +Initially, all processes view the file as a linear byte stream; that is, the +.I etype +and +.I filetype +are both MPI_BYTE. The file view can be changed via the MPI_File_set_view routine. +.sp +The following access modes are supported (specified in amode, in a bit-vector OR in one of the following integer constants): +.TP .5i + o +MPI_MODE_APPEND +.TP .5i + o +MPI_MODE_CREATE -- Create the file if it does not exist. +.TP .5i + o +MPI_MODE_DELETE_ON_CLOSE +.TP .5i + o +MPI_MODE_EXCL -- Error creating a file that already exists. +.TP .5i + o +MPI_MODE_RDONLY -- Read only. +.TP .5i + o +MPI_MODE_RDWR -- Reading and writing. +.TP .5i + o +MPI_MODE_SEQUENTIAL +.TP .5i + o +MPI_MODE_WRONLY -- Write only. +.TP .5i + o +MPI_MODE_UNIQUE_OPEN +.RE +.sp +The modes MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY, and MPI_MODE_CREATE have +identical semantics to their POSIX counterparts. It is erroneous to +specify MPI_MODE_CREATE in conjunction with MPI_MODE_RDONLY. Errors related to +the access mode are raised in the class MPI_ERR_AMODE. +.sp +On single-node clusters, files are opened by default using nonatomic mode file consistency +semantics. The more stringent atomic-mode consistency semantics, required for atomicity of overlapping accesses, are the default when processors in a communicator group reside on more than one node. +This setting can be changed using +MPI_File_set_atomicity. +.sp +The MPI_File_open interface allows the user to pass information via the \fIinfo\fP argument. It can be set to MPI_INFO_NULL. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- MPI_INFO_NULL +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy multiple noncontiguous read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy multiple noncontiguous write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy multiple noncontiguous read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy multiple noncontiguous write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 new file mode 100644 index 00000000..cc6add23 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_preallocate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_preallocate\fP \- Preallocates a specified amount of storage space at the beginning of a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_preallocate(MPI_File \fIfh\fP, MPI_Offset \fIsize\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +size +Size to preallocate file, in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_preallocate ensures that storage space is allocated for the first \fIsize\fP bytes of the file associated with \fIfh\fP. MPI_File_preallocate can be a very time-consuming operation. + +MPI_File_preallocate is collective; all processes in the group must pass identical values for \fIsize\fP. Regions of the file that have previously been written are unaffected. For newly allocated regions of the file, MPI_File_preallocate has the same effect as writing undefined data. If size is larger than the current file size, the file size increases to \fIsize\fP. If \fIsize\fP is less than or equal to the current file size, the file size is unchanged. + +The treatment of file pointers, pending nonblocking accesses, and file consistency is the same as with MPI_File_set_size. If MPI_MODE_SEQUENTIAL mode was specified when the file was opened, it is erroneous to call this routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +When using the collective routine MPI_File_set_size on a UNIX file, if the size that is set is smaller than the current file size, the file is truncated at the position defined by size. If the size is set to be larger than the current file size, the file size becomes the set size. When the file size is increased this way with MPI_File_set_size, new regions are created in the file with displacements between the old file size and the larger, newly set file size. +.sp +Sun MPI I/O does not necessarily allocate file space for such new regions. You may reserve file space either by using MPI_File_preallocate or by performing a read or write to certain bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 new file mode 100644 index 00000000..d41fe225 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read\fP \- Reads a file starting at the location specified by the individual file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (integer). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_read stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 new file mode 100644 index 00000000..adf2743a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all\fP \- Reads a file starting at the locations specified by individual file pointers (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all is a collective routine that attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_read_all stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 new file mode 100644 index 00000000..8901fb5b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all_begin\fP \- Reads a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all_begin(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all_begin is the beginning part of a split collective operation that attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 new file mode 100644 index 00000000..6350f4dc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all_end\fP \- Reads a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all_end is the ending part of a split collective operation that stores the number of elements actually read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) +into the user's buffer +.I buf +in +.I status. +The data is taken out of those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 new file mode 100644 index 00000000..89785f65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at\fP \- Reads a file at an explicitly specified offset (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_read_at attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_read_at stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 new file mode 100644 index 00000000..83ac711e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all\fP \- Reads a file at explicitly specified offsets (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all is a collective routine that attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_read_at_all stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 new file mode 100644 index 00000000..33672928 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all_begin\fP \- Reads a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all_begin(MPI_File \fIfh\fP, MPI_Offset + \fIoffset\fP, void \fI*buf\fP, int \fIcount\fP, MPI_Datatype + \fIdatatype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all_begin is the beginning part of a split collective routine that attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 new file mode 100644 index 00000000..e0b3a665 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all_end\fP \- Reads a file at explicitly specified offsets; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all_end is a split collective routine that stores the number of elements actually read from the file associated with +.I fh +in +.I status. +MPI_File_read_at_all_end blocks until the operation initiated by MPI_File_read_at_all_begin completes. The data is taken out of those parts of the file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 new file mode 100644 index 00000000..08103913 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered\fP \- Reads a file at a location specified by a shared file pointer (blocking, collective). + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_read_ordered(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (Status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_read_ordered is a collective routine. This routine must be +called by all processes in the communicator group associated with the +file handle +.I fh. +Each process may pass different argument values for the +.I datatype +and +.I count +arguments. Each process attempts to read, from the file associated with +.I fh, +a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. MPI_File_read_ordered returns the actual number of +.I datatype +elements read in +.I status. +The shared file pointer is updated by the amounts of data requested by all processes of the group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 new file mode 100644 index 00000000..1740580f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered_begin\fP \- Reads a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_ordered_begin(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_ordered_begin is the beginning part of a split collective, nonblocking routine that must be +called by all processes in the communicator group associated with the +file handle +.I fh. +Each process may pass different argument values for the +.I datatype +and +.I count +arguments. Each process attempts to read, from the file associated with +.I fh, +a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 new file mode 100644 index 00000000..6c1da2d3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered_end\fP \- Reads a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_ordered_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_ordered_end is the ending part of a split collective routine that must be called by all processes in the communicator group associated with the +file handle +.I fh. +MPI_File_rad_ordered_end blocks until the operation initiated by MPI_File_read_ordered_begin completes. It attempts to read the file associated with +.I fh +into the user's buffer +.I buf. +The shared file pointer is updated by the amounts of data requested by all processes of the group. For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 new file mode 100644 index 00000000..a071564e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_shared\fP \- Reads a file using the shared file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_shared(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer) +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_shared is a blocking routine that uses the shared file pointer to read files. The order of serialization is not deterministic for this noncollective routine. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 new file mode 100644 index 00000000..fd9eee17 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_seek 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_seek\fP \- Updates individual file pointers (noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_seek(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + int \fIwhence\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +whence +Update mode (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_seek updates the individual file pointer according to +.I whence, +which could have the following possible values: +.TP + o +MPI_SEEK_SET - The pointer is set to +.I offset. +.TP + o +MPI_SEEK_CUR - The pointer is set to the current pointer position plus +.I offset. +.TP + o +MPI_SEEK_END - The pointer is set to the end of the file plus +.I offset. +.sp +.RE +The +.I offset +can be negative, which allows seeking backwards. It is erroneous to +seek to a negative position in the file. The end of the file is +defined to be the location of the next elementary data item +immediately after the last accessed data item, even if that location +is a hole. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 new file mode 100644 index 00000000..450f6a56 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_seek_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_seek_shared\fP \- Updates the global shared file pointer (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_seek_shared(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + int \fIwhence\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +whence +Update mode (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_seek_shared updates the shared file pointer according to +.I whence, +which could have the following possible values: +.TP + o +MPI_SEEK_SET - The pointer is set to +.I offset. +.TP + o +MPI_SEEK_CUR - The pointer is set to the current pointer position plus +.I offset. +.TP + o +MPI_SEEK_END - The pointer is set to the end of the file plus +.I offset. +.sp +.RE +MPI_File_seek_shared is collective; all the processes in the communicator +group associated with the file handle +.I fh +must call MPI_File_seek_shared with the same +.I offset +and +.I whence. +All processes in the communicator group are synchronized before the shared file pointer is updated. + +.sp +The +.I offset +can be negative, which allows seeking backwards. It is erroneous to +seek to a negative position in the view. The end of the view is +defined to be the position of the next elementary data item, relative +to the current view, following the last whole elementary data item +accessible. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 new file mode 100644 index 00000000..c96ba7e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_atomicity 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_atomicity\fP \- Sets consistency semantics for data-access operations (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_atomicity(MPI_File \fIfh\fP, int \fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +flag +\fBtrue\fP to enable atomic mode, \fBfalse\fP to enable nonatomic mode (boolean). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The consistency semantics for data-access operations using the set of +file handles created by one collective MPI_File_open is set by collectively +calling MPI_File_set_atomicity. All processes in the group must pass identical values for +.I fh +and +.I flag. +If +.I flag +is +.I true, +atomic mode is set; if +.I flag +is +.I false, +nonatomic mode is set. +.sp +The default value on a call to MPI_File_open in Open MPI is \fItrue\fP for jobs running on more than one node, \fIfalse\fP for jobs running on a single SMP. For more information, see the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 new file mode 100644 index 00000000..08573259 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_errhandler \fP \- Sets the error handler for a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_set_errhandler(MPI_File \fIfile\fP, MPI_Errhandler + \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +file +File (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +New error handler for file (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Attaches a new error handler to a file. The error handler must be either a predefined error handler or an error handler created by a call to MPI_File_create_errhandler. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 new file mode 100644 index 00000000..76df1fa6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_info\fP \- Sets new values for hints (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_info(MPI_File \fIfh\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_set_info is a collective routine that sets new values for the hints of the file associated with \fIfh\fP. These hints are set for each file, using the MPI_File_open, MPI_File_delete, MPI_File_set_view, and MPI_File_set_info routines. The opaque \fIinfo\fP object, which allows you to provide hints for optimization of your code, may be different on each process, but some \fIinfo\fP entries are required to be the same on all processes: In these cases, they must appear with the same value in each process's info object. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 new file mode 100644 index 00000000..f2f2b35c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_size\fP \- Resizes a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_size(MPI_File \fIfh\fP, MPI_Offset \fIsize\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +size +Size to truncate or expand file (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_set_size resizes the file associated with the file handle +.I fh, +truncating UNIX files as necessary. MPI_File_set_size is collective; all +processes in the group must pass identical values for size. +.sp +When using MPI_File_set_size on a UNIX file, if \fIsize\fP is larger than the current file size, the file size becomes \fIsize\fP. If \fIsize\fP is smaller than the current file size, the file is truncated at the position defined by \fIsize\fP (from the beginning of the file and measured in bytes). Regions of the file which have been previously written are unaffected. +.sp +MPI_File_set_size does not affect the individual file pointers or the +shared file pointer. +.sp +Note that the actual amount of storage space cannot be allocated by MPI_File_set_size. Use MPI_File_preallocate to accomplish this. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 new file mode 100644 index 00000000..42cbd54e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 @@ -0,0 +1,153 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_view 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_view\fP \- Changes process's view of data in file (collective). +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_view(MPI_File \fIfh\fP, MPI_Offset \fIdisp\fP, + MPI_Datatype \fIetype\fP, MPI_Datatype \fIfiletype\fP, + const char \fI*datarep\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +disp +Displacement (integer). +.TP 1i +etype +Elementary data type (handle). +.TP 1i +filetype +File type (handle). See Restrictions, below. +.TP 1i +datarep +Data representation (string). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_File_set_view routine changes the process's view of the data +in the file -- the beginning of the data accessible in the file through +that view is set to +.I disp; +the type of data is set to +.I etype; +and the distribution of data to processes is set to +.I filetype. +In addition, MPI_File_set_view resets the independent file pointers and +the shared file pointer to zero. MPI_File_set_view is collective across the +.IR fh ; +all processes in the group must pass identical values for +.IR datarep +and provide an +.I etype +with an identical extent. The values for +.IR disp , +.IR filetype , +and +.I info +may vary. It is erroneous to use the shared file pointer data-access +routines unless identical values for +.I disp +and +.I filetype +are also given. The data types passed in +.I etype +and +.I filetype +must be committed. +.sp +The +.I disp +displacement argument specifies the position (absolute offset in +bytes from the beginning of the file) where the view begins. +.sp +The MPI_File_set_view interface allows the user to pass a data-representation string to MPI I/O via the \fIdatarep\fP argument. To obtain the default value (or "native"), pass NULL. The user can also pass information via the \fIinfo\fP argument. See the HINTS section for a list of hints that can be set. For more information, see the MPI-2 standard. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- MPI_INFO_NULL +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIDISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 new file mode 100644 index 00000000..b7f2cd3b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_sync 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_sync\fP \- Makes semantics consistent for data-access operations (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_sync(MPI_File \fIfh\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Calling MPI_File_sync with +.I fh +causes all previous writes to +.I fh +by the calling process to be written to permanent storage. If other processes have made updates to permanent storage, then all such updates become visible to subsequent reads of +.I fh +by the calling process. +.sp +MPI_File_sync is a collective operation. The user is responsible for ensuring that all nonblocking requests on +.I fh +have been completed before calling MPI_File_sync. Otherwise, the call to MPI_File_sync is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 new file mode 100644 index 00000000..08b0c916 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write\fP \- Writes a file starting at the location specified by the individual file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_write stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 new file mode 100644 index 00000000..1ccf882a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all\fP \- Writes a file starting at the locations specified by individual file pointers (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all is a collective routine that attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_write_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 new file mode 100644 index 00000000..1a0f63ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all_begin\fP \- Writes a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all_begin(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all_begin is the beginning part of a split collective, nonblocking routine that attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 new file mode 100644 index 00000000..14a02469 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all_end\fP \- Writes a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all_end(MPI_File \fIfh\fP, const void \fI*buf\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all_end is the ending part of a split collective routine that stores the +number of elements actually written into the file associated with +.I fh +from the user's buffer +.I buf +in +.I status. +MPI_File_write_all_end blocks until the operation initiated by MPI_File_write_all_begin completes. The data is written into those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 new file mode 100644 index 00000000..957f34aa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at\fP \- Writes a file at an explicitly specified offset (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_write_at stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_File_iwrite_at +.br +MPI_File_write_at_all +.br +MPI_File_write_at_all_begin +.br +MPI_File_write_at_all_end +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 new file mode 100644 index 00000000..36d3635a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all\fP \- Writes a file at explicitly specified offsets (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all is a collective routine that attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_write_at_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 new file mode 100644 index 00000000..cecd28b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 @@ -0,0 +1,91 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all_begin\fP \- Writes a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all_begin(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (handle). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all_begin is the beginning part of a split collective, that is, a nonblocking routine that attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 new file mode 100644 index 00000000..59394a5d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all_end\fP \- Writes a file at explicitly specified offsets; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all_end(MPI_File \fIfh\fP, const void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all_end is the ending part of a split collective routine that stores the +number of elements actually written into the file associated with +.I fh +in +.I status. +The data is written into those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 new file mode 100644 index 00000000..f4c52215 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered\fP \- Writes a file at a location specified by a shared file pointer (blocking, collective). + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_write_ordered(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (Status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered is a collective routine. This routine must +be called by all processes in the communicator group associated with +the file handle +.I fh. +Each process may pass different argument values +for the +.I datatype +and +.I count +arguments. Each process attempts to +write, into the file associated with +.I fh, +a total number of +.I count +data items having datatype type contained in the user's buffer +.I buf. +For +each process, the location in the file at which data is written is the +position at which the shared file pointer would be after all processes +whose ranks within the group are less than that of this process had +written their data. MPI_File_write_ordered returns the number of +.I datatype +elements written in +.I status. +The shared file pointer is +updated by the amounts of data requested by all processes of the +group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 new file mode 100644 index 00000000..3279fbc0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 @@ -0,0 +1,83 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered_begin\fP \- Writes a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_ordered_begin(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered_begin is the beginning part of a split collective, nonblocking routine that must +be called by all processes in the communicator group associated with +the file handle +.I fh. +Each process may pass different argument values +for the +.I datatype +and +.I count +arguments. After all processes of the +group have issued their respective calls, each process attempts to +write, into the file associated with +.I fh, +a total number of +.I count +data items having datatype type contained in the user's buffer +.I buf. +For +each process, the location in the file at which data is written is the +position at which the shared file pointer would be after all processes +whose ranks within the group are less than that of this process had +written their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 new file mode 100644 index 00000000..eaa4dfad --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered_end\fP \- Writes a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_ordered_end(MPI_File \fIfh\fP, const void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered_end is the ending part of a split collective routine that must +be called by all processes in the communicator group associated with +the file handle +.I fh. +MPI_File_write_ordered_end returns the number of elements written into the file associated with +.I fh +in +.I status. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 new file mode 100644 index 00000000..d4d46940 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_shared\fP \- Writes a file using the shared file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_shared(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_shared is a blocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 new file mode 100644 index 00000000..b1db7c10 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Finalize 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Finalize \fP \- Terminates MPI execution environment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Finalize() + +.fi +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine cleans up all MPI states. Once this routine is called, no MPI routine (not even MPI_Init) may be called, except for MPI_Get_version, MPI_Initialized, and MPI_Finalized. Unless there has been a call to MPI_Abort, you must ensure that all pending communications involving a process are complete before the process calls MPI_Finalize. If the call returns, each process may either continue local computations or exit without participating in further communication with other processes. At the moment when the last process calls MPI_Finalize, all pending sends must be matched by a receive, and all pending receives must be matched by a send. + +MPI_Finalize is collective over all connected processes. If no processes were spawned, accepted, or connected, then this means it is collective over MPI_COMM_WORLD. Otherwise, it is collective over the union of all processes that have been and continue to be connected. + +.SH NOTES +.ft R +All processes must call this routine before exiting. All processes will still exist but may not make any further MPI calls. MPI_Finalize guarantees that all local actions required by communications the user has completed will, in fact, occur before it returns. However, MPI_Finalize guarantees nothing about pending communications that have \fInot\fP been completed; completion is ensured only by MPI_Wait, MPI_Test, or MPI_Request_free combined with some other verification of completion. +.sp +For example, a successful return from a blocking communication operation or from MPI_Wait or MPI_Test means that the communication is completed by the user and the buffer can be reused, but does not guarantee that the local process has no more work to do. Similarly, a successful return from MPI_Request_free with a request handle generated by an MPI_Isend nullifies the handle but does not guarantee that the operation has completed. The MPI_Isend is complete only when a matching receive has completed. +.sp +If you would like to cause actions to happen when a process finishes, attach an attribute to MPI_COMM_SELF with a callback function. Then, when MPI_Finalize is called, it will first execute the equivalent of an MPI_Comm_free on MPI_COMM_SELF. This will cause the delete callback function to be executed on all keys associated with MPI_COMM_SELF in an arbitrary order. If no key has been attached to MPI_COMM_SELF, then no callback is invoked. This freeing of MPI_COMM_SELF happens before any other parts of MPI are affected. Calling MPI_Finalized will thus return "false" in any of these callback functions. Once you have done this with MPI_COMM_SELF, the results of MPI_Finalize are not specified. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Initialized +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 new file mode 100644 index 00000000..f5ed87ab --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Finalized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Finalized \fP \- Checks whether MPI has been finalized + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Finalized(int \fI*flag\fP) + +.fi +.SH OUTPUT PARAMETER +.ft R +.TP 1i +flag +True if MPI was finalized, and false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine may be used to determine whether MPI has been finalized. +It is one of a small number of routines that may be called before MPI +is initialized and after MPI has been finalized (MPI_Initialized is +another). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Initialized +MPI_Finalize diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 new file mode 100644 index 00000000..5188a41f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Free_mem 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Free_mem \fP \- Frees memory that has been allocated using MPI_Alloc_mem. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Free_mem(void *\fIbase\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +base +Initial address of memory segment allocated by MPI_Alloc_mem (choice). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Free_mem frees memory that has been allocated by MPI_Alloc_mem. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Alloc_mem + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 new file mode 100644 index 00000000..69911f87 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 @@ -0,0 +1,164 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Gather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Gather, MPI_Igather\fP \- Gathers values from a group of processes. + +.SH SYNOPSIS +.ft R +.SH C Syntax +.nf +#include +int MPI_Gather(const void \fI*sendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int \fIroot\fP, + MPI_Comm\fI comm\fP) + +int MPI_Igather(const void \fI*sendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int \fIroot\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Number of elements for any single receive (integer, significant only at +root). +.TP 1i +recvtype +Datatype of recvbuffer elements (handle, significant only at root). +.TP 1i +root +Rank of receiving process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Each process (root process included) sends the contents of its send buffer to the root process. The root process receives the messages and stores them in rank order. The outcome is as if each of the n processes in the group (including the root process) had executed a call to +.sp +.nf + MPI_Send(sendbuf, sendcount, sendtype, root, \&...) +.fi +.sp +and the root had executed n calls to +.sp +.nf + MPI_Recv(recfbuf + i * recvcount * extent(recvtype), \ + recvcount, recvtype, i, \&...) +.fi +.sp +where extent(recvtype) is the type extent obtained from a call to MPI_Type_extent(). +.sp +An alternative description is that the n messages sent by the processes in the group are concatenated in rank order, and the resulting message is received by the root as if by a call to MPI_RECV(recvbuf, recvcount * n, recvtype, . . . ). +.sp +The receive buffer is ignored for all nonroot processes. +.sp +General, derived datatypes are allowed for both sendtype and recvtype. The +type signature of sendcount, sendtype on process i must be equal to the type signature of recvcount, recvtype at the root. This implies that the amount of data sent must be equal to the amount of data received, pairwise between each process and the root. Distinct type maps between sender and receiver are still allowed. +.sp +All arguments to the function are significant on process root, while on other processes, only arguments sendbuf, sendcount, sendtype, root, comm are significant. The arguments root and comm must have identical values on all processes. +.sp +The specification of counts and types should not cause any location on the root to be written more than once. Such a call is erroneous. +.sp +Note that the recvcount argument at the root indicates the number of items it receives from each process, not the total number of items it receives. +.sp +\fBExample 1:\fP Gather 100 ints from every process in group to root. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf; + \&... + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, root, comm); + +.fi +.sp +.br +\fBExample 2:\fP Previous example modified -- only the root allocates memory for the receive buffer. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, myrank, *rbuf; + \&... + MPI_Comm_rank( comm, myrank); + if ( myrank == root) { + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + } + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, root, comm); +.fi +.sp +\fBExample 3:\fP Do the same as the previous example, but use a derived +datatype. Note that the type cannot be the entire set of gsize * 100 ints since type matching is defined pairwise between the root and each process in the gather. + +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf; + MPI_Datatype rtype; + \&... + MPI_Comm_size( comm, &gsize); + MPI_Type_contiguous( 100, MPI_INT, &rtype ); + MPI_Type_commit( &rtype ); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 1, rtype, root, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored, and the contribution of the root process to the gathered vector is assumed to already be in the correct place in the receive buffer. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group gathers data from all the processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The send buffer argument of the processes in the first group must be consistent with the receive buffer argument of the root process in the second group. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Gatherv +MPI_Scatter +MPI_Scatterv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 new file mode 100644 index 00000000..352b99c6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 @@ -0,0 +1,325 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Gatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Gatherv, MPI_Igatherv\fP \- Gathers varying amounts of data from all processes to the root process + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Gatherv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, + int \fIroot\fP, MPI_Comm\fI comm\fP) + +int MPI_Igatherv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, + int \fIroot\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcounts +Integer array (of length group size) containing the number of elements that +are received from each process (significant only at root). +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement +relative to recvbuf at which to place the incoming data from process i (significant only at root). +.TP 1i +recvtype +Datatype of recv buffer elements (significant only at root) (handle). +.TP 1i +root +Rank of receiving process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Gatherv extends the functionality of MPI_Gather by allowing a varying count of data from each process, since recvcounts is now an array. It also allows more flexibility as to where the data is placed on the root, by providing the new argument, displs. +.sp +The outcome is as if each process, including the root process, sends a message to the root, +.sp +.nf + MPI_Send(sendbuf, sendcount, sendtype, root, \&...) +.fi +.sp +and the root executes n receives, +.sp +.nf + MPI_Recv(recvbuf + disp[i] * extent(recvtype), \\ + recvcounts[i], recvtype, i, \&...) +.fi +.sp +Messages are placed in the receive buffer of the root process in rank order, that is, the data sent from process j is placed in the jth portion of the receive buffer recvbuf on process root. The jth portion of recvbuf begins at offset displs[j] elements (in terms of recvtype) into recvbuf. +.sp +The receive buffer is ignored for all nonroot processes. +.sp +The type signature implied by sendcount, sendtype on process i must be equal to the type signature implied by recvcounts[i], recvtype at the root. This implies that the amount of data sent must be equal to the amount of data received, pairwise between each process and the root. Distinct type maps between sender and receiver are still allowed, as illustrated in Example 2, below. +.sp +All arguments to the function are significant on process root, while on other processes, only arguments sendbuf, sendcount, sendtype, root, comm are significant. The arguments root and comm must have identical values on all processes. +.sp +The specification of counts, types, and displacements should not cause any location on the root to be written more than once. Such a call is erroneous. +.sp +\fBExample 1:\fP Now have each process send 100 ints to root, but place +each set (of 100) stride ints apart at receiving end. Use MPI_Gatherv and +the displs argument to achieve this effect. Assume stride >= 100. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf, stride; + int *displs,i,*rcounts; + + \&... + + MPI_Comm_size(comm, &gsize); + rbuf = (int *)malloc(gsize*stride*sizeof(int)); + displs = (int *)malloc(gsize*sizeof(int)); + rcounts = (int *)malloc(gsize*sizeof(int)); + for (i=0; i +MPI_Get(void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP) + +MPI_Rget(void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of origin buffer (choice). +.TP 1i +origin_count +Number of entries in origin buffer (nonnegative integer). +.TP 1i +origin_datatype +Data type of each entry in origin buffer (handle). +.TP 1i +target_rank +Rank of target (nonnegative integer). +.TP 1i +target_disp +Displacement from window start to the beginning of the target buffer (nonnegative integer). +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.TP 1i +target datatype +datatype of each entry in target buffer (handle) +.TP 1i +win +window object used for communication (handle) + +.SH OUTPUT PARAMETER +.ft R +.TP li +request +MPI_Rget: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Get\fP copies data from the target memory to the origin, similar to MPI_Put, except that the direction of data transfer is reversed. The \fIorigin_datatype\fP may not specify overlapping entries in the origin buffer. The target buffer must be contained within the target window, and the copied data must fit, without truncation, in the origin buffer. Only processes within the same node can access the target window. +.sp + +\fBMPI_Rget\fP is similar to \fBMPI_Get\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an MPI_Rget operation indicates that the data is available in the origin buffer. If \fIorigin_addr\fP points to memory attached to a window, then the data becomes available in the private copy of this window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 new file mode 100644 index 00000000..124bf2a9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 @@ -0,0 +1,140 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_accumulate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_accumulate\fP, \fBMPI_Rget_accumulate\fP \- Combines the contents of the origin buffer with that of a target buffer and returns the target buffer value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, void *\fIresult_addr\fP, + int \fIresult_count\fP, MPI_Datatype \fIresult_datatype\fP, + int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +int MPI_Rget_accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, void *\fIresult_addr\fP, + int \fIresult_count\fP, MPI_Datatype \fIresult_datatype\fP, + int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP 1i +origin_count +Number of entries in buffer (nonnegative integer). +.ft R +.TP 1i +origin_datatype +Data type of each buffer entry (handle). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +result_count +Number of entries in result buffer (nonnegative integer). +.ft R +.TP +result_datatype +Data type of each result buffer entry (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.ft R +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +MPI_Rget_accumulate: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Get_accumulate\fP is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. \fBMPI_Get_accumulate\fP returns in the result buffer \fIresult_addr\fP the contents of the target buffer before the accumulation. +.sp +Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP, can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target. +.sp +Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +A new predefined operation, MPI_NO_OP, is defined. It corresponds to the assiciative function f(a, b) = a; that is the current value in the target memory is returned in the result buffer at the origin and no operation is performed on the target buffer. +.sp +\fBMPI_Rget_accumulate\fP is similar to \fBMPI_Get_accumulate\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an \fBMPI_Rget_accumulate\fP operation indicates that the data is available in the result buffer and the origin buffer is free to be updated. It does not indicate that the operation has been completed at the target window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +The generic functionality of \fBMPI_Get_accumulate\fP might limit the performance of fetch-and-increment or fetch-and-add calls that might be supported by special hardware operations. MPI_Fetch_and_op thus allows for a fast implementation of a commonly used subset of the functionality of \fBMPI_Get_accumulate\fP. +.sp +MPI_Get is a special case of \fBMPI_Get_accumulate\fP, with the operation MPI_NO_OP. Note, however, that MPI_Get and \fBMPI_Get_accumulate\fP have different constraints on concurrent updates. +.sp +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Get_accumulate\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put +MPI_Get +MPI_Accumulate +MPI_Fetch_and_op +.br +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 new file mode 100644 index 00000000..33b72dec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Get_address 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_address\fP \- Gets the address of a location in memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_address(const void *\fIlocation\fP, MPI_Aint *\fIaddress\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +location +Location in caller memory (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +address +Address of location (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Get_address returns the byte address of a location in memory. +.sp +Example: Using MPI_Get_address for an array. +.sp +.nf +EAL A(100,100) +.fi +.br + INTEGER I1, I2, DIFF +.br + CALL MPI_GET_ADDRESS(A(1,1), I1, IERROR) +.br + CALL MPI_GET_ADDRESS(A(10,10), I2, IERROR) +.br + DIFF = I2 - I1 +.br +! The value of DIFF is 909*sizeofreal; the values of I1 and I2 are +.br +! implementation dependent. +.fi + +.SH NOTES +.ft R +Current Fortran MPI codes will run unmodified and will port to any system. However, they may fail if addresses larger than 2^32 - 1 are used in the program. New codes should be written so that they use the new functions. This provides compatibility with C/C++ and avoids errors on 64-bit architectures. However, such newly written codes may need to be (slightly) rewritten to port to old Fortran 77 environments that do not support KIND declarations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 new file mode 100644 index 00000000..e6d87fc3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_count \fP \- Gets the number of top-level elements received. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_count(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + int\fI *count\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +status +Return status of receive operation (status). +.TP 1i +datatype +Datatype of each receive buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +count +Number of received elements (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns the number of entries received. (We count entries, each of type +datatype, not bytes.) The datatype argument should match the argument +provided by the receive call that set the status variable. (As explained in Section 3.12.5 in the MPI-1 Standard, "Use of General Datatypes in Communication," MPI_Get_count may, in certain situations, return the value MPI_UNDEFINED.) +.sp +The datatype argument is passed to MPI_Get_count to improve performance. A message might be received without counting the number of elements it contains, and the count value is often not needed. Also, this allows the same function to be used after a call to MPI_Probe. + +.SH NOTES +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in +.I status +is not an exact multiple of the +size of +.I datatype +(so that +.I count +would not be integral), a +.I count +of +.I MPI_UNDEFINED +is returned instead. + +.SH ERRORS +If the value to be returned is larger than can fit into the +.I count +parameter, an MPI_ERR_TRUNCATE exception is invoked. +.sp +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_elements + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 new file mode 100644 index 00000000..cf390b3f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_elements 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_elements, MPI_Get_elements_x\fP \- Returns the number of basic elements in a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_elements(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + int\fI *count\fP) +int MPI_Get_elements_x(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + MPI_Count\fI *count\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +status +Return status of receive operation (status). +.TP 1i +datatype +Datatype used by receive operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +count Number of received basic elements (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Get_elements and MPI_Get_elements_x behave different from MPI_Get_count, which returns the number of "top-level entries" received, i.e., the number of "copies" of type datatype. MPI_Get_count may return any integer value k, where 0 =< k =< count. If MPI_Get_count returns k, then the number of basic elements received (and the value returned by MPI_Get_elements and MPI_Get_elements_x) is n * k, where n is the number of basic elements in the type map of datatype. If the number of basic elements received is not a multiple of n, that is, if the receive operation has not received an integral number of datatype "copies," then MPI_Get_count returns the value MPI_UNDEFINED. For both functions, if the \fIcount\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. +.sp +\fBExample:\fP Usage of MPI_Get_count and MPI_Get_element: +.sp +.nf + \&... + CALL MPI_TYPE_CONTIGUOUS(2, MPI_REAL, Type2, ierr) + CALL MPI_TYPE_COMMIT(Type2, ierr) + \&... + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank.EQ.0) THEN + CALL MPI_SEND(a, 2, MPI_REAL, 1, 0, comm, ierr) + CALL MPI_SEND(a, 3, MPI_REAL, 1, 0, comm, ierr) + ELSE + CALL MPI_RECV(a, 2, Type2, 0, 0, comm, stat, ierr) + CALL MPI_GET_COUNT(stat, Type2, i, ierr) ! returns i=1 + CALL MPI_GET_ELEMENTS(stat, Type2, i, ierr) ! returns i=2 + CALL MPI_RECV(a, 2, Type2, 0, 0, comm, stat, ierr) + CALL MPI_GET_COUNT(stat, Type2, i, ierr) ! returns i=MPI_UNDEFINED + CALL MPI_GET_ELEMENTS(stat, Type2, i, ierr) ! returns i=3 + END IF +.fi +.sp +The function MPI_Get_elements can also be used after a probe to find the number of elements in the probed message. Note that the two functions MPI_Get_count and MPI_Get_elements return the same values when they are used with primitive data types. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fICOUNT\fP argument of MPI_Get_elements_x only for +Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fICOUNT\fP +.fi +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 new file mode 100644 index 00000000..55dfa77b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Get_elements.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 new file mode 100644 index 00000000..44d769f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_library_version 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_library_version\fP \- Returns a string of the current Open MPI version + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_library_version(char \fI*version\fP, int \fI*resultlen\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +version +A string containing the Open MPI version (string). + +.ft R +.TP 1i +resultlen +Length (in characters) of result returned in \fIversion\fP (integer). + +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns a string representing the version of the MPI +library. The version argument is a character string for maximum +flexibility. +.sp +The number of characters actually written is returned in the output +argument, \fIresultlen\fP. In C, a '\\0' character is additionally +stored at \fIversion[resultlen]\fP. The \fIresultlen\fP cannot be +larger than (MPI_MAX_LIBRARY_VERSION_STRING - 1). In Fortran, version +is padded on the right with blank characters. The \fIresultlen\fP +cannot be larger than MPI_MAX_LIBRARY_VERSION_STRING. + +.SH NOTE +.ft R +The \fIversion\fP string that is passed must be at least +MPI_MAX_LIBRARY_VERSION_STRING characters long. +.sp +MPI_Get_library_version is one of the few functions that can be called +before MPI_Init and after MPI_Finalize. +.sp +MPI_Get_library_version is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Get_version diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 new file mode 100644 index 00000000..3e533a14 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_processor_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_processor_name \fP \- Gets the name of the processor. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_processor_name(char *\fIname\fP, int *\fIresultlen\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +A unique specifier for the actual (as opposed to virtual) node. +.TP 1i +resultlen +Length (in characters) of result returned in name. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns the name of the processor on which it was called at the moment of the call. The name is a character string for maximum flexibility. From this value it must be possible to identify a specific piece of hardware. The argument name must represent storage that is at least MPI_MAX_PROCESSOR_NAME characters long. +.sp +The number of characters actually written is returned in the output +argument, resultlen. +.sp +.SH NOTES +.ft R +The user must provide at least MPI_MAX_PROCESSOR_NAME space to write the processor name; processor names can be this long. The user should examine the output argument, resultlen, to determine the actual length of the name. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 new file mode 100644 index 00000000..9bd3664a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_version 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_version\fP \- Returns the version of the standard corresponding to the current implementation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_version(int \fI*version\fP, int \fI*subversion\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +version +The major version number of the corresponding standard (integer). + +.ft R +.TP 1i +subversion +The minor version number of the corresponding standard (integer). + +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Since Open MPI is MPI 3.1 compliant, this function will return a version value of 3 and a subversion value of 1 for this release. + +.SH NOTE +.ft R +MPI_Get_version is one of the few functions that can be called before MPI_Init and after MPI_Finalize. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 new file mode 100644 index 00000000..503c3a27 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_create \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_create(MPI_Comm \fIcomm_old\fP, int\fI nnodes\fP, const int\fI index[]\fP, + const int\fI edges[]\fP, int\fI reorder\fP, MPI_Comm\fI *comm_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +nnodes +Number of nodes in graph (integer). +.TP 1i +index +Array of integers describing node degrees (see below). +.TP 1i +edges +Array of integers describing graph edges (see below). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_graph +Communicator with graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Graph_create returns a handle to a new communicator to which the graph topology information is attached. If reorder = false then the rank of each process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the processes. If the size, nnodes, of the graph is smaller than the size of the group of comm_old, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Cart_create and MPI_Comm_split. The call is erroneous if it specifies a graph that is larger than the group size of the input communicator. +.sp +The three parameters nnodes, index, and edges define the graph structure. nnodes is the number of nodes of the graph. The nodes are numbered from 0 to nnodes-1. The ith entry of array index stores the total number of neighbors of the first i graph nodes. The lists of neighbors of nodes 0,\ 1,\ ..., nnodes-1 are stored in consecutive locations in array edges. The array edges is a flattened representation of the edge lists. The total number of entries in index is nnodes and the total number of entries in edges is equal to the number of graph edges. +.sp +The definitions of the arguments nnodes, index, and edges are illustrated with the following simple example. +.sp +\fBExample:\fP Assume there are four processes 0, 1, 2, 3 with the +following adjacency matrix: +.sp +.nf + Process Neighbors + 0 1, 3 + 1 0 + 2 3 + 3 0, 2 +.fi +.sp +Then, the input arguments are: +.nf + nnodes = 4 + index = 2, 3, 4, 6 + edges = 1, 3, 0, 3, 0, 2 +.fi +.sp +Thus, in C, index[0] is the degree of node zero, and index[i] - index[i-1] +is the degree of node i, i=1, . . . , nnodes-1; the list of neighbors of +node zero is stored in edges[j], for 0 <= j <= index[0] - 1 and the list of +neighbors of node i, i > 0 , is stored in edges[j], index[i-1] <= j <= index[i] - 1. +.sp +In Fortran, index(1) is the degree of node zero, and index(i+1) - index(i) +is the degree of node i, i=1, . . . , nnodes-1; the list of neighbors of +node zero is stored in edges(j), for 1 <= j <= index(1) and the list of +neighbors of node i, i > 0, is stored in edges(j), index(i) + 1 <= j <= index(i + 1). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_get +.br +MPI_Graphdims_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 new file mode 100644 index 00000000..26ae449e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 @@ -0,0 +1,63 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_get \fP \- Retrieves graph topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_get(MPI_Comm \fIcomm\fP, int\fI maxindex\fP, int\fI maxedges\fP, + int\fI index\fP[], int\fI edges\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph structure (handle). +.TP 1i +maxindex +Length of vector index in the calling program (integer). +.TP 1i +maxedges +Length of vector edges in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Array of integers containing the graph structure (for details see the +definition of MPI_Graph_create). +.TP 1i +edges +Array of integers containing the graph structure. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology information that was associated with a communicator by MPI_Graph_create. +.sp +The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_create +.br +MPI_Graphdims_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 new file mode 100644 index 00000000..d8921548 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_map 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_map \fP \- Maps process to graph topology information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_map(MPI_Comm \fIcomm\fP, int\fI nnodes\fP, const int\fI index\fP[], + const int\fI edges\fP[], int\fI *newrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Input communicator (handle). +.TP 1i +nnodes +Number of graph nodes (integer). +.TP 1i +index +Integer array specifying the graph structure, see MPI_Graph_ create. +.TP 1i +edges +Integer array specifying the graph structure. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newrank +Reordered rank of the calling process; MPI_UNDEFINED if the calling process does not belong to graph (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_map and MPI_Graph_map can be used to implement all other topology +functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Cart_map + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 new file mode 100644 index 00000000..0ae725d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_neighbors 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_neighbors \fP \- Returns the neighbors of a node associated with a graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_neighbors(MPI_Comm \fIcomm\fP, int\fI rank\fP, int\fI maxneighbors\fP, + int\fI neighbors\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph topology (handle). +.TP 1i +rank +Rank of process in group of comm (integer). +.TP 1i +maxneighbors +Size of array neighbors (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +neighbors +Ranks of processes that are neighbors to specified process (array of integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBExample:\fP Suppose that comm is a communicator with a shuffle-exchange +topology. The group has 2n members. Each process is labeled by a(1),\ ..., a(n) with a(i) E{0,1}, and has three neighbors: exchange (a(1),\ ..., a(n) = a(1),\ ..., a(n-1), a(n) (a = 1 - a), shuffle (a(1),\ ..., a(n)) = a(2),\ ..., a(n), a(1), and unshuffle (a(1),\ ..., a(n)) = a(n), a(1),\ ..., a(n-1). The graph adjacency list is illustrated below for n=3. +.sp +.nf + exchange shuffle unshuffle + node neighbors(1) neighbors(2) neighbors(3) + 0(000) 1 0 0 + 1(001) 0 2 4 + 2(010) 3 4 1 + 3(011) 2 6 5 + 4(100) 5 1 2 + 5(101) 4 3 6 + 6(110) 7 5 3 + 7(111) 6 7 7 +.fi +.sp +Suppose that the communicator comm has this topology associated with it. The following code fragment cycles through the three types of neighbors and performs an appropriate permutation for each. +.sp +.nf +C assume: each process has stored a real number A. +C extract neighborhood information + CALL MPI_COMM_RANK(comm, myrank, ierr) + CALL MPI_GRAPH_NEIGHBORS(comm, myrank, 3, neighbors, ierr) +C perform exchange permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(1), 0, + + neighbors(1), 0, comm, status, ierr) +C perform shuffle permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(2), 0, + + neighbors(3), 0, comm, status, ierr) +C perform unshuffle permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(3), 0, + + neighbors(2), 0, comm, status, ierr) + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 new file mode 100644 index 00000000..0215fe16 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_neighbors_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_neighbors_count \fP \- Returns the number of neighbors of a node associated with a graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_neighbors_count(MPI_Comm \fIcomm\fP, int\fI rank\fP, + int\fI *nneighbors\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph topology (handle). +.TP 1i +rank +Rank of process in group of comm (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nneighbors +Number of neighbors of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Graph_neighbors_count and MPI_Graph_neighbors provide adjacency information for a general, graph topology. MPI_Graph_neighbors_count returns the number of neighbors for the process signified by rank. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_neighbors + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 new file mode 100644 index 00000000..26ce7f24 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graphdims_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graphdims_get \fP \- Retrieves graph topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graphdims_get(MPI_Comm \fIcomm\fP, int\fI *nnodes\fP, int\fI *nedges\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator for group with graph structure (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nnodes +Number of nodes in graph (integer). +.TP 1i +nedges +Number of edges in graph (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology information that was associated with a communicator by MPI_Graph_create. +.sp +The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_create +.br +MPI_Graph_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 new file mode 100644 index 00000000..d57e7f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Grequest_complete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Grequest_complete \fP \- Reports that a generalized request is complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Grequest_complete(MPI_Request \fIrequest\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +request +Generalized request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Grequest_complete informs MPI that the operations represented by the generalized request \fIrequest\fP are complete. A call to MPI_Wait(\fIrequest, status\fP) will return, and a call to MPI_Test(\fIrequest, flag, status\fP) will return flag=true only after a call to MPI_Grequest_complete has declared that these operations are complete. +.sp +MPI imposes no restrictions on the code executed by the callback functions. However, new nonblocking operations should be defined so that the general semantic rules about MPI calls such as MPI_Test, MPI_Request_free, or MPI_Cancel still hold. For example, all these calls are supposed to be local and nonblocking. Therefore, the callback functions \fIquery_fn\fP, \fIfree_fn\fP, or \fIcancel_fn\fP should invoke blocking MPI communication calls only if the context is such that these calls are guaranteed to return in finite time. Once MPI_Cancel has been invoked, the canceled operation should complete in finite time, regardless of the state of other processes (the operation has acquired "local" semantics). It should either succeed or fail without side-effects. The user should guarantee these same properties for newly defined operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 new file mode 100644 index 00000000..5ec466bc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 @@ -0,0 +1,150 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Grequest_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Grequest_start \fP \- Starts a generalized request and returns a handle to it in \fIrequest\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Grequest_start(MPI_Grequest_query_function \fI*query_fn\fP, + MPI_Grequest_free_function \fI*free_fn\fP, + MPI_Grequest_cancel_function \fI*cancel_fn\fP, void \fI*extra_state\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +query_fn +Callback function invoked when request status is queried (function). +.TP 1i +free_fn +Callback function invoked when request is freed (function). +.TP 1i +cancel_fn +Callback function invoked when request is canceled (function). +.TP 1i +extra_state +Extra state. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Generalized request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Grequest_start starts a generalized request and returns a handle to it in \fIrequest\fP. +.sp +The syntax and meaning of the callback functions are listed below. All callback functions are passed the \fIextra_state\fP argument that was associated with the request by the starting call MPI_Grequest_start. This can be used to maintain user-defined state for the request. In C, the query function is +.sp +.nf + typedef int MPI_Grequest_query_function(void \fI*extra_state\fP, + MPI_Status \fI*status\fP); +.fi +.sp +In Fortran, it is +.sp +.nf + SUBROUTINE GREQUEST_QUERY_FUNCTION(\fIEXTRA_STATE, STATUS, IERROR\fP) + INTEGER STATUS(MPI_STATUS_SIZE), \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP +.fi +.sp +and in C++, it is +.sp +.nf + typedef int MPI::Grequest::Query_function(void* \fIextra_state\fP, + MPI::Status& \fIstatus\fP); +.fi +.sp +The \fIquery_fn\fP function computes the status that should be returned for the generalized request. The status also includes information about successful/unsuccessful cancellation of the request (result to be returned by MPI_Test_cancelled). +.sp +The \fIquery_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. The callback function is also invoked by calls to MPI_Request_get_status if the request is complete when the call occurs. In both cases, the callback is passed a reference to the corresponding status variable passed by the user to the MPI call. If the user provided MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE to the MPI function that causes \fIquery_fn\fP to be called, then MPI will pass a valid status object to \fIquery_fn\fP, and this status will be ignored upon return of the callback function. Note that \fIquery_fn\fP is invoked only after MPI_Grequest_complete is called on the request; it may be invoked several times for the same generalized request. Note also that a call to MPI_{Wait|Test}{some|all} may cause multiple invocations of \fIquery_fn\fP callback functions, one for each generalized request that is completed by the MPI call. The order of these invocations is not specified by MPI. +.sp +In C, the free function is +.sp +.nf + typedef int MPI_Grequest_free_function(void *\fIextra_state\fP); +.fi +.sp +In Fortran, it is +.sp +.nf + SUBROUTINE GREQUEST_FREE_FUNCTION(\fIEXTRA_STATE, IERROR\fP) + INTEGER \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP +.fi +.sp +And in C++, it is +.sp +.nf + typedef int MPI::Grequest::Free_function(void* \fIextra_state\fP); +.fi +.sp +The \fIfree_fn\fP callback function is invoked to clean up user-allocated resources when the generalized request is freed. +.sp +The \fIfree_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. \fIfree_fn\fP is invoked after the call to \fIquery_fn\fP for the same request. However, if the MPI call completed multiple generalized requests, the order in which \fIfree_fn\fP callback functions are invoked is not specified by MPI. +.sp +The \fIfree_fn\fP callback is also invoked for generalized requests that are freed by a call to MPI_Request_free (no call to MPI_{Wait|Test}{any|some|all} will occur for such a request). In this case, the callback function will be called either in the MPI call MPI_Request_free(request) or in the MPI call MPI_Grequest_complete(request), whichever happens last. In other words, in this case the actual freeing code is executed as soon as both calls (MPI_Request_free and MPI_Grequest_complete) have occurred. The \fIrequest\fP is not deallocated until after \fIfree_fn\fP completes. Note that \fIfree_fn\fP will be invoked only once per request by a correct program. +.sp +In C, the cancel function is +.sp +.nf + typedef int MPI_Grequest_cancel_function(void *\fIextra_state\fP, int \fIcomplete\fP); +.fi +.sp +In Fortran, the cancel function is +.sp +.nf + SUBROUTINE GREQUEST_CANCEL_FUNCTION(\fIEXTRA_STATE, COMPLETE, IERROR\fP) + INTEGER \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP + LOGICAL \fICOMPLETE\fP +.fi +.sp +In C++, the cancel function is +.sp +.nf + typedef in MPI::Grequest::Cancel_function(void* \fIextra_state\fP, + bool \fIcomplete\fP); +.fi +.sp +The \fIcancel_fn\fP function is invoked to start the cancellation of a generalized request. It is called by MPI_Request_cancel(request). MPI passes to the callback function complete=true if MPI_Grequest_complete has already been called on the request, and complete=false otherwise. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +All callback functions return an error code. The code is passed back and dealt with as appropriate for the error code by the MPI function that invoked the callback function. For example, if error codes are returned, then the error code returned by the callback function will be returned by the MPI function that invoked the callback function. In the case of a MPI_{Wait|Test}any call that invokes both \fIquery_fn\fP and \fIfree_fn\fP, the MPI call will return the error code returned by the last callback, namely \fIfree_fn\fP. If one or more of the requests in a call to MPI_{Wait|Test}{some|all} has failed, then the MPI call will return MPI_ERR_IN_STATUS. In such a case, if the MPI call was passed an array of statuses, then MPI will return in each of the statuses that correspond to a completed generalized request the error code returned by the corresponding invocation of its \fIfree_fn\fP callback function. However, if the MPI function was passed MPI_STATUSES_IGNORE, then the individual error codes returned by each callback function will be lost. +.sp +See the MPI man page for a full list of MPI error codes. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 new file mode 100644 index 00000000..292fd485 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_compare 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_compare \fP \- Compares two groups. + +.SH SYNTAX +.SH C Syntax +.nf +#include +int MPI_Group_compare(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + int\fI *result\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +result +Integer which is MPI_IDENT if the order and members of the two groups are the same, MPI_SIMILAR if only the members are the same, and MPI_UNEQUAL otherwise. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_IDENT results if the group members and group order is exactly the same in both groups. This happens for instance if group1 and group2 are the same handle. MPI_SIMILAR results if the group members are the same but the order is different. MPI_UNEQUAL results otherwise. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 new file mode 100644 index 00000000..fd6149dd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_difference 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_difference \fP \- Makes a group from the difference of two groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_difference(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Difference group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) that are not in the first group +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 new file mode 100644 index 00000000..0ff428e7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_excl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_excl\fP \- Produces a group by reordering an existing group and taking only unlisted members. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_excl(MPI_Group \fIgroup\fP, int\fI n\fP, const int\fI ranks\fP[], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of elements in array ranks (integer). +.TP 1i +ranks +Array of integer ranks in group not to appear in newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, preserving the order defined by group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Group_excl creates a group of processes newgroup that is obtained by deleting from group those processes with ranks ranks[0], \&... ranks[n-1]. The ordering of processes in newgroup is identical to the ordering in group. Each of the n elements of ranks must be a valid rank in group and all elements must be distinct; otherwise, the call is erroneous. If n = 0, then newgroup is identical to group. + +.SH NOTE +.ft R +Currently, each of the ranks to exclude must be a valid rank in the group and all elements must be distinct or the function is erroneous. This restriction is per the draft. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_range_excl +.br +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 new file mode 100644 index 00000000..1f4b446b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_free \fP \- Frees a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_free(MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This operation marks a group object for deallocation. The handle group is set to MPI_GROUP_NULL by the call. Any ongoing operation using this group will complete normally. + +.SH NOTE +.ft R +On return, group is set to MPI_GROUP_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 new file mode 100644 index 00000000..d21696c2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_incl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_incl \fP \- Produces a group by reordering an existing group and taking only listed members. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_incl(MPI_Group \fIgroup\fP, int\fI n\fP, const int\fI ranks\fP[], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of elements in array ranks (and size of \fInewgroup\fP)(integer). +.TP 1i +ranks +Ranks of processes in group to appear in newgroup (array of integers). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, in the order defined by ranks (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Group_incl creates a group group_out that consists of the n processes in group with ranks rank[0], \&..., rank[n-1]; the process with rank i in group_out is the process with rank ranks[i] in group. Each of the n elements of ranks must be a valid rank in group and all elements must be distinct, or else the program is erroneous. If n = 0, then group_out is MPI_GROUP_EMPTY. This function can, for instance, be used to reorder the elements of a group. + +.SH NOTE +.ft R +This implementation does not currently check to ensure that there are no +duplicates in the list of ranks. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_compare +.br +MPI_Group_range_incl +.br +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 new file mode 100644 index 00000000..79696363 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_intersection 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_intersection \fP \- Produces a group at the intersection of two existing groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_intersection(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Intersection group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) not in first. +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group. +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group. +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 new file mode 100644 index 00000000..610f66d7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_range_excl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_range_excl\fP \- Produces a group by excluding ranges of processes from an existing group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_range_excl(MPI_Group \fIgroup\fP, int\fI n\fP, int\fI ranges\fP[][3], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of triplets in array ranges (integer). +.TP 1i +ranges +A one-dimensional array of integer triplets of the form (first rank, last rank, stride), indicating the ranks in group of processes to be excluded from the output group newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, preserving the order in group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Each computed rank must be a valid rank in group and all computed ranks must be distinct, or else the program is erroneous. +.sp +The functionality of this routine is specified to be equivalent to +expanding the array of ranges to an array of the excluded ranks and passing the resulting array of ranks and other arguments to MPI_Group_excl. A call to MPI_Group_excl is equivalent to a call to MPI_Group_range_excl with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_excl +.br +MPI_Group_free +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 new file mode 100644 index 00000000..fb6e3688 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_range_incl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_range_incl\fP \- Creates a new group from ranges of ranks in an existing group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_range_incl(MPI_Group \fIgroup\fP, int\fI n\fP, int\fI ranges\fP[][3], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of triplets in array ranges (integer). +.TP 1i +ranges +A one-dimensional array of integer triplets, of the form (first rank, last rank, stride) indicating ranks in group or processes to be included in newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, in the order defined by ranges (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If ranges consist of the triplets +.sp +.nf + (first1, last1, stride1),\ ..., (firstn, lastn, striden) +.fi +.sp +then newgroup consists of the sequence of processes in group with ranks +.sp +.nf + last(1)-first(1) + first(1), first(1) + stride(1),..., first(1) + ---------------- stride(1),... + stride(1) + + last(n)-first(n) + first(n), first(n) + stride(n),..., first(n) + ---------------- stride(n). + stride(n) +.fi +.sp +Each computed rank must be a valid rank in group and all computed ranks must be distinct, or else the program is erroneous. Note that we may have first(i) > last(i), and stride(i) may be negative, but cannot be zero. +.sp +The functionality of this routine is specified to be equivalent to expanding the array of ranges to an array of the included ranks and passing the resulting array of ranks and other arguments to MPI_Group_incl. A call to MPI_Group_incl is equivalent to a call to MPI_Group_range_incl with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges. + +.SH NOTE +.ft R +This implementation does not currently check to see that the list of ranges to include are valid ranks in the group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_incl +.br +MPI_Group_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 new file mode 100644 index 00000000..e5e54b0f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_rank\fP \- Returns the rank of the calling process in the given group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_rank(MPI_Group \fIgroup\fP, int *\fIrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of the calling process in group, or MPI_UNDEFINED if the process is not a member (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Group_rank returns as the output parameter \fIrank\fP the rank of the calling process in group. If the process is not a member of group then MPI_UNDEFINED is returned. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 new file mode 100644 index 00000000..23603bf5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_size\fP \- Returns the size of a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_size(MPI_Group \fIgroup\fP, int \fI*size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the group (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Group_size returns in \fIsize\fP the number of processes in the group. Thus, if group = MPI_GROUP_EMPTY, then the call will return size = 0. On the other hand, a call with group = MPI_GROUP_NULL is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 new file mode 100644 index 00000000..9fcefacc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_translate_ranks 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_translate_ranks\fP \- Translates the ranks of processes in one group to those in another group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_translate_ranks(MPI_Group \fIgroup1\fP, int\fI n\fP, + const int\fI ranks1\fP[], MPI_Group\fI group2\fP, int\fI ranks2\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +n +Number of ranks in ranks1 and ranks2 arrays (integer). +.TP 1i +ranks1 +Array of zero or more valid ranks in group1. +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ranks2 +Array of corresponding ranks in group2, MPI_UNDEFINED when no correspondence exists. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function is important for determining the relative numbering of the same processes in two different groups. For instance, if one knows the ranks of certain processes in the group of MPI_COMM_WORLD, one might want to know their ranks in a subset of that group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 new file mode 100644 index 00000000..6f4bc059 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_union 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_union \fP \- Produces a group by combining two groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_union(MPI_Group \fIgroup1\fP, MPI_Group \fIgroup2\fP, + MPI_Group *\fInewgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Union group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) not in first. +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group. +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group. +.sp +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 new file mode 100644 index 00000000..f7b03f37 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 @@ -0,0 +1 @@ +.so man3/MPI_Allgather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 new file mode 100644 index 00000000..8fc7b812 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Allgatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 new file mode 100644 index 00000000..9c97358e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 @@ -0,0 +1 @@ +.so man3/MPI_Allreduce.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 new file mode 100644 index 00000000..591c20bb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoall.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 new file mode 100644 index 00000000..6cc7026e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoallv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 new file mode 100644 index 00000000..0cca872b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoallw.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 new file mode 100644 index 00000000..17e1bd26 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 @@ -0,0 +1 @@ +.so man3/MPI_Barrier.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 new file mode 100644 index 00000000..c0a86beb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 @@ -0,0 +1 @@ +.so man3/MPI_Bcast.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 new file mode 100644 index 00000000..29b5432f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ibsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ibsend\fP \- Starts a nonblocking buffered send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ibsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Data type of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Ibsend posts a buffered-mode, nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Test +MPI_Wait +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 new file mode 100644 index 00000000..c2ff4cf3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 @@ -0,0 +1 @@ +.so man3/MPI_Exscan.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 new file mode 100644 index 00000000..d15bc2d2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 @@ -0,0 +1 @@ +.so man3/MPI_Gather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 new file mode 100644 index 00000000..3202cdbb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Gatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 new file mode 100644 index 00000000..c188b16a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Improbe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Improbe\fP \- Non-blocking matched probe for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Improbe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, + int\fI *flag\fP, MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +Flag (logical). +.ft R +.TP 1i +message +Message (handle). +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Like MPI_Probe and MPI_Iprobe, the MPI_Mprobe and MPI_Improbe operations +allow incoming messages to be queried without actually receiving +them, except that MPI_Mprobe and MPI_Improbe provide a mechanism to +receive the specific message that was matched regardless of other +intervening probe or receive operations. This gives the application +an opportunity to decide how to receive the message, based on the +information returned by the probe. In particular, the application may +allocate memory for the receive buffer according to the length of the +probed message. +.sp +A matching probe with MPI_PROC_NULL as \fIsource\fP returns \fIflag\fP += true, \fImessage\fP = MPI_MESSAGE_NO_PROC, and the \fIstatus\fP object +returns source = MPI_PROC_NULL, tag = MPI_ANY_TAG, and count = 0. +.sp +MPI_Iprobe returns a true value in \fIflag\fP if a message has been +matched and can be received by passing the \fImessage\fP handle to the +MPI_Mrecv or MPI_Imrecv functions, provided the \fIsource\fP was not +MPI_PROC_NULL. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Probe +MPI_Iprobe +MPI_Mrecv +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 new file mode 100644 index 00000000..76fb6625 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Imrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Imrecv\fP \- Non-blocking receive for a matched message + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Imrecv(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI type\fP, + MPI_Message\fI *message\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements to receive (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +message +Message (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +request +Request (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Mrecv and MPI_Imrecv receive messages that have been +previously matched by a matching probe. +.sp +The \fIrequest\fP returned from MPI_Imrecv can be used with any of the +MPI_Test and MPI_Wait variants, like any non-blocking receive request. +.sp +If MPI_Imrecv is called with MPI_MESSAGE_NULL as the message argument, +a call to one of the MPI_Test or MPI_Wait variants will return +immediately with the \fIstatus\fP object set to \fIsource\fP = +MPI_PROC_NULL, \fItag\fP = MPI_ANY_TAG, and \fIcount\fP = 0, as if a +receive from MPI_PROC_NULL was issued. +.sp +If reception of a matched message is started with MPI_Imrecv, then it +is possible to cancel the returned request with MPI_Cancel. If +MPI_Cancel succeeds, the matched message must be found by a subsequent +message probe (MPI_Probe, MPI_Iprobe, MPI_Mprobe, or MPI_Improbe), +received by a subsequent receive operation or canceled by the +sender. +.sp +Note, however, that is it possible for the cancellation of operations +initiated with MPI_Imrecv to fail. An example of a failing case is +when canceling the matched message receive would violate MPI message +ordering rules (e.g., if another message matching the same message +signature has matched -- and possible received -- before this +MPI_Imrecv is canceled). + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 new file mode 100644 index 00000000..f0569265 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_allgather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 new file mode 100644 index 00000000..b8ce05e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_allgatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 new file mode 100644 index 00000000..56f630ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoall.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 new file mode 100644 index 00000000..13b4e89a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoallv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 new file mode 100644 index 00000000..299138b3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoallw.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 new file mode 100644 index 00000000..d41a6f87 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_create\fP \- Creates a new info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_create(MPI_Info \fI*info\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info +Info object created (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_create creates a new info object. The newly created object contains no key/value pairs. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 new file mode 100644 index 00000000..e0b124c3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_delete\fP \- Deletes a key/value pair from \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_delete(MPI_Info \fIinfo\fP, const char \fI*key\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +key +Key (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_delete deletes a (key,value) pair from \fIinfo\fP. If \fIkey\fP is not defined in \fIinfo\fP, the call raises an error of class MPI_ERR_INFO_NOKEY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 new file mode 100644 index 00000000..a22b644b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_dup\fP \- Duplicates an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_dup(MPI_Info \fIinfo\fP, MPI_Info \fI*newinfo\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newinfo +Info object (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_dup duplicates an existing info object, creating a new object, with the same (key,value) pairs and the same ordering of keys. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 new file mode 100644 index 00000000..5fdcae06 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_INFO_ENV 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_INFO_ENV\fP \- Static MPI_Info object containing info about the application + +.SH DESCRIPTION +.ft R +The MPI-3 standard established a static MPI_Info object named \fIMPI_INFO_ENV\fP that can be used to access information about how the application was executed from the run-time. + +.SH SUPPORTED FIELDS +.ft R +.TP 1i +command +If available, the value will be set to argv[0]. Note that the value may not always be available - e.g., it is valid for a program to call MPI_Init with NULL parameters, in which case argv[0] will not be set if run as a singleton. This value will never be set in a Fortran program as the argv are not available. +.TP 1i +argv +The argv given for the application. If no arguments are passed to the application, then this value will not be set. It will also not be set in the case of a singleton that calls MPI_Init with NULL parameters, or a Fortran program. +.TP 1i +maxprocs +The number of processes in the job. +.TP 1i +soft +Open MPI does not support the \fIsoft\fP option for specifying the number of processes to be executed, so this value is set to the same as \fImaxprocs\fP. +.TP 1i +host +The name of the host this process is executing upon - the value returned from \fIgethostname()\fP. +.TP 1i +arch +The architecture of the host this process is executing upon. This value indicates the underlying chip architecture (e.g., x86_64), if it can be determined. +.TP 1i +wdir +The working directory at the time of process launch by mpiexec. Note that this value will not be set for processes launched as singletons as there is no reliable way for the MPI library to determine the location. +.TP 1i +file +Although specified by the MPI-3 standard, no value is currently set for this field. +.TP 1i +thread_level +The requested MPI thread level - note that this may differ from the \fIactual\fP MPI thread level of the application. +.TP 1i +ompi_num_apps +The number of application contexts in an MPMD job. +This is an Open MPI-specific field and value. +.TP 1i +ompi_np +The number of processes in each application context, provided as a space-delimited list of integers. +This is an Open MPI-specific field and value. +.TP 1i +ompi_first_rank +The MPI rank of the first process in each application context, provided as a space-delimited list of integers +This is an Open MPI-specific field and value. +.TP 1i +ompi_positioned_file_dir +If Open MPI was asked to pre-position files, this field provides the top-level directory where those files were place. +This is an Open MPI-specific field and value. + +.SH ERRORS +When calling MPI_INFO_GET(3), the \fIflag\fP parameter will be set to zero (false) if a value for the field has not been set. +.br + +.SH SEE ALSO +.ft r +MPI_Info_get diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 new file mode 100644 index 00000000..954e3063 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_free\fP \- Frees an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_free(MPI_Info \fI*info\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_free frees \fIinfo\fP and sets it to MPI_INFO_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 new file mode 100644 index 00000000..0308c826 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get\fP \- Retrieves the value associated with a key in an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get(MPI_Info \fIinfo\fP, const char \fI*key\fP, int \fIvaluelen\fP, char \fI*value\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +valuelen +Length of value arg (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +value +Value (string). +.ft R +.TP 1i +flag +Returns true if key defined, false if not (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get retrieves the value associated with \fIkey\fP in a previous call to MPI_Info_set. If such a key exists, it sets \fIflag\fP to true and returns the value in \fIvalue\fP; otherwise it sets \fIflag\fP to false and leaves \fIvalue\fP unchanged. \fIvaluelen\fP is the number of characters available in value. If it is less than the actual size of the value, the returned value is truncated. In C, \fIvaluelen\fP should be one less than the amount of allocated space to allow for the null terminator. +.sp +If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get_valuelen +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_nthkey +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 new file mode 100644 index 00000000..b53e55cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_nkeys 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_nkeys\fP \- Gets the number of keys currently defined in an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_nkeys(MPI_Info \fIinfo\fP, int \fI*nkeys\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nkeys +Number of defined keys (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_nkeys returns the number of currently defined keys in \fIinfo\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nthkey +.br +MPI_Info_get_valuelen +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 new file mode 100644 index 00000000..e938309e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_nthkey 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_nthkey\fP \- Returns the \fIn\fPth defined key in \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_nthkey(MPI_Info \fIinfo\fP, int \fIn\fP, char \fI*key\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +n +Key number (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_nthkey returns the \fIn\fPth defined key in \fIinfo\fP. Keys are numbered 0\...\fIN\fP - 1 where \fIN\fP is the value returned by MPI_Info_get_nkeys. All keys between 0 and \fIN\fP - 1 are guaranteed to be defined. The number of a given key does not change as long as \fIinfo\fP is not modified with MPI_Info_set or MPI_Info_delete. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_valuelen +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 new file mode 100644 index 00000000..a6dff1e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_valuelen 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_valuelen\fP \- Retrieves the length of the key value associated with an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_valuelen(MPI_Info \fIinfo\fP, const char \fI*key\fP, + int \fI*valuelen\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +key +Key (string). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +valuelen +Length of value arg (integer). +.ft R +.TP 1i +flag +Returns true if key defined, false if not (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_valuelen retrieves the length of the \fIvalue\fP associated with \fIkey\fP. If \fIkey\fP is defined, \fIvaluelen\fP is set to the length of its associated value and \fIflag\fP is set to true. If \fIkey\fP is not defined, \fIvaluelen\fP is not touched and \fIflag\fP is set to false. The length returned in C or C++ does not include the end-of-string character. +.sp +If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_nthkey +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 new file mode 100644 index 00000000..6b611861 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_set 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_set\fP \- Adds a key/value pair to \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_set(MPI_Info \fIinfo\fP, char \fI*key\fP, char \fI*value\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +value +Value (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_set adds the (key,value) pair to \fIinfo\fP and overrides the value if a value for the same key was previously set. The \fIkey\fP and \fIvalue\fP parameters are null-terminated strings in C. In Fortran, leading and trailing spaces in \fIkey\fP and \fIvalue\fP are stripped. If either \fIkey\fP or \fIvalue\fP is larger than the allowed maximums, the error MPI_ERR_INFO_KEY or MPI_ERR_INFO_VALUE is raised, respectively. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 new file mode 100644 index 00000000..eba21348 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 @@ -0,0 +1,91 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Init 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Init\fP \- Initializes the MPI execution environment + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Init(int *\fIargc\fP, char ***\fIargv\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +argc +C/C++ only: Pointer to the number of arguments. +.TP 1i +argv +C/C++ only: Argument vector. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine, or MPI_Init_thread, must be called before most other MPI +routines are called. There are a small number of exceptions, such as +MPI_Initialized and MPI_Finalized. MPI can be initialized at most +once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. +.sp +All MPI programs must contain a call to MPI_Init or +MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +arguments to main, but neither modifies, interprets, nor distributes +them: +.sp +.nf + { + /* declare variables */ + MPI_Init(&argc, &argv); + /* parse arguments */ + /* main program */ + MPI_Finalize(); + } +.fi + +.SH NOTES +.ft R +The Fortran version does not have provisions for \fIargc\fP and +\fIargv\fP and takes only IERROR. +.sp +The MPI Standard does not say what a program can do before an MPI_Init +or after an MPI_Finalize. In the Open MPI implementation, it should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input, or writing to standard output. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init_thread +MPI_Initialized +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 new file mode 100644 index 00000000..80a91471 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 @@ -0,0 +1,183 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Init_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_Init_thread\fP \- Initializes the MPI execution environment +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_Init_thread(int *\fIargc\fP, char ***\fIargv\fP, + int \fIrequired\fP, int *\fIprovided\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +argc +C/C++ only: Pointer to the number of arguments. +.TP 1i +argv +C/C++ only: Argument vector. +.TP 1i +required +Desired level of thread support (integer). +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +Available level of thread support (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). +. +. +.SH DESCRIPTION +.ft R +This routine, or MPI_Init, must be called before most other MPI +routines are called. There are a small number of exceptions, such as +MPI_Initialized and MPI_Finalized. MPI can be initialized at most +once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. +.sp +MPI_Init_thread, as compared to MPI_Init, has a provision to request a +certain level of thread support in \fIrequired\fP: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread will execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread that called +MPI_Init_thread will make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread will make MPI library +calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads may call MPI at once +with no restrictions. +. +.PP +The level of thread support available to the program is set in +\fIprovided\fP, except in C++, where it is the return value of the +function. In Open MPI, the value is dependent on how the library was +configured and built. Note that there is no guarantee that +\fIprovided\fP will be greater than or equal to \fIrequired\fP. +.sp +Also note that calling MPI_Init_thread with a +.I required +value of +.I MPI_THREAD_SINGLE +is equivalent to calling MPI_Init. +.sp +All MPI programs must contain a call to MPI_Init or +MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +arguments to main, but neither modifies, interprets, nor distributes +them: +.sp +.nf + { + /* declare variables */ + MPI_Init_thread(&argc, &argv, req, &prov); + /* parse arguments */ + /* main program */ + MPI_Finalize(); + } +.fi +. +.SH NOTES +.ft R +The Fortran version does not have provisions for \fIargc\fP and +\fIargv\fP and takes only IERROR. +.sp +It is the caller's responsibility to check the value of \fIprovided\fP, +as it may be less than what was requested in \fIrequired\fP. +.sp +The MPI Standard does not say what a program can do before an +MPI_Init_thread or after an MPI_Finalize. In the Open MPI +implementation, it should do as little as possible. In particular, +avoid anything that changes the external state of the program, such as +opening files, reading standard input, or writing to standard output. +. +. +.SH MPI_THREAD_MULTIPLE Support +. +MPI_THREAD_MULTIPLE support is included if Open MPI was configured +with the --enable-mpi-thread-multiple configure switch. You can check the +output of +.BR ompi_info (1) +to see if Open MPI has MPI_THREAD_MULTIPLE support: +. +.PP +.nf +shell$ ompi_info | grep -i thread + Thread support: posix (mpi: yes, progress: no) +shell$ +.fi +. +.PP +The "mpi: yes" portion of the above output indicates that Open MPI was +compiled with MPI_THREAD_MULTIPLE support. +. +.PP +Note that MPI_THREAD_MULTIPLE support is only lightly tested. It +likely does not work for thread-intensive applications. Also note +that +.I only +the MPI point-to-point communication functions for the BTL's listed +below are considered thread safe. Other support functions (e.g., MPI +attributes) have not been certified as safe when simultaneously used +by multiple threads. +. +.PP +.nf + tcp + sm + mx + elan + self +.fi +. +.PP +Note that Open MPI's thread support is in a fairly early stage; the +above devices are likely to +.IR work , +but the latency is likely to be fairly high. Specifically, efforts so +far have concentrated on +.IR correctness , +not +.I performance +(yet). +. +. +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +. +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Initialized +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 new file mode 100644 index 00000000..8895d8b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Initialized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Initialized\fP \- Checks whether MPI has been initialized + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Initialized(int *\fIflag\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if MPI has been initialized, and false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine may be used to determine whether MPI has been +initialized. It is one of a small number of routines that may be +called before MPI is initialized and after MPI has been finalized +(MPI_Finalized is another). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 new file mode 100644 index 00000000..038981f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Intercomm_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Intercomm_create\fP \- Creates an intercommunicator from two intracommunicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Intercomm_create(MPI_Comm \fIlocal_comm\fP, int\fI local_leader\fP, + MPI_Comm\fI peer_comm\fP, int\fI remote_leader\fP, int\fI tag\fP, MPI_Comm\fI *newintercomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +local_comm +The communicator containing the process that initiates the inter-communication (handle). +.TP 1i +local_leader +Rank of local group leader in local_comm (integer). +.TP 1i +peer_comm +"Peer" communicator; significant only at the local_leader (handle). +.TP 1i +remote_leader +Rank of remote group leader in peer_comm; significant only at the local_leader (integer). +.TP 1i +tag +Message tag used to identify new intercommunicator (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newintercomm +Created intercommunicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This call creates an intercommunicator. It is collective over the union of the local and remote groups. Processes should provide identical local_comm and local_leader arguments within each group. Wildcards are not permitted for remote_leader, local_leader, and tag. +.sp +This call uses point-to-point communication with communicator peer_comm, +and with tag tag between the leaders. Thus, care must be taken that there be no pending communication on peer_comm that could interfere with this communication. + +If multiple MPI_Intercomm_creates are being made, they should use different tags (more precisely, they should ensure that the local and remote leaders are using different tags for each MPI_intercomm_create). + +.SH NOTES +We recommend using a dedicated peer communicator, such as a duplicate of MPI_COMM_WORLD, to avoid trouble with peer communicators. +.sp +The MPI 1.1 Standard contains two mutually exclusive comments on the +input intracommunicators. One says that their respective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the +.B reason +given for this in the standard is +.B not +the reason for this choice; rather, the +.B other +operations on +intercommunicators (like +.I MPI_Intercomm_merge +) do not make sense if the +groups are not disjoint. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Intercomm_merge +.br +MPI_Comm_free +.br +MPI_Comm_remote_group +.br +MPI_Comm_remote_size + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 new file mode 100644 index 00000000..f1f518ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Intercomm_merge 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Intercomm_merge\fP \- Creates an intracommunicator from an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Intercomm_merge(MPI_Comm \fIintercomm\fP, int\fI high\fP, + MPI_Comm\fI *newintracomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator (type indicator). +.TP 1i +high +Used to order the groups of the two intracommunicators within comm when creating the new communicator (type indicator). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newintracomm +Created intracommunicator (type indicator). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function creates an intracommunicator from the union of the two groups that are associated with intercomm. All processes should provide the same high value within each of the two groups. If processes in one group provide the value high = false and processes in the other group provide the value high = true, then the union orders the "low" group before the "high" group. If all processes provide the same high argument, then the order of the union is arbitrary. This call is blocking and collective within the union of the two groups. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Intercomm_create +.br +MPI_Comm_free + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 new file mode 100644 index 00000000..b86e7515 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Iprobe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Iprobe\fP \- Nonblocking test for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Iprobe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, int\fI *flag\fP, + MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +Message-waiting flag (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Probe and MPI_Iprobe operations allow checking of incoming messages without actual receipt of them. The user can then decide how to receive them, based on the information returned by the probe (basically, the information returned by status). In particular, the user may allocate memory for the receive buffer, according to the length of the probed message. +.sp +MPI_Iprobe(source, tag, comm, flag, status) returns flag = true if there is a message that can be received and that matches the pattern specified by the arguments source, tag, and comm. The call matches the same message that would have been received by a call to MPI_Recv(\&..., source, tag, comm, status) executed at the same point in the program, and returns in status the same value that would have been returned by MPI_Recv(). Otherwise, the call returns flag = false, and leaves status undefined. +.sp +If MPI_Iprobe returns flag = true, then the content of the status object can be subsequently accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status," to find the source, tag, and length of the probed message. +.sp +A subsequent receive executed with the same context, and the source and tag returned in status by MPI_Iprobe will receive the message that was matched by the probe if no other intervening receive occurs after the probe. If the receiving process is multithreaded, it is the user's responsibility to ensure that the last condition holds. +.sp +The source argument of MPI_Probe can be MPI_ANY_SOURCE, and the tag argument can be MPI_ANY_TAG, so that one can probe for messages from an arbitrary source and/or with an arbitrary tag. However, a specific communication context must be provided with the comm argument. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +It is not necessary to receive a message immediately after it has been probed for, and the same message may be probed for several times before it is received. +.sp +.SH NOTE +Users of libmpi-mt should remember that two threads may do an MPI_Iprobe that actually returns true for the same message for both threads. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Probe +.br +MPI_Cancel + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 new file mode 100644 index 00000000..c6d73ad9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Irecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Irecv\fP \- Starts a standard-mode, nonblocking receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Irecv(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +count +Number of elements in receive buffer (integer). +.TP 1i +datatype +Datatype of each receive buffer element (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking receive call indicates that the system may start writing data into the receive buffer. The receiver should not access any part of the receive buffer after a nonblocking receive operation is called, until the receive completes. +.sp +A receive request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Recv +MPI_Probe +MPI_Test +MPI_Testany +MPI_Wait +MPI_Waitany +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 new file mode 100644 index 00000000..f8c65fb7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 new file mode 100644 index 00000000..4f03aec6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce_scatter.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 new file mode 100644 index 00000000..f649a6c4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce_scatter_block.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 new file mode 100644 index 00000000..64d60904 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Irsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Irsend\fP \- Starts a ready-mode nonblocking send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Irsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Irsend starts a ready-mode nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or to wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Rsend diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 new file mode 100644 index 00000000..485a3570 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Is_thread_main 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Is_thread_main\fP \- Determines if thread called MPI_Init + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Is_thread_main(int *\fIflag\fP) + +.fi +.SH OUTPUT PARAMETERS +.TP 1i +flag +True if calling thread is main thread (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Is_thread_main is called by a thread to find out whether the +caller is the main thread (that is, the thread that called MPI_Init or +MPI_Init_thread). + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 new file mode 100644 index 00000000..42cdcd65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 @@ -0,0 +1 @@ +.so man3/MPI_Scan.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 new file mode 100644 index 00000000..05572bc5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 @@ -0,0 +1 @@ +.so man3/MPI_Scatter.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 new file mode 100644 index 00000000..86a7f302 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 @@ -0,0 +1 @@ +.so man3/MPI_Scatterv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 new file mode 100644 index 00000000..d96386db --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Isend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Isend\fP \- Starts a standard-mode, nonblocking send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Isend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Isend starts a standard-mode, nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. +.sp +A send request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Send +MPI_Wait +MPI_Waitany +MPI_Test +MPI_Testany +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 new file mode 100644 index 00000000..bcbdbdbf --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Issend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Issend\fP \- Starts a nonblocking synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Issend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts a synchronous mode, nonblocking send. +.sp +Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Ssend +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 new file mode 100644 index 00000000..47ea3b51 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 @@ -0,0 +1,112 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Keyval_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Keyval_create\fP \- Generates a new attribute key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Keyval_create(MPI_Copy_function *\fIcopy_fn\fP, + MPI_Delete_function *\fIdelete_fn\fP, int *\fIkeyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +copy_fn +Copy callback function for keyval. +.TP 1i +delete_fn +Delete callback function for keyval. +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +keyval +Key value for future access (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_keyval instead. +.sp +This deprecated routine is not available in C++. +.sp +Generates a new attribute key. Keys are locally unique in a process and opaque to the user, though they are explicitly stored in integers. Once allocated, the key value can be used to associate attributes and access them on any locally defined communicator. +.sp +The copy_fn function is invoked when a communicator is duplicated by MPI_COMM_DUP. copy_fn should be of type MPI_Copy_function, which is defined as follows: +.sp +.nf + typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, + void *extra_state, void *attribute_val_in, + void *attribute_val_out, int *flag) + +.fi +A Fortran declaration for such a function is as follows: +.sp +.nf + SUBROUTINE COPY_FUNCTION(OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT, FLAG, IERR) + INTEGER OLDCOMM, KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, IERR + LOGICAL FLAG +.fi +.sp +The copy callback function is invoked for each key value in oldcomm in arbitrary order. Each call to the copy callback is made with a key value and its corresponding attribute. If it returns flag = 0, then the attribute is deleted in the duplicated communicator. Otherwise ( flag = 1), the new attribute value is set to the value returned in attribute_val_out. The function returns MPI_SUCCESS on success and an error code on failure (in which case MPI_Comm_dup will fail). +.sp +copy_fn may be specified as MPI_NULL_COPY_FN or MPI_DUP_FN from either C or +Fortran; MPI_NULL_COPY_FN is a function that does nothing other than return flag = 0, and MPI_SUCCESS. MPI_DUP_FN is a simple-minded copy function that sets flag = 1, returns the value of attribute_val_in in attribute_val_out, and returns MPI_SUCCESS. + +.SH NOTES +Key values are global (available for any and all communicators). +.sp +There are subtle differences between C and Fortran that require that the copy_fn be written in the same language that MPI_Keyval_create is called from. This should not be a problem for most users; only programmers using both Fortran and C in the same program need to be sure that they follow this rule. +.sp +Even though both formal arguments attribute_val_in +and attribute_val_out are of type void*, their usage differs. The C copy function is passed by MPI in attribute_val_in the value of the attribute, and in attribute_val_out the address of the attribute, so as to allow the function to return the (new) attribute value. The use of type void* for both is to avoid messy type casts. +.sp +A valid copy function is one that completely duplicates the information by making a full duplicate copy of the data structures implied by an attribute; another might just make another reference to that data structure, while using a reference-count mechanism. Other types of attributes might not copy at all (they might be specific to oldcomm only). +.sp +Analogous to copy_fn is a callback deletion function, defined as follows. The delete_fn function is invoked when a communicator is deleted by MPI_Comm_free or when a call is made explicitly to MPI_Attr_delete. delete_fn should be of type MPI_Delete_function, which is defined as follows: +.sp +.nf + typedef int MPI_Delete_function(MPI_Comm comm, int keyval, + void *attribute_val, void *extra_state); +.fi +.sp +A Fortran declaration for such a function is as follows: +.sp +.nf + SUBROUTINE DELETE_FUNCTION(COMM, KEYVAL,ATTRIBUTE_VAL, EXTRA_STATE, IERR) + INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR +.fi +.sp +This function is called by MPI_Comm_free, MPI_Attr_delete, and MPI_Attr_put to do whatever is needed to remove an attribute. The function returns MPI_SUCCESS on success and an error code on failure (in which case MPI_COMM_FREE will fail). +.sp +delete_fn may be specified as MPI_NULL_DELETE_FN from either C or FORTRAN; MPI_NULL_DELETE_FN is a function that does nothing, other than returning MPI_SUCCESS. +.sp +The special key value MPI_KEYVAL_INVALID is never returned by MPI_Keyval_create. Therefore, it can be used for static initialization of key values. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Keyval_free +.br +MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 new file mode 100644 index 00000000..232bba78 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Keyval_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Keyval_free\fP \- Frees attribute key for communicator cache attribute -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Keyval_free(int *\fIkeyval\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +keyval +Frees the integer key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_free_keyval instead. +.sp +This deprecated routine is not available in C++. +.sp +Frees an extant attribute key. This function sets the value of keyval to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to MPI_Attr_delete that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator. + +.SH NOTE +.ft R +Key values are global (they can be used with any and all communicators). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Keyval_create +.br +MPI_Comm_free_keyval +.br + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 new file mode 100644 index 00000000..2e2054cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 @@ -0,0 +1,116 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Lookup_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Lookup_name\fP \- Finds port associated with a service name + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Lookup_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +port_name +a port name (string). +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function retrieves a \fIport_name\fP published under +\fIservice_name\fP by a previous invocation of MPI_Publish_name. The +application must supply a \fIport_name\fP buffer large enough to hold +the largest possible port name (i.e., MPI_MAX_PORT_NAME bytes). + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_lookup_order char * Resolution order for name lookup. +.fi + +The \fIompi_lookup_order\fP info key can specify one of four valid +string values (see the NAME SCOPE section below for more information +on name scopes): + +.TP 4 +\fIlocal\fP: Only search the local scope for name resolution. +.TP 4 +\fIglobal\fP: Only search the global scope for name resolution. +.TP 4 +\fIlocal,global\fP: Search the local scope for name resolution. If +not found, try searching the global scope for name resolution. This +behavior is the default if the \fIompi_lookup_order\fP info key is not +specified. +.TP 4 +\fIglobal,local\fP: Search the global scope for name resolution. If +not found, try searching the local scope for name resolution. +.PP +If no info key is provided, the search will first check to see if a +global server has been specified and is available. If so, then the +search will default to global scope first, followed by local. Otherwise, +the search will default to local. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope +values are placed in a data store located on the mpirun of the calling +process' job, while global scope values reside on a central server. Calls +to MPI_Unpublish_name must correctly specify the scope to be used in +finding the value to be removed. The function will return an error if +the specified service name is not found on the indicated location. +.sp +For a more detailed description of scoping rules, please see the MPI_Publish_name +man page. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Publish_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 new file mode 100644 index 00000000..b02f9dce --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Mprobe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Mprobe\fP \- Blocking matched probe for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Mprobe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, + MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +message +Message (handle). +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Like MPI_Probe and MPI_Iprobe, the MPI_Mprobe and MPI_Improbe operations +allow incoming messages to be queried without actually receiving +them, except that MPI_Mprobe and MPI_Improbe provide a mechanism to +receive the specific message that was matched regardless of other +intervening probe or receive operations. This gives the application +an opportunity to decide how to receive the message, based on the +information returned by the probe. In particular, the application may +allocate memory for the receive buffer according to the length of the +probed message. +.sp +A matching probe with MPI_PROC_NULL as \fIsource\fP returns +\fImessage\fP = MPI_MESSAGE_NO_PROC, and the \fIstatus\fP object returns +source = MPI_PROC_NULL, tag = MPI_ANY_TAG, and count = 0. +.sp +When MPI_Mprobe returns (from a non-MPI_PROC_NULL \fIsource\fP), the +matched message can then be received by passing the \fImessage\fP +handle to the MPI_Mrecv or MPI_Imrecv functions. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Mrecv +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 new file mode 100644 index 00000000..ada983b2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Mrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Mrecv\fP \- Blocking receive for a matched message + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Mrecv(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI type\fP, + MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements to receive (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +message +Message (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Mrecv and MPI_Imrecv receive messages that have been +previously matched by a matching probe. +.sp +If MPI_Mrecv is called with MPI_MESSAGE_NULL as the message argument, +the call returns immediately with the \fIstatus\fP object set to +\fIsource\fP = MPI_PROC_NULL, \fItag\fP = MPI_ANY_TAG, and \fIcount\fP += 0, as if a receive from MPI_PROC_NULL was issued. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 new file mode 100644 index 00000000..9a4c8b22 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 @@ -0,0 +1,109 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_allgather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Neighbor_allgather, MPI_Ineighbor_allgather\fP \- Gathers and distributes data from and to all neighbors + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Neighbor_allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Ineighbor_allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, MPI_Request \fIreq\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvbuf +Starting address of recv buffer (choice). +.TP 1i +recvcount +Number of elements received from any process (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_allgather is similar to MPI_Allgather, except that only the neighboring processes receive the result, instead of all processes. The neighbors and buffer layout is determined by the topology of \fIcomm\fP. +.sp +The type signature associated with sendcount, sendtype at a process must be equal to the type signature associated with recvcount, recvtype at any other process. +.fi + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.SH NOTES +.sp +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Neighbor_allgatherv +MPI_Cart_create +MPI_Garph_create +MPI_Dist_graph_create +.br +MPI_Gather + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 new file mode 100644 index 00000000..db98fb57 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_allgatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Neighbor_allgatherv, MPI_Ineighbor_allgatherv\fP \- Gathers and distributes data from and to all neighbors. Each process may contribute a different amount of data. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Neighbor_allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Ineighbor_allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Integer array (of length group size) containing the number of elements that are received from each neighbor. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_allgatherv is similar to MPI_Neighbor_allgather in that all processes gather data from all neighbors, except that each process can send a different amount of data. The block of data sent from the jth neighbor is received by every neighbor and placed in the jth block of the buffer. The neighbors and buffer layout is determined by the topology of \fIcomm\fP. +.I recvbuf. +.sp +The type signature associated with sendcount, sendtype, at process j must be equal to the type signature associated with the corresponding entry in \fIrecvcounts\fP on neighboring processes. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.SH NOTES +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Neighbor_allgather +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 new file mode 100644 index 00000000..1e886328 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 @@ -0,0 +1,149 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoall 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoall, MPI_Ineighbor_alltoall\fP \- All processes send data to neighboring processes in a virtual topology communicator + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer (choice). +.TP 1.2i +sendcount +Number of elements to send to each process (integer). +.TP 1.2i +sendtype +Datatype of send buffer elements (handle). +.TP 1.2i +recvcount +Number of elements to receive from each process (integer). +.TP 1.2i +recvtype +Datatype of receive buffer elements (handle). +.TP 1.2i +comm +Communicator over which data is to be exchanged (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoall is a collective operation in which all processes send and receive the same amount of data to each neighbor. The operation of this routine can be represented as follows, where each process performs 2n (n being the number of neighbors in communicator \fIcomm\fP) independent point-to-point communications. The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +Example of MPI_Neighbor_alltoall semantics for cartesian topologies: +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r1, ..., \fIcomm\fP, ...); + ++i; + } + + MPI_Waitall (...); +.fi +.sp +Each process breaks up its local \fIsendbuf\fP into n blocks \- each +containing \fIsendcount\fP elements of type \fIsendtype\fP \- and +divides its \fIrecvbuf\fP similarly according to \fIrecvcount\fP and +\fIrecvtype\fP. Process j sends the k-th block of its local +\fIsendbuf\fP to neighbor k, which places the data in the j-th block of +its local \fIrecvbuf\fP. The amount of data sent must be equal to the +amount of data received, pairwise, between every pair of processes. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this function. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. \fIcomm\fP +must be either a cartesian, graph, or dist graph communicator. +.sp +There are two MPI library functions that are more general than +MPI_Neighbor_alltoall. MPI_Neighbor_alltoallv allows all-to-all communication to and +from buffers that need not be contiguous; different processes may +send and receive different amounts of data. MPI_Neighbor_alltoallw expands +MPI_Neighbor_alltoallv's functionality to allow the exchange of data with +different datatypes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoallv +MPI_Neighbor_alltoallw +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create +MPI_Dist_graph_create_adjacent diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 new file mode 100644 index 00000000..375601a0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 @@ -0,0 +1,171 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoallv 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoallv, MPI_Ineighbor_alltoallv\fP \- All processes send different amounts of data to, and receive different amounts of data from, all neighbors +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to neighbor i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (offset from +\fIsendbuf\fP, in units of \fIsendtype\fP) from which to send data to +neighbor i. +.TP 1.2i +sendtype +Datatype of send buffer elements. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from neighbor j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (offset from +\fIrecvbuf\fP, in units of \fIrecvtype\fP) to which data from neighbor j +should be written. +.TP 1.2i +recvtype +Datatype of receive buffer elements. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoallv is a generalized collective operation in which all +processes send data to and receive data from all neighbors. It +adds flexibility to MPI_Neighbor_alltoall by allowing the user to specify data +to send and receive vector-style (via a displacement and element +count). The operation of this routine can be thought of as follows, +where each process performs 2n (n being the number of neighbors in +to topology of communicator \fIcomm\fP) independent point-to-point communications. +The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r1, ..., \fIcomm\fP, ...); + ++i; + } +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to neighbor +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts of data to different processes in the communicator. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. +.sp +The specification of counts and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. Compare this to +MPI_Neighbor_alltoallw, where these offsets are measured in bytes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoall +MPI_Neighbor_alltoallw +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 new file mode 100644 index 00000000..911f6c98 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 @@ -0,0 +1,163 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoallw 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoallw, MPI_Ineighbor_alltoallw\fP \- All processes send data of different types to, and receive data of different types from, all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const MPI_Aint \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const MPI_Aint \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to neighbor i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (in bytes, +offset from \fIsendbuf\fP) from which to send data to neighbor i. +.TP 1.2i +sendtypes +Datatype array, where entry i specifies the datatype to use when +sending data to neighbor i. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from neighbor j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (in bytes, +offset from \fIrecvbuf\fP) to which data from neighbor j should +be written. +.TP 1.2i +recvtypes +Datatype array, where entry j specifies the datatype to use when +receiving data from neighbor j. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoallw is a generalized collective operation in which all +processes send data to and receive data from all neighbors. It +adds flexibility to MPI_Neighbor_alltoallv by allowing the user to specify the +datatype of individual data blocks (in addition to displacement and +element count). Its operation can be thought of in the following way, +where each process performs 2n (n being the number of neighbors in +the topology of communicator \fIcomm\fP) independent point-to-point communications. +The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtypes\fP[i], r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtypes\fP[i], r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtypes\fP[i], r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtypes\fP[i], r1, ..., \fIcomm\fP, ...); + ++i; + } + + MPI_Wait_all (...); + + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i], \fIsendcounts\fP[i], + \fIsendtypes\fP[i], i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i], \fIrecvcounts\fP[i], + \fIrecvtypes\fP[i], i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to neighbor +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts and types of data to different processes in the +communicator. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation +.sp +The specification of counts, types, and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in bytes. +Compare this to MPI_Neighbor_alltoallv, where these offsets are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoall +MPI_Neighbor_alltoallv +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 new file mode 100644 index 00000000..8b6ab39a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2015 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Op_commutative 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_commutative\fP \- Query of commutativity of reduction operation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_commutative(MPI_Op \fIop\fP, int *\fIcommute\fP) + +.fi +.SH INPUT PARAMETER +.TP 1i +op +Operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +commute +True if op is commutative, false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Reduction operations can be queried for their commutativity. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Op_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 new file mode 100644 index 00000000..b78d4e9d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 @@ -0,0 +1,169 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Op_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_create\fP \- Creates a user-defined combination function handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_create(MPI_User_function *\fIfunction\fP, int\fI commute\fP, + MPI_Op *\fIop\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +function +User-defined function (function). +.TP 1i +commute +True if commutative; false otherwise. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +op +Operation (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Op_create binds a user-defined global operation to an op handle that can subsequently be used in MPI_Reduce, MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. The user-defined operation is assumed to be associative. If commute = true, then the operation should be both commutative and associative. If commute = false, then the order of operands is fixed and is defined to be in ascending, process rank order, beginning with process zero. The order of evaluation can be changed, taking advantage of the associativity of the operation. If commute = true then the order of evaluation can be changed, taking advantage of commutativity and associativity. +.sp +\fIfunction\fP is the user-defined function, which must have the following four arguments: invec, inoutvec, len, and datatype. + +.sp +The ANSI-C prototype for the function is the following: +.sp +.nf + typedef void MPI_User_function(void *invec, void *inoutvec, + int *len, + MPI_Datatype *datatype); +.fi +.sp +The Fortran declaration of the user-defined function appears below. +.sp +.nf + FUNCTION USER_FUNCTION( INVEC(*), INOUTVEC(*), LEN, TYPE) + INVEC(LEN), INOUTVEC(LEN) + INTEGER LEN, TYPE +.fi +.sp +The datatype argument is a handle to the data type that was passed into the +call to MPI_Reduce. The user reduce function should be written such that +the following holds: Let u[0],\ ...,\ u[len-1] be the len elements in the communication buffer described by the arguments invec, len, and datatype when the function is invoked; let v[0],\ ...,\ v[len-1] be len elements in the communication buffer described by the arguments inoutvec, len, and datatype when the function is invoked; let w[0],\ ...,\ w[len-1] be len elements in the communication buffer described by the arguments inoutvec, len, and datatype when the function returns; then w[i] = u[i] o v[i], for i=0\ ,...,\ len-1, where o is the reduce operation that the function computes. +.sp +Informally, we can think of invec and inoutvec as arrays of len elements +that function is combining. The result of the reduction over-writes values +in inoutvec, hence the name. Each invocation of the function results in the +pointwise evaluation of the reduce operator on len elements: i.e, the +function returns in inoutvec[i] the value invec[i] o inoutvec[i], for i = +0\,...,\ count-1, where o is the combining operation computed by the function. +.sp +By internally comparing the value of the datatype argument to known, global handles, it is possible to overload the use of a single user-defined function for several different data types. +.sp +General datatypes may be passed to the user function. However, use of datatypes that are not contiguous is likely to lead to inefficiencies. +.sp +No MPI communication function may be called inside the user function. +MPI_Abort may be called inside the function in case of an error. + +.SH NOTES +Suppose one defines a library of user-defined reduce +functions that are overloaded: The datatype argument is used to select the right execution path at each invocation, according to the types of the operands. The user-defined reduce function cannot "decode" the datatype argument that it is passed, and cannot identify, by itself, the correspondence between the datatype handles and the datatype they represent. This correspondence was established when the datatypes were created. Before the library is used, a library initialization preamble must be executed. This preamble code will define the datatypes that are used by the library and store handles to these datatypes in global, static variables that are shared by the user code and the library code. + +\fBExample:\fP Example of user-defined reduce: +.sp +Compute the product of an array of complex numbers, in C. +.sp +.nf + typedef struct { + double real,imag; + } Complex; + + /* the user-defined function + */ + void myProd( Complex *in, Complex *inout, int *len, + MPI_Datatype *dptr ) + { + int i; + Complex c; + + for (i=0; i< *len; ++i) { + c.real = inout->real*in->real - + inout->imag*in->imag; + c.imag = inout->real*in->imag + + inout->imag*in->real; + *inout = c; + in++; inout++; + } + } + + /* and, to call it\&... + */ + \&... + + /* each process has an array of 100 Complexes + */ + Complex a[100], answer[100]; + MPI_Op myOp; + MPI_Datatype ctype; + + /* explain to MPI how type Complex is defined + */ + MPI_Type_contiguous( 2, MPI_DOUBLE, &ctype ); + MPI_Type_commit( &ctype ); + /* create the complex-product user-op + */ + MPI_Op_create( myProd, True, &myOp ); + + MPI_Reduce( a, answer, 100, ctype, myOp, root, comm ); + + /* At this point, the answer, which consists of 100 Complexes, + * resides on process root + */ +.fi +.sp +The Fortran version of MPI_Reduce will invoke a user-defined reduce function using the Fortran calling conventions and will pass a Fortran-type datatype argument; the C version will use C calling convention and the C representation of a datatype handle. Users who plan to mix languages should define their reduction functions accordingly. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Reduce +MPI_Reduce_scatter +MPI_Allreduce +MPI_Scan +MPI_Op_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 new file mode 100644 index 00000000..d432d688 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Op_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_free\fP \- Frees a user-defined combination function handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_free(MPI_Op *\fIop\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.TP 1i +op +Operation (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks a user-defined reduction operation for deallocation and sets \fIop\fP to MPI_OP_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Op_create +.br +MPI_Reduce +.br +MPI_Allreduce +.br +MPI_Reduce_scatter +.br +MPI_Scan + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 new file mode 100644 index 00000000..98e75310 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Open_port 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Open_port\fP \- Establishes a network address for a server to accept connections from clients. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Open_port(MPI_Info \fIinfo\fP, char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Options on how to establish an address (handle). No options currently supported. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +port_name +Newly established port (string). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Open_port establishes a network address, encoded in the \fIport_name\fP string, at which the server will be able to accept connections from clients. \fIport_name\fP is supplied by the system. +.sp +MPI copies a system-supplied port name into \fIport_name\fP. \fIport_name\fP identifies the newly opened port and can be used by a client to contact the server. The maximum size string that may be supplied by the system is MPI_MAX_PORT_NAME. + +.SH SUPPORTED INFO KEYS +None. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_accept +MPI_Comm_connect +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 new file mode 100644 index 00000000..2444b302 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pack\fP \- Packs data of a given datatype into contiguous memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pack(const void *\fIinbuf\fP, int\fI incount\fP, MPI_Datatype\fI datatype\fP, + void\fI *outbuf\fP, int\fI outsize\fP, int\fI *position\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). +.TP 1i +outsize +Output buffer size, in bytes (integer). +.TP 1i +comm +Communicator for packed message (handle). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Packs the message in the send buffer specified by \fIinbuf\fP, \fIincount\fP, \fIdatatype\fP into the buffer space specified by \fIoutbuf\fP and \fIoutsize\fP. The input buffer can be any communication buffer allowed in MPI_Send. The output buffer is a contiguous storage area containing \fIoutsize\fP bytes, starting at the address \fIoutbuf\fP (length is counted in bytes, not elements, as if it were a communication buffer for a message of type MPI_Packed). +.sp +The input value of \fIposition\fP is the first location in the output buffer to be used for packing. \fIposition\fP is incremented by the size of the packed message, and the output value of \fIposition\fP is the first location in the output buffer following the locations occupied by the packed message. The \fIcomm\fP argument is the communicator that will be subsequently used for sending the packed message. +.sp +\fBExample:\fP An example using MPI_Pack: +.sp +.nf + int position, i, j, a[2]; + char buff[1000]; + + \&.... + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + if (myrank == 0) + { + / * SENDER CODE */ + + position = 0; + MPI_Pack(&i, 1, MPI_INT, buff, 1000, &position, MPI_COMM_WORLD); + MPI_Pack(&j, 1, MPI_INT, buff, 1000, &position, MPI_COMM_WORLD); + MPI_Send( buff, position, MPI_PACKED, 1, 0, MPI_COMM_WORLD); + } + else /* RECEIVER CODE */ + MPI_Recv( a, 2, MPI_INT, 0, 0, MPI_COMM_WORLD) + + } + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Unpack +.br +MPI_Pack_size + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 new file mode 100644 index 00000000..3f515fc8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 @@ -0,0 +1,179 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_external 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Pack_external\fP \- Writes data to a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Pack_external(const char *\fIdatarep\fP, const void *\fIinbuf\fP, + int \fIincount\fP, MPI_Datatype\fI datatype\fP, + void *\fIoutbuf\fP, MPI_Aint \fIoutsize\fP, + MPI_Aint *\fIposition\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation (string). +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). +.TP 1i +outsize +Output buffer size, in bytes (integer). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_external packs data into the external32 format, a universal +data representation defined by the MPI Forum. This format is useful +for exchanging data between MPI implementations, or when writing data +to a file. +.sp +The input buffer is specified by \fIinbuf\fP, \fIincount\fP and +\fIdatatype\fP, and may be any communication buffer allowed in +MPI_Send. The output buffer \fIoutbuf\fP must be a contiguous storage +area containing \fIoutsize\fP bytes. +.sp +The input value of \fIposition\fP is the first position in +\fIoutbuf\fP to be used for packing (measured in bytes, not elements, +relative to the start of the buffer). When the function returns, +\fIposition\fP is incremented by the size of the packed message, so +that it points to the first location in \fIoutbuf\fP following the +packed message. This way it may be used as input to a subsequent call +to MPI_Pack_external. +.sp + +\fBExample:\fP An example using MPI_Pack_external: +.sp +.nf + int position, i; + double msg[5]; + char buf[1000]; + + \&... + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + if (myrank == 0) { /* SENDER CODE */ + position = 0; + i = 5; /* number of doubles in msg[] */ + MPI_Pack_external("external32", &i, 1, MPI_INT, + buf, 1000, &position); + MPI_Pack_external("external32", &msg, i, MPI_DOUBLE, + buf, 1000, &position); + MPI_Send(buf, position, MPI_BYTE, 1, 0, + MPI_COMM_WORLD); + } else { /* RECEIVER CODE */ + MPI_Recv(buf, 1, MPI_BYTE, 0, 0, MPI_COMM_WORLD, + MPI_STATUS_IGNORE); + MPI_Unpack_external("external32", buf, 1000, + MPI_INT, &i, 1, &position); + MPI_Unpack_external("external32", buf, 1000, + MPI_DOUBLE, &msg, i, &position); + } + +.fi +.SH NOTES +.ft R +The \fIdatarep\fP argument specifies the data format. The only valid +value in the current version of MPI is "external32". The argument is +provided for future extensibility. +.sp +To understand the behavior of pack and unpack, it is convenient to +think of the data part of a message as being the sequence obtained by +concatenating the successive values sent in that message. The pack +operation stores this sequence in the buffer space, as if sending the +message to that buffer. The unpack operation retrieves this sequence +from buffer space, as if receiving a message from that buffer. (It is +helpful to think of internal Fortran files or sscanf in C for a +similar function.) +.sp +Several messages can be successively packed into one packing +unit. This is effected by several successive related calls to +MPI_Pack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of \fIposition\fP that was +output by the previous call, along with the same values for +\fIoutbuf\fP and \fIoutcount\fP. This packing unit now contains the +equivalent information that would have been stored in a message by one +send call with a send buffer that is the "concatenation" of the +individual send buffers. +.sp +A packing unit can be sent using type MPI_BYTE. Any point-to-point +or collective communication function can be used to move the sequence +of bytes that forms the packing unit from one process to another. This +packing unit can now be received using any receive operation, with any +datatype. (The type-matching rules are relaxed for messages sent with +type MPI_BYTE.) +.sp +A packing unit can be unpacked into several successive messages. This +is effected by several successive related calls to +MPI_Unpack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of position that was output +by the previous call, and the same values for \fIinbuf\fP and +\fIinsize\fP. +.sp +The concatenation of two packing units is not necessarily a packing +unit; nor is a substring of a packing unit necessarily a packing +unit. Thus, one cannot concatenate two packing units and then unpack +the result as one packing unit; nor can one unpack a substring of a +packing unit as a separate packing unit. Each packing unit that was +created by a related sequence of pack calls must be unpacked as a unit +by a sequence of related unpack calls. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external_size +MPI_Send +MPI_Unpack_external +sscanf(3C) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 new file mode 100644 index 00000000..ff2b7966 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_external_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Pack_external_size\fP \- Calculates upper bound on space needed +to write to a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Pack_external_size(char *\fIdatarep\fP, int \fIincount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Aint *\fIsize\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation (string). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Upper bound on size of packed message, in bytes (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_external_size allows the application to find out how much +space is needed to pack a message in the portable format defined by +the MPI Forum. It returns in \fIsize\fP an upper bound on the +increment in \fIposition\fP that would occur in a call to +MPI_Pack_external with the same values for \fIdatarep\fP, +\fIincount\fP, and \fIdatatype\fP. +.sp +The call returns an upper bound, rather than an exact bound, as the +exact amount of space needed to pack the message may depend on context +and alignment (e.g., the first message packed in a packing unit may +take more space). + +.SH NOTES +.ft R +The \fIdatarep\fP argument specifies the data format. The only valid +value in the current version of MPI is "external32". The argument is +provided for future extensibility. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Unpack_external + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 new file mode 100644 index 00000000..780a4a7f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pack_size\fP \- Returns the upper bound on the amount of space needed to pack a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pack_size(int \fIincount\fP, MPI_Datatype\fI datatype\fP, MPI_Comm\fI comm\fP, + int\fI *size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Count argument to packing call (integer). +.TP 1i +datatype +Datatype argument to packing call (handle). +.TP 1i +comm +Communicator argument to packing call (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Upper bound on size of packed message, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_size allows the application to find out how much space is needed to pack a message. A call to MPI_Pack_size(incount, datatype, comm, size) returns in size an +upper bound on the increment in position that would occur in a call to MPI_Pack, with the same values for \fIincount\fP, \fIdatatype\fP, and \fIcomm\fP. +.sp +\fBRationale:\fP The call returns an upper bound, rather than an exact bound, since the exact amount of space needed to pack the message may depend on the context (e.g., first message packed in a packing unit may take more space). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Pack +.br +MPI_Unpack + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 new file mode 100644 index 00000000..65ff22d7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pcontrol 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pcontrol\fP \- Controls profiling. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pcontrol(const int \fIlevel\fP, \&... ) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +level +Profiling level. + +.SH DESCRIPTION +.ft R +MPI libraries themselves make no use of this routine; they simply return immediately to the user code. However the presence of calls to this routine allows a profiling package to be explicitly called by the user. +.sp +Since MPI has no control of the implementation of the profiling code, we are unable to specify precisely the semantics that will be provided by calls to MPI_Pcontrol. This vagueness extends to the number of arguments to the function, and their datatypes. +.sp +However to provide some level of portability of user codes to different +profiling libraries, we request the following meanings for certain values of level: +.TP + o +level==0 Profiling is disabled. +.TP + o +level==1 Profiling is enabled at a normal default level of detail. +.TP + o +level==2 Profile buffers are flushed. (This may be a no-op in some +profilers). +.TP + o +All other values of level have profile library-defined effects and additional arguments. +.LP +.sp +We also request that the default state after MPI_Init has been called is for profiling to be enabled at the normal default level (i.e., as if MPI_Pcontrol had just been called with the argument 1). This allows users to link with a profiling library and obtain profile output without having to modify their source code at all. +.sp +The provision of MPI_Pcontrol as a no-op in the standard MPI library allows users to modify their source code to obtain more detailed profiling information, but still be able to link exactly the same code against the standard MPI library. + +.SH NOTES +.ft R +This routine provides a common interface for profiling control. The interpretation of level and any other arguments is left to the profiling library. +.sp +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 new file mode 100644 index 00000000..51506758 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 @@ -0,0 +1,110 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Probe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Probe\fP \- Blocking test for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Probe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Probe and MPI_Iprobe operations allow checking of incoming messages, without actual receipt of them. The user can then decide how to receive them, based on the information returned by the probe in the status variable. For example, the user may allocate memory for the receive buffer, according to the length of the probed message. +.sp +MPI_Probe behaves like MPI_Iprobe except that it is a blocking call that returns only after a matching message has been found. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +The semantics of MPI_Probe and MPI_Iprobe guarantee progress: If a call to MPI_Probe has been issued by a process, and a send that matches the probe has been initiated by some process, then the call to MPI_Probe will return, unless the message is received by another concurrent receive operation (that is executed by another thread at the probing process). Similarly, if a process busy waits with MPI_Iprobe and a matching message has been issued, then the call to MPI_Iprobe will eventually return flag = true unless the message is received by another concurrent receive operation. +.sp +\fBExample 1:\fP Use blocking probe to wait for an incoming message. +.sp +.nf +CALL MPI_COMM_RANK(comm, rank, ierr) + IF (rank.EQ.0) THEN + CALL MPI_SEND(i, 1, MPI_INTEGER, 2, 0, comm, ierr) + ELSE IF(rank.EQ.1) THEN + CALL MPI_SEND(x, 1, MPI_REAL, 2, 0, comm, ierr) + ELSE ! rank.EQ.2 + DO i=1, 2 + CALL MPI_PROBE(MPI_ANY_SOURCE, 0, + comm, status, ierr) + IF (status(MPI_SOURCE) = 0) THEN +100 CALL MPI_RECV(i, 1, MPI_INTEGER, 0, 0, status, ierr) + ELSE +200 CALL MPI_RECV(x, 1, MPI_REAL, 1, 0, status, ierr) + END IF + END DO + END IF +.fi +.sp +Each message is received with the right type. +.sp +\fBExample 2:\fP A program similar to the previous example, but with a problem. +.sp +.nf +CALL MPI_COMM_RANK(comm, rank, ierr) + IF (rank.EQ.0) THEN + CALL MPI_SEND(i, 1, MPI_INTEGER, 2, 0, comm, ierr) + ELSE IF(rank.EQ.1) THEN + CALL MPI_SEND(x, 1, MPI_REAL, 2, 0, comm, ierr) + ELSE + DO i=1, 2 + CALL MPI_PROBE(MPI_ANY_SOURCE, 0, + comm, status, ierr) + IF (status(MPI_SOURCE) = 0) THEN +100 CALL MPI_RECV(i, 1, MPI_INTEGER, MPI_ANY_SOURCE, + 0, status, ierr) + ELSE +200 CALL MPI_RECV(x, 1, MPI_REAL, MPI_ANY_SOURCE, + 0, status, ierr) + END IF + END DO + END IF +.fi +.sp +We slightly modified Example 2, using MPI_ANY_SOURCE as the source argument in the two receive calls in statements labeled 100 and 200. The program is now incorrect: The receive operation may receive a message that is distinct from the message probed by the preceding call to MPI_Probe. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Iprobe +.br +MPI_Cancel + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 new file mode 100644 index 00000000..85e10b72 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 @@ -0,0 +1,151 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Publish_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Publish_name\fP \- Publishes a service name associated with a port + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Publish_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). +.ft R +.TP 1.4i +port_name +A port name (string). + +.SH OUTPUT PARAMETER +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine publishes the pair (\fIservice_name, port_name\fP) so that +an application may retrieve \fIport_name\fP by calling MPI_Lookup_name +with \fIservice_name\fP as an argument. It is an error to publish the same +\fIservice_name\fP twice, or to use a \fIport_name\fP argument that was +not previously opened by the calling process via a call to MPI_Open_port. + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_global_scope bool If set to true, publish the name in + the global scope. Publish in the local + scope otherwise. See the NAME SCOPE + section for more details. + +ompi_unique bool If set to true, return an error if the + specified service_name already exists. + Default to overwriting any pre-existing + value. +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. +.PP +If no info key is provided, the function will first check to see if a +global server has been specified and is available. If so, then the +publish function will default to global scope first, followed by local. Otherwise, +the data will default to publish with local scope. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope will +place the specified service/port pair in a data store located on the +mpirun of the calling process' job. Thus, data published with local +scope will only be accessible to processes in jobs spawned by that +mpirun - e.g., processes in the calling process' job, or in jobs +spawned via MPI_Comm_spawn. +.sp +Global scope places the specified service/port pair in a data store +located on a central server that is accessible to all jobs running +in the cluster or environment. Thus, data published with global +scope can be accessed by multiple mpiruns and used for MPI_Comm_Connect +and MPI_Comm_accept between jobs. +.sp +Note that global scope operations require both the presence of the +central server and that the calling process be able to communicate +to that server. MPI_Publish_name will return an error if global +scope is specified and a global server is either not specified or +cannot be found. +.sp +Open MPI provides a server called \fIompi-server\fP to support global +scope operations. Please refer to its manual page for a more detailed +description of data store/lookup operations. +.sp +As an example of the impact of these scoping rules, consider the case +where a job has been started with +mpirun - call this job "job1". A process in job1 creates and publishes +a service/port pair using a local scope. Open MPI will store this +data in the data store within mpirun. +.sp +A process in job1 (perhaps the same as did the publish, or perhaps +some other process in the job) subsequently calls MPI_Comm_spawn to +start another job (call it "job2") under this mpirun. Since the two +jobs share a common mpirun, both jobs have access to local scope data. Hence, +a process in job2 can perform an MPI_Lookup_name with a local scope +to retrieve the information. +.sp +However, assume another user starts a job using mpirun - call +this job "job3". Because the service/port data published by job1 specified +local scope, processes in job3 cannot access that data. In contrast, if the +data had been published using global scope, then any process in job3 could +access the data, provided that mpirun was given knowledge of how to contact +the central server and the process could establish communication +with it. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Lookup_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 new file mode 100644 index 00000000..cf2891c8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 @@ -0,0 +1,111 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Put 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Put\fP, \fBMPI_Rput\fP \- Copies data from the origin memory to the target. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Put(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP) + +MPI_Rput(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of origin buffer (choice). +.TP 1i +origin_count +Number of entries in origin buffer (nonnegative integer). +.TP 1i +origin_datatype +Data type of each entry in origin buffer (handle). +.TP 1i +target_rank +Rank of target (nonnegative integer). +.TP 1i +target_disp +Displacement from start of window to target buffer (nonnegative integer). +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.TP 1i +win +Window object used for communication (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +MPI_Rput: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Put\fP transfers \fIorigin_count\fP successive entries of the type specified by \fIorigin_datatype\fP, starting at address \fIorigin_addr\fP on the origin node to the target node specified by the \fIwin\fP, \fItarget_rank\fP pair. The data are written in the target buffer at address \fItarget_addr\fP = \fIwindow_base\fP + \fItarget_disp\fP x \fIdisp_unit\fP, where \fIwindow_base\fP and \fIdisp_unit\fP are the base address and window displacement unit specified at window initialization, by the target process. +.sp +The target buffer is specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP. +.sp +The data transfer is the same as that which would occur if the origin process executed a send operation with arguments \fIorigin_addr\fP, \fIorigin_count\fP, \fIorigin_datatype\fP, \fItarget_rank\fP, \fItag\fP, \fIcomm\fP, and the target process executed a receive operation with arguments \fItarget_addr\fP, \fItarget_count\fP, \fItarget_datatype\fP, \fIsource\fP, \fItag\fP, \fIcomm\fP, where \fItarget_addr\fP is the target buffer address computed as explained above, and \fIcomm\fP is a communicator for the group of \fIwin\fP. +.sp +The communication must satisfy the same constraints as for a similar message-passing communication. The \fItarget_datatype\fP may not specify overlapping entries in the target buffer. The message sent must fit, without truncation, in the target buffer. Furthermore, the target buffer must fit in the target window. In addition, only processes within the same buffer can access the target window. +.sp +The \fItarget_datatype\fP argument is a handle to a datatype object defined at the origin process. However, this object is interpreted at the target process: The outcome is as if the target datatype object were defined at the target process, by the same sequence of calls used to define it at the origin process. The target data type must contain only relative displacements, not absolute addresses. The same holds for get and accumulate. +.sp +\fBMPI_Rput\fP is similar to \fBMPI_Put\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP). The completion of an MPI_Rput operation (i.e., after the corresponding test or wait) indicates that the sender is now free to update the locations in the \fIorigin_addr\fP buffer. It does not indicate that the data is available at the target window. If remote completion is required, \fBMPI_Win_flush\fP, \fBMPI_Win_flush_all\fP, \fBMPI_Win_unlock\fP, or \fBMPI_Win_unlock_all\fP can be used. + +.SH NOTES +The \fItarget_datatype\fP argument is a handle to a datatype object that is defined at the origin process, even though it defines a data layout in the target process memory. This does not cause problems in a homogeneous or heterogeneous environment, as long as only portable data types are used (portable data types are defined in Section 2.4 of the MPI-2 Standard). +.sp +The performance of a put transfer can be significantly affected, on some systems, from the choice of window location and the shape and location of the origin and target buffer: Transfers to a target window in memory allocated by MPI_Alloc_mem may be much faster on shared memory systems; transfers from contiguous buffers will be faster on most, if not all, systems; the alignment of the communication buffers may also impact performance. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get +MPI_Rget +.br +MPI_Accumulate +MPI_Win_flush +MPI_Win_flush_all +MPI_Win_unlock +MPI_Win_unlock_all + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 new file mode 100644 index 00000000..3c9b2d5c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Query_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Query_thread\fP \- Returns the current level of thread support + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Query_thread(int *\fIprovided\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +C/Fortran only: Level of thread support (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns in \fIprovided\fP the current level of thread +support. If MPI was initialized by a call to MPI_Init_thread, +\fIprovided\fP will have the same value as was returned by that +function. +.sp +The possible values of \fIprovided\fP are as follows: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread may execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread +that called MPI_Init[_thread] may make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread +may make MPI library calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads +may call MPI at once with no restrictions. + +.SH NOTES +.ft R +In Open MPI, \fIprovided\fP is always MPI_THREAD_SINGLE, unless the +program has been linked with the multithreaded library, in which case +\fIprovided\fP is MPI_THREAD_MULTIPLE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 new file mode 100644 index 00000000..d1e293cc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 @@ -0,0 +1 @@ +.so man3/MPI_Accumulate.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 new file mode 100644 index 00000000..a3159239 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Recv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Recv\fP \- Performs a standard-mode blocking receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Recv(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Maximum number of elements to receive (integer). +.TP 1i +datatype +Datatype of each receive buffer entry (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This basic receive operation, MPI_Recv, is blocking: it returns only after the receive buffer contains the newly received message. A receive can complete before the matching send has completed (of course, it can complete only after the matching send has started). +.sp +The blocking semantics of this call are described in Section 3.4 of the MPI-1 Standard, "Communication Modes." +.sp +The receive buffer contains a number (defined by the value of \fIcount\fP) of consecutive elements. The first element in the set of elements is located at \fIaddress_buf\fP. The type of each of these elements is specified by \fIdatatype\fP. +.sp +The length of the received message must be less than or equal to the length of the receive buffer. An MPI_ERR_TRUNCATE is returned upon the overflow condition. +.sp +If a message that is shorter than the length of the receive buffer arrives, then only +those locations corresponding to the (shorter) received message are modified. + +.SH NOTES +The \fIcount\fP argument indicates the maximum number of entries of type \fIdatatype\fP that can be received in a message. Once a message is received, use the MPI_Get_count function to determine the actual number of entries within that message. +.sp +To receive messages of unknown length, use the MPI_Probe function. (For more information about MPI_Probe and MPI_Cancel, see their respective man pages; also, see Section 3.8 of the MPI-1 Standard, "Probe and Cancel.") +.sp +A message can be received by a receive operation only if it is addressed to the receiving process, and if its source, tag, and communicator (comm) values match the source, tag, and comm values specified by the receive operation. The receive operation may specify a wildcard value for source and/or tag, indicating that any source and/or tag are acceptable. The wildcard value for source is source = MPI_ANY_SOURCE. The wildcard value for tag is tag = MPI_ANY_TAG. There is no wildcard value for comm. The scope of these wildcards is limited to the proceses in the group of the specified communicator. +.sp +The message tag is specified by the tag argument of the receive operation. +.sp +The argument source, if different from MPI_ANY_SOURCE, is specified as a rank within the process group associated with that same communicator (remote process group, for intercommunicators). Thus, the range of valid values for the source argument is {0,...,n-1} {MPI_ANY_SOURCE}, where n is the number of processes in this group. +.sp +Note the asymmetry between send and receive operations: A receive operation may accept messages from an arbitrary sender; on the other hand, a send operation must specify a unique receiver. This matches a "push" communication mechanism, where data transfer is effected by the sender (rather than a "pull" mechanism, where data transfer is effected by the receiver). +.sp +Source = destination is allowed, that is, a process can send a message to itself. However, it is not recommended for a process to send messages to itself using the blocking send and receive operations described above, since this may lead to deadlock. See Section 3.5 of the MPI-1 Standard, "Semantics of Point-to-Point Communication." +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Irecv +MPI_Probe + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 new file mode 100644 index 00000000..a49493a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Recv_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Recv_init\fP \- Builds a handle for a receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Recv_init(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Maximum number of elements to receive (integer). +.TP 1i +datatype +Type of each entry (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH INPUT/OUTPUT PARAMETER +.TP 1i +buf +Initial address of receive buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a receive operation. The argument \fIbuf\fP is marked as OUT because the user gives permission to write on the receive buffer by passing the argument to MPI_Recv_init. +.sp +A persistent communication request is inactive after it is created -- no active communication is attached to the request. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 new file mode 100644 index 00000000..36c0d687 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 @@ -0,0 +1,432 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce, MPI_Ireduce\fP \- Reduces values on all processes within a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, int\fI root\fP, + MPI_Comm\fI comm\fP) + +int MPI_Ireduce(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, int\fI root\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Data type of elements of send buffer (handle). +.TP 1i +op +Reduce operation (handle). +.TP 1i +root +Rank of root process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The global reduce functions (MPI_Reduce, MPI_Op_create, MPI_Op_free, MPI_Allreduce, MPI_Reduce_scatter, MPI_Scan) perform a global reduce operation (such as sum, max, logical AND, etc.) across all the members of a group. The reduction operation can be either one of a predefined list of operations, or a user-defined operation. The global reduction functions come in several flavors: a reduce that returns the result of the reduction at one node, an all-reduce that returns this result at all nodes, and a scan (parallel prefix) operation. In addition, a reduce-scatter operation combines the functionality of a reduce and a scatter operation. +.sp +MPI_Reduce combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of the process with rank root. The input buffer is defined by the arguments sendbuf, count, and datatype; the output buffer is defined by the arguments recvbuf, count, and datatype; both have the same number of elements, with the same type. The routine is called by all group members using the same arguments for count, datatype, op, root, and comm. Thus, all processes provide input buffers and output buffers of the same length, with elements of the same type. Each process can provide one element, or a sequence of elements, in which case the combine operation is executed element-wise on each entry of the sequence. For example, if the operation is MPI_MAX and the send buffer contains two elements that are floating-point numbers (count = 2 and datatype = MPI_FLOAT), then recvbuf(1) = global max (sendbuf(1)) and recvbuf(2) = global max(sendbuf(2)). +.sp +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIsendbuf\fR. In this case, the input data is taken at the root from the receive buffer, where it will be replaced by the output data. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group combines data from all the processes in the second group and then performs the \fIop\fR operation. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. Only the send buffer arguments are significant in the second group, and only the receive buffer arguments are significant in the root process of the first group. +.sp +.SH PREDEFINED REDUCE OPERATIONS +.sp +The set of predefined operations provided by MPI is listed below (Predefined Reduce Operations). That section also enumerates the datatypes each operation can be applied to. In addition, users may define their own operations that can be overloaded to operate on several datatypes, either basic or derived. This is further explained in the description of the user-defined operations (see the man pages for MPI_Op_create and MPI_Op_free). +.sp +The operation op is always assumed to be associative. All predefined operations are also assumed to be commutative. Users may define operations that are assumed to be associative, but not commutative. The ``canonical'' evaluation order of a reduction is determined by the ranks of the processes in the group. However, the implementation can take advantage of associativity, or associativity and commutativity, in order to change the order of evaluation. This may change the result of the reduction for operations that are not strictly associative and commutative, such as floating point addition. +.sp +Predefined operators work only with the MPI types listed below (Predefined Reduce Operations, and the section MINLOC and MAXLOC, below). User-defined operators may operate on general, derived datatypes. In this case, each argument that the reduce operation is applied to is one element described by such a datatype, which may contain several basic values. This is further explained in Section 4.9.4 of the MPI Standard, "User-Defined Operations." + +The following predefined operations are supplied for MPI_Reduce and related functions MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. These operations are invoked by placing the following in op: +.sp +.nf + Name Meaning + --------- -------------------- + MPI_MAX maximum + MPI_MIN minimum + MPI_SUM sum + MPI_PROD product + MPI_LAND logical and + MPI_BAND bit-wise and + MPI_LOR logical or + MPI_BOR bit-wise or + MPI_LXOR logical xor + MPI_BXOR bit-wise xor + MPI_MAXLOC max value and location + MPI_MINLOC min value and location +.fi +.sp +The two operations MPI_MINLOC and MPI_MAXLOC are discussed separately below (MINLOC and MAXLOC). For the other predefined operations, we enumerate below the allowed combinations of op and datatype arguments. First, define groups of MPI basic datatypes in the following way: +.sp +.nf + C integer: MPI_INT, MPI_LONG, MPI_SHORT, + MPI_UNSIGNED_SHORT, MPI_UNSIGNED, + MPI_UNSIGNED_LONG + Fortran integer: MPI_INTEGER + Floating-point: MPI_FLOAT, MPI_DOUBLE, MPI_REAL, + MPI_DOUBLE_PRECISION, MPI_LONG_DOUBLE + Logical: MPI_LOGICAL + Complex: MPI_COMPLEX + Byte: MPI_BYTE +.fi +.sp +Now, the valid datatypes for each option is specified below. +.sp +.nf + Op Allowed Types + ---------------- --------------------------- + MPI_MAX, MPI_MIN C integer, Fortran integer, + floating-point + + MPI_SUM, MPI_PROD C integer, Fortran integer, + floating-point, complex + + MPI_LAND, MPI_LOR, C integer, logical + MPI_LXOR + + MPI_BAND, MPI_BOR, C integer, Fortran integer, byte + MPI_BXOR +.fi +.sp +\fBExample 1:\fR A routine that computes the dot product of two vectors that are distributed across a group of processes and returns the answer at process zero. +.sp +.nf + SUBROUTINE PAR_BLAS1(m, a, b, c, comm) + REAL a(m), b(m) ! local slice of array + REAL c ! result (at process zero) + REAL sum + INTEGER m, comm, i, ierr + + ! local sum + sum = 0.0 + DO i = 1, m + sum = sum + a(i)*b(i) + END DO + + ! global sum + CALL MPI_REDUCE(sum, c, 1, MPI_REAL, MPI_SUM, 0, comm, ierr) + RETURN +.fi +.sp +\fBExample 2:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at process zero. +.sp +.nf + SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) + REAL a(m), b(m,n) ! local slice of array + REAL c(n) ! result + REAL sum(n) + INTEGER n, comm, i, j, ierr + + ! local sum + DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO + END DO + + ! global sum + CALL MPI_REDUCE(sum, c, n, MPI_REAL, MPI_SUM, 0, comm, ierr) + + ! return result at process zero (and garbage at the other nodes) + RETURN + +.fi +.SH MINLOC AND MAXLOC +.ft R +The operator MPI_MINLOC is used to compute a global minimum and also an index attached to the minimum value. MPI_MAXLOC similarly computes a global maximum and index. One application of these is to compute a global minimum (maximum) and the rank of the process containing this value. + +.sp +The operation that defines MPI_MAXLOC is +.sp +.nf + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = max(u, v) + +and + + ( i if u > v + ( + k = ( min(i, j) if u = v + ( + ( j if u < v) + + +MPI_MINLOC is defined similarly: + + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = min(u, v) + +and + + ( i if u < v + ( + k = ( min(i, j) if u = v + ( + ( j if u > v) + + +.fi +.sp + +Both operations are associative and commutative. Note that if MPI_MAXLOC is +applied to reduce a sequence of pairs (u(0), 0), (u(1), 1),\ ..., (u(n-1), +n-1), then the value returned is (u , r), where u= max(i) u(i) and r is +the index of the first global maximum in the sequence. Thus, if each +process supplies a value and its rank within the group, then a reduce +operation with op = MPI_MAXLOC will return the maximum value and the rank +of the first process with that value. Similarly, MPI_MINLOC can be used to +return a minimum and its index. More generally, MPI_MINLOC computes a +lexicographic minimum, where elements are ordered according to the first +component of each pair, and ties are resolved according to the second +component. +.sp +The reduce operation is defined to operate on arguments that consist of a +pair: value and index. For both Fortran and C, types are provided to +describe the pair. The potentially mixed-type nature of such arguments is a +problem in Fortran. The problem is circumvented, for Fortran, by having the +MPI-provided type consist of a pair of the same type as value, and coercing +the index to this type also. In C, the MPI-provided pair type has distinct +types and the index is an int. +.sp +In order to use MPI_MINLOC and MPI_MAXLOC in a reduce operation, one must +provide a datatype argument that represents a pair (value and index). MPI +provides nine such predefined datatypes. The operations MPI_MAXLOC and +MPI_MINLOC can be used with each of the following datatypes: +.sp +.nf + Fortran: + Name Description + MPI_2REAL pair of REALs + MPI_2DOUBLE_PRECISION pair of DOUBLE-PRECISION variables + MPI_2INTEGER pair of INTEGERs + + C: + Name Description + MPI_FLOAT_INT float and int + MPI_DOUBLE_INT double and int + MPI_LONG_INT long and int + MPI_2INT pair of ints + MPI_SHORT_INT short and int + MPI_LONG_DOUBLE_INT long double and int +.fi +.sp +The data type MPI_2REAL is equivalent to: +.nf + MPI_TYPE_CONTIGUOUS(2, MPI_REAL, MPI_2REAL) +.fi +.sp +Similar statements apply for MPI_2INTEGER, MPI_2DOUBLE_PRECISION, and +MPI_2INT. +.sp +The datatype MPI_FLOAT_INT is as if defined by the following sequence of +instructions. +.sp +.nf + type[0] = MPI_FLOAT + type[1] = MPI_INT + disp[0] = 0 + disp[1] = sizeof(float) + block[0] = 1 + block[1] = 1 + MPI_TYPE_STRUCT(2, block, disp, type, MPI_FLOAT_INT) +.fi +.sp +Similar statements apply for MPI_LONG_INT and MPI_DOUBLE_INT. +.sp +\fBExample 3:\fR Each process has an array of 30 doubles, in C. For each of +the 30 locations, compute the value and rank of the process containing the +largest value. +.sp +.nf + \&... + /* each process has an array of 30 double: ain[30] + */ + double ain[30], aout[30]; + int ind[30]; + struct { + double val; + int rank; + } in[30], out[30]; + int i, myrank, root; + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + for (i=0; i<30; ++i) { + in[i].val = ain[i]; + in[i].rank = myrank; + } + MPI_Reduce( in, out, 30, MPI_DOUBLE_INT, MPI_MAXLOC, root, comm ); + /* At this point, the answer resides on process root + */ + if (myrank == root) { + /* read ranks out + */ + for (i=0; i<30; ++i) { + aout[i] = out[i].val; + ind[i] = out[i].rank; + } + } +.fi +.sp +.fi +\fBExample 4:\fR Same example, in Fortran. +.sp +.nf + \&... + ! each process has an array of 30 double: ain(30) + + DOUBLE PRECISION ain(30), aout(30) + INTEGER ind(30); + DOUBLE PRECISION in(2,30), out(2,30) + INTEGER i, myrank, root, ierr; + + MPI_COMM_RANK(MPI_COMM_WORLD, myrank); + DO I=1, 30 + in(1,i) = ain(i) + in(2,i) = myrank ! myrank is coerced to a double + END DO + + MPI_REDUCE( in, out, 30, MPI_2DOUBLE_PRECISION, MPI_MAXLOC, root, + comm, ierr ); + ! At this point, the answer resides on process root + + IF (myrank .EQ. root) THEN + ! read ranks out + DO I= 1, 30 + aout(i) = out(1,i) + ind(i) = out(2,i) ! rank is coerced back to an integer + END DO + END IF +.fi +.sp +\fBExample 5:\fR Each process has a nonempty array of values. Find the minimum global value, the rank of the process that holds it, and its index on this process. +.sp +.nf + #define LEN 1000 + + float val[LEN]; /* local array of values */ + int count; /* local number of values */ + int myrank, minrank, minindex; + float minval; + + struct { + float value; + int index; + } in, out; + + /* local minloc */ + in.value = val[0]; + in.index = 0; + for (i=1; i < count; i++) + if (in.value > val[i]) { + in.value = val[i]; + in.index = i; + } + + /* global minloc */ + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + in.index = myrank*LEN + in.index; + MPI_Reduce( in, out, 1, MPI_FLOAT_INT, MPI_MINLOC, root, comm ); + /* At this point, the answer resides on process root + */ + if (myrank == root) { + /* read answer out + */ + minval = out.value; + minrank = out.index / LEN; + minindex = out.index % LEN; +.fi +.sp +All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allreduce +.br +MPI_Reduce_scatter +.br +MPI_Scan +.br +MPI_Op_create +.br +MPI_Op_free + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 new file mode 100644 index 00000000..ebbdf4c4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 @@ -0,0 +1,265 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_local 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_local\fP \- Perform a local reduction + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_local(const void *\fIinbuf\fP, void *\fIinoutbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Address of input buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Reduce operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +inoutbuf +Address of in/out buffer (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The global reduce functions (MPI_Reduce_local, MPI_Op_create, MPI_Op_free, MPI_Allreduce, MPI_Reduce_local_scatter, MPI_Scan) perform a global reduce operation (such as sum, max, logical AND, etc.) across all the members of a group. The reduction operation can be either one of a predefined list of operations, or a user-defined operation. The global reduction functions come in several flavors: a reduce that returns the result of the reduction at one node, an all-reduce that returns this result at all nodes, and a scan (parallel prefix) operation. In addition, a reduce-scatter operation combines the functionality of a reduce and a scatter operation. +.sp +MPI_Reduce_local combines the elements provided in the input and input/output buffers of the local process, using the operation op, and returns the combined value in the inout/output buffer. The input buffer is defined by the arguments inbuf, count, and datatype; the output buffer is defined by the arguments inoutbuf, count, and datatype; both have the same number of elements, with the same type. The routine is a local call. The process can provide one element, or a sequence of elements, in which case the combine operation is executed element-wise on each entry of the sequence. For example, if the operation is MPI_MAX and the input buffer contains two elements that are floating-point numbers (count = 2 and datatype = MPI_FLOAT), then inoutbuf(1) = global max (inbuf(1)) and inoutbuf(2) = global max(inbuf(2)). +.sp +.SH USE OF IN-PLACE OPTION +The use of MPI_IN_PLACE is disallowed with MPI_Reduce_local. +.sp +.SH PREDEFINED REDUCE OPERATIONS +.sp +The set of predefined operations provided by MPI is listed below (Predefined Reduce Operations). That section also enumerates the datatypes each operation can be applied to. In addition, users may define their own operations that can be overloaded to operate on several datatypes, either basic or derived. This is further explained in the description of the user-defined operations (see the man pages for MPI_Op_create and MPI_Op_free). +.sp +The operation op is always assumed to be associative. All predefined operations are also assumed to be commutative. Users may define operations that are assumed to be associative, but not commutative. The ``canonical'' evaluation order of a reduction is determined by the ranks of the processes in the group. However, the implementation can take advantage of associativity, or associativity and commutativity, in order to change the order of evaluation. This may change the result of the reduction for operations that are not strictly associative and commutative, such as floating point addition. +.sp +Predefined operators work only with the MPI types listed below (Predefined Reduce Operations, and the section MINLOC and MAXLOC, below). User-defined operators may operate on general, derived datatypes. In this case, each argument that the reduce operation is applied to is one element described by such a datatype, which may contain several basic values. This is further explained in Section 4.9.4 of the MPI Standard, "User-Defined Operations." + +The following predefined operations are supplied for MPI_Reduce_local and related functions MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. These operations are invoked by placing the following in op: +.sp +.nf + Name Meaning + --------- -------------------- + MPI_MAX maximum + MPI_MIN minimum + MPI_SUM sum + MPI_PROD product + MPI_LAND logical and + MPI_BAND bit-wise and + MPI_LOR logical or + MPI_BOR bit-wise or + MPI_LXOR logical xor + MPI_BXOR bit-wise xor + MPI_MAXLOC max value and location + MPI_MINLOC min value and location +.fi +.sp +The two operations MPI_MINLOC and MPI_MAXLOC are discussed separately below (MINLOC and MAXLOC). For the other predefined operations, we enumerate below the allowed combinations of op and datatype arguments. First, define groups of MPI basic datatypes in the following way: +.sp +.nf + C integer: MPI_INT, MPI_LONG, MPI_SHORT, + MPI_UNSIGNED_SHORT, MPI_UNSIGNED, + MPI_UNSIGNED_LONG + Fortran integer: MPI_INTEGER + Floating-point: MPI_FLOAT, MPI_DOUBLE, MPI_REAL, + MPI_DOUBLE_PRECISION, MPI_LONG_DOUBLE + Logical: MPI_LOGICAL + Complex: MPI_COMPLEX + Byte: MPI_BYTE +.fi +.sp +Now, the valid datatypes for each option is specified below. +.sp +.nf + Op Allowed Types + ---------------- --------------------------- + MPI_MAX, MPI_MIN C integer, Fortran integer, + floating-point + + MPI_SUM, MPI_PROD C integer, Fortran integer, + floating-point, complex + + MPI_LAND, MPI_LOR, C integer, logical + MPI_LXOR + + MPI_BAND, MPI_BOR, C integer, Fortran integer, byte + MPI_BXOR +.fi +.sp +.SH MINLOC AND MAXLOC +.ft R +The operator MPI_MINLOC is used to compute a global minimum and also an index attached to the minimum value. MPI_MAXLOC similarly computes a global maximum and index. One application of these is to compute a global minimum (maximum) and the rank of the process containing this value. + +.sp +The operation that defines MPI_MAXLOC is +.sp +.nf + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = max(u, v) + +and + + ( i if u > v + ( + k = ( min(i, j) if u = v + ( + ( j if u < v) + + +MPI_MINLOC is defined similarly: + + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = min(u, v) + +and + + ( i if u < v + ( + k = ( min(i, j) if u = v + ( + ( j if u > v) + + +.fi +.sp + +Both operations are associative and commutative. Note that if MPI_MAXLOC is +applied to reduce a sequence of pairs (u(0), 0), (u(1), 1),\ ..., (u(n-1), +n-1), then the value returned is (u , r), where u= max(i) u(i) and r is +the index of the first global maximum in the sequence. Thus, if each +process supplies a value and its rank within the group, then a reduce +operation with op = MPI_MAXLOC will return the maximum value and the rank +of the first process with that value. Similarly, MPI_MINLOC can be used to +return a minimum and its index. More generally, MPI_MINLOC computes a +lexicographic minimum, where elements are ordered according to the first +component of each pair, and ties are resolved according to the second +component. +.sp +The reduce operation is defined to operate on arguments that consist of a +pair: value and index. For both Fortran and C, types are provided to +describe the pair. The potentially mixed-type nature of such arguments is a +problem in Fortran. The problem is circumvented, for Fortran, by having the +MPI-provided type consist of a pair of the same type as value, and coercing +the index to this type also. In C, the MPI-provided pair type has distinct +types and the index is an int. +.sp +In order to use MPI_MINLOC and MPI_MAXLOC in a reduce operation, one must +provide a datatype argument that represents a pair (value and index). MPI +provides nine such predefined datatypes. The operations MPI_MAXLOC and +MPI_MINLOC can be used with each of the following datatypes: +.sp +.nf + Fortran: + Name Description + MPI_2REAL pair of REALs + MPI_2DOUBLE_PRECISION pair of DOUBLE-PRECISION variables + MPI_2INTEGER pair of INTEGERs + + C: + Name Description + MPI_FLOAT_INT float and int + MPI_DOUBLE_INT double and int + MPI_LONG_INT long and int + MPI_2INT pair of ints + MPI_SHORT_INT short and int + MPI_LONG_DOUBLE_INT long double and int +.fi +.sp +The data type MPI_2REAL is equivalent to: +.nf + MPI_TYPE_CONTIGUOUS(2, MPI_REAL, MPI_2REAL) +.fi +.sp +Similar statements apply for MPI_2INTEGER, MPI_2DOUBLE_PRECISION, and +MPI_2INT. +.sp +The datatype MPI_FLOAT_INT is as if defined by the following sequence of +instructions. +.sp +.nf + type[0] = MPI_FLOAT + type[1] = MPI_INT + disp[0] = 0 + disp[1] = sizeof(float) + block[0] = 1 + block[1] = 1 + MPI_TYPE_STRUCT(2, block, disp, type, MPI_FLOAT_INT) +.fi +.sp +Similar statements apply for MPI_LONG_INT and MPI_DOUBLE_INT. +.sp +All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction operators ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allreduce +.br +MPI_Reduce +.br +MPI_Reduce_scatter +.br +MPI_Scan +.br +MPI_Op_create +.br +MPI_Op_free + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 new file mode 100644 index 00000000..b281fe36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_scatter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_scatter, MPI_Ireduce_scatter\fP \- Combines values and scatters the results. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_scatter(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, const int\fI recvcounts\fP[], + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Ireduce_scatter(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, const int\fI recvcounts\fP[], + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +recvcounts +Integer array specifying the number of elements in result distributed to +each process. Array must be identical on all calling processes. +.TP 1i +datatype +Datatype of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Reduce_scatter first does an element-wise reduction on vector of \fIcount\fP\ + =\ S(i)\fIrecvcounts\fP[i] elements in the send buffer defined by \fIsendbuf\fP, \fIcount\fP, and +\fIdatatype\fP. Next, the resulting vector of results is split into n disjoint +segments, where n is the number of processes in the group. Segment i contains +\fIrecvcounts\fP[i] elements. The ith segment is sent to process i and stored in +the receive buffer defined by \fIrecvbuf\fP, \fIrecvcounts\fP[i], and \fIdatatype\fP. + + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce-scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR. In this case, the input data is taken from the top of the receive buffer. The area occupied by the input data may be either longer or shorter than the data filled by the output data. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the reduce-scatter operation occurs in two phases. First, the result of the reduction performed on the data provided by the processes in the first group is scattered among the processes in the second group. Then the reverse occurs: the reduction performed on the data provided by the processes in the second group is scattered among the processes in the first group. For each group, all processes provide the same \fIrecvcounts\fR argument, and the sum of the \fIrecvcounts\fR values should be the same for both groups. +.sp +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 new file mode 100644 index 00000000..a3c02c99 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 @@ -0,0 +1,97 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_scatter_block 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_scatter_block, MPI_Ireduce_scatter_block\fP \- Combines values and scatters the results in blocks. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_scatter_block(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Ireduce_scatter_block(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +recvcount +lement count per block (non-negative integer). +.TP 1i +datatype +Datatype of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Reduce_scatter_block first does an element-wise reduction on vector of \fIcount\fP\ + =\ n * \fIrecvcount\fP elements in the send buffer defined by \fIsendbuf\fP, \fIcount\fP, and +\fIdatatype\fP, using the operation \fIop\fP, where n is the number of +processes in the group of \fIcomm\fP. Next, the resulting vector of results is split into n disjoint +segments, where n is the number of processes in the group. Each segments contains \fIrecvcount\fP +elements. The ith segment is sent to process i and stored in the receive buffer defined by +\fIrecvbuf\fP, \fIrecvcount\fP, and \fIdatatype\fP. + + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce-scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR. In this case, the input data is taken from the top of the receive buffer. The area occupied by the input data may be either longer or shorter than the data filled by the output data. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the reduce-scatter operation occurs in two phases. First, the result of the reduction performed on the data provided by the processes in the first group is scattered among the processes in the second group. Then the reverse occurs: the reduction performed on the data provided by the processes in the second group is scattered among the processes in the first group. For each group, all processes provide the same \fIrecvcounts\fR argument, and the sum of the \fIrecvcounts\fR values should be the same for both groups. +.sp +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Reduce_scatter diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 new file mode 100644 index 00000000..725c40bf --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Register_datarep 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Register_datarep\fP \- Defines data representation. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_Register_datarep(const char \fI*datarep\fP, + MPI_Datarep_conversion_function \fI*read_conversion_fn\fP, + MPI_Datarep_conversion_function \fI*write_conversion_fn\fP, + MPI_Datarep_extent_function \fI*dtype_file_extent_fn\fP, + void \fI*extra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation identifier (string). +.ft R +.TP 1i +read_conversion_fn +Function invoked to convert from file representation to native representation (function). +.ft R +.TP 1i +write_conversion_fn +Function invoked to convert from native representation to file representation (function). +.ft R +.TP 1i +dtype_file_extent_fn +Function invoked to get the extent of a data type as represented in the file (function). +.ft R +.TP 1i +extra_state +Extra state. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Register_datarep defines a data representation. It associates the data representation's identifier (a string) with the functions that convert from file representation to the native representation and vice versa, with the function that gets the extent of a data type as represented in the file, as well as with "extra state," which is used for passing arguments. Once a data representation has been registered using this routine, you may specify its identifier as an argument to MPI_File_set_view, causing subsequent data-access operations to call the specified conversion functions. + +The call associates \fIread_conversion_fn\fP, \fIwrite_conversion_fn\fP, and \fIdtype_file_extent_fn\fP with the data representation identifier \fIdatarep\fP. \fIdatarep\fP can then be used as an argument to MPI_File_set_view, causing subsequent data access operations to call the conversion functions to convert all data items accessed between file data representation and native representation. MPI_Register_datarep is a local operation and only registers the data representation for the calling MPI process. If \fIdatarep\fP is already defined, an error in the error class MPI_ERR_DUP_DATAREP is raised using the default file error handler. The length of a data representation string is limited to the value of MPI_MAX_DATAREP_STRING. MPI_MAX_DATAREP_STRING must have a value of at least 64. No routines are provided to delete data representations and free the associated resources; it is not expected that an application will generate them in significant numbers. + +.SH NOTES +.ft R + +The Fortran version of each MPI I/O routine includes a final argument, +IERROR, which is not defined in the PARAMETERS sections. This argument is used to return the error status of the routine in the manner typical for Fortran library routines. +.sp +The C version of each routine returns an error status as an integer return value. +.sp +Error classes are found in mpi.h (for C), mpif.h (for Fortran), and mpi++.h (for C++). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 new file mode 100644 index 00000000..15eed7e5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 @@ -0,0 +1,122 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Request_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Request_free\fP \- Frees a communication request object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Request_free(MPI_Request *request) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +request + Communication request (handle). + +.SH DESCRIPTION +.ft R +This operation allows a request object to be deallocated without waiting for the associated communication to complete. +.sp +MPI_Request_free marks the request object for deallocation and sets request +to MPI_REQUEST_NULL. Any ongoing communication that is associated with the request will be allowed to complete. The request will be deallocated only after its completion. + +.SH NOTES +Once a request is freed by a call to MPI_Request_free, it is not possible to check for the successful completion of the associated communication with calls to MPI_Wait or MPI_Test. Also, if an error occurs subsequently during the communication, an error code cannot be returned to the user -- such an error must be treated as fatal. Questions arise as to how one knows when the operations have completed when using MPI_Request_free. Depending on the program logic, there may be other ways in which the program knows that certain operations have completed and this makes usage of MPI_Request_free practical. For example, an active send request could be freed when the logic of the program is such that the receiver sends a reply to the message sent -- the arrival of the reply informs the sender that the send has completed and the send buffer can be reused. An active receive request should never be freed, as the receiver will have no way to verify that the receive has completed and the receive buffer can be reused. + +.sp +\fBExample:\fR +.sp +.nf + CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank) + IF(rank.EQ.0) THEN + DO i=1, n + CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, req, ierr) + CALL MPI_REQUEST_FREE(req, ierr) + CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, req, ierr) + CALL MPI_WAIT(req, status, ierr) + END DO + ELSE ! rank.EQ.1 + CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status) + DO I=1, n-1 + CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_REQUEST_FREE(req, ierr) + CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status, ierr) + END DO + CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status) + END IF +.fi +.sp +This routine is normally used to free persistent requests created with +either +.I MPI_Recv_init +or +.I MPI_Send_init +and friends. However, it can be +used to free a request created with +.I MPI_Irecv +or +.I MPI_Isend +and friends; +in that case the use can not use the test/wait routines on the request. + +It +.B is +permitted to free an active request. However, once freed, you can not +use the request in a wait or test routine (e.g., +.I MPI_Wait +). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Isend +.br +MPI_Irecv +.br +MPI_Issend +.br +MPI_Ibsend +.br +MPI_Irsend +.br +MPI_Recv_init +.br +MPI_Send_init +.br +MPI_Ssend_init +.br +MPI_Rsend_init +.br +MPI_Test +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 new file mode 100644 index 00000000..55628b15 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Request_get_status 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Request_get_status\fP \- Access information associated with a request without freeing the request. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Request_get_status(MPI_Request \fIrequest\fP, int \fI*flag\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETER +.ft +.TP 1i +request + Communication request (handle). + +.SH OUTPUT PARAMETERS +.ft +.TP 1i +flag +Boolean flag, same as from MPI_Test (logical). +.ft +.TP 1i +status +MPI_Status object if flag is true (status). + +.SH DESCRIPTION +.ft R +MPI_Request_get_status sets \fIflag\fP=\fItrue\fP if the operation is complete or sets \fIflag\fP=\fIfalse\fP if it is not complete. If the operation is complete, it returns in \fIstatus\fP the request status. It does not deallocate or inactivate the request; a subsequent call to test, wait, or free should be executed with that request. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 new file mode 100644 index 00000000..4b4410dd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 @@ -0,0 +1 @@ +.so man3/MPI_Get.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 new file mode 100644 index 00000000..86db5536 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 @@ -0,0 +1 @@ +.so man3/MPI_Get_accumulate.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 new file mode 100644 index 00000000..52e806a2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 @@ -0,0 +1 @@ +.so man3/MPI_Put.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 new file mode 100644 index 00000000..1324c04c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Rsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Rsend\fP \- Ready send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Rsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A ready send may only be called if the user can guarantee that a receive is +already posted. It is an error if the receive is not posted before the +ready send is called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 new file mode 100644 index 00000000..e96ed281 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Rsend_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Rsend_init\fP \- Builds a handle for a ready send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Rsend_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements sent (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication object for a ready mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 new file mode 100644 index 00000000..4dac3724 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 @@ -0,0 +1,200 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scan 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Scan, MPI_Iscan\fP \- Computes an inclusive scan (partial reduction) + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Scan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP) + +int MPI_Iscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Send buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scan is used to perform an inclusive prefix reduction on data +distributed across the calling processes. The operation returns, in +the \fIrecvbuf\fP of the process with rank i, the reduction +(calculated according to the function \fIop\fP) of the values in the +\fIsendbuf\fPs of processes with ranks 0, ..., i (inclusive). The type +of operations supported, their semantics, and the constraints on send +and receive buffers are as for MPI_Reduce. + +.SH EXAMPLE +.ft R +This example uses a user-defined operation to produce a segmented +scan. A segmented scan takes, as input, a set of values and a set of +logicals, where the logicals delineate the various segments of the +scan. For example, +.sp +.nf +values v1 v2 v3 v4 v5 v6 v7 v8 +logicals 0 0 1 1 1 0 0 1 +result v1 v1+v2 v3 v3+v4 v3+v4+v5 v6 v6+v7 v8 +.fi +.sp +The result for rank j is thus the sum v(i) + ... + v(j), where i is +the lowest rank such that for all ranks n, i <= n <= j, logical(n) = +logical(j). The operator that produces this effect is +.sp +.nf + [ u ] [ v ] [ w ] + [ ] o [ ] = [ ] + [ i ] [ j ] [ j ] +.fi +.sp +where +.sp + ( u + v if i = j + w = ( + ( v if i != j +.fi +.sp +Note that this is a noncommutative operator. C code that implements it is +given below. +.sp +.nf + typedef struct { + double val; + int log; + } SegScanPair; + + /* + * the user-defined function + */ + void segScan(SegScanPair *in, SegScanPair *inout, int *len, + MPI_Datatype *dptr) + { + int i; + SegScanPair c; + + for (i = 0; i < *len; ++i) { + if (in->log == inout->log) + c.val = in->val + inout->val; + else + c.val = inout->val; + + c.log = inout->log; + *inout = c; + in++; + inout++; + } + } +.fi +.sp +Note that the inout argument to the user-defined function corresponds +to the right-hand operand of the operator. When using this operator, +we must be careful to specify that it is noncommutative, as in the +following: +.sp +.nf + int i, base; + SeqScanPair a, answer; + MPI_Op myOp; + MPI_Datatype type[2] = {MPI_DOUBLE, MPI_INT}; + MPI_Aint disp[2]; + int blocklen[2] = {1, 1}; + MPI_Datatype sspair; + + /* + * explain to MPI how type SegScanPair is defined + */ + MPI_Get_address(a, disp); + MPI_Get_address(a.log, disp + 1); + base = disp[0]; + for (i = 0; i < 2; ++i) + disp[i] -= base; + MPI_Type_struct(2, blocklen, disp, type, &sspair); + MPI_Type_commit(&sspair); + + /* + * create the segmented-scan user-op + * noncommutative - set commute (arg 2) to 0 + */ + MPI_Op_create((MPI_User_function *)segScan, 0, &myOp); + \&... + MPI_Scan(a, answer, 1, sspair, myOp, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a scanning operation in place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR argument. The input data is taken from the receive buffer and replaced by the output data. + +.SH NOTES ON COLLECTIVE OPERATIONS +.ft R +The reduction functions of type MPI_Op do not return an error value. +As a result, if the functions detect an error, all they can do is +either call MPI_Abort or silently skip the problem. Thus, if the +error handler is changed from MPI_ERRORS_ARE_FATAL to something else +(e.g., MPI_ERRORS_RETURN), then no error may be indicated. +.sp +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Exscan +MPI_Op_create +MPI_Reduce + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 new file mode 100644 index 00000000..1177dbc8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 @@ -0,0 +1,145 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scatter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Scatter, MPI_Iscatter\fP \- Sends data from one task to all tasks in a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Scatter(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int\fI root\fP, + MPI_Comm\fI comm\fP) + +int MPI_Iscatter(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int\fI root\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice, significant only at root). +.TP 1i +sendcount +Number of elements sent to each process (integer, significant only at +root). +.TP 1i +sendtype +Datatype of send buffer elements (handle, significant only at root). +.TP 1i +recvcount +Number of elements in receive buffer (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +root +Rank of sending process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scatter is the inverse operation to MPI_Gather. +.sp +The outcome is as if the root executed n send operations, +.sp +.nf + MPI_Send(sendbuf + i * sendcount * extent(sendtype), sendcount, + sendtype, i, \&...) +.fi +.sp +and each process executed a receive, +.sp +.nf + MPI_Recv(recvbuf, recvcount, recvtype, i, \&...). +.fi +.sp +An alternative description is that the root sends a message with +MPI_Send(\fIsendbuf\fP, \fIsendcount\fP * \fIn\fP,\ \fIsendtype\fP, \&...). This message is split +into \fIn\fP equal segments, the ith segment is sent to the ith process in the +group, and each process receives this message as above. +.sp +The send buffer is ignored for all nonroot processes. +.sp +The type signature associated with \fIsendcount\fP, \fIsendtype\fP at the root must be +equal to the type signature associated with \fIrecvcount\fP, \fIrecvtype\fP at all +processes (however, the type maps may be different). This implies that the +amount of data sent must be equal to the amount of data received, pairwise +between each process and the root. Distinct type maps between sender and +receiver are still allowed. +.sp +All arguments to the function are significant on process \fIroot\fP, while on +other processes, only arguments \fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \fIcomm\fP +are significant. The arguments \fIroot\fP and \fIcomm\fP must have identical values on +all processes. +.sp +The specification of counts and types should not cause any location on the +root to be read more than once. +.sp +\fBRationale:\fR Though not needed, the last restriction is imposed so as +to achieve symmetry with MPI_Gather, where the corresponding restriction (a +multiple-write restriction) is necessary. +.sp +\fBExample:\fR The reverse of Example 1 in the MPI_Gather manpage. Scatter +sets of 100 ints from the root to each process in the group. +.sp +.nf + MPI_Comm comm; + int gsize,*sendbuf; + int root, rbuf[100]; + \&... + MPI_Comm_size(comm, &gsize); + sendbuf = (int *)malloc(gsize*100*sizeof(int)); + \&... + MPI_Scatter(sendbuf, 100, MPI_INT, rbuf, 100, + MPI_INT, root, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIrecvbuf\fR. In this case, \fIrecvcount\fR and \fIrecvtype\fR are ignored, and the root process sends no data to itself. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group sends data to all processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer argument of the root process in the first group must be consistent with the receive buffer argument of the processes in the second group. +.sp +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Scatterv +MPI_Gather +MPI_Gatherv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 new file mode 100644 index 00000000..a87c86cd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 @@ -0,0 +1,190 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scatterv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Scatterv, MPI_Iscatterv\fP \- Scatters a buffer in parts to all tasks in a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Scatterv(const void *\fIsendbuf\fP, const int\fI sendcounts[]\fP, const int\fI displs[]\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI root\fP, MPI_Comm\fI comm\fP) + +int MPI_Iscatterv(const void *\fIsendbuf\fP, const int\fI sendcounts[]\fP, const int\fI displs[]\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI root\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice, significant only at root). +.TP 1i +sendcounts +Integer array (of length group size) specifying the number of elements to +send to each processor. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement +(relative to sendbuf) from which to take the outgoing data to process i. +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Number of elements in receive buffer (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +root +Rank of sending process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scatterv is the inverse operation to MPI_Gatherv. +.sp +MPI_Scatterv extends the functionality of MPI_Scatter by allowing a varying +count of data to be sent to each process, since \fIsendcounts\fP is now an array. +It also allows more flexibility as to where the data is taken from on the +root, by providing the new argument, \fIdispls\fP. +.sp +The outcome is as if the root executed \fIn\fP send operations, +.sp +.nf + MPI_Send(\fIsendbuf\fP + \fIdispls\fP[\fIi\fP] * \fIextent\fP(\fIsendtype\fP), \\ + \fIsendcounts\fP[i], \fIsendtype\fP, \fIi\fP, \&...) + +and each process executed a receive, + + MPI_Recv(\fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \&...) + +The send buffer is ignored for all nonroot processes. +.fi +.sp +The type signature implied by \fIsendcount\fP[\fIi\fP], \fIsendtype\fP at the root must be +equal to the type signature implied by \fIrecvcount\fP, \fIrecvtype\fP at process \fIi\fP +(however, the type maps may be different). This implies that the amount of +data sent must be equal to the amount of data received, pairwise between +each process and the root. Distinct type maps between sender and receiver +are still allowed. +.sp +All arguments to the function are significant on process \fIroot\fP, while on +other processes, only arguments \fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \fIcomm\fP +are significant. The arguments \fIroot\fP and \fIcomm\fP must have identical values on +all processes. +.sp +The specification of counts, types, and displacements should not cause any +location on the root to be read more than once. +.sp +\fBExample 1:\fR The reverse of Example 5 in the MPI_Gatherv manpage. We +have a varying stride between blocks at sending (root) side, at the +receiving side we receive 100 - \fIi\fP elements into the \fIi\fPth column of a 100 x 150 C array at process \fIi\fP. +.sp +.nf + MPI_Comm comm; + int gsize,recvarray[100][150],*rptr; + int root, *sendbuf, myrank, bufsize, *stride; + MPI_Datatype rtype; + int i, *displs, *scounts, offset; + \&... + MPI_Comm_size( comm, &gsize); + MPI_Comm_rank( comm, &myrank ); + + stride = (int *)malloc(gsize*sizeof(int)); + \&... + /* stride[i] for i = 0 to gsize-1 is set somehow + * sendbuf comes from elsewhere + */ + \&... + displs = (int *)malloc(gsize*sizeof(int)); + scounts = (int *)malloc(gsize*sizeof(int)); + offset = 0; + for (i=0; i= 100. +.sp +.nf + MPI_Comm comm; + int gsize,*sendbuf; + int root, rbuf[100], i, *displs, *scounts; + + \&... + + MPI_Comm_size(comm, &gsize); + sendbuf = (int *)malloc(gsize*stride*sizeof(int)); + \&... + displs = (int *)malloc(gsize*sizeof(int)); + scounts = (int *)malloc(gsize*sizeof(int)); + for (i=0; i +int MPI_Send(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements send (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Send performs a standard-mode, blocking send. + +.SH NOTE +.ft R +This routine will block until the message is sent to the destination. For an in-depth explanation of the semantics of the standard-mode send, refer to the MPI-1 Standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Isend +MPI_Bsend +MPI_Recv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 new file mode 100644 index 00000000..abc145d6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Send_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Send_init\fP \- Builds a handle for a standard send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Send_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements to send (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a standard mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Ssend_init +.br +MPI_Rsend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 new file mode 100644 index 00000000..5281236b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sendrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Sendrecv\fP \- Sends and receives a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Sendrecv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + int\fI dest\fP, int\fI sendtag\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI source\fP, int\fI recvtag\fP, + MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Initial address of send buffer (choice). +.TP 1i +sendcount +Number of elements to send (integer). +.TP 1i +sendtype +Type of elements in send buffer (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +sendtag +Send tag (integer). +.TP 1i +recvcount +Maximum number of elements to receive (integer). +.TP 1i +recvtype +Type of elements in receive buffer (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +recvtag +Receive tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). This refers to the receive operation. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The send-receive operations combine in one call the sending of a message to one destination and the receiving of another message, from another process. The two (source and destination) are possibly the same. A send-receive operation is useful for executing a shift operation across a chain of processes. If blocking sends and receives are used for such a shift, then one needs to order the sends and receives correctly (for example, even processes send, then receive; odd processes receive first, then send) in order to prevent cyclic dependencies that may lead to deadlock. When a send-receive operation is used, the communication subsystem takes care of these issues. The send-receive operation can be used in conjunction with the functions described in Chapter 6 of the MPI-1 Standard, "Process Topologies," in order to perform shifts on various logical topologies. Also, a send-receive operation is useful for implementing remote procedure calls. +.sp +A message sent by a send-receive operation can be received by a regular receive operation or probed by a probe operation; a send-receive operation can receive a message sent by a regular send operation. +.sp +MPI_Sendrecv executes a blocking send and receive operation. Both send and receive use the same communicator, but possibly different tags. The send buffer and receive buffers must be disjoint, and may have different lengths and datatypes. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Sendrecv_replace + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 new file mode 100644 index 00000000..9fbe8c86 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sendrecv_replace 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Sendrecv_replace\fP \- Sends and receives a message using a single buffer. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Sendrecv_replace(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI sendtag\fP, int\fI source\fP, int\fI recvtag\fP, MPI_Comm\fI comm\fP, + MPI_Status\fI *status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of send and receive buffer (choice). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in send and receive buffer (integer). +.TP 1i +datatype +Type of elements to send and receive (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +sendtag +Send message tag (integer). +.TP 1i +source +Rank of source (integer). +.TP 1i +recvtag +Receive message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The send-receive operations combine in one call the sending of a message to one destination and the receiving of another message, from another process. The two (source and destination) are possibly the same. A send-receive operation is useful for executing a shift operation across a chain of processes. If blocking sends and receives are used for such a shift, then one needs to order the sends and receives correctly (for example, even processes send, then receive; odd processes receive first, then send) in order to prevent cyclic dependencies that may lead to deadlock. When a send-receive operation is used, the communication subsystem takes care of these issues. The send-receive operation can be used in conjunction with the functions described in Chapter 6 of the MPI Standard, "Process Topologies," in order to perform shifts on various logical topologies. Also, a send-receive operation is useful for implementing remote procedure calls. +.sp +A message sent by a send-receive operation can be received by a regular receive operation or probed by a probe operation; a send-receive operation can receive a message sent by a regular send operation. +.sp +MPI_Sendrecv_replace executes a blocking send and receive. The same buffer is used both for the send and for the receive, so that the message sent is replaced by the message received. +.sp +The semantics of a send-receive operation is what would be obtained if the caller forked two concurrent threads, one to execute the send, and one to execute the receive, followed by a join of these two threads. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Sendrecv + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 new file mode 100644 index 00000000..445be30f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sizeof 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Sizeof\fP \- Returns the size, in bytes, of the given type + +.SH SYNTAX +.ft R + +.SH INPUT PARAMETER +.ft R +.TP 1i +X +A Fortran variable of numeric intrinsic type (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +SIZE +Size of machine representation of that type (integer). +.ft R +.TP 1i +IERROR +Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_SIZEOF returns the size (in bytes) of the machine representation +of the given variable. It is a generic Fortran type and has a Fortran +binding only. This routine is similar to the sizeof builtin in +C/C++. However, if given an array argument, it returns the size of the +base element, not the size of the whole array. + +.SH NOTES +This function is not available in C/C++ because it is not necessary. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 new file mode 100644 index 00000000..754ed35b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ssend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ssend\fP \- Standard synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ssend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Ssend performs a synchronous-mode, blocking send. See the MPI-1 Standard for more detailed information about such sends. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 new file mode 100644 index 00000000..822f3464 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ssend_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ssend_init\fP \- Builds a handle for a synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ssend_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements to send (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication object for a synchronous mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Send_init +.br +MPI_Rsend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Ssend + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 new file mode 100644 index 00000000..4722936e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Start\fP \- Initiates a communication using a persistent request handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Start(MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. +.sp +The argument, request, is a handle returned by one of the persistent communication-request initialization functions (MPI_Send_init, MPI_Bsend_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Recv_init). The associated request should be inactive and becomes active once the call is made. +.sp +If the request is for a send with ready mode, then a matching receive should be posted before the call is made. From the time the call is made until after the operation completes, the communication buffer should not be accessed. +.sp +The call is local, with semantics similar to the nonblocking communication operations (see Section 3.7 in the MPI-1 Standard, "Nonblocking Communication.") That is, a call to MPI_Start with a request created by MPI_Send_init starts a communication in the same manner as a call to MPI_Isend; a call to MPI_Start with a request created by MPI_Bsend_init starts a communication in the same manner as a call to MPI_Ibsend; and so on. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Recv_init +.br +MPI_Startall + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 new file mode 100644 index 00000000..068dc92e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Startall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Startall\fP \- Starts a collection of requests. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Startall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +count +List length (integer). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +array_of_requests +Array of requests (array of handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts all communications associated with requests in array_of_requests. A call to MPI_Startall(count, array_of_requests) has the same effect as calls to MPI_Start (&array_of_requests[i]), executed for i=0 ,..., count-1, in some arbitrary order. +.sp +A communication started with a call to MPI_Start or MPI_Startall is completed by a call to MPI_Wait, MPI_Test, or one of the derived functions MPI_Waitany, MPI_Testany, MPI_Waitall, MPI_Testall, MPI_Waitsome, MPI_Testsome (these are described in Section 3.7.5 of the MPI-1 Standard, "Multiple Completions"). The request becomes inactive after successful completion by such a call. The request is not deallocated, and it can be activated anew by another MPI_Start or MPI_Startall call. +.sp +A persistent request is deallocated by a call to MPI_Request_free (see Section 3.7.3 of the MPI-1 Standard, "Communication Completion"). +.sp +The call to MPI_Request_free can occur at any point in the program after the persistent request was created. However, the request will be deallocated only after it becomes inactive. Active receive requests should not be freed. Otherwise, it will not be possible to check that the receive has completed. It is preferable, in general, to free requests when they are inactive. If this rule is followed, then the persistent communication request functions will be invoked in a sequence of the form, +.br +.sp + Create (Start Complete)* Free +.br +.sp +where * indicates zero or more repetitions. If the same communication object is used in several concurrent threads, it is the user's responsibility to coordinate calls so that the correct sequence is obeyed. +.sp +A send operation initiated with MPI_Start can be matched with any receive operation and, likewise, a receive operation initiated with MPI_Start can receive messages generated by any send operation. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Ssend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Request_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 new file mode 100644 index 00000000..da04a6e9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Status_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 new file mode 100644 index 00000000..7e4ae046 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 @@ -0,0 +1,30 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Status_f2c 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_f2c, MPI_Status_c2f \fP \- Translates a C status into a Fortran status, or vice versa. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_f2c(const MPI_Fint \fI*f_status\fP, MPI_Status \fI*c_status\fP) +int MPI_Status_c2f(const MPI_Status \fI*c_status\fP, MPI_Fint \fI*f_status\fP) + +.fi +.SH DESCRIPTION +.ft R +These two procedures are provided in C to convert from a Fortran status (which is an array of integers) to a C status (which is a structure), and vice versa. The conversion occurs on all the information in \fIstatus\fP, including that which is hidden. That is, no status information is lost in the conversion. +.sp +When using MPI_Status_f2c, if \fIf_status\fP is a valid Fortran status, but not the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, then MPI_Status_f2c returns in \fIc_status\fP a valid C status with the same content. If \fIf_status\fP is the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if \fIf_status\fP is not a valid Fortran status, then the call is erroneous. +.sp +When using MPI_Status_c2f, the opposite conversion is applied. If \fIc_status\fP is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if \fIc_status\fP is not a valid C status, then the call is erroneous. +.sp +The C status has the same source, tag and error code values as the Fortran status, and returns the same answers when queried for count, elements, and cancellation. The conversion function may be called with a Fortran status argument that has an undefined error field, in which case the value of the error field in the C status argument is undefined. +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 new file mode 100644 index 00000000..843ed41b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Status_set_cancelled 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_set_cancelled\fP \- Sets \fIstatus\fP to indicate a request has been canceled. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_set_cancelled(MPI_Status *\fIstatus\fP, int \fIflag\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +status +Status with which to associate cancel flag (status). + +.SH INPUT PARAMETER +.ft R +.TP 1i +flag +If true, indicates request was canceled (logical). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If \fIflag\fP is set to true, then a subsequent call to MPI_Test_cancelled(\fIstatus, flag\fP) will also return \fIflag\fP = true; otherwise it will return false. + +.SH NOTES +.ft R +Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 new file mode 100644 index 00000000..fd2f460b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Status_set_elements 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_set_elements\fP, \fBMPI_Status_set_elements_x\fP \- Modifies opaque part of \fIstatus\fP to allow MPI_Get_elements to return \fIcount\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_set_elements(MPI_Status *\fIstatus\fP, MPI_Datatype \fIdatatype\fP, int \fIcount\fP) +int MPI_Status_set_elements_x(MPI_Status *\fIstatus\fP, MPI_Datatype \fIdatatype\fP, MPI_Count \fIcount\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +status +Status to associate with \fIcount\fP (status). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +datatype +Data type associated with \fIcount\fP (handle). +.TP 1i +count +Number of elements to associate with \fIstatus\fP (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Status_set_elements modifies the opaque part of \fIstatus\fP so that a call to MPI_Get_elements or MPI_Get_elements_x will return \fIcount\fP. MPI_Get_count will return a compatible value. +.sp +A subsequent call to MPI_Get_count(\fIstatus, datatype, count\fP), to MPI_Get_elements(\fIstatus, datatype, count\fP), or to MPI_Get_elements_x(\fIstatus, datatype, count\fP) must use a data-type argument that has the same type signature as the data-type argument that was used in the call to MPI_Status_set_elements. + +.SH NOTES +.ft R +Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for the \fICOUNT\fP argument of MPI_Status_set_elements_x only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fICOUNT\fP +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 new file mode 100644 index 00000000..4d643f1a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Status_set_elements.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 new file mode 100644 index 00000000..c82bfd8b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_changed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_changed\fP \- Get a timestamp for the categories +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_changed(int *\fIstamp\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +stamp +A virtual time stamp to indicate the last change to the categories. + +.SH DESCRIPTION +.ft R +If two subsequent calls to this routine return the same timestamp, it is guaranteed that +no categories have been changed or added. If the timestamp from the second call is +higher than some categories have been added or changed. + +.SH ERRORS +.ft R +MPI_T_category_changed() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 new file mode 100644 index 00000000..b1b9d2ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_categories 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_categories\fP \- Query which categories are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating category indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_categories can be used to query which other categories are in +a category. + +.SH ERRORS +.ft R +MPI_T_category_get_categories() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 new file mode 100644 index 00000000..c84e3471 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_cvars 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_cvars\fP \- Query which control variables are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_cvars(int \fIcat_index\fP, int \fIlen\fP, int \fIindices\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating control variable indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_cvars can be used to query which control variables are contained in a +particular category. + +.SH ERRORS +.ft R +MPI_T_category_get_cvars() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 new file mode 100644 index 00000000..f5627ef8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_info\fP \- Query information from a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_info(int \fIcat_index\fP, char *\fIname\fP, int *\fIname_len\fP, +char *\fIdesc\fP, int *\fIdesc_len\fP, int *\fInum_cvars\fP, int *\fInum_pvars\fP, +int *\fInum_categories\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +category. +.TP 1i +desc +Buffer to return the string containing the description +of the category. +.TP 1i +num_cvars +Number of control variables in the category. +.TP 1i +num_pvars +Number of performance variables in the category. +.TP 1i +num_categories +Number of categories contained in the category. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_info can be used to query information from a category. The function returns the +number of control variables, performance variables, and sub-categories in the queried category in +the arguments \fInum_cvars\fP, \fInum_pvars\fP, and \fInum_categories\fP, respectively. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. + +.SH ERRORS +.ft R +MPI_T_category_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 new file mode 100644 index 00000000..be676085 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 @@ -0,0 +1,36 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_num\fP \- Query the number of categories +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_num(int *\fInum_cat\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_cat +Current number of categories + +.SH DESCRIPTION +.ft R +MPI_T_category_get_num can be used to query the current number of categories. + +.SH ERRORS +.ft R +MPI_T_category_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 new file mode 100644 index 00000000..d728e033 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_pvars 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_pvars\fP \- Query which performance variables are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating performance variable indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_pvars can be used to query which performance variables are +contained in a particular category. A category contains zero or more performance variables. + +.SH ERRORS +.ft R +MPI_T_category_get_pvars() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid +. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 new file mode 100644 index 00000000..8b39f942 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 @@ -0,0 +1,170 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_get_info\fP \- Query information from a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_get_info(int \fIcvar_index\fP, char *\fIname\fP, int *\fIname_len\fP, + int *\fIverbosity\fP, MPI_Datatype *\fIdatatype\fP, MPI_T_enum *\fIenumtype\fP, + const *\fIdesc\fP, int *\fIdesc_len\fP, int *\fIbind\fP, int *\fIscope\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cvar_index +Index of the control variable to be queried. +. +. +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +control variable. +.TP 1i +verbosity +Verbosity level of this variable. +.TP 1i +datatype +MPI datatype of the information stored in the control +variable. +.TP 1i +enumtype +Optional descriptor for enumeration information. +.TP 1i +desc +Buffer to return the string containing the description +of the control variable. +.TP 1i +bind +Type of MPI object to which this variable must be +bound. +.TP 1i +scope +Scope of when changes to this variable are possible. +. +. +.SH DESCRIPTION +.ft R +MPI_T_cvar_get_info can be used to query information about a control variable. The function returns +the verbosity, datatype, enumeration type, binding, and scope of the queried control variable in the arguments +\fIverbosity\fP, \fIdatatype\fP, \fIenumtype\fP, \fIbind\fP, and \fIscope\fP, respectively. Control variables +in Open MPI are the same as MCA parameters. +. +. +.SH VERBOSITY +.ft R +As Open MPI exposes a very large number of MCA parameters (control variables), control variables are +categorized into nine verbosity levels corresponding to the equivalent ompi_info level. The nine levels are +(in increasing order): +.TP 1i +MPI_T_VERBOSITY_USER_BASIC +Basic information of interest to users +.TP 1i +MPI_T_VERBOSITY_USER_DETAIL +Detailed information of interest to users +.TP 1i +MPI_T_VERBOSITY_USER_ALL +All remaining information of interest to users +.TP 1i +MPI_T_VERBOSITY_TUNER_BASIC +Basic information required for tuning +.TP 1i +MPI_T_VERBOSITY_TUNER_DETAIL +Detailed information required for tuning +.TP 1i +MPI_T_VERBOSITY_TUNER_ALL +All remaining information required for tuning +.TP 1i +MPI_T_VERBOSITY_MPIDEV_BASIC +Basic information for MPI implementors +.TP 1i +MPI_T_VERBOSITY_MPIDEV_DETAIL +Detailed information for MPI implementors +.TP 1i +MPI_T_VERBOSITY_MPIDEV_ALL +All remaining information for MPI implementors + +For more information see MPI-3 \[char167] 14.3.1. + +.SH DATATYPE +.ft R +The datatype returned by MPI_T_cvar_get_info is restricted to one of the following datatypes: MPI_INT, +MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, MPI_COUNT, MPI_CHAR, and MPI_DOUBLE. For more +information on datatypes in MPI_T see MPI-3 \[char167] 14.3.5. + +.SH SCOPE +.ft R +The scope describes when and how changes can be made to a control variable. From MPI-3 \[char167] 14.3.6, the scope may be any of the following: +.TP 1i +MPI_T_SCOPE_CONSTANT +read-only, value is constant +.TP 1i +MPI_T_SCOPE_READONLY +read-only, cannot be written, but can change +.TP 1i +MPI_T_SCOPE_LOCAL +may be writeable, writing is a local operation +.TP 1i +MPI_T_SCOPE_GROUP +may be writeable, must be done to a group of processes, all processes in a group must be set to consistent values +.TP 1i +MPI_T_SCOPE_GROUP_EQ +may be writeable, must be done to a group of processes, all processes in a group must be set to the same value +.TP 1i +MPI_T_SCOPE_ALL +may be writeable, must be done to all processes, all connected processes must be set to consistent values +.TP 1i +MPI_T_SCOPE_ALL_EQ +may be writeable, must be done to all processes, all connected processes must be set to the same value + +For more information see MPI-3 \[char167] 14.3.6 Table 14.4. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. +.sp +Open MPI does not currently support binding control variables to MPI objects. +. +. +.SH ERRORS +.ft R +MPI_T_cvar_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The control variable index is invalid +. +.SH SEE ALSO +.ft R +.nf +ompi_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 new file mode 100644 index 00000000..bb6afb07 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 @@ -0,0 +1,39 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_get_num\fP \- Query the number of control variables +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_get_num(int *\fInum_cvar\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_cvar +Current number of control variables. +. +. +.SH DESCRIPTION +.ft R +MPI_T_cvar_get_num can be used to query the current number of control variables. The number +of control variables may increase throughout the execution of the process but will never +decrease. + +.SH ERRORS +.ft R +MPI_T_cvar_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 new file mode 100644 index 00000000..149bacd4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_handle_alloc 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_handle_alloc\fP, \fBMPI_T_cvar_handle_free\fP \- Allocate/free contol variable handles +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_handle_alloc(int \fIcvar_index\fP, void *\fIobj_handle\fP, + MPI_T_cvar_handle *\fIhandle\fP, int *\fIcount\fP) + +int MPI_T_cvar_handle_free(MPI_T_cvar_handle *\fIhandle\fP) + +.SH DESCRIPTION +.ft R +MPI_T_cvar_handle_alloc binds the control variable specified in \fIcvar_index\fP to the MPI +object specified in \fIobj_handle\fP. If MPI_T_cvar_get_info returns MPI_T_BIND_NO_OBJECT +as the binding of the variable the \fIobj_handle\fP argument is ignored. The number of +values represented by this control variable is returned in the \fIcount\fP parameter. If the +control variable represents a string then \fIcount\fP will be the maximum length of the +string. + +MPI_T_cvar_handle_free frees a handle allocated by MPI_T_cvar_handle_alloc and sets the +\fIhandle\fP argument to MPI_T_CVAR_HANDLE_NULL. + + +.SH NOTES +.ft R +Open MPI does not currently support binding MPI objects to control variables so the +\fIobj_handle\fP argument is always ignored. + + +.SH ERRORS +.ft R +MPI_T_cvar_handle_alloc() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The control variable index is invalid +.TP 1i +[MPI_T_ERR_OUT_OF_HANDLES] +No more handles available +.TP 1i +MPI_T_cvar_handle_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_get_info + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 new file mode 100644 index 00000000..3fa22647 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_cvar_handle_alloc.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 new file mode 100644 index 00000000..554b32e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_read\fP \- Read the value of a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_read(MPI_T_cvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +handle +Handle of the control variable to be read. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_cvar_read reads the value of the control variable identified by the handle +specified in \fIhandle\fP and stores the value in the buffer pointed to by \fIbuf\fP. +The caller must ensure that the buffer pointed to by \fIbuf\fP is large enough to +hold the entire value of the control variable. + +.SH ERRORS +.ft R +MPI_T_cvar_read() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_handle_alloc +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 new file mode 100644 index 00000000..fd0828d9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_write\fP \- Write the value of a bound control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_write(MPI_T_cvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +handle +Handle of the control variable to be written. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_cvar_write sets the value the control variable identified by the handle +specified in \fIhandle\fP from the buffer provided in \fIbuf\fP. The caller must +ensure that the buffer specified in \fIbuf\fP is large enough to hold the +entire value of the control variable. If the variable has global scope, any +write call must be issued on all connected MPI processes. For more +information see MPI-3 \[char167] 14.3.6. + +.SH ERRORS +.ft R +MPI_T_cvar_write() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid +.TP 1i +[MPI_T_ERR_CVAR_SET_NOT_NOW] +Variable cannot be set at this moment +.TP 1i +[MPI_T_ERR_CVAR_SET_NEVER] +Variable cannot be set until end of execution + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_handle_alloc +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 new file mode 100644 index 00000000..f8be8231 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_enum_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_enum_get_info\fP \- Query information about an enumerator +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_enum_get_info(MPI_T_enum \fIenumtype\fP, int *\fInum\fP, char *\fIname\fP, int *\fIname_len\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +enumtype +Enumerator to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. + +.SH OUTPUT PARAMETERS +.ft R +.TP li +num +number of discrete values represented by this enumeration. +.TP 1i +name +Buffer to return the string containing the name of the +category. + +.SH DESCRIPTION +.ft R +MPI_T_enum_get_info can be used to query information about an enumerator. The function returns the +number of discrete values represented by this enumerator in the \fInum\fP parameter. + +.SH NOTES +.ft R +This MPI tool interface function returns the name of the enumeration as a string. This function +takes two argument for the string: \fIname\fP which specifies a buffer where the name of the +should be stored, and \fIname_len\fP which must initially specify the size of the buffer pointed +to by \fIname\fP. This function will copy at most \fIname_len\fP - 1 characters of the name +and sets \fIname_len\fP to the number of characters returned + 1. If \fIname_len\fP is NULL +or the value specified in \fIname_len\fP is 0 the \fIname\fP buffer is ignored and the name of +the enumeration is not returned. + +.SH ERRORS +.ft R +MPI_T_enum_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The enumeration is invalid or has been deleted diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 new file mode 100644 index 00000000..4585014c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_enum_get_item 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_enum_get_item\fP \- Query information about an enumerator +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_enum_get_item(MPI_T_enum \fIenumtype\fP, int \fIindex\fP, int *\fIvalue\fP, char *\fIname\fP, + int *\fIname_len\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +enumtype +Enumeration to be queried. +.TP 1i +index +Number of the value to be queried in this enumeration. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. + +.SH OUTPUT PARAMETERS +.ft R +.TP li +value +Variable value. +.TP 1i +name +Buffer to return the string containing the name of the +category. + +.SH DESCRIPTION +.ft R +MPI_T_enum_get_item can be used to query information about an item in an enumerator. This function +returns the enumeration value in the \fIvalue\fP parameter. + +.SH NOTES +.ft R +This MPI tool interface function returns the name of the item as a string. This function takes two +arguments for the string: a buffer to store the string, and a length which must initially specify the +size of the buffer. If the length passed is n then this function will copy at most n - 1 characters +of the string into the buffer and sets the length to the number of characters copied - 1. If the length +argument is NULL or the value specified in the length is 0 the string buffer is ignored and the +string is not returned. For more information see MPI-3 \[char167] 14.3.3. + +.SH ERRORS +.ft R +MPI_T_enum_get_item() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The enumeration is invalid or has been deleted diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 new file mode 100644 index 00000000..1ccd1e0a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_T_finalize 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_T_finalize \fP \- Finalize the MPI tool information interface + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_T_finalize(void) + +.SH DESCRIPTION +.ft R +MPI_T_finalize() finalizes the MPI tool information interface and must be called the same +number of times as MPI_T_init_thread() by the end of execution. Calls to MPI tool functions +are allowed at any point in execution as long as MPI_T_init_thread() has been called at least +once and the number of calls to MPI_T_init_thread() is greater than the number of calls to +MPI_T_finalize(). If at any point in execution the number of calls to MPI_T_finalize() equals +the number of calls to MPI_T_init_thread() the MPI tool interface will no longer be available +until another call to MPI_T_init_thread(). + +.SH NOTES +.ft R +Before the end of execution the number of calls to MPI_T_init_thread() and MPI_T_finalize must +be the same. + +.SH ERRORS +.ft R +MPI_T_finalize() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized + +.SH SEE ALSO +.ft T +.nf +MPI_T_init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 new file mode 100644 index 00000000..5ed40cee --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_init_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_init_thread\fP \- Initializes the MPI Tool imformation interface +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_init_thread(int \fIrequired\fP, int *\fIprovided\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +required +Desired level of thread support (integer). +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +Available level of thread support (integer). +. +. +.SH DESCRIPTION +.ft R +MPI_T_init_thread() initializes the MPI tool information interface. Calls to MPI tool functions +are allowed at any point in execution (including before MPI_Init() and after MPI_Finalize()) as +long as MPI_T_init_thread() has been called at least once and the number of calls to +MPI_T_init_thread() is greater than the number of calls to MPI_T_finalize(). If at any point in +execution the number of calls to MPI_T_finalize() equals the number of calls to +MPI_T_init_thread() the MPI tool interface will no longer be available until another call to +MPI_T_init_thread(). + +.sp +MPI_T_init_thread, like MPI_Init_thread, has a provision to request a +certain level of thread support in \fIrequired\fP: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread will execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread that called +MPI_Init_thread will make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread will make MPI library +calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads may call MPI at once +with no restrictions. +. +.PP +The level of thread support available to the program is set in +\fIprovided\fP. In Open MPI, the value is dependent on how the library was +configured and built. Note that there is no guarantee that +\fIprovided\fP will be greater than or equal to \fIrequired\fP. +. +.SH NOTES +.ft R +It is the caller's responsibility to check the value of \fIprovided\fP, +as it may be less than what was requested in \fIrequired\fP. + +.SH ERRORS +.ft R +MPI_T_init_thread() will fail if: +.TP 1i +[MPI_T_ERR_MEMORY] +Out of memory +.TP 1i +[MPI_T_ERR_CANNOT_INIT] +Interface not in the state to be initialized + +.SH SEE ALSO +.ft R +.nf +MPI_Init_thread +MPI_T_finalize + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 new file mode 100644 index 00000000..edf3151b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 @@ -0,0 +1,204 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_get_info\fP \- Query information from a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_get_info(int \fIpvar_index\fP, char *\fIname\fP, int *\fIname_len\fP, + int *\fIverbosity\fP, int *\fIvar_class\fP, MPI_Datatype *\fIdatatype\fP, MPI_T_enum *\fIenumtype\fP, + char *\fIdesc\fP, int *\fIdesc_len\fP, int *\fIbind\fP, int *\fIreadonly\fP, int *\fIcontinuous\fP, + int *\fIatomic\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +pvar_index +Index of the performance variable to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +performance variable. +.TP 1i +verbosity +Verbosity level of this variable. +.TP 1i +var_class +Class of performance variable. +.TP 1i +datatype +MPI datatype of the information stored in the performance variable. +.TP 1i +enumtype +Optional descriptor for enumeration information. +.TP 1i +desc +Buffer to return the string containing the description of the performance variable. +.TP 1i +bind +Type of MPI object to which this variable must be bound. +.TP 1i +readonly +Flag indicating whether the variable can be written/reset. +.TP 1i +continuous +Flag indicating whether the variable can be started and stopped or is continuously active. +.TP 1i +atomic +Flag indicating whether the variable can be atomically read and reset. +. +. +.SH DESCRIPTION +.ft R +MPI_T_pvar_get_info can be used to query information from a performance variable. The function returns +the verbosity, class, datatype, enumeration type, and binding of the queried control variable in the arguments +\fIverbosity\fP, \fIvar_class\fP, \fIdatatype\fP, \fIenumtype\fP, and \fIbind\fP respectively. Flags indicating +whether the variable is read-only, continuous, or atomic are returns in \fIreadonly\fP, \fIcontinuous\fP, and +\fIatomic\fP accordingly. See MPI-3 § 14.3.7 for more information. See the man page for MPI_T_cvar_get_info +for information on variable verbosity. + +.SH VARIABLE CLASS +.ft R +Performance variables are categorized into classes which describe their initial value, valid types, and +behavior. The class returned in the \fIvar_class\fP parameter may be one of the following: +.TP 2 +MPI_T_PVAR_CLASS_STATE +Variable represents a set of discrete states that may be described by an enumerator. Variables of this class +must be represented by an MPI_INT. The starting value is the current state of the variable. +.TP 2 +MPI_T_PVAR_CLASS_LEVEL +Variable represents the current utilization level of a resource. Variables of this class must be represented +by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value is the +current utilization level of the resource. +.TP 2 +MPI_T_PVAR_CLASS_SIZE +Variable represents the fixed size of a resource. Variables of this class are represented by an MPI_UNSIGNED, +MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value is the current size of the resource. +.TP 2 +MPI_T_PVAR_CLASS_PERCENTAGE +Variable represents the current precentage utilization level of a resource. Variables of this class are +represented by an MPI_DOUBLE. The starting value is the current percentage utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_HIGHWATERMARK +Variable represents the high watermark of the utilization of a resource. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value +is the current utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_HIGHWATERMARK +Variable represents the low watermark of the utilization of a resource. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value +is the current utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_COUNTER +Variable represents a count of the number of occurrences of a specific event. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, or MPI_UNSIGNED_LONG_LONG. The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_COUNTER +Variable represents an aggregated value that represents a sum of arguments processed during a specific event. +Variables of this class are represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, +or MPI_DOUBLE. The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_TIMER +Variable represents the aggregated time spent by the MPI implementation while processing an event, type of +event, or section of code. Variables of this class are represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, +MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. If the variable is represented by an MPI_DOUBLE the units will be +the same as those used by MPI_Wtime(). The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_GENERIC +Variable does not fit into any other class. Can by represented by an type supported by the MPI tool +information interface (see DATATYPE). Starting value is variable specific. + +For more information see MPI-3 \[char 167] 14.3.7. + +.SH DATATYPE +.ft R +The datatype returned by MPI_T_pvar_get_info is restricted to one of the following datatypes: MPI_INT, +MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, MPI_COUNT, MPI_CHAR, and MPI_DOUBLE. For more +information on datatypes in the MPI Tool information interface see MPI-3 \[char167] 14.3.5. + +.SH BINDING +.ft R +Performance variables may be bound to an MPI object. The binding returned in the \fIbind\fP parameter may be +one of the following: +.TP 1i +MPI_T_BIND_NO_OBJECT +No object +.TP 1i +MPI_T_BIND_MPI_COMM +MPI communicator +.TP 1i +MPI_T_BIND_MPI_DATATYPE +MPI datatype +.TP 1i +MPI_T_BIND_MPI_ERRHANDLER +MPI error handler +.TP 1i +MPI_T_BIND_MPI_FILE +MPI file handle +.TP 1i +MPI_T_BIND_MPI_GROUP +MPI group +.TP 1i +MPI_T_BIND_MPI_OP +MPI reduction operator +.TP 1i +MPI_T_BIND_MPI_REQUEST +MPI request +.TP 1i +MPI_T_BIND_MPI_WIN +MPI window for one-sided communication +.TP 1i +MPI_T_BIND_MPI_MESSAGE +MPI message object +.TP 1i +MPI_T_BIND_MPI_INFO +MPI info object + +For more information see MPI-3 \[char167] 14.3.2. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. For more information see MPI-3 \[char167] 14.3.3. + +.SH ERRORS +.ft R +MPI_T_pvar_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The performance variable index is invalid +. +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 new file mode 100644 index 00000000..ea72f256 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_get_num\fP \- Query the number of performance variables +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_get_num(int *\fInum_pvar\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_pvar +Current number of performance variables. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_get_num can be used to query the current number of performance variables. The number +of performance variables may increase throughout the exection of the process but will never +decrease. + +.SH ERRORS +.ft R +MPI_T_pvar_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 new file mode 100644 index 00000000..fd56819a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_handle_alloc 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_handle_alloc\fP, \fBMPI_T_pvar_handle_free\fP \- Allocate/free MPI performance variable handles +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_handle_alloc(int \fIpvar_index\fP, void *\fIobj_handle\fP, + MPI_T_pvar_handle *\fIhandle\fP, int *\fIcount\fP) + +int MPI_T_pvar_handle_free(MPI_T_pvar_handle *\fIhandle\fP) + +.SH DESCRIPTION +.ft R +MPI_T_pvar_handle_alloc binds the performance variable specified in \fIpvar_index\fP to the MPI +object specified in \fIobj_handle\fP. If MPI_T_pvar_get_info returns MPI_T_BIND_NO_OBJECT +as the binding for the variable the \fIobj_handle\fP argument is ignored. The number of +values represented by this performance variable is returned in the \fIcount\fP parameter. + +MPI_T_pvar_handle_free frees a handle allocated by MPI_T_pvar_handle_alloc and sets the +\fIhandle\fP argument to MPI_T_PVAR_HANDLE_NULL. + + +.SH ERRORS +.ft R +MPI_T_pvar_handle_alloc() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The performance variable index is invalid +.TP 1i +[MPI_T_ERR_OUT_OF_HANDLES] +No more handles available +.TP 1i +MPI_T_pvar_handle_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_get_info + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 new file mode 100644 index 00000000..378fd2d1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_handle_alloc.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 new file mode 100644 index 00000000..ff15141d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_read\fP \- Read the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_read(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_read queries the value of a performance variable identified by the handle +specified in \fIhandle\fP in the session specified in \fIsession\fP. The result is +stored in the buffer pointed to by \fIbuf\fP. The caller must ensure that the +buffer pointed to by \fIbuf\fP is large enough to hold the entire value of the +performance variable. + +.SH ERRORS +.ft R +MPI_T_pvar_read() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 new file mode 100644 index 00000000..353fa7db --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_readreset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_readreset\fP \- Atomically read and reset the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_readreset(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_readreset atomically queries and resets the value of a performance variable +bound to the handle specified by \fIhandle\fP in the session specified by \fIsession\fP. +The result is stored in the buffer pointed to by \fIbuf\fP. This function can only be +used with performance variables that are atomic and not readonly. The caller must ensure +that the buffer pointed to by \fIbuf\fP is large enough to hold the entire value of the +performance variable. + +.SH ERRORS +.ft R +MPI_T_pvar_readreset() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_ATOMIC] +Variable cannot be read and written atomically +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be reset + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create +MPI_T_pvar_read +MPI_T_pvar_reset + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 new file mode 100644 index 00000000..4217756f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_reset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_reset\fP \- Reset the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_reset(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle or MPI_T_PVAR_ALL_HANDLES. +. +. +.SH DESCRIPTION +.ft R +MPI_T_pvar_reset sets the performance variable specified by the handle in \fIhandle\fP +to its initial value. The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP +to reset all read-write handles in the session specified in \fIsession\fP. +. +. +.SH ERRORS +.ft R +MPI_T_pvar_reset() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be reset + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create +MPI_T_pvar_write diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 new file mode 100644 index 00000000..b48ba658 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_session_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_session_create\fP, \fBMPI_T_pvar_session_free\fP \- Create/free performance variable session +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_session_create(MPI_T_pvar_session *\fIsession\fP) + +int MPI_T_pvar_session_free(MPI_T_pvar_session *\fIsession\fP) + +.SH DESCRIPTION +.ft R +MPI_T_pvar_session_create creates a session for accessing performance variables. The +new session is returned in the \fIsession\fP parameter. + +MPI_T_pvar_session_free releases a session allocated by MPI_T_pvar_session_create and sets +the \fIsession\fP parameter to MPI_T_PVAR_SESSION_NULL. + +.SH ERRORS +.ft R +MPI_T_pvar_session_create() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_MEMORY] +Out of memory +.TP 1i +[MPI_T_ERR_OUT_OF_SESSIONS] +No more sessions available +.TP 1i +MPI_T_pvar_session_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +The session parameter is not a valid session + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 new file mode 100644 index 00000000..4a42a63f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_session_create.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 new file mode 100644 index 00000000..04aad196 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_start\fP, \fBMPI_T_pvar_stop\fP \- Start/stop a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_start(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +int MPI_T_pvar_stop(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_start starts the performance variable with the handle specified in \fIhandle\fP. +The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP to start all +non-continuous handles in the session specified in \fIsession\fP. + +MPI_T_pvar_stop stops the performance variable with the handle specified in \fIhandle\fP. +The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP to stop all +non-continuous handles in the session specified in \fIsession\fP. + +Continuous performance variables can neither be started nor stopped. + +.SH ERRORS +.ft R +MPI_T_pvar_start() and MPI_T_pvar_stop() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session parameter is not a valid session +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +Invalid handle or handle not associated with the session +.TP 1i +[MPI_T_ERR_PVAR_NO_STARTSTOP] +The variable cannot be started or stopped + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 new file mode 100644 index 00000000..3907001b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_start.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 new file mode 100644 index 00000000..e5e16a4d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_write\fP \- Write the value of a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_write(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_write attempts to set the value of the performance variable identified by +the handle specified in \fIhandle\fP in the session specified in \fPsession\fI. The +value to be written is specified in \fIbuf\fP. The caller must ensure that the buffer +specified in \fIbuf\fP is large enough to hold the entire value of the performance +variable. + +.SH ERRORS +.ft R +MPI_T_pvar_write() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be written + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 new file mode 100644 index 00000000..2b5a8fe6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2007-2008 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Test 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Test\fP \- Tests for the completion of a specific send or receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Test(MPI_Request *\fIrequest\fP, int\fI *flag\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if operation completed (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Test returns flag = true if the operation identified by request is complete. In such a case, the status object is set to contain information on the completed operation; if the communication object was created by a nonblocking send or receive, then it is deallocated and the request handle is set to MPI_REQUEST_NULL. The call returns flag = false, otherwise. In this case, the value of the status object is undefined. MPI_Test is a local operation. +.sp +The return status object for a receive operation carries information that can be accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status." The status object for a send operation carries information that can be accessed by a call to MPI_Test_cancelled (see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +One is allowed to call MPI_Test with a null or inactive \fIrequest\fP argument. In such a case the operation returns with \fIflag\fP = true and empty \fIstatus\fP. +.sp +The functions MPI_Wait and MPI_Test can be used to complete both sends and +receives. + +.SH NOTES +The use of the nonblocking MPI_Test call allows the user to schedule alternative activities within a single thread of execution. An event-driven thread scheduler can be emulated with periodic calls to MPI_Test. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_TEST do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler +and may be passed back to the caller through the return value of +MPI_TEST if the back-end error handler returns it. The +pre-defined MPI error handler MPI_ERRORS_RETURN exhibits this +behavior, for example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 new file mode 100644 index 00000000..a9f4c19d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Test_cancelled 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Test_cancelled\fP \- Tests whether a request was canceled. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Test_cancelled(const MPI_Status *\fIstatus\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +status +Status object (status). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if operation was cancelled (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns \fIflag\fP = true if the communication associated with the status object +was canceled successfully. In such a case, all other fields of status (such as \fIcount\fP or \fItag\fP) are undefined. Otherwise, returns \fIflag\fP = false. If a receive operation might be canceled, one should call MPI_Test_cancelled first, to check whether the operation was canceled, before checking on the other fields of the return status. + +.SH NOTES +Cancel can be an expensive operation that should be used only exceptionally. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 new file mode 100644 index 00000000..64868a88 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Testall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testall\fP \- Tests for the completion of all previously initiated communications in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int\fI *flag\fP, MPI_Status\fI array_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Lists length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if previously initiated communications are complete (logical.) +.TP 1i +array_of_statuses +Array of status objects (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns \fIflag\fP = true if all communications associated with active handles in the array have completed (this includes the case where no handle in the list is active). In this case, each status entry that corresponds to an active handle request is set to the status of the corresponding communication; if the request was allocated by a nonblocking communication call then it is deallocated, and the handle is set to MPI_REQUEST_NULL. Each status entry that corresponds to a null or inactive handle is set to empty. +.sp +Otherwise, \fIflag\fP = false is returned, no request is modified and the values of the status entries are undefined. This is a local operation. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. +.sp +Errors that occurred during the execution of MPI_Testall are handled in the same manner as errors in MPI_Waitall. + +.SH NOTE +.ft R +\fIflag\fP is true only if all requests have completed. Otherwise, \fIflag\fP is false, +and neither \fIarray_of_requests\fP nor \fIarray_of_statuses\fP is modified. + +.SH ERRORS +For each invocation of MPI_Testall, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Testall to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 new file mode 100644 index 00000000..e00f5368 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Testany 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testany\fP \- Tests for completion of any one previously initiated communication in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testany(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int\fI *index\fP, int\fI *flag\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +List length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Index of operation that completed, or MPI_UNDEFINED if none completed +(integer). +.TP 1i +flag +True if one of the operations is complete (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Testany tests for completion of either one or none of the operations associated with active handles. In the former case, it returns \fIflag\fP = true, returns in \fIindex\fP the index of this request in the array, and returns in \fIstatus\fP the status of that operation; if the request was allocated by a nonblocking communication call then the request is deallocated and the handle is set to MPI_REQUEST_NULL. (The array is indexed from 0 in C, and from 1 in Fortran.) In the latter case (no operation completed), it returns \fIflag\fP = false, returns a value of MPI_UNDEFINED in \fIindex\fP, and \fIstatus\fP is undefined. +.sp +The array may contain null or inactive handles. If the array contains no active handles then the call returns immediately with \fIflag\fP = true, \fIindex\fP = MPI_UNDEFINED, and an empty \fIstatus\fP. +.sp +If the array of requests contains active handles then the execution of +MPI_Testany(count, array_of_requests, index, status) has the same effect as the execution of MPI_Test(&\fIarray_of_requests[i\fP], \fIflag\fP, \fIstatus\fP), for \fIi\fP=0,1,...,count-1, in some arbitrary order, until one call returns \fIflag\fP = true, or all fail. In the former case, \fIindex\fP is set to the last value of \fIi\fP, and in the latter case, it is set to MPI_UNDEFINED. MPI_Testany with an array containing one active entry is equivalent to MPI_Test. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_TESTANY do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler and +may be passed back to the caller through the return value of +MPI_TESTANY if the back-end error handler returns it. The pre-defined +MPI error handler MPI_ERRORS_RETURN exhibits this behavior, for +example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 new file mode 100644 index 00000000..ec3b0a9a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 @@ -0,0 +1,123 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011-2015 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Testsome 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testsome\fP \- Tests for completion of one or more previously initiated communications in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testsome(int \fIincount\fP, MPI_Request \fIarray_of_requests[]\fP, + int\fI *outcount\fP, int\fI array_of_indices[]\fP, + MPI_Status\fI array_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Length of array_of_requests (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outcount +Number of completed requests (integer). +.TP 1i +array_of_indices +Array of indices of operations that completed (array of integers). +.TP 1i +array_of_statuses +Array of status objects for operations that completed (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Behaves like MPI_Waitsome, except that it returns immediately. +.sp +Returns in outcount the number of requests from the list +array_of_requests that have completed. Returns in the first outcount +locations of the array array_of_indices the indices of these +operations (index within the array array_of_requests; the array is +indexed from 0 in C and from 1 in Fortran). Returns in the first +outcount locations of the array array_of_status the status for these +completed operations. If a request that completed was allocated by a +nonblocking communication call, then it is deallocated, and the +associated handle is set to MPI_REQUEST_NULL. +.sp +If no operation has completed it returns outcount = 0. If there is no +active handle in the list, it returns outcount = MPI_UNDEFINED. +.sp +MPI_Testsome is a local operation, which returns immediately, whereas MPI_Waitsome blocks until a communication completes, if it was passed a list that contains at least one active handle. Both calls fulfill a fairness requirement: If a request for a receive repeatedly appears in a list of requests passed to MPI_Waitsome or MPI_Testsome, and a matching send has been posted, then the receive will eventually succeed unless the send is satisfied by another receive; send requests also fulfill this fairness requirement. +.sp +Errors that occur during the execution of MPI_Testsome are handled as for +MPI_Waitsome. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. + +.SH NOTES +The use of MPI_Testsome is likely to be more +efficient than the use of MPI_Testany. The former returns information on all completed communications; with the latter, a new call is required for each communication that completes. +.sp +A server with multiple clients can use MPI_Waitsome so as not to starve any client. Clients send messages to the server with service requests. The server calls MPI_Waitsome with one receive request for each client, then handles all receives that have completed. If a call to MPI_Waitany is used instead, then one client could starve while requests from another client always sneak in first. + +.SH ERRORS +For each invocation of MPI_Testsome, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Testsome to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 new file mode 100644 index 00000000..78a2a5f8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Topo_test 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Topo_test\fP \- Determines the type of topology (if any) associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Topo_test(MPI_Comm \fIcomm\fP, int\fI *top_type\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +top_type +Topology type of communicator comm (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Topo_test returns the type of topology that is assigned to a communicator. +.sp +The output value \fItop_type\fP is one of the following: +.sp +.nf + MPI_GRAPH graph topology + MPI_CART Cartesian topology + MPI_DIST_GRAPH distributed graph topology + MPI_UNDEFINED no topology + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Graph_create +.br +MPI_Cart_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 new file mode 100644 index 00000000..2bdd2cbc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_commit 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_commit\fP \- Commits a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_commit(MPI_Datatype *\fIdatatype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The commit operation commits the data type. A data type is the formal description of a communication buffer, not the content of that buffer. After a data type has been committed, it can be repeatedly reused to communicate the changing content of a buffer or, indeed, the content of different buffers, with different starting addresses. +.sp +\fBExample:\fP The following Fortran code fragment gives examples of using MPI_Type_commit. +.sp +.nf + INTEGER type1, type2 + CALL MPI_TYPE_CONTIGUOUS(5, MPI_REAL, type1, ierr) + ! new type object created + CALL MPI_TYPE_COMMIT(type1, ierr) + ! now type1 can be used for communication +.fi +.sp +If the data type specified in \fIdatatype\fP is already committed, it is equivalent to a no-op. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 new file mode 100644 index 00000000..d6df0583 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_contiguous 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_contiguous\fP \- Creates a contiguous datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_contiguous(int \fIcount\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Replication count (nonnegative integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The simplest datatype constructor is MPI_Type_contiguous, which allows replication of a datatype into contiguous locations. +.sp +\fInewtype\fP is the datatype obtained by concatenating \fIcount\fP copies of \fIoldtype\fP. Concatenation is defined using the extent of \fIoldtype\fP as the size of the concatenated copies. +.sp +\fBExample:\fR Let oldtype have type map {(double, 0), (char, 8)}, with extent 16, and let count = 3. The type map of the datatype returned by newtype is +.sp +.nf + {(double, 0), (char, 8), (double, 16), (char, 24), + (double, 32), (char, 40)]; +.fi +.sp +i.e., alternating double and char elements, with displacements 0, 8, 16, 24, 32, 40. +.sp +In general, assume that the type map of oldtype is +.sp +.nf + {(type(0), disp(0)),...,(type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Then newtype has a type map with count times n entries defined by: +.sp +.nf + {(type(0), disp(0)), ...,(type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ...,(type(n-1), + disp(n-1) + ex), ...,(type(0), disp(0) + ex * (count - 1)), + ...,(type(n-1), disp(n-1) + ex * (count - 1))}. +.fi +.sp +For more information about derived datatypes, see Section 3.12 of the MPI-1 Standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 new file mode 100644 index 00000000..1f8f4f28 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 @@ -0,0 +1,122 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_darray 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_darray\fP \- Creates a distributed array datatype; + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_darray(int \fIsize\fP, int \fIrank\fP, int \fIndims\fP, + const int \fIarray_of_gsizes\fP[], const int \fIarray_of_distribs\fP[], + const int \fIarray_of_dargs\fP[], const int \fIarray_of_psizes\fP[], + int \fIorder\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype \fI*newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of process group (positive integer). +.TP 1i +rank +Rank in process group (nonnegative integer). +.TP 1i +ndims +Number of array dimensions as well as process grid dimensions (positive integer). +.sp +.TP 1i +array_of_gsizes +Number of elements of type \fIoldtype\fP in each dimension of global array (array of positive integers). +.sp +.TP 1i +array_of_distribs +Distribution of array in each dimension (array of state). +.TP 1i +array_of_dargs +Distribution argument in each dimension (array of positive integers). +.sp +.TP 1i +array_of_psizes +Size of process grid in each dimension (array of positive integers). +.sp +.TP 1i +order +Array storage order flag (state). +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Type_create_darray can be used to generate the data types corresponding to the distribution of an ndims-dimensional array of \fIoldtype\fP elements onto an \fIndims\fP-dimensional grid of logical processes. Unused dimensions of \fIarray_of_psizes\fP should be set to 1. For a call to MPI_Type_create_darray to be correct, the equation +.sp +.nf + \fIndims\fP-1 + pi \fIarray_of_psizes[i]\fP = \fIsize\fP + \fIi\fP=0 + +.fi +.sp +must be satisfied. The ordering of processes in the process grid is assumed to be row-major, as in the case of virtual Cartesian process topologies in MPI-1. +.sp +Each dimension of the array can be distributed in one of three ways: +.sp +.nf +- MPI_DISTRIBUTE_BLOCK - Block distribution +- MPI_DISTRIBUTE_CYCLIC - Cyclic distribution +- MPI_DISTRIBUTE_NONE - Dimension not distributed. +.fi +.sp +The constant MPI_DISTRIBUTE_DFLT_DARG specifies a default distribution argument. The distribution argument for a dimension that is not distributed is ignored. For any dimension \fIi\fP in which the distribution is MPI_DISTRIBUTE_BLOCK, it erroneous to specify \fIarray_of_dargs[i]\fP \fI*\fP \fIarray_of_psizes[i]\fP < \fIarray_of_gsizes[i]\fP. +.sp +For example, the HPF layout ARRAY(CYCLIC(15)) corresponds to MPI_DISTRIBUTE_CYCLIC with a distribution argument of 15, and the HPF layout ARRAY(BLOCK) corresponds to MPI_DISTRIBUTE_BLOCK with a distribution argument of MPI_DISTRIBUTE_DFLT_DARG. +.sp +The \fIorder\fP argument is used as in MPI_TYPE_CREATE_SUBARRAY to specify the storage order. Therefore, arrays described by this type constructor may be stored in Fortran (column-major) or C (row-major) order. Valid values for order are MPI_ORDER_FORTRAN and MPI_ORDER_C. +.sp +This routine creates a new MPI data type with a typemap defined in terms of a function called "cyclic()" (see below). +.sp +Without loss of generality, it suffices to define the typemap for the MPI_DISTRIBUTE_CYCLIC case where MPI_DISTRIBUTE_DFLT_DARG is not used. +.sp +MPI_DISTRIBUTE_BLOCK and MPI_DISTRIBUTE_NONE can be reduced to the MPI_DISTRIBUTE_CYCLIC case for dimension \fIi\fP as follows. +.sp +MPI_DISTRIBUTE_BLOCK with \fIarray_of_dargs[i]\fP equal to MPI_DISTRIBUTE_DFLT_DARG is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to +.sp +.nf + (\fIarray_of_gsizes[i]\fP + \fIarray_of_psizes[i]\fP - 1)/\fIarray_of_psizes[i]\fP +.fi +.sp +If \fIarray_of_dargs[i]\fP is not MPI_DISTRIBUTE_DFLT_DARG, then MPI_DISTRIBUTE_BLOCK and DISTRIBUTE_CYCLIC are equivalent. +.sp +MPI_DISTRIBUTE_NONE is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to \fIarray_of_gsizes[i]\fP. +.sp +Finally, MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP equal to MPI_DISTRIBUTE_DFLT_DARG is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to 1. +.sp + +.SH NOTES +.ft R +For both Fortran and C arrays, the ordering of processes in the process grid is assumed to be row-major. This is consistent with the ordering used in virtual Cartesian process topologies in MPI-1. To create such virtual process topologies, or to find the coordinates of a process in the process grid, etc., users may use the corresponding functions provided in MPI-1. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 new file mode 100644 index 00000000..227d8fee --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 @@ -0,0 +1,125 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_complex 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_complex\fP \- Returns a bounded MPI complex datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_complex(int \fIp\fP, int \fIr\fP, + MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +p +Precision, in decimal digits (integer). +.TP 1i +r +Decimal exponent range (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized COMPLEX MPI +datatypes. The arguments are interpreted in a similar fashion to the +F90 function SELECTED_REAL_KIND. The parameters \fIp\fP and \fIr\fP +must be scalar integers. The argument \fIp\fP represents the required +level of numerical precision, in decimal digits. The \fIr\fP parameter +indicates the range of exponents desired: the returned datatype will +have at least one exponent between \+\fIr\fP and \-\fIr\fP (inclusive). +.sp +Either \fIp\fP or \fIr\fP, but not both, may be omitted from calls to +SELECTED_REAL_KIND. Similarly, either argument to +MPI_Type_create_f90_complex may be set to MPI_UNDEFINED. + +.SH NOTES +.ft R +It is erroneous to supply values for \fIp\fP and \fIr\fP not supported by +the compiler. +.sp +The Fortran function SELECTED_REAL_KIND maps a large number of +(\fIp,r\fP) pairs to a much smaller number of KIND parameters +supported by the compiler. KIND parameters are not specified by the +language and are not portable. From the point of view of the language, +variables of the same base type and KIND parameter are equivalent, +even if their KIND parameters were generated by different (\fIp,r\fP) +arguments to SELECTED_REAL_KIND. However, to help facilitate +interoperability in a heterogeneous environment, equivalency is more +strictly defined for datatypes returned by +MPI_Type_create_f90_complex. Two MPI datatypes, each generated by this +function, will match if and only if they have identical values for +both \fIp\fP and \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external, and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIp\fP > 33) and/or (\fIr\fP > 4931): + external32 size = n/a (undefined) + else if (\fIp\fP > 15) and/or (\fIr\fP > 307): + external32 size = 32 + else if (\fIp\fP > 6) and/or (\fIr\fP > 37): + external32 size = 16 + else: + external32 size = 8 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_REAL_KIND (i.e., \fIp\fP and/or \fIr\fP are +unknown), the only way to obtain a matching MPI datatype is to use the +functions MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_REAL_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 new file mode 100644 index 00000000..95e1a445 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 @@ -0,0 +1,118 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_integer 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_integer\fP \- Returns a bounded MPI integer datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_integer(int \fIr\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +r +Precision, in decimal digits (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized INTEGER MPI +datatypes. The argument is interpreted in a similar fashion to the F90 +function SELECTED_INT_KIND: \fIr\fP must be a scalar integer, and +represents the desired level of numerical precision, in decimal +digits. + +.SH NOTES +.ft R +It is erroneous to supply a value for \fIr\fP not supported by the +compiler. +.sp +The Fortran function SELECTED_INT_KIND maps a large number of \fIr\fP +values to a much smaller number of KIND parameters supported by the +compiler. KIND parameters are not specified by the language and are +not portable. From the point of view of the language, variables of the +same base type and KIND parameter are equivalent, even if their KIND +parameters were generated by different \fIr\fP arguments to +SELECTED_INT_KIND. However, to help facilitate interoperability in a +heterogeneous environment, equivalency is more strictly defined for +datatypes returned by MPI_Type_create_f90_integer. Two MPI datatypes, +each generated by this function, will match if and only if they have +identical values for \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIr\fP > 38): + external32 size = n/a (undefined) + else if (\fIr\fP > 18): + external32 size = 16 + else if (\fIr\fP > 9): + external32 size = 8 + else if (\fIr\fP > 4): + external32 size = 4 + else if (\fIr\fP > 2): + external32 size = 2 + else: + external32 size = 1 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_INT_KIND (i.e., \fIr\fP is unknown), the +only way to obtain a matching MPI datatype is to use the functions +MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_INT_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 new file mode 100644 index 00000000..80621a8e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 @@ -0,0 +1,124 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_real 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_real\fP \- Returns a bounded MPI real datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_real(int \fIp\fP, int \fIr\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +p +Precision, in decimal digits (integer). +.TP 1i +r +Decimal exponent range (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized REAL MPI +datatypes. The arguments are interpreted in a similar fashion to the +F90 function SELECTED_REAL_KIND. The parameters \fIp\fP and \fIr\fP +must be scalar integers. The argument \fIp\fP represents the required +level of numerical precision, in decimal digits. The \fIr\fP parameter +indicates the range of exponents desired: the returned datatype will +have at least one exponent between \+\fIr\fP and \-\fIr\fP (inclusive). +.sp +Either \fIp\fP or \fIr\fP, but not both, may be omitted from calls to +SELECTED_REAL_KIND. Similarly, either argument to +MPI_Type_create_f90_real may be set to MPI_UNDEFINED. + +.SH NOTES +.ft R +It is erroneous to supply values for \fIp\fP and \fIr\fP not supported by +the compiler. +.sp +The Fortran function SELECTED_REAL_KIND maps a large number of +(\fIp,r\fP) pairs to a much smaller number of KIND parameters +supported by the compiler. KIND parameters are not specified by the +language and are not portable. From the point of view of the language, +variables of the same base type and KIND parameter are equivalent, +even if their KIND parameters were generated by different (\fIp,r\fP) +arguments to SELECTED_REAL_KIND. However, to help facilitate +interoperability in a heterogeneous environment, equivalency is more +strictly defined for datatypes returned by +MPI_Type_create_f90_real. Two MPI datatypes, each generated by this +function, will match if and only if they have identical values for +both \fIp\fP and \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIp\fP > 33) and/or (\fIr\fP > 4931): + external32 size = n/a (undefined) + else if (\fIp\fP > 15) and/or (\fIr\fP > 307): + external32 size = 16 + else if (\fIp\fP > 6) and/or (\fIr\fP > 37): + external32 size = 8 + else: + external32 size = 4 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_REAL_KIND (i.e., \fIp\fP and/or \fIr\fP are +unknown), the only way to obtain a matching MPI datatype is to use the +functions MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_REAL_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 new file mode 100644 index 00000000..079131d9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_indexed.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 new file mode 100644 index 00000000..eb17e26c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_create_indexed_block.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 new file mode 100644 index 00000000..ae260ce0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_hvector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_hvector\fP \- Creates a vector (strided) data type with offset in bytes. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_hvector(int \fIcount\fP, int \fIblocklength\fP, + MPI_Aint \fIstride\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of bytes between start of each block (integer). +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +MPI_Type_create_hvector creates a vector (strided) data type with offset in bytes. +.PP +NOTE \- This routine replaces MPI_Type_hvector, which is deprecated. See the man page MPI_Type_hvector(3) for information about that routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISTRIDE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fISTRIDE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Type_hvector +.br +MPI_Type_vector +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 new file mode 100644 index 00000000..e21b213a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_indexed_block 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_indexed_block, MPI_Type_create_hindexed_block\fP \- Creates an indexed data type with the same block length for all blocks. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_indexed_block(int \fIcount\fP, int \fIblocklength\fP, const int \fIarray_of_displacements\fP[], MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +int MPI_Type_create_hindexed_block(int \fIcount\fP, int \fIblocklength\fP, const int \fIarray_of_displacements\fP[], MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Length of array of displacements (integer). +.TP 1i +blocklength +Size of block (integer). +.TP 1i +array_of_displacements +Array of displacements (array of integers). In units of the extent of \fIoldtype\fP for MPI_Type_create_indexed_block and bytes for MPI_Type_create_hindexed_block. +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_indexed_block and MPI_Type_create_hindexed_block create an indexed data type with the same block length for all blocks. The only difference between the two functions is MPI_Type_create_indexed_block takes an array of displacements in units of the extent of \fIoldtype\fP while MPI_Type_create_hindexed_block takes displacements in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_indexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 new file mode 100644 index 00000000..eb979e6a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 @@ -0,0 +1,117 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_keyval\fP \- Generates a new attribute key for caching on data types. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_keyval(MPI_Type_copy_attr_function *\fItype_copy_attr_fn\fP, + MPI_Type_delete_attr_function *\fItype_delete_attr_fn\fP, + int *\fItype_keyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +type_copy_attr_fn +Copy callback function for \fItype_keyval\fP (function). +.TP 1i +type_delete_attr_fn +Delete callback function for \fItype_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_keyval generates a new attribute key for caching on data types. This routine partially replaces MPI_Keyval_create. +.sp +The argument \fItype_copy_attr_fn\fP may be specified as MPI_TYPE_NULL_COPY_FN or MPI_TYPE_DUP_FN from C, C++, or Fortran. MPI_TYPE_NULL_COPY_FN is a function that does nothing other than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_TYPE_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +.sp +The argument \fItype_delete_attr_fn\fP may be specified as MPI_TYPE_NULL_DELETE_FN from C, C++, or Fortran. MPI_TYPE_NULL_DELETE_FN is a function that does nothing beyond returning MPI_SUCCESS. +The C callback functions are: +.sp +.nf +typedef int MPI_Type_copy_attr_function(MPI_Datatype \fIoldtype\fP, + int \fItype_keyval\fP, void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +and +.nf +typedef int MPI_Type_delete_attr_function(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE TYPE_COPY_ATTR_FN(\fIOLDTYPE, TYPE_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDTYPE, TYPE KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +and +.nf +SUBROUTINE TYPE_DELETE_ATTR_FN(\fITYPE, TYPE_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, + IERROR\fP) + INTEGER \fITYPE, TYPE_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Datatype::Copy_attr_function(const MPI::Datatype& \fIoldtype\fP, + int \fItype_keyval\fP, void* \fIextra_state\fP, + const void* \fIattribute_val_in\fP, void* \fIattribute_val_out\fP, + bool& \fIflag\fP); +.fi +and +.nf +typedef int MPI::Datatype::Delete_attr_function(MPI::Datatype& \fItype\fP, + int \fItype_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi +.sp + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_free_keyval + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 new file mode 100644 index 00000000..40d712d3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_create_resized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_resized\fP \- Returns a new data type with new extent and upper and lower bounds. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_resized(MPI_Datatype \fIoldtype\fP, MPI_Aint\fI lb\fP, + MPI_Aint \fIextent\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +oldtype +Input data type (handle). +.TP 1i +lb +New lower bound of data type (integer). +.TP 1i +extent +New extent of data type (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +Output data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_resized returns in \fInewtype\fP a handle to a new data type that is identical to \fIoldtype\fP, except that the lower bound of this new data type is set to be \fIlb\fP, and its upper bound is set to be \fIlb\fP + \fIextent\fP. Any previous \fIlb\fP and \fIub\fP markers are erased, and a new pair of lower bound and upper bound markers are put in the positions indicated by the \fIlb\fP and \fIextent\fP arguments. This affects the behavior of the data type when used in communication operations, with \fIcount\fP > 1, and when used in the construction of new derived data types. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fILB\fP and \fIEXTENT\fP arguments only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fILB\fP +or + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTE +.ft R +Use of MPI_Type_create_resized is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO + +MPI_Type_get_extent + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 new file mode 100644 index 00000000..74533cb2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_struct 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_struct\fP \- Creates a structured data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_struct(int \fIcount\fP, int \fIarray_of_blocklengths\fP[], + const MPI_Aint \fIarray_of_displacements\fP[], const MPI_Datatype \fIarray_of_types\fP[], + MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (integer) -- also number of entries in arrays \fIarray_of_types\fP, \fIarray_of_displacements\fP, and \fIarray_of_blocklengths\fP. +.TP 1i +array_of_blocklengths +Number of elements in each block (array of integers). +.TP 1i +array_of_displacements +Byte displacement of each block (array of integers). +.TP 1i +array_of_types +Type of elements in each block (array of handles to data-type objects). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +MPI_Type_create_struct creates a structured data type. This routine replaces MPI_Type_struct, which is now deprecated. +.PP +NOTE \- This routine replaces MPI_Type_struct, which is deprecated. See the man page MPI_Type_struct(3) for information about that routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIARRAY_OF_DISPLACEMENTS\fP(*) argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIARRAY_OF_DISPLACEMENTS\fP(*) +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_struct +.br +MPI_Type_create_hindexed + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 new file mode 100644 index 00000000..b4f5430e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 @@ -0,0 +1,113 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_subarray 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_subarray\fP \- Creates a data type describing an \fIn\fP-dimensional subarray of an \fIn\fP-dimensional array. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_subarray(int \fIndims\fP, const int \fIarray_of_sizes[]\fP, const int \fIarray_of_subsizes[]\fP, const int \fIarray_of_starts[]\fP, int \fIorder\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype \fI*newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +ndims +Number of array dimensions (positive integer). +.TP 1i +array_of_sizes +Number of elements of type \fIoldtype\fP in each dimension of the full array (array of positive integers). +.TP 1i +array_of_subsizes +Number of elements of type \fIoldtype\fP in each dimension of the subarray (array of positive integers). +.TP 1i +array_of_starts +Starting coordinates of the subarray in each dimension (array of nonnegative integers). +.TP 1i +order +Array storage order flag (state). +.TP 1i +oldtype +Array element data type (handle). + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The subarray type constructor creates an MPI data type describing an \fIn\fP-dimensional subarray of an \fIn\fP-dimensional array. The subarray may be situated anywhere within the full array, and may be of any nonzero size up to the size of the larger array as long as it is confined within this array. This type constructor facilitates creating file types to access arrays distributed in blocks among processes to a single file that contains the global array. +.sp +This type constructor can handle arrays with an arbitrary number of dimensions and works for both C- and Fortran-ordered matrices (that is, row-major or column-major). Note that a C program may use Fortran order and a Fortran program may use C order. +.sp +The \fIndims\fP parameter specifies the number of dimensions in the full data array and gives the number of elements in \fIarray_of_sizes\fP, \fIarray_of_subsizes\fP, and \fIarray_of_starts\fP. +.sp +The number of elements of type \fIoldtype\fP in each dimension of the \fIn\fP-dimensional array and the requested subarray are specified by \fIarray_of_sizes\fP and \fIarray_of_subsizes\fP, respectively. For any dimension \fIi\fP, it is erroneous to specify \fIarray_of_subsizes[i]\fP < 1 or \fIarray_of_subsizes[i]\fP > \fIarray of sizes[i]\fP. +.sp +The \fIarray_of_starts\fP contains the starting coordinates of each dimension of the subarray. Arrays are assumed to be indexed starting from zero. For any dimension \fIi\fP, it is erroneous to specify +.sp +.nf +\fIarray_of_starts[i]\fP < 0 +.fi +.sp +or +.sp +.nf +\fIarray_of_starts[i]\fP > (\fIarray_of_sizes[i]\fP - \fIarray_of_subsizes[i]\fP). +.fi +.sp +The \fIorder\fP argument specifies the storage order for the subarray as well as the full array. It must be set to one of the following: +.sp +- MPI_ORDER_C: The ordering used by C arrays, (that is, row-major order) +.sp +- MPI_ORDER_FORTRAN: The ordering used by Fortran arrays, (that is, column-major order) +.sp +A \fIndims\fP-dimensional subarray (\fInewtype\fP) with no extra padding can be defined by the function Subarray() as follows: +.sp +.nf + newtype = Subarray(ndims, {size , size ,\..., size }, + 0 1 ndims-1 + {subsize , subsize , \..., subsize }, + 0 1 ndims-1 + {start , start , \..., start }, \fIoldtype\fP) + 0 1 ndims-1 +.fi +.sp +Let the typemap of \fIoldtype\fP have the form: +.sp +.nf + {(type , disp ), (type , disp ), \..., (type , disp )} + 0 0 1 1 n-1 n-1 +.fi +.sp +where type\fIi\fP is a predefined MPI data type, and let \fIex\fP be the extent of \fIoldtype\fP. +.sp +The Subarray() function is defined recursively in three equations on page 72 of the MPI-2 standard. +.sp +For an example use of MPI_Type_create_subarray in the context of I/O, see Section 9.9.2 of the MPI-2 standard. + + +.SH NOTES +.ft R +In a Fortran program with arrays indexed starting from 1, if the starting coordinate of a particular dimension of the subarray is \fIn\fP, then the entry in array of starts for that dimension is \fIn\fP-1. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 new file mode 100644 index 00000000..3df520cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_delete_attr\fP \- Deletes a datatype-caching attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_delete_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type from which the attribute is deleted (handle).n + +.SH INPUT PARAMETER +.ft R +.TP 1i +type_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_delete_attr deletes a datatype-caching attribute value associated with a key. This routines partially replaces MPI_Attr_delete, which is now deprecated. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 new file mode 100644 index 00000000..06a66ff8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_dup\fP \- Duplicates a data type with associated key values. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_dup(MPI_Datatype \fItype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +type +Data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +Copy of \fItype\fP (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_dup is a type constructor that duplicates the existing type with associated key values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator. One particular action that a copy callback may take is to delete the attribute from the new data type. Returns in \fInewtype\fP a new data type with exactly the same properties as \fItype\fP, as well as any copied cached information. The new data type has identical upper bound and lower bound and yields the same net result when fully decoded with the functions described in Section 8.6 of the MPI-2 standard. \fInewtype\fP has the same committed state as the old \fItype\fP. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_keyval +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 new file mode 100644 index 00000000..178b681e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_extent\fP \- Returns the extent of a data type, the difference between the upper and lower bounds of the data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_extent(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *extent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +extent +Datatype extent (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_extent returns the extent of a data type, the difference between the upper and lower bounds of the data type. +.sp +In general, if +.sp +.nf + Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} +.fi +.sp +then the lower bound of Typemap is defined to be +.sp +.nf + ( min(j) disp(j) if no entry has + lb(Typemap)=( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +.sp +Similarly, the upper bound of Typemap is defined to be +.sp +.nf + (max(j) disp(j) + sizeof(type(j)) + e if no entry has + ub(Typemap)=( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise +.fi +.sp +Then +.sp +.nf + extent(Typemap) = ub(Typemap) - lb(Typemap) +.fi +.sp +If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 new file mode 100644 index 00000000..bafa5945 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_free\fP \- Frees a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_free(MPI_Datatype *\fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype that is freed (handle). +.sp +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks the datatype object associated with datatype for de-allocation and sets datatype to MPI_DATATYPE_NULL. Any communication that is currently using this datatype will complete normally. Derived datatypes that were defined from the freed datatype are not affected. +.sp +Freeing a datatype does not affect any other datatype that was built from the freed datatype. The system behaves as if input datatype arguments to derived datatype constructors are passed by value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 new file mode 100644 index 00000000..abfb7d36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_free_keyval\fP \- Frees a previously created type key value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_free_keyval(int *\fItype_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type_keyval +Key value to free (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_keyval +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 new file mode 100644 index 00000000..86eac718 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_attr\fP \- Returns the attribute associated with a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +type +Data type to which the attribute is attached (handle). +.TP 1i +type_keyval +Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless \fIflag\fP = false +.TP 1i +flag +"false" if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +For the given data type, MPI_Type_get_attr returns an attribute value that corresponds to the specified key value. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_set_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 new file mode 100644 index 00000000..87da6776 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 @@ -0,0 +1,88 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_contents 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_contents\fP \- Returns information about arguments used in creation of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_contents(MPI_Datatype \fIdatatype\fP, int \fImax_integers\fP, + int \fImax_addresses\fP, int \fImax_datatypes\fP, int \fIarray_of_integers\fP[], MPI_Aint \fIarray_of_addresses\fP[], MPI_Datatype array_of_datatypes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datatype +Data type to access (handle). +.TP 1i +max_integers +Number of elements in \fIarray_of_integers\fP (nonnegative integer). +.TP 1i +max_addresses +Number of elements in \fIarray_of_addresses\fP (nonnegative integer). +.TP 1i +max_datatypes +Number of elements in \fIarray_of_datatypes\fP (nonnegative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +array_of_integers +Contains integer arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +array_of_addresses +Contains address arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +array_of_datatypes +Contains data-type arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For the given data type, MPI_Type_get_envelope returns information on the number and type of input arguments used in the call that created the data type. The number-of-arguments values returned can be used to provide sufficiently large arrays in the decoding routine MPI_Type_get_contents. This call and the meaning of the returned values is described below. The combiner reflects the MPI data type constructor call that was used in creating \fIdatatype\fP. + +The parameter \fIdatatype\fP must be a predefined unnamed or a derived data type. The call is erroneous if \fIdatatype\fP is a predefined named data type. +.sp +The values given for \fImax_integers\fP, \fImax_addresses\fP, and \fImax_datatypes\fP must be at least as large as the value returned in \fInum_integers\fP, \fInum_addresses\fP, and \fInum_datatypes\fP, respectively, in the call MPI_Type_get_envelope for the same \fIdatatype\fP argument. +.sp +The data types returned in \fIarray_of_datatypes\fP are handles to data-type objects that are equivalent to the data types used in the original construction call. If these were derived data types, then the returned data types are new data-type objects, and the user is responsible for freeing these datatypes with MPI_Type_free. If these were predefined data types, then the returned data type is equal to that (constant) predefined data type and cannot be freed. +.sp +The committed state of returned derived data types is undefined, that is, the data types may or may not be committed. Furthermore, the content of attributes of returned data types is undefined. +.sp +Note that MPI_Type_get_contents can be invoked with a data-type argument that was constructed using MPI_Type_create_f90_real, MPI_Type_create_f90_integer, or MPI_Type_create_f90_complex (an unnamed predefined data type). In such a case, an empty \fIarray_of_datatypes\fP is returned. +.sp +In the MPI-1 data-type constructor calls, the address arguments in Fortran are of type INTEGER. In the new MPI-2 calls, the address arguments are of type INTEGER(KIND=MPI_ADDRESS_KIND). The call MPI_Type_get_contents returns all addresses in an argument of type INTEGER(KIND=MPI_ADDRESS_KIND). This is true even if the old MPI-1 calls were used. Thus, the location of values returned can be thought of as being returned by the C bindings. It can also be determined by examining the new MPI-2 calls for data-type constructors for the deprecated MPI-1 calls that involve addresses. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIARRAY_OF_ADDRESSES\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIARRAY_OF_ADDRESSES\fP(*) +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Type_get_envelope +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 new file mode 100644 index 00000000..30734b05 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_envelope 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_envelope\fP \- Returns information about input arguments associated with a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_envelope(MPI_Datatype \fIdatatype\fP, int *\fInum_integers\fP, + int *\fInum_addresses\fP, int *\fInum_datatypes\fP, int *\fIcombiner\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type to access (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_integers +Number of input integers used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +num_addresses +Number of input addresses used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +num_datatypes +Number of input data types used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +combiner +Combiner (state). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For the given data type, MPI_Type_get_envelope returns information on the number and type of input arguments used in the call that created the data type. The number-of-arguments values returned can be used to provide sufficiently large arrays in the decoding routine MPI_Type_get_contents. This call and the meaning of the returned values is described below. The combiner reflects the MPI data type constructor call that was used in creating \fIdatatype\fP. + +.SH NOTES +.ft R +These are the values that can be returned in \fIcombiner\fP and their associated calls: +.sp +.nf +Values Associated Calls + +MPI_COMBINER_NAMED a named predefined data type +MPI_COMBINER_DUP MPI_Type_dup +MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous +MPI_COMBINER_VECTOR MPI_Type_vector +MPI_COMBINER_HVECTOR MPI_Type_hvector +MPI_COMBINER_INDEXED MPI_Type_indexed +MPI_COMBINER_HINDEXED MPI_Type_hindexed +MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block +MPI_COMBINER_STRUCT MPI_Type_struct +MPI_COMBINER_SUBARRAY MPI_Type_create_subarray +MPI_COMBINER_DARRAY MPI_Type_create_darray +MPI_COMBINER_F90_REAL MPI_Type_create_f90_real +MPI_COMBINER_F90_COMPLEX MPI_Type_create_f90_complex +MPI_COMBINER_F90_INTEGER MPI_Type_create_f90_integer +MPI_COMBINER_RESIZED MPI_Type_create_resized +.fi +.sp +If \fIcombiner\fP is MPI_COMBINER_NAMED, then \fIdatatype\fP is a named predefined data type. +.sp +The actual arguments used in the creation call for a data type can be obtained from the call MPI_Type_get_contents. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Type_get_contents +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 new file mode 100644 index 00000000..457e2d50 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_extent\fP, \fBMPI_Type_get_extent_x\fP \- Returns the lower bound and extent of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_extent(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *lb\fP, + MPI_Aint *\fIextent\fP) +int MPI_Type_get_extent_x(MPI_Datatype \fIdatatype\fP, MPI_Count\fI *lb\fP, + MPI_Count *\fIextent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +lb +Lower bound of data type (integer). +.TP 1i +extent +Data type extent (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_get_extent returns the lower bound and the extent of \fIdatatype\fP. For either function, if either the \fIlb\fP or \fIextent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. + +.SH NOTE +.ft R +Use of MPI_Type_get_extent is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fILB\fP and \fIEXTENT\fP arguments only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +MPI_Type_get_extent: +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fILB\fP +or + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +MPI_Type_get_extent_x: +.sp +.nf + INTEGER*MPI_COUNT_KIND \fILB\fP +or + INTEGER*MPI_COUNT_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h +and give the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 new file mode 100644 index 00000000..84dc57aa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_get_extent.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 new file mode 100644 index 00000000..39b96cb5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_name\fP \- Gets the name of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_name(MPI_Datatype \fItype\fP, char *\fItype_name\fP, + int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +type +Data type whose name is to be returned (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type_name +The name previously stored on the data type, or an empty string if not such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_get_name returns the printable identifier associated with an MPI data type. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_set_name +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 new file mode 100644 index 00000000..da879c8f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_true_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_true_extent\fP, \fBMPI_Type_get_true_extent_x\fP \- Returns the true lower bound and extent of a data type's corresponding typemap, ignoring MPI_UB and MPI_LB markers. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_true_extent(MPI_Datatype \fIdatatype\fP, + MPI_Aint *\fItrue_lb\fP, MPI_Aint *\fItrue_extent\fP) +int MPI_Type_get_true_extent_x(MPI_Datatype \fIdatatype\fP, + MPI_Count *\fItrue_lb\fP, MPI_Count *\fItrue_extent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type for which information is wanted (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +true_lb +True lower bound of data type (integer). +.TP 1i +true_extent +True size of data type (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The \fItrue_lb\fP parameter returns the offset of the lowest unit of store that is addressed by the data type, that is, the lower bound of the corresponding typemap, ignoring MPI_LB markers. The \fItrue_extent\fP parameter returns the true size of the data type, that is, the extent of the corresponding typemap, ignoring MPI_LB and MPI_UB markers, and performing no rounding for alignment. For both functions, if either the \fItrue_lb\fP or \fItrue_extent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. +.sp +The \fItrue_extent\fP is the minimum number of bytes of memory necessary to hold a data type, uncompressed. +.sp +See § 4.1.8 of the MPI-3 standard for more detailed definitions of these parameters in relation to the typemap. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITRUE_LB\fP and \fITRUE_EXTENT\fP arguments only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +MPI_Type_get_true_extent: +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITRUE_LB\fP +or + INTEGER*MPI_ADDRESS_KIND \fITRUE_EXTENT\fP +.fi +.sp +MPI_Type_get_true_extent_x: +.sp +.nf + INTEGER*MPI_COUNT_KIND \fITRUE_LB\fP +or + INTEGER*MPI_COUNT_KIND \fITRUE_EXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h and give the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 new file mode 100644 index 00000000..c7e53864 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_get_true_extent.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 new file mode 100644 index 00000000..7d0b50ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_hindexed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_hindexed\fP \- Creates an indexed datatype with offsets in bytes -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_hindexed(int \fIcount\fP, int\fI *array_of_blocklengths\fP, + MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks -- also number of entries in array_of_displacements and +array_of_blocklengths (integer). +.TP 1i +array_of_blocklengths +Number of elements in each block (array of nonnegative integers). +.TP 1i +array_of_displacements +Byte displacement of each block (C: array of +.IR MPI_Aint , +Fortran: array of integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hindexed instead. +.sp +This deprecated routine is not available in C++. +.sp +The function is identical to MPI_Type_indexed, except that block displacements in array_of_displacements are specified in bytes, rather than in multiples of the oldtype extent. +.sp +Assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Let B be the array_of_blocklength argument and D be the +array_of_displacements argument. The newly created datatype has +.nf +n x S^count-1 + (i=0) B[i] entries: + + {(type(0), disp(0) + D[0]),...,(type(n-1), disp(n-1) + D[0]),..., + (type(0), disp(0) + (D[0] + B[0]-1)* ex),..., + type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex),..., + (type(0), disp(0) + D[count-1]),...,(type(n-1), disp(n-1) + D[count-1]),..., + (type(0), disp(0) + D[count-1] + (B[count-1] -1)* ex),..., + (type(n-1), disp(n-1) + D[count-1] + (B[count-1] -1)* ex)} +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Type_create_hindexed +.br +MPI_Type_indexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 new file mode 100644 index 00000000..4ecb900d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_hvector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_hvector\fP \- Creates a vector (strided) datatype with offset in bytes -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_hvector(int \fIcount\fP, int\fI blocklength\fP, MPI_Aint\fI stride\fP, + MPI_Datatype\fI oldtype\fP, MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of bytes between start of each block (integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hvector instead. +.sp +This deprecated routine is not available in C++. +.sp +The function MPI_Type_hvector is identical to MPI_Type_vector, except that +stride is given in bytes, rather than in elements. The use for both types +of vector constructors is illustrated in the examples in Section 3.12.7 of the MPI-1 Standard. +.sp +Assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} +.fi +.sp +with extent ex. Let bl be the blocklength. The newly created datatype has a type map with count * bl * n entries: +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ..., (type(n-1), disp(n-1) + ex), + ..., (type(0), disp(0) + (bl -1) * ex),...,(type(n-1), + disp(n-1) + (bl -1) * ex), (type(0), disp(0) + stride), + ...,(type(n-1), disp(n-1) + stride), ..., (type(0), + disp(0) + stride + (bl - 1) * ex), ..., (type(n-1), + disp(n-1) + stride + (bl -1) * ex), ..., (type(0), + disp(0) + stride * (count -1)), ...,(type(n-1), + disp(n-1) + stride * (count -1)), ..., (type(0), + disp(0) + stride * (count -1) + (bl -1) * ex), ..., + (type(n-1), disp(n-1) + stride * (count -1) + (bl -1) * ex)} + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_hvector +.br +MPI_Type_vector +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 new file mode 100644 index 00000000..5ad5636c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_indexed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_indexed, MPI_Type_create_hindexed\fP \- Creates an indexed datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_indexed(int \fIcount\fP, const int\fI array_of_blocklengths[]\fP, + const int\fI array_of_displacements[]\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +int MPI_Type_create_hindexed(int \fIcount\fP, + const int\fI array_of_blocklengths[]\fP, + const MPI_Aint\fI array_of_displacements[]\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks -- also number of entries in array_of_displacements and +array_of_blocklengths (nonnegative integer). +.TP 1i +array_of_blocklengths +Number of elements per block (array of nonnegative integers). +.TP 1i +array_of_displacements +Displacement for each block, in multiples of oldtype extent for MPI_Type_indexed and bytes for MPI_Type_create_hindexed (array of +integer for +.BR MPI_TYPE_INDEXED , +array of +.I MPI_Aint +for +.BR MPI_TYPE_CREATE_HINDEXED ). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Type_indexed allows replication of an old datatype into a sequence of blocks (each block is a concatenation of the old datatype), where each block can contain a different number of copies and have a different displacement. All block displacements are multiples of the old data type's extent. +.sp + +\fBExample:\fP Let oldtype have type map {(double, 0), (char, 8)}, with extent 16. Let B = (3, 1) and let D = (4, 0). A call to MPI_Type_indexed(2, B, D, oldtype, newtype) returns a datatype with type map +.sp +.nf + {(double, 64), (char, 72), (double, 80), (char, 88), + (double, 96), (char, 104), + (double, 0), (char, 8)} +.fi +.sp +That is, three copies of the old type starting at displacement 4 x 16 = 64, and one copy starting at displacement 0. +.sp +In general, assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Let B be the array_of_blocklength argument and D be the +array_of_displacements argument. The newly created datatype has +.br +.nf +n x S ^count-1 + i = 0 B[i] entries: + + {(type(0), disp(0) + D[0]* ex), ..., + (type(n-1), disp(n-1) + D[0]* ex), ..., + (type(0), disp(0) + (D[0] + B[0]-1)* ex), ..., + (type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex), ..., + (type(0), disp(0) + D[count-1]* ex), ..., + (type(n-1), disp(n-1) + D[count-1]* ex), ..., + (type(0), disp(0) + (D[count-1] + B[count-1] -1)* ex), ..., + (type(n-1), disp(n-1) + (D[count-1] + B[count-1] -1)* ex)} +.fi +.sp +A call to MPI_Type_vector(count, blocklength, stride, oldtype, newtype) is equivalent to a call to MPI_Type_indexed(count, B, D, oldtype, newtype) where +.sp +.nf + D[j] = j * stride, j = 0,..., count-1 + +and + + B[j] = blocklength, j = 0, .., count-1 +.fi + +The function MPI_Type_create_hindexed is identical to MPI_Type_indexed, except that block displacements in \fIarray_of_displacements\fP are specified in bytes, rather than in multiples of the \fIoldtype\fP extent. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_hindexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 new file mode 100644 index 00000000..c45a1c9f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 @@ -0,0 +1,84 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_lb 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_lb\fP \- Returns the lower bound of a data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_lb(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +displacement +Displacement of lower bound from origin, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_lb returns the lower bound of a data type. This may differ from zero if the type was constructed using MPI_LB. +.sp +The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the lower bound (or the upper bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. +.sp +In general, if +.sp +.nf + Typemap = {(type0, disp0), ..., (type(n-1), disp(n-1)} +.fi +.sp +then the lower bound of Typemap is defined to be +.nf + + (min(j) disp(j) if no entry has + lb(Typemap) = ( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +Similarly, the upper bound of Typemap is defined to be +.nf + + (max(j) disp(j) + sizeof((type(j)) + e if no entry has + ub(Typemap) = ( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise + +Then + + extent(Typemap) = ub(Typemap) - lb(Typemap) +.fi +.sp +If type(i) requires alignment to a byte address that is a multiple of k(i), +then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 new file mode 100644 index 00000000..7759c86e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_match_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME + +\fBMPI_Type_match_size\fP \- Returns an MPI datatype of a given type and size + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_match_size(int \fItypeclass\fP, int \fIsize\fP, + MPI_Datatype *\fItype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +typeclass +Generic type specifier (integer). +.ft R +.TP 1i +size +Size, in bytes, of representation (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type +Datatype with correct type and size (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function returns an MPI datatype matching a local variable of type +(\fItypeclass\fP, \fIsize\fP). The returned type is a reference +(handle) to a predefined named datatype, not a duplicate. This type +cannot be freed. +.sp +The value of \fItypeclass\fR may be set to one of MPI_TYPECLASS_REAL, +MPI_TYPECLASS_INTEGER, or MPI_TYPECLASS_COMPLEX, corresponding to the +desired datatype. +.sp +MPI_type_match_size can be used to obtain a size-specific type that +matches a Fortran numeric intrinsic type: first call MPI_Sizeof to +compute the variable size, then call MPI_Type_match_size to find a +suitable datatype. In C and C++, use the sizeof builtin instead of +MPI_Sizeof. +.sp +It is erroneous to specify a size not supported by the compiler. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Sizeof +MPI_Type_get_extent + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 new file mode 100644 index 00000000..3d6f112b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_set_attr\fP \- Sets a key value/attribute pair to a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_set_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, + void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type to which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +type_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +For the given data type, MPI_Type_set_attr sets the key value to the value of the specified attribute. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_attr +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 new file mode 100644 index 00000000..d21c71ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_set_name\fP \- Sets the name of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_set_name(MPI_Datatype \fItype\fP, const char *\fItype_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type for which the identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +type_name +The character string remembered as the name (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Type_set_name associates a printable identifier with an MPI data type. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_name +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 new file mode 100644 index 00000000..23020995 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_size\fP, \fBMPI_Type_size_x\fP \- Returns the number of bytes occupied by entries in a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_size(MPI_Datatype \fIdatatype\fP, int\fI *size\fP) +int MPI_Type_size_x(MPI_Datatype \fIdatatype\fP, MPI_Count\fI *size\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Datatype size (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_size returns the total size, in bytes, of the entries in the type signature associated with datatype; i.e., the total size of the data in a message that would be created with this datatype. Entries that occur multiple times in the datatype are counted with their multiplicity. For either function, if the \fIsize\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for the \fISIZE\fP argument of MPI_Type_size_x only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fISIZE\fP +.fi +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 new file mode 100644 index 00000000..4e33322d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_size.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 new file mode 100644 index 00000000..3da457f2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_struct 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_struct\fP \- Creates a \fIstruct\fP data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_struct(int \fIcount\fP, int\fI *array_of_blocklengths\fP, + MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI *array_of_types\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (integer) also number of entries in arrays +array_of_types, array_of_displacements, and array_of_blocklengths. +.TP 1i +array_of_blocklengths +Number of elements in each block (array). +.TP 1i +array_of_displacements +Byte displacement of each block (array). +.TP 1i +array_of_types +Type of elements in each block (array of handles to datatype objects). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_struct instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_struct is the most general type constructor. It further generalizes MPI_Type_hindexed in that it allows each block to consist of replications of different datatypes. +.sp +\fBExample:\fP Let type1 have type map +.nf + + {(double, 0), (char, 8)} + +.fi +with extent 16. Let B = (2, 1, 3), D = (0, 16, 26), and T = (MPI_FLOAT, type1, MPI_CHAR). Then a call to MPI_Type_struct(3, B, D, T, newtype) returns a datatype with type map +.nf + + {(float, 0), (float,4), (double, 16), (char, 24), + (char, 26), (char, 27), (char, 28)} + +.fi +That is, two copies of MPI_FLOAT starting at 0, followed by one copy of type1 starting at 16, followed by three copies of MPI_CHAR, starting at 26. (We assume that a float occupies 4 bytes.) +.sp +For more information, see section 3.12.1 of the MPI-1.1 Standard. + +.SH NOTES +If an upperbound is set explicitly by using the MPI datatype MPI_UB, the corresponding index must be positive. +.sp +The MPI-1 Standard originally made vague statements about padding and alignment; this was intended to allow the simple definition of structures that could be sent with a count greater than one. For example, +.nf + struct {int a; char b;} foo; +.fi +may have +.nf + sizeof(foo) = sizeof(int) + sizeof(char); +.fi +defining the extent of a datatype as including an epsilon, which would have allowed an implementation to make the extent an MPI datatype for this structure equal to 2*sizeof(int). However, since different systems might define different paddings, a clarification to the standard made epsilon zero. Thus, if you define a structure datatype and wish to send or receive multiple items, you should explicitly include an MPI_UB entry as the last member of the structure. For example, the following code can be used for the structure foo: +.nf + + blen[0] = 1; indices[0] = 0; oldtypes[0] = MPI_INT; + blen[1] = 1; indices[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR; + blen[2] = 1; indices[2] = sizeof(foo); oldtypes[2] = MPI_UB; + MPI_Type_struct( 3, blen, indices, oldtypes, &newtype ); + +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_struct +.br +MPI_Type_create_hindexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 new file mode 100644 index 00000000..4f5e3ff2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_ub 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_ub\fP \- Returns the upper bound of a datatype -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_ub(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +displacement +Displacement of upper bound from origin, in bytes (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_ub returns the upper bound of a data type. This will differ from zero if the type was constructed using MPI_UB. The upper bound will take into account any alignment considerations. +.sp +The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the upper bound (or the lower bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. +.sp +In general, if +.nf + + Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} + +.fi +then the lower bound of Typemap is defined to be +.nf + + (min(j) disp(j) if no entry has + lb(Typemap) = ( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +Similarly, the upper bound of Typemap is defined to be +.nf + + (max(j) disp(j) + sizeof(type(j) = lb} if no entry has + ub(Typemap) = ( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise + +.fi +Then +.nf + + extent(Typemap) = ub(Typemap) - lb(Typemap) + +.fi +If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 new file mode 100644 index 00000000..3e49aec7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 @@ -0,0 +1,105 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_vector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_vector\fP \- Creates a vector (strided) datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_vector(int \fIcount\fP, int\fI blocklength\fP, int\fI stride\fP, + MPI_Datatype\fI oldtype\fP, MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of elements between start of each block (integer). +.TP 1i +oldtype +Old datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Type_vector is a general constructor that allows replication of a datatype into locations that consist of equally spaced blocks. Each block is obtained by concatenating the same number of copies of the old datatype. The spacing between blocks is a multiple of the extent of the old datatype. +.sp +\fBExample 1:\fP Assume, again, that oldtype has type map {(double, 0), (char, 8)}, with extent 16. A call to MPI_Type_vector(2, 3, 4, oldtype, newtype) will create the datatype with type map +.nf + {(double, 0), (char, 8), (double, 16), (char, 24), + (double, 32), (char, 40), + (double, 64), (char, 72), + (double, 80), (char, 88), (double, 96), (char, 104)} +.fi +.sp +That is, two blocks with three copies each of the old type, with a stride of 4 elements (4 x 6 bytes) between the blocks. +.sp +\fBExample 2:\fP A call to MPI_Type_vector(3, 1, -2, oldtype, newtype) will create the datatype +.nf + + {(double, 0), (char, 8), (double, -32), (char, -24), + (double, -64), (char, -56)} + +.fi +In general, assume that oldtype has type map +.nf + + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, + +.fi +with extent ex. Let bl be the blocklength. The newly created datatype has a type map with count x bl x n entries: +.nf + + {(type(0), disp(0)), ..., (type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ..., (type(n-1), disp(n-1) + ex), ..., + (type(0), disp(0) + (bl -1) * ex),..., + (type(n-1), disp(n-1) + (bl -1)* ex), + (type(0), disp(0) + stride * ex),..., (type(n-1), + disp(n-1) + stride * ex), ..., + (type(0), disp(0) + (stride + bl - 1) * ex), ..., + (type(n-1), disp(n-1) + (stride + bl -1) * ex), ..., + (type(0), disp(0) + stride * (count -1) * ex), ..., + (type(n-1), disp(n-1) + stride * (count -1) * ex), ..., + (type(0), disp(0) + (stride * (count -1) + bl -1) * ex), ..., + (type(n-1), disp(n-1) + (stride * (count -1) + bl -1) * ex)} + +.fi +A call to MPI_Type_contiguous(count, oldtype, newtype) is equivalent to a call to MPI_Type_vector(count, 1, 1, oldtype, newtype), or to a call to MPI_Type_vector(1, count, n, oldtype, newtype), n arbitrary. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_hvector +.br +MPI_Type_hvector +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 new file mode 100644 index 00000000..e8e3fe95 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpack 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Unpack\fP \- Unpacks a datatype into contiguous memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Unpack(const void *\fIinbuf\fP, int\fI insize\fP, int\fI *position\fP, + void\fI *outbuf\fP, int\fI outcount\fP, MPI_Datatype\fI datatype\fP, + MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +insize +Size of input buffer, in bytes (integer). +.TP 1i +outcount +Number of items to be unpacked (integer). +.TP 1i +datatype +Datatype of each output data item (handle). +.TP 1i +comm +Communicator for packed message (handle). +.sp +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Unpacks a message into the receive buffer specified by outbuf, outcount, datatype from the buffer space specified by inbuf and insize. The output buffer can be any communication buffer allowed in MPI_Recv. The input buffer is a contiguous storage area containing insize bytes, starting at address inbuf. The input value of position is the first location in the input buffer occupied by the packed message. \fIposition\fP is incremented by the size of the packed message, so that the output value of position is the first location in the input buffer after the locations occupied by the message that was unpacked. \fIcomm\fP is the communicator used to receive the packed message. + +.SH NOTES +Note the difference between MPI_Recv and MPI_Unpack: In MPI_Recv, the \fIcount\fP argument specifies the maximum number of items that can be received. The actual number of items received is determined by the length of the incoming message. In MPI_Unpack, the count argument specifies the actual number of items that are to be unpacked; the "size" of the corresponding message is the increment in position. The reason for this change is that the "incoming message size" is not predetermined since the user decides how much to unpack; nor is it easy to determine the "message size" from the number of items to be unpacked. +.sp +To understand the behavior of pack and unpack, it is convenient to think of the data part of a message as being the sequence obtained by concatenating the successive values sent in that message. The pack operation stores this sequence in the buffer space, as if sending the message to that buffer. The unpack operation retrieves this sequence from buffer space, as if receiving a message from that buffer. (It is helpful to think of internal Fortran files or sscanf in C for a similar function.) +.sp +Several messages can be successively packed into one packing unit. This is effected by several successive related calls to MPI_Pack, where the first call provides position = 0, and each successive call inputs the value of position that was output by the previous call, and the same values for outbuf, outcount, and comm. This packing unit now contains the equivalent information that would have been stored in a message by one send call with a send buffer that is the "concatenation" of the individual send buffers. +.sp +A packing unit can be sent using type MPI_Packed. Any point-to-point or collective communication function can be used to move the sequence of bytes that forms the packing unit from one process to another. This packing unit can now be received using any receive operation, with any datatype: The type-matching rules are relaxed for messages sent with type MPI_Packed. +.sp +A message sent with any type (including MPI_Packed) can be received using the type MPI_Packed. Such a message can then be unpacked by calls to MPI_Unpack. +.sp +A packing unit (or a message created by a regular, "typed" send) can be unpacked into several successive messages. This is effected by several successive related calls to MPI_Unpack, where the first call provides position = 0, and each successive call inputs the value of position that was output by the previous call, and the same values for inbuf, insize, and comm. +.sp +The concatenation of two packing units is not necessarily a packing unit; nor is a substring of a packing unit necessarily a packing unit. Thus, one cannot concatenate two packing units and then unpack the result as one packing unit; nor can one unpack a substring of a packing unit as a separate packing unit. Each packing unit that was created by a related sequence of pack calls or by a regular send must be unpacked as a unit, by a sequence of related unpack calls. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Pack +.br +MPI_Pack_size + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 new file mode 100644 index 00000000..c2ee6fb5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpack_external 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Unpack_external\fP \- Reads data from a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Unpack_external(const char \fIdatarep\fP[], const void *\fIinbuf\fP, + MPI_Aint \fIinsize\fP, MPI_Aint *\fIposition\fP, + void *\fIoutbuf\fP, int \fIoutcount\fP, + MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data Representation (string). +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +insize +Size of input buffer, in bytes (integer). +.TP 1i +outcount +Number of items to be unpacked (integer). +.TP 1i +datatype +Datatype of each output data item (handle). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Unpack_external unpacks data from the external32 format, a +universal data representation defined by the MPI Forum. This format is +useful for exchanging data between MPI implementations, or when +writing data to a file. +.sp +The input buffer is a contiguous storage area pointed to by +\fIinbuf\fP containing \fIinsize\fP bytes. The output buffer can be +any communication buffer allowed in MPI_Recv, and is specified by +\fIoutbuf\fP, \fIoutcount\fP, and \fIdatatype\fP. +.sp +The input value of \fIposition\fP is the first position in \fIinbuf\fP +to be read for unpacking (measured in bytes, not elements, relative to +the start of the buffer). When the function returns, \fIposition\fP is +incremented by the size of the packed message, so that it points to +the first location in \fIinbuf\fP following the message that was +unpacked. This way it may be used as input to a subsequent call to +MPI_Unpack_external. + +.SH NOTES +.ft R +Note the difference between MPI_Recv and MPI_Unpack_external: In +MPI_Recv, the \fIcount\fP argument specifies the maximum number of +items that can be received. In MPI_Unpack_external, the \fIoutcount\fP +argument specifies the actual number of items that are to be +unpacked. With a regular receive operation, the incoming message size +determines the number of components that will be received. With +MPI_Unpack_external, it is up to the user to specify how many +components to unpack, since the user may wish to unpack the received +message multiple times into various buffers. +.sp +To understand the behavior of pack and unpack, it is convenient to +think of the data part of a message as being the sequence obtained by +concatenating the successive values sent in that message. The pack +operation stores this sequence in the buffer space, as if sending the +message to that buffer. The unpack operation retrieves this sequence +from buffer space, as if receiving a message from that buffer. (It is +helpful to think of internal Fortran files or sscanf in C for a +similar function.) +.sp +Several messages can be successively packed into one packing +unit. This is effected by several successive related calls to +MPI_Pack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of \fIposition\fP that was +output by the previous call, along with the same values for +\fIoutbuf\fP and \fIoutcount\fP. This packing unit now contains the +equivalent information that would have been stored in a message by one +send call with a send buffer that is the "concatenation" of the +individual send buffers. +.sp +A packing unit can be sent using type MPI_BYTE. Any point-to-point +or collective communication function can be used to move the sequence +of bytes that forms the packing unit from one process to another. This +packing unit can now be received using any receive operation, with any +datatype: The type-matching rules are relaxed for messages sent with +type MPI_BYTE. +.sp +A packing unit can be unpacked into several successive messages. This +is effected by several successive related calls to +MPI_Unpack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of position that was output +by the previous call, and the same values for \fIinbuf\fP and +\fIinsize\fP. +.sp +The concatenation of two packing units is not necessarily a packing +unit; nor is a substring of a packing unit necessarily a packing +unit. Thus, one cannot concatenate two packing units and then unpack +the result as one packing unit; nor can one unpack a substring of a +packing unit as a separate packing unit. Each packing unit that was +created by a related sequence of pack calls must be unpacked as a unit +by a sequence of related unpack calls. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Pack_external_size +MPI_Recv +sscanf(3C) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 new file mode 100644 index 00000000..ccb1625e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 @@ -0,0 +1,115 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpublish_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Unpublish_name\fP \- Unpublishes a service name + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Unpublish_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). +.ft R +.TP 1.4i +port_name +A port name (string). + +.SH OUTPUT PARAMETER +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine removes the pair (\fIservice_name, port_name\fP) so that +applications may no longer retrieve \fIport_name\fP by calling +MPI_Lookup_name. It is an error to unpublish a \fIservice_name\fP +that was not published via MPI_Publish_name. Both the \fIservice_name\fP +and \fIport_name\fP arguments to MPI_Unpublish_name must be identical +to the arguments to the previous call to MPI_Publish_name. + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_global_scope bool If set to true, unpublish the name from + the global scope. Unpublish from the local + scope otherwise. See the NAME SCOPE + section for more details. + +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. +.PP +If no info key is provided, the function will first check to see if a +global server has been specified and is available. If so, then the +unpublish function will default to global scope first, followed by local. Otherwise, +the data will default to unpublish with local scope. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope +values are placed in a data store located on the mpirun of the calling +process' job, while global scope values reside on a central server. Calls +to MPI_Unpublish_name must correctly specify the scope to be used in +finding the value to be removed. The function will return an error if +the specified service name is not found on the indicated location. +.sp +For a more detailed description of scoping rules, please see the MPI_Publish_name +man page. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Publish_name +MPI_Lookup_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 new file mode 100644 index 00000000..9363fe85 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Wait 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wait\fP \- Waits for an MPI send or receive to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Wait(MPI_Request *\fIrequest\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Request (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Wait returns when the operation identified by request is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the object is deallocated by the call to MPI_Wait and the request handle is set to MPI_REQUEST_NULL. +.sp +The call returns, in status, information on the completed operation. The content of the status object for a receive operation can be accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status." The status object for a send operation may be queried by a call to MPI_Test_cancelled (see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +One is allowed to call MPI_Wait with a null or inactive request argument. In this case the operation returns immediately with empty status. + +.SH NOTES +Successful return of MPI_Wait after an MPI_Ibsend implies that the user send buffer can be reused i.e., data has been sent out or copied into a buffer attached with MPI_Buffer_attach. Note that, at this point, we can no longer cancel the send (for more information, see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). If a matching receive is never posted, then the buffer cannot be freed. This runs somewhat counter to the stated goal of MPI_Cancel (always being able to free program space that was committed to the communication subsystem). +.sp +Example: Simple usage of nonblocking operations and MPI_Wait. +.sp +.nf + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank.EQ.0) THEN + CALL MPI_ISEND(a(1), 10, MPI_REAL, 1, tag, comm, request, ierr) + **** do some computation **** + CALL MPI_WAIT(request, status, ierr) + ELSE + CALL MPI_IRECV(a(1), 15, MPI_REAL, 0, tag, comm, request, ierr) + **** do some computation **** + CALL MPI_WAIT(request, status, ierr) + END IF + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_WAIT do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler +and may be passed back to the caller through the return value of +MPI_WAIT if the back-end error handler returns it. The +pre-defined MPI error handler MPI_ERRORS_RETURN exhibits this +behavior, for example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 new file mode 100644 index 00000000..70f431ac --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Waitall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitall\fP \- Waits for all given communications to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + MPI_Status \fI*array_of_statuses\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Lists length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +array_of_statuses +Array of status objects (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Blocks until all communication operations associated with active handles in the list complete, and returns the status of all these operations (this includes the case where no handle in the list is active). Both arrays have the same number of valid entries. The ith entry in array_of_statuses is set to the return status of the ith operation. Requests that were created by nonblocking communication operations are deallocated, and the corresponding handles in the array are set to MPI_REQUEST_NULL. The list may contain null or inactive handles. The call sets to empty the status of each such entry. +.sp +The error-free execution of MPI_Waitall(count, array_of_requests, array_of_statuses) has the same effect as the execution of MPI_Wait(&array_of_request[i], &array_of_statuses[i]), for i=0,...,count-1, in some arbitrary order. MPI_Waitall with an array of length 1 is equivalent to MPI_Wait. +.sp +When one or more of the communications completed by a call to MPI_Waitall fail, it is desirable to return specific information on each communication. The function MPI_Waitall will return in such case the error code MPI_ERR_IN_STATUS and will set the error field of each status to a specific error code. This code will be MPI_SUCCESS if the specific communication completed; it will be another specific error code if it failed; or it can be MPI_ERR_PENDING if it has neither failed nor completed. The function MPI_Waitall will return MPI_SUCCESS if no request had an error, or will return another error code if it failed for other reasons (such as invalid arguments). In such cases, it will not update the error fields of the statuses. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. + +.SH ERRORS +For each invocation of MPI_Waitall, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Waitall to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 new file mode 100644 index 00000000..6d048ca7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 @@ -0,0 +1,121 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Waitany 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitany\fP \- Waits for any specified send or receive to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitany(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int \fI*index\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +List length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Index of handle for operation that completed (integer). In the range 0 to +count-1. In Fortran, the range is 1 to count. +.TP 1i +status +Status object (status). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Waitany can be used to wait for the completion of one out of several requests. +.sp +The array_of_requests list may contain null or inactive handles. If the list contains no active handles (list has length zero or all entries are null or inactive), then the call returns immediately with index = MPI_UNDEFINED, and an empty status. +.sp +The execution of MPI_Waitany(count, array_of_requests, index, status) has the same effect as the execution of MPI_Wait(&array_of_requests[i], status), where i is the value returned by index (unless the value of index is MPI_UNDEFINED). MPI_Waitany with an array containing one active entry is equivalent to MPI_Wait. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +\fBExample:\fR Client-server code (starvation can occur). +.sp +.nf + CALL MPI_COMM_SIZE(comm, size, ierr) + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank .GT 0) THEN ! client code + DO WHILE(.TRUE.) + CALL MPI_ISEND(a, n, MPI_REAL, 0, tag, comm, request, ierr) + CALL MPI_WAIT(request, status, ierr) + END DO + ELSE ! rank=0 -- server code + DO i=1, size-1 + CALL MPI_IRECV(a(1,i), n, MPI_REAL, i tag, + comm, request_list(i), ierr) + END DO + DO WHILE(.TRUE.) + CALL MPI_WAITANY(size-1, request_list, index, status, ierr) + CALL DO_SERVICE(a(1,index)) ! handle one message + CALL MPI_IRECV(a(1, index), n, MPI_REAL, index, tag, + comm, request_list(index), ierr) + END DO + END IF +.fi +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_WAITANY do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler and +may be passed back to the caller through the return value of +MPI_WAITANY if the back-end error handler returns it. The pre-defined +MPI error handler MPI_ERRORS_RETURN exhibits this behavior, for +example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 new file mode 100644 index 00000000..74b90429 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 @@ -0,0 +1,134 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Waitsome 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitsome\fP \- Waits for some given communications to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitsome(int \fIincount\fP, MPI_Request \fIarray_of_requests[]\fP, + int\fI *outcount\fP, int\fI array_of_indices[]\fP, + MPI_Status \fIarray_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Length of array_of_requests (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outcount +Number of completed requests (integer). +.TP 1i +array_of_indices +Array of indices of operations that completed (array of integers). +.TP 1i +array_of_statuses +Array of status objects for operations that completed (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Waits until at least one of the operations associated with active handles in the list have completed. Returns in outcount the number of requests from the list array_of_requests that have completed. Returns in the first outcount locations of the array array_of_indices the indices of these operations (index within the array array_of_requests; the array is indexed from 0 in C and from 1 in Fortran). Returns in the first outcount locations of the array array_of_status the status for these completed operations. If a request that completed was allocated by a nonblocking communication call, then it is deallocated, and the associated handle is set to MPI_REQUEST_NULL. +.sp +If the list contains no active handles, then the call returns immediately with outcount = MPI_UNDEFINED. +.sp +When one or more of the communications completed by MPI_Waitsome fails, then it is desirable to return specific information on each communication. The arguments outcount, array_of_indices, and array_of_statuses will be adjusted to indicate completion of all communications that have succeeded or failed. The call will return the error code MPI_ERR_IN_STATUS and the error field of each status returned will be set to indicate success or to indicate the specific error that occurred. The call will return MPI_SUCCESS if no request resulted in an error, and will return another error code if it failed for other reasons (such as invalid arguments). In such cases, it will not update the error fields of the statuses. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. +.sp +\fBExample:\fR Same code as the example in the MPI_Waitany man page, but using MPI_Waitsome. +.sp +.nf + CALL MPI_COMM_SIZE(comm, size, ierr) + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank .GT. 0) THEN ! client code + DO WHILE(.TRUE.) + CALL MPI_ISEND(a, n, MPI_REAL, 0, tag, comm, request, ierr) + CALL MPI_WAIT(request, status, ierr) + END DO + ELSE ! rank=0 -- server code + DO i=1, size-1 + CALL MPI_IRECV(a(1,i), n, MPI_REAL, i, tag, + comm, requests(i), ierr) + END DO + DO WHILE(.TRUE.) + CALL MPI_WAITSOME(size, request_list, numdone, + indices, statuses, ierr) + DO i=1, numdone + CALL DO_SERVICE(a(1, indices(i))) + CALL MPI_IRECV(a(1, indices(i)), n, MPI_REAL, 0, tag, + comm, requests(indices(i)), ierr) + END DO + END DO + END IF +.fi +.sp +.SH NOTES +.ft R +The array of indices are in the range 0 to incount-1 for C and in the range 1 to incount for Fortran. + +.SH ERRORS +For each invocation of MPI_Waitsome, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Waitsome to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 new file mode 100644 index 00000000..7e01d047 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_allocate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_allocate\fP \- One-sided MPI call that allocates memory and +returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_allocate (MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, MPI_Info \fIinfo\fP, + MPI_Comm \fIcomm\fP, void *\fIbaseptr\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Initial address of window. +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_allocate\fP is a collective call executed by all processes +in the group of \fIcomm\fP. On each process, it allocates memory of at +least \fIsize\fP bytes, returns a pointer to it, and returns a window +object that can be used by all processes in \fIcomm\fP to perform RMA +operations. The returned memory consists of \fIsize\fP bytes local to +each process, starting at address \fIbaseptr\fP and is associated with +the window as if the user called \fBMPI_Win_create\fP on existing +memory. The \fIsize\fP argument may be different at each process and +\fIsize\fP = 0 is valid; however, a library might allocate and expose +more memory in order to create a fast, globally symmetric +allocation. The discussion of and rationales for \fBMPI_Alloc_mem\fP and +\fBMPI_Free_mem\fP in MPI-3.1 \[char167] 8.2 also apply to +\fBMPI_Win_allocate\fP; in particular, see the rationale in MPI-3.1 +\[char167] 8.2 for an explanation of the type used for \fIbaseptr\fP. +.sp +The displacement unit argument is provided to facilitate address +arithmetic in RMA operations: the target displacement argument of an +RMA operation is scaled by the factor \fIdisp_unit\fP specified by the +target process, at window creation. +.sp +For supported info keys see \fBMPI_Win_create\fI. +.sp + +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C +syntax) \fIsizeof(type)\fP, for a window that consists of an array of +elements of type \fItype\fP. The later choice will allow one to use +array indices in RMA calls, and have those scaled correctly to byte +displacements, even in a heterogeneous environment. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_create +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 new file mode 100644 index 00000000..50c08bd8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 @@ -0,0 +1,123 @@ +.\" -*- nroff -*- +.\" Copyright 2015-2016 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_allocate_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_allocate_shared\fP \- One-sided MPI call that allocates +shared memory and returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_allocate_shared (MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, MPI_Info \fIinfo\fP, + MPI_Comm \fIcomm\fP, void *\fIbaseptr\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Initial address of window. +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_allocate_shared\fP is a collective call executed by all +processes in the group of \fIcomm\fP. On each process, it allocates +memory of at least \fIsize\fP bytes that is shared among all processes +in \fIcomm\fP, and returns a pointer to the locally allocated segment +in \fIbaseptr\fP that can be used for load/store accesses on the +calling process. The locally allocated memory can be the target of +load/store accesses by remote processes; the base pointers for other +processes can be queried using the function +\fBMPI_Win_shared_query\fP. The call also returns a window object that +can be used by all processes in \fIcomm\fP to perform RMA +operations. The \fIsize\fP argument may be different at each process +and \fIsize\fP = 0 is valid. It is the user's responsibility to ensure +that the communicator \fIcomm\fP represents a group of processes that +can create a shared memory segment that can be accessed by all +processes in the group. The discussions of rationales for +\fBMPI_Alloc_mem\fP and \fBMPI_Free_mem\fP in MPI-3.1 \[char167] 8.2 +also apply to \fBMPI_Win_allocate_shared\fP; in particular, see the +rationale in MPI-3.1 \[char167] 8.2 for an explanation of the type +used for \fIbaseptr\fP. The allocated memory is contiguous across +process ranks unless the info key \fIalloc_shared_noncontig\fP is +specified. Contiguous across process ranks means that the first +address in the memory segment of process i is consecutive with the +last address in the memory segment of process i - 1. This may enable +the user to calculate remote address offsets with local information +only. +.sp +The following info keys are supported: +.ft R +.TP 1i +alloc_shared_noncontig +If not set to \fItrue\fP, the allocation strategy is to allocate +contiguous memory across process ranks. This may limit the performance +on some architectures because it does not allow the implementation to +modify the data layout (e.g., padding to reduce access latency). +.sp +.TP 1i +blocking_fence +If set to \fItrue\fP, the osc/sm component will use \fBMPI_Barrier\fP +for \fBMPI_Win_fence\fP. If set to \fIfalse\fP a condition variable +and counter will be used instead. The default value is +\fIfalse\fP. This info key is Open MPI specific. +.sp +.TP 1i +For additional supported info keys see \fBMPI_Win_create\fP. +.sp + +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C +syntax) \fIsizeof(type)\fP, for a window that consists of an array of +elements of type \fItype\fP. The later choice will allow one to use +array indices in RMA calls, and have those scaled correctly to byte +displacements, even in a heterogeneous environment. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_allocate +MPI_Win_create +MPI_Win_shared_query diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 new file mode 100644 index 00000000..f2596b36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015-2019 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2019 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_attach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_attach, MPI_Win_detach\fP \- One-sided MPI call that attach / detach a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_attach(MPI_Win \fIwin\fP, void *\fIbase\fP, MPI_Aint \fIsize\fP) + +MPI_Win_detach(MPI_Win \fIwin\fP, void *\fIbase\fP) +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +A window that was created with +.I MPI_Win_create_dynamic + +.TP 1i +base +Initial address of window (choice). +.TP 1i +size +Size of window in bytes (nonnegative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_attach is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object that can be used by these processes to perform RMA operations. Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of \fIcomm\fP. The window consists of \fIsize\fP bytes, starting at address \fIbase\fP. A process may elect to expose no memory by specifying \fIsize\fP = 0. +.sp +If the \fIbase\fP value used by MPI_Win_attach was allocated by MPI_Alloc_mem, the size of the window can be no larger than the value set by the MPI_ALLOC_MEM function. +.sp + +.SH NOTES +Use memory allocated by MPI_Alloc_mem to guarantee properly aligned window boundaries (such as word, double-word, cache line, page frame, and so on). +.sp + + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 new file mode 100644 index 00000000..12776238 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Win_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a window + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Win_call_errhandler(MPI_Win \fIwin\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +win +Window with error handler (handle). +.ft R +.TP 1.4i +errorcode +MPI error code (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the window +\fIwin\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. + +.SH NOTES +.ft R +Users should note that the default error handler is +MPI_ERRORS_ARE_FATAL. Thus, calling this function will abort the +window processes if the default error handler has not been changed for +this window. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Win_create_errhandler +MPI_Win_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 new file mode 100644 index 00000000..e1bdcdb9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_complete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_complete\fP \- Completes an RMA access epoch on \fIwin\fP started by a call to MPI_Win_start + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_complete(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_complete is a one-sided MPI communication synchronization call, completing an RMA access epoch on \fIwin\fP started by a call to MPI_Win_start. MPI_Win_complete enforces the completion of preceding RMA calls at the origin and not at the target. A put or accumulate call may not have completed at the target when it has completed at the origin. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_start +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 new file mode 100644 index 00000000..dd88bf08 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 @@ -0,0 +1,129 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create\fP \- One-sided MPI call that returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_create(void *\fIbase\fP, MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, + MPI_Info \fIinfo\fP, MPI_Comm \fIcomm\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +base +Initial address of window (choice). +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object that can be used by these processes to perform RMA operations. Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of \fIcomm\fP. The window consists of \fIsize\fP bytes, starting at address \fIbase\fP. A process may elect to expose no memory by specifying \fIsize\fP = 0. +.sp +If the \fIbase\fP value used by MPI_Win_create was allocated by MPI_Alloc_mem, the size of the window can be no larger than the value set by the MPI_ALLOC_MEM function. +.sp +The displacement unit argument is provided to facilitate address arithmetic in RMA operations: the target displacement argument of an RMA operation is scaled by the factor \fIdisp_unit\fP specified by the target process, at window creation. +.sp +The following info keys are supported: +.ft R +.TP 1i +no_locks +If set to \fItrue\fP, then the implementation may assume that the local +window is never locked (by a call to MPI_Win_lock or +MPI_Win_lock_all). Setting this value if only active synchronization +may allow the implementation to enable certain optimizations. +.sp +.TP 1i +accumulate_ordering +By default, accumulate operations from one initiator to one target on +the same window are strictly ordered. If the info key +accumulate_ordering is set to \fInone\fP, no ordering of accumulate +operations guaranteed. They key can also be a comma-separated list of +required orderings consisting of \fIrar\fP, \fIwar\fP, \fIraw\fP, and \fIwaw\fP for +read-after-read, write-after-read, read-after-write, and +write-after-write, respectively. Looser ordering constraints are +likely to result in improved performance. +.sp +.TP 1i +accumulate_ops +If set to \fIsame_op\fP, the implementation will assume that all concurrent +accumulate calls to the same target address will use the same +operation. If set to \fIsame_op_no_op\fP, then the implementation will +assume that all concurrent accumulate calls to the same target address +will use the same operation or MPI_NO_OP. The default is \fIsame_op_no_op\fP. +.sp +.TP 1i +same_size +If set to \fItrue\fP, then the implementation may assume that the argument +\fIsize\fP is identical on all processes, and that all processes have +provided this info key with the same value. +.sp +.TP 1i +same_disp_unit +If set to \fItrue\fP, then the implementation may assume that the argument +\fIdisp_unit\fP is identical on all processes, and that all processes have +provided this info key with the same value. +.sp +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C syntax) \fIsizeof(type)\fP, for a window that consists of an array of elements of type \fItype\fP. The later choice will allow one to use array indices in RMA calls, and have those scaled correctly to byte displacements, even in a heterogeneous environment. +.sp +Use memory allocated by MPI_Alloc_mem to guarantee properly aligned window boundaries (such as word, double-word, cache line, page frame, and so on). +.sp + + + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fISIZE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_allocate +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 new file mode 100644 index 00000000..784f8469 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_create_dynamic 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_dynamic\fP \- One-sided MPI call that returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_create_dynamic(MPI_Info \fIinfo\fP, MPI_Comm \fIcomm\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create_dynamic is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object without memory attached that can be used by these processes to perform RMA operations. +.sp +The following info keys are supported: +.ft R +.TP 1i +no_locks +If set to \fItrue\fP, then the implementation may assume that the local +window is never locked (by a call to MPI_Win_lock or +MPI_Win_lock_all). Setting this value if only active synchronization +may allow the implementation to enable certain optimizations. +.sp +.TP 1i +accumulate_ordering +By default, accumulate operations from one initiator to one target on +the same window are strictly ordered. If the info key +accumulate_ordering is set to \fInone\fP, no ordering of accumulate +operations guaranteed. They key can also be a comma-separated list of +required orderings consisting of \fIrar\fP, \fIwar\fP, \fIraw\fP, and \fIwaw\fP for +read-after-read, write-after-read, read-after-write, and +write-after-write, respectively. Looser ordering constraints are +likely to result in improved performance. +.sp +.TP 1i +accumulate_ops +If set to \fIsame_op\fP, the implementation will assume that all concurrent +accumulate calls to the same target address will use the same +operation. If set to \fIsame_op_no_op\fP, then the implementation will +assume that all concurrent accumulate calls to the same target address +will use the same operation or MPI_NO_OP. The default is \fIsame_op_no_op\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 new file mode 100644 index 00000000..91e8f76a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 @@ -0,0 +1,70 @@ +.\" -*- nroff -*- +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_errhandler\fP \- Creates an error handler for a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_create_errhandler(MPI_Win_errhandler_function *\fIfunction\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_Win_errhandler_fn and +MPI::Win::Errhandler_fn types in favor of +MPI_Win_errhandler_function and MPI::Win::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error-handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create_errhandler should be, in C, a function of type MPI_Win_errhandler_function, which is defined as +.sp +.nf +typedef void MPI_Win_errhandler_function(MPI Win *, int *, ...); +.fi +.sp +The first argument is the window in use, the second is the error code to be returned. +.sp +In Fortran, the user routine should be of the form: +.sp +.nf +SUBROUTINE WIN_ERRHANDLER_FUNCTION(WIN, ERROR_CODE, ...) + INTEGER WIN, ERROR_CODE +.fi +.sp +In C++, the user routine should be of the form: +.sp +.nf +typedef void MPI::Win::errhandler_function(MPI::Win &, int *, ...); +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 new file mode 100644 index 00000000..b9b8b1a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 @@ -0,0 +1,114 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_keyval\fP \- Creates a keyval for a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_create_keyval(MPI_Win_copy_attr_function *\fIwin_copy_attr_fn\fP, + MPI_Win_delete_attr_function *\fIwin_delete_attr_fn\fP, + int *\fIwin_keyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win_copy_attr_fn +Copy callback function for \fIwin_keyval\fP (function). +.TP 1i +win_delete_attr_fn +Delete callback function for \fIwin_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The argument \fIwin_copy_attr_fn\fP may be specified as MPI_WIN_NULL_COPY_FN or MPI_WIN_DUP_FN from either C, C++, or Fortran. MPI_WIN_NULL_COPY_FN is a function that serves only to return \fIflag\fP = 0 and MPI_SUCCESS. MPI_WIN_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +.sp +The argument \fIwin_delete_attr_fn\fP may be specified as MPI_WIN_NULL_DELETE_FN from either C, C++, or Fortran. MPI_WIN_NULL_DELETE_FN is a function that serves only to return MPI_SUCCESS. +.sp +The C callback functions are: +.sp +.nf +typedef int MPI_Win_copy_attr_function(MPI_Win \fIoldwin\fP, int \fIwin_keyval\fP, + void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +.sp +and +.sp +.nf +typedef int MPI_Win_delete_attr_function(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE WIN_COPY_ATTR_FN(\fIOLDWIN, WIN_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDWIN, WIN_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +.sp +and +.sp +.nf +SUBROUTINE WIN_DELETE_ATTR_FN(\fIWIN, WIN_KEYVAL, ATTRIBUTE_VAL, + EXTRA_STATE, IERROR\fP) + INTEGER \fIWIN, WIN_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Win::Copy_attr_function(const MPI::Win& \fIoldwin\fP, + int \fIwin_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, + void* \fIattribute_val_out\fP, bool& \fIflag\fP); +.fi +.sp +and +.sp +.nf +typedef int MPI::Win::Delete_attr_function(MPI::Win& \fIwin\fP, int \fIwin_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 new file mode 100644 index 00000000..411a0bc0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_delete_attr\fP \- Deletes an attribute from a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_delete_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window from which the attribute is deleted (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 new file mode 100644 index 00000000..42a7c2b2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_attach.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 new file mode 100644 index 00000000..47d103d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_fence 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_fence\fP \- Synchronizes RMA calls on a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_fence(int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_fence synchronizes RMA calls on \fIwin\fP. The call is collective on the group of \fIwin\fP. All RMA operations on \fIwin\fP originating at a given process and started before the fence call will complete at that process before the fence call returns. They will be completed at their target before the fence call returns at the target. RMA operations on \fIwin\fP started by a process after the fence call returns will access their target window only after MPI_Win_fence has been called by the target process. +.sp +The call completes an RMA access epoch if it was preceded by another fence call and the local process issued RMA communication calls on \fIwin\fP between these two calls. The call completes an RMA exposure epoch if it was preceded by another fence call and the local window was the target of RMA accesses between these two calls. The call starts an RMA access epoch if it is followed by another fence call and by RMA communication calls issued between these two fence calls. The call starts an exposure epoch if it is followed by another fence call and the local window is the target of RMA accesses between these two fence calls. Thus, the fence call is equivalent to calls to a subset of \fIpost, start, complete, wait\fP. +.sp +A fence call usually entails a barrier synchronization: a process completes a call to MPI_Win_fence only after all other processes in the group have entered their matching call. However, a call to MPI_Win_fence that is known not to end any epoch (in particular, a call with \fIassert\fP = MPI_MODE_NOPRECEDE) does not necessarily act as a barrier. + +.SH NOTE +Calls to MPI_Win_fence should both precede and follow calls to put, get or accumulate that are synchronized with fence calls. +.sp + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_create +MPI_Win_start +MPI_Win_post +MPI_Win_complete +MPI_Win_wait +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 new file mode 100644 index 00000000..c1a26b5f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_flush 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_flush\fP, \fBMPI_Win_flush_all\fP \- Complete all outstanding RMA operations at both the origin and the target + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_flush (int \fIrank\fP, MPI_Win \fIwin\fP) + +int MPI_Win_flush_all (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_flush\fP completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window. The operations are completed both at the origin and at the target. \fBMPI_Win_flush_all\fP completes all outstanding RMA operations to all targets. +.sp +Can only be called from within a passive target epoch. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_flush_local +MPI_Win_lock +MPI_Win_lock_all +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 new file mode 100644 index 00000000..b30e345a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_flush.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 new file mode 100644 index 00000000..6b7cd79a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_flush_local 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_flush_local\fP, \fBMPI_Win_flush_local_all\fP \- Complete all outstanding RMA operations at both the origin + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_flush_local (int \fIrank\fP, MPI_Win \fIwin\fP) + +int MPI_Win_flush_local_all (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_flush_local\fP locally completes at the origin all outstanding RMA operations initiated by the calling process to the target process specified by rank on the specified window. For example, after this routine completes, the user may reuse any buffers provided to put, get, or accumulate operations. \fBMPI_Win_flush_local_all\fP locally completes at the origin all outstanding RMA operations to all targets. +.sp +Can only be called from within a passive target epoch. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_flush +MPI_Win_lock +MPI_Win_lock_all +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 new file mode 100644 index 00000000..6b740a2b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_flush_local.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 new file mode 100644 index 00000000..ccee6a5e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_free\fP \- Frees the window object and returns a null handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_free(MPI_Win *\fIwin\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_free frees the window object \fIwin\fP and returns a null handle (equal to MPI_WIN_NULL). This collective call is executed by all processes in the group associated with \fIwin\fP. It can be invoked by a process only after it has completed its involvement in RMA communications on window \fIwin\fP, that is, the process has called MPI_Win_fence, or called MPI_Win_unlock to match a previous call to MPI_Win_lock. When the call returns, the window memory can be freed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_create +MPI_Win_fence +MPI_Win_unlock +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 new file mode 100644 index 00000000..f70c752c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 @@ -0,0 +1,35 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_free_keyval\fP \- Frees a window keyval. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_free_keyval(int *\fIwin_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 new file mode 100644 index 00000000..b91cfb65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_attr\fP \- Obtains the value of a window attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, + void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window to which the attribute is attached (handle). +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless \fIag\fP = false +.TP 1i +flag +False if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Obtains the value of a window attribute. +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 new file mode 100644 index 00000000..1f715f19 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_errhandler\fP \- Retrieves the error handler currently associated with a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_errhandler(MPI_Win \fIwin\fP, MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +Error handler currently associated with window (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_get_errhandler retrieves the error handler currently associated with a window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 new file mode 100644 index 00000000..f9215f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_group\fP \- Returns a duplicate of the group of the communicator used to create the window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_get_group(MPI_Win \fIwin\fP, MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Group of processes that share access to the window (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_get_group returns a duplicate of the group of the communicator used to create the window associated with \fIwin\fP. The group is returned in \fIgroup\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 new file mode 100644 index 00000000..dd7681ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_info\fP \- Retrieves active window info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_info(MPI_Win \fIwin\fP, MPI_Info \fI*info_used\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window from which to receive active info hints +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object returned with all active hints on this window. +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_Win_get_info returns a new info object containing the hints of +the window associated with +.IR win . +The current setting of all hints actually used by the system related +to this window is returned in +.IR info_used . +If no such hints exist, a handle to a newly created info object is +returned that contains no key/value pair. The user is responsible for +freeing info_used via MPI_Info_free. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Win_set_info, +MPI_Win_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 new file mode 100644 index 00000000..bcb84f31 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_name\fP \- Obtains the name of a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_name(MPI_Win \fIwin\fP, char *\fIwin_name\fP, int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window whose name is to be returned (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win_name +the name previously stored on the window, or an empty string if no such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 new file mode 100644 index 00000000..f827fa52 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_lock 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_lock\fP \- Starts an RMA access epoch locking access to a particular rank. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_lock(int \fIlock_type\fP, int \fIrank\fP, int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +lock_type +Either MPI_LOCK_EXCLUSIVE or MPI_LOCK_SHARED (state). +.TP 1i +rank +Rank of locked window (nonnegative integer). +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts an RMA access epoch. Locks ensure that only the windows created by specific processes can be accessed by those processes (and by no other processes) during that epoch. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. +Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. +.sp +.ft +.SH NOTES +.ft R +In a client/server environment in which clients connect to +a server and create windows that span both the client and the +server, if a client or server that has obtained a lock +on such a window and then terminates abnormally, the server or other clients +may hang in a MPI_Win_lock call, failing to notice that the peer MPI job +has terminated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_unlock +MPI_Win_lock_all +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 new file mode 100644 index 00000000..362a861b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_lock_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_lock_all\fP \- Starts an RMA access epoch locking access to all processes in the window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_lock_all(int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts an RMA access epoch to all processes in \fIwin\fP, with a lock type of MPI_LOCK_SHARED. During the epoch, the calling process can access the window memory on all processes in \fIwin\fP by using RMA operations. A window locked with MPI_Win_lock_all must be unlocked with MPI_Win_unlock_all. This routine is not collective — the ALL refers to a lock on all members of the group of the window. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. +Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. +.sp +.ft +.SH NOTES +.ft R +In a client/server environment in which clients connect to +a server and create windows that span both the client and the +server, if a client or server that has obtained a lock +on such a window and then terminates abnormally, the server or other clients +may hang in a MPI_Win_lock_all call, failing to notice that the peer MPI job +has terminated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_unlock_all +MPI_Win_lock +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 new file mode 100644 index 00000000..7819c5ca --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_post 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_post\fP \- Starts an RMA exposure epoch for the local window associated with \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_post(MPI_Group \fIgroup\fP, int assert, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +The group of origin processes (handle) +.TP 1i +assert +Program assertion (integer) +.TP 1i +win +Window object (handle) + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION + +Starts an RMA exposure epoch for the local window associated with \fIwin\fP. Only the processes belonging to \fIgroup\fP should access the window with RMA calls on \fIwin\fP during this epoch. Each process in \fIgroup\fP must issue a matching call to MPI_Win_start. MPI_Win_post does not block. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_start +MPI_Win_wait +.br + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 new file mode 100644 index 00000000..dee9160f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_attr\fP \- Sets the value of a window attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window to which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +win_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 new file mode 100644 index 00000000..2e09728f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_errhandler\fP \- Attaches a new error handler to a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_errhandler(MPI_Win \fIwin\fP, MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +New error handler for window (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_set_errhandler attaches a new error handler to a window. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Win_create_errhandler. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 new file mode 100644 index 00000000..4857a0fe --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_info\fP \- Set window info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_info(MPI_Win \fIwin\fP, MPI_Info \fIinfo\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window on which to set info hints +.TP 1i +info +Info object containing hints to be set on +.I win +. +.SH OUTPUT PARAMETERS +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_WIN_SET_INFO sets new values for the hints of the window +associated with +.IR win. +MPI_WIN_SET_INFO is a collective routine. The info object may be +different on each process, but any info entries that an implementation +requires to be the same on all processes must appear with the same +value in each process's +.I info +object. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Win_get_info, +MPI_Info_create, +MPI_Info_set, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 new file mode 100644 index 00000000..a1fe06a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_name\fP \- Sets the name of a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_name(MPI_Win \fIwin\fP, const char *\fIwin_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window whose identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +win_name +The character string used as the name (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 new file mode 100644 index 00000000..32111079 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_shared_query 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_shared_query\fP \- Query a shared memory window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_shared_query (MPI_Win \fIwin\fP, int \fIrank\fP, MPI_Aint *\fIsize\fP, + int *\fIdisp_unit\fP, void *\fIbaseptr\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Shared memory window object (handle). +.TP 1i +rank +Rank in the group of window \fIwin\fP (non-negative integer) +or MPI_PROC_NULL. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Size of the window segment (non-negative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +baseptr +Address for load/store access to window segment +(choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_shared_query\fP queries the process-local address for +remote memory segments created with MPI_Win_allocate_shared. This +function can return different process-local addresses for the same +physical memory on different processes. The returned memory can be +used for load/store accesses subject to the constraints defined in +MPI-3.1 \[char167] 11.7. This function can only be called with windows +of flavor MPI_WIN_FLAVOR_SHARED. If the passed window is not of flavor +MPI_WIN_FLAVOR_SHARED, the error MPI_ERR_RMA_FLAVOR is raised. When +rank is MPI_PROC_NULL, the \fIpointer\fP, \fIdisp_unit\fP, and +\fIsize\fP returned are the pointer, disp_unit, and size of the memory +segment belonging the lowest rank that specified \fIsize\fP > 0. If +all processes in the group attached to the window specified \fIsize\fP += 0, then the call returns \fIsize\fP = 0 and a \fIbaseptr\fP as if +\fBMPI_Alloc_mem\fP was called with \fIsize\fP = 0. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 new file mode 100644 index 00000000..ff72b973 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_start\fP \- Starts an RMA access epoch for \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_start(MPI_Group \fIgroup\fP, int assert, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +The group of target processes (handle). +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_start is a one-sided MPI communication synchronization call that starts an RMA access epoch for \fIwin\fP. RMA calls issued on \fIwin\fP during this epoch must +access only windows at processes in \fIgroup\fP. Each process in \fIgroup\fP must issue a matching +call to MPI_Win_post. MPI_Win_start +is allowed to block until the corresponding MPI_Win_post calls have been executed, but is not required to. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. The following assertion value is supported: +.sp +.TP 1i +MPI_MODE_NOCHECK +When this value is passed in to this call, the library assumes that +the post call on the target has been called and it is not necessary +for the library to check to see if such a call has been made. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +MPI_Win_complete +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 new file mode 100644 index 00000000..db5c64b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 @@ -0,0 +1,39 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_sync 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_sync\fP, \- Synchronize the private and public copies of the window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_sync (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_sync\fP synchronizes the private and public window copies of \fIwin\fP. For the purposes of synchronizing the private and public window, \fBMPI_Win_sync\fP has the effect of ending and reopening an access and exposure epoch on the window (note that it does not actually end an epoch or complete any pending MPI RMA operations). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 new file mode 100644 index 00000000..e9b4ea02 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_test 3 "Mar 26, 2019" ""4.0.1"" "Open MPI" +.SH NAME +\fBMPI_Win_test\fP \- Attempts to complete an RMA exposure epoch; a nonblocking version of MPI_Win_wait + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_test(MPI_Win \fIwin\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle) + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). +.TP 1i +flag +The returning state of the test for epoch closure. + + +.SH DESCRIPTION +.ft R +MPI_Win_test is a one-sided MPI communication synchronization call, a +nonblocking version of MPI_Win_wait. It returns \fIflag = true\fP if +MPI_Win_wait would return, \fIflag = false\fP otherwise. The effect of return of MPI_Win_test with \fIflag = true\fP is the same as the effect of a return of MPI_Win_wait. If \fIflag = false\fP is returned, then the call has no visible effect. +.sp +Invoke MPI_Win_test only where MPI_Win_wait can be invoked. Once +the call has returned \fIflag = true\fP, it must not be invoked anew, until the window is posted anew. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +MPI_Win_wait +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 new file mode 100644 index 00000000..5864acc4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_unlock 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_unlock\fP \- Completes an RMA access epoch started by a call to MPI_Win_lock. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_unlock(int \fIrank\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_unlock completes an RMA access epoch started by a call to MPI_Win_lock. RMA operations issued during this period will have completed both at the origin and at the target when the call returns. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_lock +MPI_Win_unlock_all +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 new file mode 100644 index 00000000..f33b2ec7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_unlock_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_unlock_all\fP \- Completes an RMA access epoch started by a call to MPI_Win_lock_all. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_unlock_all(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_unlock_all completes an RMA access epoch started by a call to MPI_Win_lock_all. RMA operations issued during this period will have completed both at the origin and at the target when the call returns. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_lock_all +MPI_Win_unlock +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 new file mode 100644 index 00000000..068a3ec2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_wait 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_wait\fP \- Completes an RMA exposure epoch started by a call to MPI_Win_post on \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_wait(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_wait is a one-sided MPI communication synchronization call that completes an RMA exposure epoch started by a call to MPI_Win_post on \fIwin\fP. This +call matches calls to MPI_Win_complete(\fIwin\fP) issued by each of the processes that +were granted access to the window during this epoch. The call to MPI_Win_wait blocks +until all matching calls to MPI_Win_complete have occurred. This guarantees that all +these origin processes have completed their RMA accesses to the local window. When the +call returns, all these RMA accesses will have completed at the target window. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 new file mode 100644 index 00000000..0177da2c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2017 Cisco Systems, Inc. +.\" $COPYRIGHT$ +.TH MPI_Wtick 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wtick\fP \- Returns the resolution of MPI_Wtime. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +double MPI_Wtick() + +.fi +.SH RETURN VALUE +.ft R +Time in seconds of resolution of MPI_Wtime. + +.SH DESCRIPTION +.ft R +MPI_Wtick returns the resolution of MPI_Wtime in seconds. That is, it +returns, as a double-precision value, the number of seconds between +successive clock ticks. For example, if the clock is implemented by +the hardware as a counter that is incremented every millisecond, the +value returned by MPI_Wtick should be 10^-3. +.PP + +.SH NOTE +This function does not return an error value. Consequently, the result +of calling it before MPI_Init or after MPI_Finalize is undefined. + +.SH SEE ALSO +.ft R +.sp +MPI_Wtime diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 new file mode 100644 index 00000000..d023e1ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Wtime 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wtime\fP \- Returns an elapsed time on the calling processor. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +double MPI_Wtime() + +.fi +.SH RETURN VALUE +.ft R +Time in seconds since an arbitrary time in the past. + +.SH DESCRIPTION +.ft R +MPI_Wtime returns a floating-point number of seconds, representing elapsed wall-clock time since some time in the past. +.PP +The "time in the past" is guaranteed not to change during the life of the process. The user is responsible for converting large numbers of seconds to other units if they are preferred. +.PP +This function is portable (it returns seconds, not "ticks"), it allows high resolution, and carries no unnecessary baggage. One would use it like this: +.sp +.nf + { + double starttime, endtime; + starttime = MPI_Wtime(); + \&.... stuff to be timed \&... + endtime = MPI_Wtime(); + printf("That took %f seconds\\n",endtime-starttime); + } +.fi +.PP +The times returned are local to the node that called them. There is no requirement that different nodes return the "same" time. +.SH NOTES +The boolean variable MPI_WTIME_IS_GLOBAL, a predefined attribute key that indicates whether clocks are synchronized, does not have a valid value in Open MPI, as the clocks are not guaranteed to be synchronized. + +.PP +This function is intended to be a high-resolution, elapsed (or wall) clock. See MPI_Wtick to determine the resolution of MPI_Wtime. +.PP +On POSIX platforms, this function may utilize a timer that is cheaper +to invoke than the gettimeofday() system call, but will fall back to +gettimeofday() if a cheap high-resolution timer is not available. The +ompi_info command can be consulted to see if Open MPI supports a +native high-resolution timer on your platform; see the value for "MPI_WTIME +support" (or "options:mpi-wtime" when viewing the parsable +output). If this value is "native", a method that is likely to be +cheaper than gettimeofday() will be used to obtain the time when +MPI_Wtime is invoked. +.PP +For example, on platforms that support it, the +.I clock_gettime() +function will be used to obtain a monotonic clock value with whatever +precision is supported on that platform (e.g., nanoseconds). +.PP +Note, too, that the MCA parameter opal_timer_require_monotonic can +influcence this behavior. It defaults to true, but if set to false, +Open MPI may use a finer-grained timing mechanism (e.g., the +RDTSC/RDTSCP clock ticks on x86_64 platforms), but is not guaranteed +to be monotonic in some cases (e.g., if the MPI process is not bound +to a single processor core). +.PP +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. + +.SH SEE ALSO +MPI_Wtick +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 b/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 new file mode 100644 index 00000000..71a7c88b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 @@ -0,0 +1,193 @@ +.\" -*- nroff -*- +.\" Copyright 2007-2010 Oracle and/or its affiliates. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH OMPI_Affinity_str 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBOMPI_Affinity_str\fP \- Obtain prettyprint strings of processor affinity information for this process + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include + +int OMPI_Affinity_str(ompi_affinity_fmt_type_t \fIfmt_type\fP, + char \fIompi_bound\fP[OMPI_AFFINITY_STRING_MAX], + char \fIcurrent_binding\fP[OMPI_AFFINITY_STRING_MAX], + char \fIexists\fP[OMPI_AFFINITY_STRING_MAX]) +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fmt_type +An enum indicating how to format the returned ompi_bound and +current_binding strings. OMPI_AFFINITY_RSRC_STRING_FMT returns the +string as human-readable resource names, such as "socket 0, core 0". + +OMPI_AFFINITY_LAYOUT_FMT returns ASCII art representing where this MPI +process is bound relative to the machine resource layout. For example +"[. B][. .]" shows the process that called the routine is bound to +socket 0, core 1 in a system with 2 sockets, each containing 2 cores. + +See below for more output examples. + +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ompi_bound +A prettyprint string describing what processor(s) Open MPI bound this +process to, or a string indicating that Open MPI did not bind this +process. +. +.TP 1i +current_binding +A prettyprint string describing what processor(s) this process is +currently bound to, or a string indicating that the process is bound +to all available processors (and is therefore considered "unbound"). +. +.TP 1i +exists +A prettyprint string describing the available sockets and sockets on +this host. + +.SH DESCRIPTION +.ft R +Open MPI may bind a process to specific sockets and/or cores at +process launch time. This non-standard Open MPI function call returns +prettyprint information about three things: +. +.TP +Where Open MPI bound this process. +The string returned in +.B +ompi_bound +will either indicate that Open MPI did not bind this process to +anything, or it will contain a prettyprint description of the +processor(s) to which Open MPI bound this process. +. +.TP +Where this process is currently bound. +Regardless of whether Open MPI bound this process or not, another +entity may have bound it. The string returned in +.B current_binding +will indicate what the +.I +current +binding is of this process, regardless of what Open MPI may have done +earlier. The string returned will either indicate that the process is +unbound (meaning that it is bound to all available processors) or it +will contain a prettyprint description of the sockets and cores to +which the process is currently bound. +. +.TP +What processors exist. +As a convenience to the user, the +.B +exists +string will contain a prettyprint description of the sockets and cores +that this process can see (which is +.I usually +all processors in the system). + +.SH Examples +.ft R +\fBExample 1:\fP Print out processes binding using resource string format. +.sp +.nf + int rank; + char ompi_bound[OMPI_AFFINITY_STRING_MAX]; + char current_binding[OMPI_AFFINITY_STRING_MAX]; + char exists[OMPI_AFFINITY_STRING_MAX]; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + OMPI_Affinity_str(OMPI_AFFINITY_RSRC_STRING_FMT, + ompi_bound, current_binding, exists); + printf("rank %d: \\n" + " ompi_bound: %s\\n" + " current_binding: %s\\n" + " exists: %s\\n", + rank, ompi_bound, current_binding, exists); + ... +.fi +.PP +Output of mpirun -np 2 -bind-to-core a.out: +.nf +rank 0: + ompi_bound: socket 0[core 0] + current_binding: socket 0[core 0] + exists: socket 0 has 4 cores +rank 1: + ompi_bound: socket 0[core 1] + current_binding: socket 0[core 1] + exists: socket 0 has 4 cores +.fi +.PP +Output of mpirun -np 2 -bind-to-socket a.out: +.nf +rank 0: + ompi_bound: socket 0[core 0-3] + current_binding: Not bound (or bound to all available processors) + exists: socket 0 has 4 cores +rank 1: + ompi_bound: socket 0[core 0-3] + current_binding: Not bound (or bound to all available processors) + exists: socket 0 has 4 cores +.fi +.sp +.br +\fBExample 2:\fP Print out processes binding using layout string format. +.sp +.nf + int rank; + char ompi_bound[OMPI_AFFINITY_STRING_MAX]; + char current_binding[OMPI_AFFINITY_STRING_MAX]; + char exists[OMPI_AFFINITY_STRING_MAX]; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + OMPI_Affinity_str(OMPI_AFFINITY_LAYOUT_FMT, + ompi_bound, current_binding, exists); + printf("rank %d: \\n" + " ompi_bound: %s\\n" + " current_binding: %s\\n" + " exists: %s\\n", + rank, ompi_bound, current_binding, exists); + ... +.fi +.PP +Output of mpirun -np 2 -bind-to-core a.out: +.nf +rank 0: + ompi_bound: [B . . .] + current_binding: [B . . .] + exists: [. . . .] +rank 1: + ompi_bound: [. B . .] + current_binding: [. B . .] + exists: [. . . .] +.fi +.PP +Output of mpirun -np 2 -bind-to-socket a.out: +.nf +rank 0: + ompi_bound: [B B B B] + current_binding: [B B B B] + exists: [. . . .] +rank 1: + ompi_bound: [B B B B] + current_binding: [B B B B] + exists: [. . . .] +.fi + +.SH See Also +.ft R +.nf +mpirun(1) +.fi diff --git a/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 b/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 new file mode 100644 index 00000000..3cc56226 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 @@ -0,0 +1 @@ +.so man3/MPI.3 diff --git a/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 b/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 new file mode 100644 index 00000000..bb913c03 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 @@ -0,0 +1,93 @@ +.\" +.\" Man page for OMPI's CRCP Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI_CRCP 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +OMPI_CRCP \- Open MPI MCA Checkpoint/Restart Coordination Protocol (CRCP) Framework: +Overview of Open MPI's CRCP framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +The CRCP Framework is used by Open MPI for the encapsulation of various +Checkpoint/Restart Coordination Protocols (e.g., Coordinated, Uncoordinated, +Message/Communication Induced, ...). +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open MPI CRCP components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIMPI_INIT\fR early in its execution. +.PP +The program must call \fIMPI_FINALIZE\fR before termination. +.PP +A user may initiate a checkpoint of a parallel application by using the +ompi-checkpoint(1) and ompi-restart(1) commands. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open MPI currently ships with one CRCP component: \fIcoord\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +crcp_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" Coord Component +.\" ****************** +.SS coord CRCP Component +.PP +The \fIcoord\fR component implements a Coordinated Checkpoint/Restart +Coordination Protocol similar to the one implemented in LAM/MPI. +. +.PP +The \fIcoord\fR component has the following MCA parameters: +. +.TP 4 +crcp_coord_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +crcp_coord_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" Special 'none' option +.\" ************************ +.SS none CRCP Component +.PP +The \fInone\fP component simply selects no CRCP component. All of the CRCP +function calls return immediately with OMPI_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then Open MPI will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + ompi-checkpoint(1), ompi-restart(1), opal-checkpoint(1), opal-restart(1), +orte_snapc(7), orte_filem(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/opal_crs.7 b/macx64/mpi/openmpi/share/man/man7/opal_crs.7 new file mode 100644 index 00000000..c98bfac1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/opal_crs.7 @@ -0,0 +1,179 @@ +.\" +.\" Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OPAL's CRS Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH OPAL_CRS 7 "Mar 26, 2019" "4.0.1" "Open MPI" + +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +OPAL_CRS \- Open PAL MCA Checkpoint/Restart Service (CRS): Overview of Open PAL's +CRS framework, and selected modules. Open MPI 4.0.1. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +Open PAL can involuntarily checkpoint and restart sequential programs. +Doing so requires that Open PAL was compiled with thread support and +that the back-end checkpointing systems are available at run-time. +. +.SS Phases of Checkpoint / Restart +.PP +Open PAL defines three phases for checkpoint / restart support in a +procress: +. +.TP 4 +Checkpoint +When the checkpoint request arrives, the procress is notified of the +request before the checkpoint is taken. +. +.TP 4 +Continue +After a checkpoint has successfully completed, the same process as the +checkpoint is notified of its successful continuation of execution. +. +.TP 4 +Restart +After a checkpoint has successfully completed, a new / restarted +process is notified of its successful restart. +. +.PP +The Continue and Restart phases are identical except for the process +in which they are invoked. The Continue phase is invoked in the same process +as the Checkpoint phase was invoked. The Restart phase is only invoked in newly +restarted processes. +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open PAL CRS components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIOPAL_INIT\fR early in its execution. This +should only be called once, and it is not possible to checkpoint the process +without it first having called this function. +.PP +The program must call \fIOPAL_FINALIZE\fR before termination. This does a +significant amount of cleanup. If it is not called, then it is very likely that +remnants are left in the filesystem. +.PP +To checkpoint and restart a process you must use the Open PAL tools to do +so. Using the backend checkpointer's checkpoint and restart tools will lead +to undefined behavior. +To checkpoint a process use \fIopal_checkpoint\fR (opal_checkpoint(1)). +To restart a process use \fIopal_restart\fR (opal_restart(1)). +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open PAL ships with two CRS components: \fIself\fR and \fIblcr\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +crs_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" Self Component +.\" ****************** +.SS self CRS Component +.PP +The \fIself\fR component invokes user-defined functions to save and restore +checkpoints. It is simply a mechanism for user-defined functions to be invoked +at Open PAL's Checkpoint, Continue, and Restart phases. Hence, the only data +that is saved during the checkpoint is what is written in the user's checkpoint +function. No libary state is saved at all. +. +.PP +As such, the model for the \fIself\fR component is slightly differnt than for +other components. Specifically, the Restart function is not invoked in the same +process image of the process that was checkpointed. The Restart phase is +invoked during \fBOPAL_INIT\fR of the new instance of the applicaiton (i.e., it +starts over from main()). +. +.PP +The \fIself\fR component has the following MCA parameters: +.TP 4 +crs_self_prefix +Speficy a string prefix for the name of the checkpoint, continue, and restart +functions that Open PAL will invoke during the respective stages. That is, +by specifying "-mca crs_self_prefix foo" means that Open PAL expects to find +three functions at run-time: + + int foo_checkpoint() + + int foo_continue() + + int foo_restart() + +By default, the prefix is set to "opal_crs_self_user". +. +.TP 4 +crs_self_priority +Set the \fIself\fR components default priority +. +.TP 4 +crs_self_verbose +Set the verbosity level. Default is 0, or silent except on error. +. +.TP 4 +crs_self_do_restart +This is mostly internally used. A general user should never need to set this +value. This is set to non-0 when a the new process should invoke the restart +callback in \fIOPAL_INIT\fR. Default is 0, or normal execution. +. +.\" BLCR Component +.\" ****************** +.SS blcr CRS Component +.PP +The Berkeley Lab Checkpoint/Restart (BLCR) single-process checkpoint is a +software system developed at Lawrence Berkeley National Laboratory. See the +project website for more details: + + \fI http://ftg.lbl.gov/CheckpointRestart/CheckpointRestart.shtml \fR +. +.PP +The \fIblcr\fR component has the following MCA parameters: +.TP 4 +crs_blcr_priority +Set the \fIblcr\fR components default priority. +. +.TP 4 +crs_blcr_verbose +Set the verbosity level. Default is 0, or silent except on error. +. +.\" Special 'none' option +.\" ************************ +.SS none CRS Component +.PP +The \fInone\fP component simply selects no CRS component. All of the CRS +function calls return immediately with OPAL_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then OPAL will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + opal_checkpoint(1), opal_restart(1) +.\", orte_crs(7), ompi_crs(7) diff --git a/macx64/mpi/openmpi/share/man/man7/orte_filem.7 b/macx64/mpi/openmpi/share/man/man7/orte_filem.7 new file mode 100644 index 00000000..ea6ac4ed --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_filem.7 @@ -0,0 +1,92 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's FileM Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_FILEM 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_FILEM \- Open RTE MCA File Management (FileM) Framework: Overview of Open RTE's +FileM framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +FileM is a utility framework used by OpenRTE for a variety of purposes, including +the transport of checkpoint files, preloading user binaries, and preloading of user files. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open RTE currently ships with one FileM component: \fIrsh\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +filem_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on +error. +. +. +.\" rsh Component +.\" ****************** +.SS rsh FileM Component +.PP +The \fIrsh\fR component uses \fIrcp\fP or \fIscp\fP to do its file transfers. This component +requires the use of passwordless \fIrsh\fP or \fIssh\fP between all nodes. +. +.PP +The \fIrsh\fR component has the following MCA parameters: +. +.TP 4 +filem_rsh_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +filem_rsh_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.TP 4 +filem_rsh_rcp +The program to use to copy files. Generally will be rcp or scp. +. +.TP 4 +filem_rsh_rsh +The program used to remotely log into a given machine and remove files. +Generally will be rsh or ssh. +. +.\" Special 'none' option +.\" ************************ +.SS none FileM Component +.PP +The \fInone\fP component simply selects no FileM component. All of the FileM +function calls return immediately with ORTE_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then ORTE will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), orte_snapc(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 b/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 new file mode 100644 index 00000000..c13ad18c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 @@ -0,0 +1,197 @@ +.\" +.\" Copyright (c) 2008 Los Alamos National Security, LLC All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's Hostfile functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_HOSTS 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_HOSTS \- OpenRTE Hostfile and HOST Behavior: Overview of OpenRTE's support for user-supplied +hostfiles and comma-delimited lists of hosts +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +OpenRTE supports several levels of user-specified host lists based on an established +precedence order. Users can specify a \fIdefault hostfile\fP that contains a list of +nodes available to all app_contexts given on the command line. Only \fIone\fP default +hostfile can be provided for any job. In addition, users +can specify a \fIhostfile\fP that contains a list of nodes to be used for a specific +app_context, or can provide a comma-delimited list of nodes to be used for that +app_context via the \fI-host\fP command line option. +.sp +The precedence order applied to these various options depends to some extent on +the local environment. The following table illustrates how host and hostfile directives +work together to define the set of hosts upon which a job will execute +in the absence of a resource manager (RM): +.sp +.nf + default + hostfile host hostfile Result +---------- ------ ---------- ----------------------------------------- + unset unset unset Job is co-located with mpirun + unset set unset Host defines resource list for the job + unset unset set Hostfile defines resource list for the job + unset set set Hostfile defines resource list for the job, + then host filters the list to define the final + set of nodes available to each application + within the job + set unset unset Default hostfile defines resource list for the job + set set unset Default hostfile defines resource list for the job, + then host filters the list to define the final + set of nodes available to each application + within the job + set set set Default hostfile defines resource list for the job, + then hostfile filters the list, and then host filters + the list to define the final set of nodes available + to each application within the job +.fi +.sp +This changes somewhat in the presence of a RM as that entity specifies the +initial allocation of nodes. In this case, the default hostfile, hostfile and host +directives are all used to filter the RM's specification so that a user can utilize different +portions of the allocation for different jobs. This is done according to the same precedence +order as in the prior table, with the RM providing the initial pool of nodes. +.sp +. +.\" ************************** +.\" Relative Indexing +.\" ************************** +.SH RELATIVE INDEXING +. +.PP +Once an initial allocation has been specified (whether by an RM, default hostfile, or hostfile), +subsequent hostfile and -host specifications can be made using relative indexing. This allows a +user to stipulate which hosts are to be used for a given app_context without specifying the +particular host name, but rather its relative position in the allocation. +.sp +This can probably best be understood through consideration of a few examples. Consider the case +where an RM has allocated a set of nodes to the user named "foo1, foo2, foo3, foo4". The user +wants the first app_context to have exclusive use of the first two nodes, and a second app_context +to use the last two nodes. Of course, the user could printout the allocation to find the names +of the nodes allocated to them and then use -host to specify this layout, but this is cumbersome +and would require hand-manipulation for every invocation. +.sp +A simpler method is to utilize OpenRTE's relative indexing capability to specify the desired +layout. In this case, a command line of: +.sp +mpirun -pernode -host +n1,+n2 ./app1 : -host +n3,+n4 ./app2 +.sp +.PP +would provide the desired pattern. The "+" syntax indicates that the information is being +provided as a relative index to the existing allocation. Two methods of relative indexing +are supported: +.sp +.TP +.B +n<#> +A relative index into the allocation referencing the <#> node. OpenRTE will substitute +the <#> node in the allocation +. +. +.TP +.B +e[:<#>] +A request for <#> empty nodes - i.e., OpenRTE is to substitute this reference with +<#> nodes that have not yet been used by any other app_context. If the ":<#>" is not +provided, OpenRTE will substitute the reference with all empty nodes. Note that OpenRTE +does track the empty nodes that have been assigned in this manner, so multiple +uses of this option will result in assignment of unique nodes up to the limit of the +available empty nodes. Requests for more empty nodes than are available will generate +an error. +.sp +.PP +Relative indexing can be combined with absolute naming of hosts in any arbitrary manner, +and can be used in hostfiles as well as with the -host command line option. In addition, +any slot specification provided in hostfiles will be respected - thus, a user can specify +that only a certain number of slots from a relative indexed host are to be used for a +given app_context. +.sp +Another example may help illustrate this point. Consider the case where a user has a default +hostfile containing: +.sp +.nf +dummy1 slots=4 +dummy2 slots=4 +dummy3 slots=4 +dummy4 slots=4 +dummy5 slots=4 +.fi +.sp +.PP +This may, for example, be a hostfile that describes a set of commonly-used resources that +the user wishes to execute applications against. For this particular application, the user +plans to map byslot, and wants the first two ranks to be on the second node of any allocation, +the next ranks to land on an empty node, have one rank specifically on dummy4, the next rank +to be on the second node of the allocation again, and finally any remaining ranks to be on +whatever empty nodes are left. To accomplish this, the user provides a hostfile of: +.sp +.nf ++n2 slots=2 ++e:1 +dummy4 slots=1 ++n2 ++e +.fi +.sp +.PP +The user can now use this information in combination with OpenRTE's sequential mapper to +obtain their specific layout: +.sp +.nf +mpirun --default-hostfile dummyhosts -hostfile mylayout -mca rmaps seq ./my_app +.fi +.sp +.PP +which will result in: +.nf +.sp +rank0 being mapped to dummy3 +.br +rank1 to dummy1 as the first empty node +.br +rank2 to dummy4 +.br +rank3 to dummy3 +.br +rank4 to dummy2 and rank5 to dummy5 as the last remaining unused nodes +.sp +.fi +Note that the sequential mapper ignores the number of slots arguments as it only +maps one rank at a time to each node in the list. +.sp +If the default round-robin mapper had been used, then the mapping would have resulted in: +.sp +.nf +ranks 0 and 1 being mapped to dummy3 since two slots were specified +.br +ranks 2-5 on dummy1 as the first empty node, which has four slots +.br +rank6 on dummy4 since the hostfile specifies only a single slot from that node is to be used +.br +ranks 7 and 8 on dummy3 since only two slots remain available +.br +ranks 9-12 on dummy2 since it is the next available empty node and has four slots +.br +ranks 13-16 on dummy5 since it is the last remaining unused node and has four slots +.fi +.sp +.PP +Thus, the use of relative indexing can allow for complex mappings to be ported across +allocations, including those obtained from automated resource managers, without the need +for manual manipulation of scripts and/or command lines. +. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orterun(1) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 b/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 new file mode 100644 index 00000000..f58cf930 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 @@ -0,0 +1,105 @@ +.\" +.\" Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's SnapC Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_SNAPC 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_SNAPC \- Open RTE MCA Snapshot Coordination (SnapC) Framework: Overview of +Open RTE's SnapC framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +Open RTE can coordinate the generation of a global snapshot of a parallel job +from many distributed local snapshots. The components in this framework +determine how to: Initiate the checkpoint of the parallel application, gather +together the many distributed local snapshots, and provide the user with a +global snapshot handle reference that can be used to restart the parallel +application. +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open RTE SnapC components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIORTE_INIT\fR early in its execution. This +should only be called once, and it is not possible to checkpoint the process +without it first having called this function. +.PP +The program must call \fIORTE_FINALIZE\fR before termination. +.PP +A user may initiate a checkpoint of a parallel application by using the +orte-checkpoint(1) and orte-restart(1) commands. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open RTE ships with one SnapC component: \fIfull\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +snapc_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" full Component +.\" ****************** +.SS full SnapC Component +.PP +The \fIfull\fR component gathers together the local snapshots to the disk local +to the Head Node Process (HNP) before completing the checkpoint of the process. This +component does not currently support replicated HNPs, or timer based gathering +of local snapshot data. This is a 3-tiered hierarchy of coordinators. +. +.PP +The \fIfull\fR component has the following MCA parameters: +. +.TP 4 +snapc_full_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +snapc_full_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" Special 'none' option +.\" ************************ +.SS none SnapC Component +.PP +The \fInone\fP component simply selects no SnapC component. All of the SnapC +function calls return immediately with ORTE_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then ORTE will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), +orte_filem(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 b/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 new file mode 100644 index 00000000..363c08b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" +.\" Man page for ORTE's SStore Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_SSTORE 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +Open RTE MCA File Management (SStore) Framework \- Overview of Open RTE's SStore +framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +SStore is a utility framework used by OpenRTE for a variety of purposes, including +the transport of checkpoint files, preloading user binaries, and preloading of user files. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +The following MCA parameters apply to all components: +. +.TP 4 +sstore_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on +error. +. +. +.\" central Component +.\" ****************** +.SS central SStore Component +.PP +The \fIcentral\fR component implements a fully centralized stable storage +mechanism that requires a shared storage medium (e.g., NFS). +. +.PP +The \fIcentral\fR component has the following MCA parameters: +. +.TP 4 +sstore_central_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +sstore_central_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), orte_snapc(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf b/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf new file mode 100644 index 00000000..f9fa6cd9 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf @@ -0,0 +1,5 @@ +# +# This is an example file illustrating how to setup an Aggregate MCA parameters +# file. +# +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt b/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt new file mode 100644 index 00000000..9d872675 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt @@ -0,0 +1,137 @@ +# -*- text -*- +# +# Copyright (c) 2004-2009 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2012-2014 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's shared memory support. +# +[sys call fail] +A system call failed during vader shared memory BTL initialization +that should not have. It is likely that your MPI job will now either +abort or experience performance degradation. + + System call: %s + Error: %s (errno %d) +# +[no locality] +WARNING: Missing locality information required for vader shared memory +BTL initialization. Continuing without shared memory support. +# +[knem permission denied] +WARING: Open MPI failed to open the /dev/knem device due to a +permissions problem. Please check with your system administrator to +get the permissions fixed, or set the btl_vader_single_copy_mechanism +MCA variable to none to silence this warning and run without knem +support. + + Local host: %s + /dev/knem permissions: 0%o +# +[knem fail open] +WARNING: Open MPI failed to open the /dev/knem device due to a local +error. Please check with your system administrator to get the problem +fixed, or set the btl_vader_single_copy_mechanism MCA variable to none +to silence this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Errno: %d (%s) +# +[knem get ABI fail] +WARNING: Open MPI failed to retrieve the ABI version from the +/dev/knem device due to a local error. This usually indicates an +error in your knem installation; please check with your system +administrator, or set the btl_vader_single_copy_mechanism MCA variable +to none to silence this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Errno: %d (%s) +# +[knem ABI mismatch] +WARNING: Open MPI was compiled with support for one version of the +knem kernel module, but it discovered a different version running in +/dev/knem. Open MPI needs to be installed with support for the same +version of knem as is in the running Linux kernel. Please check with +your system administrator, or set the btl_vader_single_copy_mechanism +MCA variable to none to silence this warning and run without knem +support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Open MPI's knem version: 0x%x + /dev/knem's version: 0x%x +# +[knem mmap fail] +Open MPI failed to map support from the knem Linux kernel module; this +shouldn't happen. Please check with your system administrator, or set +the btl_vader_single_copy_mechanism MCA variable to none to silence +this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + System call: mmap() + Errno: %d (%s) +# +[knem init error] +Open MPI encountered an error during the knem initialization. Please +check with your system administrator, or set the +btl_vader_single_copy_mechanism MCA variable to none to silence this +warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + System call: %s + Errno: %d (%s) +# +[knem requested but not available] +WARNING: Linux kernel knem support was requested via the +btl_vader_single_copy_mechanism MCA parameter, but Knem support was either not +compiled into this Open MPI installation, or Knem support was unable +to be activated in this process. + +The vader BTL will fall back on another single-copy mechanism if one +is available. This may result in lower performance. + + Local host: %s +# +[cma-permission-denied] +WARNING: Linux kernel CMA support was requested via the +btl_vader_single_copy_mechanism MCA variable, but CMA support is +not available due to restrictive ptrace settings. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s +# +[xpmem-make-failed] +WARNING: Could not generate an xpmem segment id for this process' +address space. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Error code: %d (%s) diff --git a/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt b/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt new file mode 100644 index 00000000..4a5c8712 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI's sync +# collective component. +# +[missing collective] +The sync collective component in Open MPI was activated on a +communicator where it did not find an underlying collective operation +defined. This usually means that the sync collective module's +priority was not set high enough. Please try increasing sync's +priority. + + Local host: %s + Sync coll module priority: %d + First discovered missing collective: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt b/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt new file mode 100644 index 00000000..c4514d3b --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt @@ -0,0 +1,68 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for hostfile utilities. +# + +[not-all-mapped-alloc] +At least one of the requested hosts is not included in the current allocation. + +Missing requested host: %s + +Please check your allocation or your request. +# +[dash-host:relative-syntax] +A relative host was specified, but no prior allocation has been made. +Thus, there is no way to determine the proper host to be used. + +-host: %s + +Please see the orte_hosts man page for further information. +# +[dash-host:relative-node-not-found] +A relative host was specified, but was not found. The requested host was +specified with --host as: + +Index: %d +Syntax given: %s + +Please see the orte_hosts man page for further information. +# +[dash-host:relative-node-out-of-bounds] +A relative host was specified, but the index given is beyond the number +of hosts in the current allocation: + +Index: %d +#hosts: %d + +You could obtain a larger allocation or reduce the relative host index. +Please see the orte_hosts man page for further information. +# +[dash-host:invalid-relative-node-syntax] +A relative host was improperly specified - the value provided was. + +-host: %s + +You may have forgotten to preface a node with 'N' or 'n', or used the 'e' or 'E' to indicate +empty nodes. Please see the orte_hosts man page for further information. +# +[dash-host:not-enough-empty] +The requested number of empty hosts was not available - the system was short by %d hosts. + +Please recheck your allocation - further information is available on the +orte_hosts man page. diff --git a/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt b/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt new file mode 100644 index 00000000..30ff0f88 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt @@ -0,0 +1,112 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2017 Intel, Inc. All rights reserved. +# Copyright (c) 2017 IBM Corporation. All rights reserved. +# Copyright (c) 2018 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[undeliverable-msg] +An attempt was made to send a message to a process whose +address is unknown: + + Sender: %s + From node: %s + Recipient: %s + On node: %s + +The message could not be delivered, and we are aborting. +# +[failed-daemon-launch] +ORTE was unable to reliably start one or more daemons. +This usually is caused by: + +* not finding the required libraries and/or binaries on + one or more nodes. Please check your PATH and LD_LIBRARY_PATH + settings, or configure OMPI with --enable-orterun-prefix-by-default + +* lack of authority to execute on one or more specified nodes. + Please verify your allocation and authorities. + +* the inability to write startup files into /tmp (--tmpdir/orte_tmpdir_base). + Please check with your sys admin to determine the correct location to use. + +* compilation of the orted with dynamic libraries when static are required + (e.g., on Cray). Please check your configure cmd line and consider using + one of the contrib/platform definitions for your system type. + +* an inability to create a connection back to mpirun due to a + lack of common network interfaces and/or no route found between + them. Please check network connectivity (including firewalls + and network routing requirements). +# +[failed-daemon] +An ORTE daemon has unexpectedly failed after launch and before +communicating back to mpirun. This could be caused by a number +of factors, including an inability to create a connection back +to mpirun due to a lack of common network interfaces and/or no +route found between them. Please check network connectivity +(including firewalls and network routing requirements). +# +[node-died] +ORTE has lost communication with a remote daemon. + + HNP daemon : %s on node %s + Remote daemon: %s on node %s + +This is usually due to either a failure of the TCP network +connection to the node, or possibly an internal failure of +the daemon itself. We cannot recover from this failure, and +therefore will terminate the job. +# +[no-path] +ORTE does not know how to route a message to the specified daemon +located on the indicated node: + + my node: %s + target node: %s + +This is usually an internal programming error that should be +reported to the developers. In the meantime, a workaround may +be to set the MCA param routed=direct on the command line or +in your environment. We apologize for the problem. +# +[no-connect] +ORTE is unable to establish a communication connection to the +specified daemon located on the indicated node: + + my node: %s + target node: %s + +This is usually due to a lack of common network interfaces and/or +no route found between them. Please check network connectivity (including +firewalls and network routing requirements). If these look okay, +then it could be an internal programming error that should be +reported to the developers. In the meantime, a workaround may +be to set the MCA param routed=direct on the command line or +in your environment. +# +[simple-message] +An internal error has occurred in ORTE: + +%s + +This is something that should be reported to the developers. +# +[normal-termination-but] +%s job %s terminated normally, but %d %s. Per user-direction, the job has been aborted. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt b/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt new file mode 100644 index 00000000..89d98ccb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt @@ -0,0 +1,97 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the SDS base. +# +[ess-base:execv-error] +The singleton application was not able to find the executable "orted" in +your PATH or in the directory where Open MPI/OpenRTE was initially installed, +and therefore cannot continue. + +For reference, we tried the following command: + + %s + +and got the error %s. + +This could mean that your PATH or executable name is wrong, or that you do not +have the necessary permissions. Please ensure that the executable is able to be +found and executed as it is required for singleton operations. +[ess-base:cannot-forward] +The system does not support trapping and forwarding of the +specified signal: + + signal: %s + param: %s + +Please remove that signal from the ess_base_forward_signals MCA parameter. +[ess-base:unknown-signal] +The following signal was included in the ess_base_forward_signals +MCA parameter: + + signal: %s + param: %s + +This is not a recognized signal value. Please fix or remove it. +# +[slurm-error] +The application appears to have been direct launched using "srun", +but OMPI was not built with SLURM's PMI support and therefore cannot +execute. There are several options for building PMI support under +SLURM, depending upon the SLURM version you are using: + + version 16.05 or later: you can use SLURM's PMIx support. This + requires that you configure and build SLURM --with-pmix. + + Versions earlier than 16.05: you must use either SLURM's PMI-1 or + PMI-2 support. SLURM builds PMI-1 by default, or you can manually + install PMI-2. You must then build Open MPI using --with-pmi pointing + to the SLURM PMI library location. + +Please configure as appropriate and try again. +# +[slurm-error2] +The application appears to have been direct launched using "srun", +but OMPI was not built with SLURM support. This usually happens +when OMPI was not configured --with-slurm and we weren't able +to discover a SLURM installation in the usual places. + +Please configure as appropriate and try again. +# +[alps-error] +The application appears to have been direct launched using "aprun", +but OMPI was not built with ALPS PMI support and therefore cannot +execute. You must build Open MPI using --with-pmi pointing +to the ALPS PMI library location. + +Please configure as appropriate and try again. +# +[alps-error2] +The application appears to have been direct launched using "aprun", +but OMPI was not built with ALPS support. This usually happens +when OMPI was not configured --with-alps and we weren't able +to discover an ALPS installation in the usual places. + +Please configure as appropriate and try again. +# +[legacy-tool] +We no longer support non-PMIx-based tools, and require a +minimum level of PMIx v2.0. + +Please update the tool and/or the PMIx version you are using. diff --git a/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt b/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt new file mode 100644 index 00000000..a5b99074 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt @@ -0,0 +1,146 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Los Alamos National Security, LLC +# All rights reserved. +# Copyright (c) 2016 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for hostfile utilities. +# +[no-hostfile] +Open RTE was unable to open the hostfile: + %s +Check to make sure the path and filename are correct. +[port] +Open RTE detected a bad parameter in the hostfile: + %s +The port parameter is less than 0: + port=%d +[slots] +Open RTE detected a bad parameter in the hostfile: + %s +The slots parameter is less than 0: + slots=%d +[max_slots] +Open RTE detected a bad parameter in the hostfile: + %s +The max_slots parameter is less than 0: + max_slots=%d +[max_slots_lt] +Open RTE detected a bad parameter in the hostfile: + %s +The max_slots parameter is less than the slots parameter: + slots=%d + max_slots=%d +[parse_error_string] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d: + %s +[parse_error_int] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d: + %d +[parse_error] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d. +[not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation. + +The requested hosts were in this hostfile: + %s + +Please verify that you have specified the allocated resources properly in +the provided hostfile. +# +[hostfile:relative-syntax] +A relative host was specified, but no prior allocation has been made. +Thus, there is no way to determine the proper host to be used. + +hostfile entry: %s + +Please see the orte_hosts man page for further information. +# +[hostfile:relative-node-not-found] +A relative host was specified, but was not found. The requested host was +specified as: + +Index: %d +Syntax given: %s + +This is most likely due to the relative index being out of bounds. You +could obtain a larger allocation or reduce the relative host index. +Please see the orte_hosts man page for further information. +# +[hostfile:invalid-relative-node-syntax] +A relative host was improperly specified - the value provided was. + +hostfile entry: %s + +You may have forgotten to preface a node with 'N' or 'n', or used the 'e' or 'E' to indicate +empty nodes. Please see the orte_hosts man page for further information. +# +[hostfile:not-enough-empty] +The requested number of empty hosts was not available - the system was short by %d hosts. + +Please recheck your allocation - further information is available on the +orte_hosts man page. +[boards] +Open RTE detected a bad parameter in the hostfile: + %s +The boards parameter is less than 0: + boards=%d +[sockets] +Open RTE detected a bad parameter in the hostfile: + %s +The sockets parameter is less than 0: + sockets=%d +[cores] +Open RTE detected a bad parameter in the hostfile: + %s +The cores parameter is less than 0: + cores=%d + +# +[hostfile:extra-node-not-found] +A hostfile was provided that contains at least one node not +present in the allocation: + + hostfile: %s + node: %s + +If you are operating in a resource-managed environment, then only +nodes that are in the allocation can be used in the hostfile. You +may find relative node syntax to be a useful alternative to +specifying absolute node names see the orte_hosts man page for +further information. +# +[slots-given] +A hostfile was provided that contains multiple definitions +of the slot count for at least one node: + + hostfile: %s + node: %s + +You can either list a node multiple times, once for each slot, +or you can provide a single line that contains "slot=N". Mixing +the two methods is not supported. + +Please correct the hostfile and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt new file mode 100644 index 00000000..543b5c51 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt @@ -0,0 +1,61 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[find-available:not-valid] +A requested component was not found, or was unable to be opened. This +means that this component is either not installed or is unable to be +used on your system (e.g., sometimes this means that shared libraries +that the component requires are unable to be found/loaded). Note that +Open MPI stopped checking at the first component that it did not find. + +Host: %s +Framework: %s +Component: %s +# +[find-available:none found] +No components were able to be opened in the %s framework. + +This typically means that either no components of this type were +installed, or none of the installed components can be loaded. +Sometimes this means that shared libraries required by these +components are unable to be found/loaded. + + Host: %s + Framework: %s +# +[framework-param:too-many-negates] +MCA framework parameters can only take a single negation operator +("^"), and it must be at the beginning of the value. The following +value violates this rule: + + %s + +When used, the negation operator sets the "exclusive" behavior mode, +meaning that it will exclude all specified components (and implicitly +include all others). If the negation operator is not specified, the +"inclusive" mode is assumed, meaning that all specified components +will be included (and implicitly exclude all others). + +For example, "^a,b" specifies the exclusive behavior and means "use +all components *except* a and b", while "c,d" specifies the inclusive +behavior and means "use *only* components c and d." + +You cannot mix inclusive and exclusive behavior. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt new file mode 100644 index 00000000..69d7c24d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt @@ -0,0 +1,34 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[unreachable proc] +At least one pair of MPI processes are unable to reach each other for +MPI communications. This means that no Open MPI device has indicated +that it can be used to communicate between these processes. This is +an error; Open MPI requires that all MPI processes be able to reach +each other. This error can sometimes be the result of forgetting to +specify the "self" BTL. + + Process 1 (%s) is on host: %s + Process 2 (%s) is on host: %s + BTLs attempted: %s + +Your MPI job is now going to abort; sorry. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt new file mode 100644 index 00000000..d6e0071f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt @@ -0,0 +1,47 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA coll-specific +# error messages. +# +[comm-select:none-available] +Although some coll components are available on your system, none of +them said that they could be used for a new communicator. + +This is extremely unusual -- either the "basic", "libnbc" or "self" components +should be able to be chosen for any communicator. As such, this +likely means that something else is wrong (although you should double +check that the "basic", "libnbc" and "self" coll components are available on +your system -- check the output of the "ompi_info" command). +# +[comm-select:no-function-available] +Although some coll components are available on your system, none of +them said that they could be used for %s on a new communicator. + +This is extremely unusual -- either the "basic", "libnbc" or "self" components +should be able to be chosen for any communicator. As such, this +likely means that something else is wrong (although you should double +check that the "basic", "libnbc" and "self" coll components are available on +your system -- check the output of the "ompi_info" command). +#[comm-unselect:failed-finalize] +A coll module failed to finalize properly when a communicator that was +using it was destroyed. + +This is somewhat unusual: the module itself may be at fault, or this +may be a symptom of another issue (e.g., a memory problem). diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt new file mode 100644 index 00000000..c364d229 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt @@ -0,0 +1,19 @@ +# -*- text -*- +# +# Copyright (c) 2017 IBM Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA hook-specific +# error messages. +# +[hook:missing-required-component] +Error: A request was made to exclude a hook component from consideration that +is required to be included. This component (noted below) can -not- be excluded +from consideration. The program will fail at this time. + +Framework: %s +Component: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt new file mode 100644 index 00000000..316342bb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt @@ -0,0 +1,139 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[invalid-flag-combination] +ERROR: An invalid combination of flags was passed to mca_base_var_register. + + Variable: %s + Flags: %s %s +# +[default-only-param-set] +WARNING: A user-supplied value attempted to override the default-only MCA +variable named "%s". + +The user-supplied value was ignored. +# +[missing-param-file] +Process %d Unable to locate the variable file "%s" in the following search path: + %s +# +[deprecated-mca-env] +A deprecated MCA variable value was specified in the environment or +on the command line. Deprecated MCA variables should be avoided; +they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-cli] +A deprecated MCA variable value was specified on the command line. Deprecated +MCA variables should be avoided; they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-file] +A deprecated MCA variable value was specified in an MCA variable +file. Deprecated MCA variables should be avoided; they may disappear +in future releases. + + Deprecated variable: %s + Source file: %s + New variable: %s +# +[mutually-exclusive-vars] +Two mutually-exclusive MCA variables were specified. This can result +in undefined behavior, such as ignoring the components that the MCA +variables are supposed to affect. + + 1st MCA variable: %s + Source of value: %s + 2nd MCA variable: %s + Source of value: %s +# +[re-register-with-different-type] +An MCA variable was re-registered with a different type (i.e., it was +either originally registered as an INT and re-registered as a STRING, +or it was originially registered as a STRING and re-registered as an +INT). This a developer error; your job may abort. + + MCA variable name: %s +# +[var-name-conflict] +A name collision was detected on an MCA variable name. This can happen +if two components try to register the same variable with slightly +different name components. The conflicting variables are listed below: + + MCA variable name: %s + New name: %s %s %s + Existing name: %s %s %s +# +[overridden-param-set] +WARNING: A user-supplied value attempted to set a variable that is set +in the override variable file (openmpi-mca-params-override.conf). + + Variable: %s + +The user-supplied value was ignored. +# +[invalid-value] +An invalid value was supplied for an MCA variable. + + Variable : %s + Value : %s +# +[invalid-value-enum] +An invalid value was supplied for an enum variable. + + Variable : %s + Value : %s + Valid values : %s +# +[environment-only-param] +WARNING: The special MCA parameter "%s" was set in +an unexpected way, and is likely not working the way you want it to. + +Specifically, this MCA parameter is "special" in that it can *only* be +set in the environment. Setting this value in a file -- and sometimes +even on the command line -- will not work as intended. The *only* way +to set this value is to set "OMPI_MCA_%s" in the environment before +starting your job. + + Value: %s + Source: %s +# +[incorrect-env-list-param] +WARNING: The format of "mca_base_env_list" parameter is a delimited list of VAR=VAL or +VAR instances. By default, the delimiter is a semicolon: VAR1=VAL1;VAR2;VAR3=VAL3;... +You can set other via "mca_base_env_list_delimiter" parameter. If the delimiter is a +semicolon, the value of "mca_base_env_list" variable should be quoted to not interfere +with SHELL command line parsing. In the case where a value is not assigned to variable +VAR, the value will be taken from the current environment. +The following environment variable was not found in the environment: + Variable: %s + MCA variable value: %s +# +[incorrect-env-list-sep] +An invalid value was supplied for an MCA variable "mca_base_env_list_delimiter". +The "mca_base_env_list" variable will be ignored. + Value: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt new file mode 100644 index 00000000..81e76d01 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt @@ -0,0 +1,33 @@ +# -*- text -*- +# +# Copyright (c) 2006 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2018 IBM Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[mpi-abort] +MPI_ABORT was invoked on rank %d in communicator %s +with errorcode %d. + +NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. +You may or may not see output from other processes, depending on +exactly when Open MPI kills them. +# +[MPI function not supported] +Your application has invoked an MPI function that is not supported in +this environment. + + MPI function: %s + Reason: %s +[info-set-with-reserved-prefix] +Comments +MPI_Info_set warning, key is using a reserved prefix. + Key: %s + Reserved prefix: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt new file mode 100644 index 00000000..5531b1dd --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt @@ -0,0 +1,31 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2017 Cisco Systems, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[btl:no-nics] +%s: A high-performance Open MPI point-to-point messaging module +was unable to find any relevant network interfaces: + +Module: %s + Host: %s + +Another transport will be used instead, although this may result in +lower performance. + +NOTE: You can disable this warning by setting the MCA parameter +btl_base_warn_component_unused to 0. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt new file mode 100644 index 00000000..8424944c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt @@ -0,0 +1,24 @@ +# -*- text -*- +# +# Copyright (c) 2004-2009 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2012-2013 Los Alamos National Security, LLC. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for the deprecated "sm" BTL. +# +[btl sm is dead] +As of version 3.0.0, the "sm" BTL is no longer available in Open MPI. + +Efficient, high-speed same-node shared memory communication support in +Open MPI is available in the "vader" BTL. To use the vader BTL, you +can re-run your job with: + + mpirun --mca btl vader,self,... your_mpi_application diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt new file mode 100644 index 00000000..d513ef4d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt @@ -0,0 +1,169 @@ +# -*- text -*- +# +# Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2015-2016 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2016 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's TCP support +# (the openib BTL). +# +[invalid if_inexclude] +WARNING: An invalid value was given for btl_tcp_if_%s. This +value will be ignored. + + Local host: %s + Value: %s + Message: %s +# +[invalid minimum port] +WARNING: An invalid value was given for the btl_tcp_port_min_%s. Legal +values are in the range [1 .. 2^16-1]. This value will be ignored +(reset to the default value of 1024). + + Local host: %s + Value: %d +# +[client connect fail] +WARNING: Open MPI failed to TCP connect to a peer MPI process. This +should not happen. + +Your Open MPI job may now hang or fail. + + Local host: %s + PID: %d + Message: %s + Error: %s (%d) +# +[client handshake fail] +WARNING: Open MPI failed to handshake with a connecting peer MPI +process over TCP. This should not happen. + +Your Open MPI job may now hang or fail. + + Local host: %s + PID: %d + Message: %s +# +[accept failed] +WARNING: The accept(3) system call failed on a TCP socket. While this +should generally never happen on a well-configured HPC system, the +most common causes when it does occur are: + + * The process ran out of file descriptors + * The operating system ran out of file descriptors + * The operating system ran out of memory + +Your Open MPI job will likely hang (or crash) until the failure +resason is fixed (e.g., more file descriptors and/or memory becomes +available), and may eventually timeout / abort. + + Local host: %s + PID: %d + Errno: %d (%s) +# +[peer hung up] +An MPI communication peer process has unexpectedly disconnected. This +usually indicates a failure in the peer process (e.g., a crash or +otherwise exiting without calling MPI_FINALIZE first). + +Although this local MPI process will likely now behave unpredictably +(it may even hang or crash), the root cause of this problem is the +failure of the peer -- that is what you need to investigate. For +example, there may be a core file that you can examine. More +generally: such peer hangups are frequently caused by application bugs +or other external events. + + Local host: %s + Local PID: %d + Peer host: %s +# +[dropped inbound connection] +Open MPI detected an inbound MPI TCP connection request from a peer +that appears to be part of this MPI job (i.e., it identified itself as +part of this Open MPI job), but it is from an IP address that is +unexpected. This is highly unusual. + +The inbound connection has been dropped, and the peer should simply +try again with a different IP interface (i.e., the job should +hopefully be able to continue). + + Local host: %s + Local PID: %d + Peer hostname: %s (%s) + Source IP of socket: %s + Known IPs of peer: %s +# +[socket flag fail] +WARNING: Open MPI failed to get or set flags on a TCP socket. This +should not happen. + +This may cause unpredictable behavior, and may end up hanging or +aborting your job. + + Local host: %s + PID: %d + Flag: %s + Error: %s (%d) +# +[server did not get guid] +WARNING: Open MPI accepted a TCP connection from what appears to be a +another Open MPI process but the peer process did not complete the +initial handshake properly. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[server accept cannot find guid] +WARNING: Open MPI accepted a TCP connection from what appears to be a +another Open MPI process but cannot find a corresponding process +entry for that peer. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[server getpeername failed] +WARNING: Open MPI failed to look up the peer IP address information of +a TCP connection that it just accepted. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d + Error: %s (%d) +# +[server cannot find endpoint] +WARNING: Open MPI accepted a TCP connection from what appears to be a +valid peer Open MPI process but cannot find a corresponding endpoint +entry for that peer. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[client connect fail] +WARNING: Open MPI failed to TCP connect to a peer MPI process via +TCP. This should not happen. + +Your Open MPI job may now fail. + + Local host: %s + PID: %d + Message: %s + Error: %s (%d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt new file mode 100644 index 00000000..ce42bb65 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt @@ -0,0 +1,36 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI's Shared memory +# collective component. +# +[tree-degree-larger-than-control] +The specified shared memory collective tree degree +(coll_sm_tree_degree = %d) is too large. It must be less than or +equal to the control size (coll_sm_control_size = %d). + +Automatically adjusting the tree degree to be equal to the control +size and continuing... +# +[tree-degree-larger-than-255] +The specified shared memory collective tree degree +(coll_sm_tree_degree = %d) is too large. It must be less than or +equal to 255. + +Automatically adjusting the tree degree to be 255 and continuing... +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt new file mode 100644 index 00000000..f5630c27 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt @@ -0,0 +1,34 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[mmap too small] +Open MPI requested a shared memory segment that was too small to do +anything useful. This is likely an error in Open MPI itself. If you +see this error, you should see if there is an update available for +Open MPI, and if not, contact the Open MPI developers. + + Local host: %s + Requested size: %ul + Control seg size: %ul + Data seg aligment: %ul +# +[unexpected message id] +Open MPI received an unexpected message ID during common sm initialization. +This is likely an error in Open MPI itself. If you see this error, you should +see if there is an update available for Open MPI that addresses this issue, and +if not, contact the Open MPI developers. + + Local Host: %s + Expected Message ID: %s + Message ID Received: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt new file mode 100644 index 00000000..a6dcf717 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt @@ -0,0 +1,40 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# *** THESE MESSAGES ARE COORDINATED WITH FIXED STRINGS IN +# *** errhandler_predefined.c! Do not change these messages without also +# *** changing errhandler_predefined.c! +# +[mpi_errors_are_fatal] +%s *** An error occurred %s %s +%s *** reported by process [%lu,%lu] +%s *** on %s %s +%s *** %s +%s *** MPI_ERRORS_ARE_FATAL (processes in this %s will now abort, +%s *** and potentially your MPI job) +# +[mpi_errors_are_fatal unknown handle] +%s *** An error occurred %s %s +%s *** reported by process [%lu,%lu] +%s *** on a NULL %s +%s *** %s +%s *** MPI_ERRORS_ARE_FATAL (processes in this %s will now abort, +%s *** and potentially your MPI job) +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt new file mode 100644 index 00000000..b03cedd5 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt @@ -0,0 +1,44 @@ +# -*- text -*- +# +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[eager_limit_too_small] +The "eager limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher eager limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL eager limit value: %d (set via btl_%s_eager_limit) + BTL eager limit minimum: %d + MCA parameter name: btl_%s_eager_limit +# +[cuda_eager_limit_too_small] +The "CUDA eager limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher CUDA eager limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL CUDA eager limit value: %d (set via btl_%s_cuda_eager_limit) + BTL CUDA eager limit minimum: %d + MCA parameter name: btl_%s_cuda_eager_limit +# +[cuda_rdma_limit_too_small] +The "CUDA rdma limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher CUDA rdma limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL CUDA rndv limit value: %d (set via btl_%s_cuda_rdma_limit) + BTL CUDA rndv limit minimum: %d + MCA parameter name: btl_%s_cuda_rdma_limit diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt new file mode 100644 index 00000000..5b7c3759 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt @@ -0,0 +1,121 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2007-2018 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2013 NVIDIA Corporation. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[mpi_init:startup:internal-failure] +It looks like %s failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during %s; some of which are due to configuration or environment +problems. This failure appears to be an internal failure; here's some +additional information (which may only be relevant to an Open MPI +developer): + + %s + --> Returned "%s" (%d) instead of "Success" (0) +# +[mpi_init:startup:pml-add-procs-fail] +MPI_INIT has failed because at least one MPI process is unreachable +from another. This *usually* means that an underlying communication +plugin -- such as a BTL or an MTL -- has either not loaded or not +allowed itself to be used. Your MPI job will now abort. + +You may wish to try to narrow down the problem; + + * Check the output of ompi_info to see which BTL/MTL plugins are + available. + * Run your application with MPI_THREAD_SINGLE. + * Set the MCA parameter btl_base_verbose to 100 (or mtl_base_verbose, + if using MTL-based communications) to see exactly which + communication plugins were considered and/or discarded. +# +[mpi-param-check-enabled-but-compiled-out] +WARNING: The MCA parameter mpi_param_check has been set to true, but +parameter checking has been compiled out of Open MPI. The +mpi_param_check value has therefore been ignored. +# +[mpi_init: invoked multiple times] +Open MPI has detected that this process has attempted to initialize +MPI (via MPI_INIT or MPI_INIT_THREAD) more than once. This is +erroneous. +# +[mpi_init: already finalized] +Open MPI has detected that this process has attempted to initialize +MPI (via MPI_INIT or MPI_INIT_THREAD) after MPI_FINALIZE has been +called. This is erroneous. +# +[mpi_finalize: not initialized] +The function MPI_FINALIZE was invoked before MPI was initialized in a +process on host %s, PID %d. + +This indicates an erroneous MPI program; MPI must be initialized +before it can be finalized. +# +[mpi_finalize:invoked_multiple_times] +The function MPI_FINALIZE was invoked multiple times in a single +process on host %s, PID %d. + +This indicates an erroneous MPI program; MPI_FINALIZE is only allowed +to be invoked exactly once in a process. +# +[sparse groups enabled but compiled out] +WARNING: The MCA parameter mpi_use_sparse_group_storage has been set +to true, but sparse group support was not compiled into Open MPI. The +mpi_use_sparse_group_storage value has therefore been ignored. +# +[heterogeneous-support-unavailable] +This installation of Open MPI was configured without support for +heterogeneous architectures, but at least one node in the allocation +was detected to have a different architecture. The detected node was: + +Node: %s + +In order to operate in a heterogeneous environment, please reconfigure +Open MPI with --enable-heterogeneous. +# +[no cuda support] +The user requested CUDA support with the --mca mpi_cuda_support 1 flag +but the library was not compiled with any support. +# +[noconxcpt] +The user has called an operation involving MPI_Connect and/or MPI_Accept, +but this environment lacks the necessary infrastructure support for +that operation. Open MPI relies on the PMIx_Publish/Lookup (or one of +its predecessors) APIs for this operation. + +This typically happens when launching outside of mpirun where the underlying +resource manager does not provide publish/lookup support. One way of solving +the problem is to simply use mpirun to start the application. +# +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an Open MPI wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[spc: MPI_T disabled] +There was an error registering software performance counters (SPCs) as +MPI_T performance variables. Your job will continue, but SPCs will be +disabled for MPI_T. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt new file mode 100644 index 00000000..17e01111 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt @@ -0,0 +1,32 @@ +# -*- text -*- +# +# Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[all mem leaks] +The following memory locations were allocated via MPI_ALLOC_MEM but +not freed via MPI_FREE_MEM before invoking MPI_FINALIZE: + +Process ID: %s +Hostname: %s +PID: %d + +%s +# +[some mem leaks] +The following memory locations were allocated via MPI_ALLOC_MEM but +not freed via MPI_FREE_MEM before invoking MPI_FINALIZE: + +Process ID: %s +Hostname: %s +PID: %d + +%s + +%d additional leak%s recorded but %s not displayed here. Set the MCA +parameter mpi_show_mpi_alloc_mem_leaks to a larger number to see that +many leaks, or set it to a negative number to see all leaks. diff --git a/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt b/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt new file mode 100644 index 00000000..5e233475 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt @@ -0,0 +1,23 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 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) 2014 Intel, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[no-interfaces-avail] +No network interfaces were found for out-of-band communications. We require +at least one available network for out-of-band messaging. diff --git a/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt b/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt new file mode 100644 index 00000000..e5562ac4 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt @@ -0,0 +1,134 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 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) 2014-2017 Intel, Inc. All rights reserved. +# Copyright (c) 2015-2018 Cisco Systems, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[static-and-dynamic] +Both static and dynamic port ranges were specified for the +out-of-band (OOB) communication subsystem: + +Static ports: %s +Dynamic ports: %s + +Only one can be specified. Please choose either static or +dynamic ports and try again. +# +[include-exclude] +Both TCP interface include and exclude lists were specified: + + Include: %s + Exclude: %s + +Only one of these can be given. +# +[not-parseable] +The specified network is not parseable. Since we cannot determine +your desired intent, we cannot establish a TCP socket for out-of-band +communications and will therefore abort. Please correct the network +specification and retry. +# +[no-included-found] +None of the TCP networks specified to be included for out-of-band communications +could be found: + + Value given: %s + +Please revise the specification and try again. +# +[excluded-all] +The specified list of networks to be excluded for TCP out-of-band communications +resulted in no networks being available: + + Value given: %s + +Please revise the specification and try again. +# +[invalid if_inexclude] +WARNING: An invalid value was given for oob_tcp_if_%s. This +value will be ignored. + + Local host: %s + Value: %s + Message: %s +# +[authent-fail] +An attempt was made to make a TCP connection between two hosts: + + Initiating host: %s + Receiving host: %s + +Unfortunately, the connection was refused due to a failure to +authenticate. This is usually caused by a mis-match between +the security domains of the two hosts - e.g., one might be +using Munge while the other is not. This can typically be +resolved by specifying the desired security method. For +example, adding "--mca sec basic" to your command line. +# +[accept failed] +WARNING: The accept(3) system call failed on a TCP socket. While this +should generally never happen on a well-configured HPC system, the +most common causes when it does occur are: + + * The process ran out of file descriptors + * The operating system ran out of file descriptors + * The operating system ran out of memory + +Your Open MPI job will likely hang until the failure resason is fixed +(e.g., more file descriptors and/or memory becomes available), and may +eventually timeout / abort. + + Local host: %s + Errno: %d (%s) + Probable cause: %s +# +[privilege failure] +An attempt was made to initiate a TCP connection from an +unprivileged source while we are operating at privileged +levels. + + Local host: %s + Listening port: %d + Remote host: %s + Remote port: %d + +The connection was rejected. +# +[static-fwd] +Static ports were requested while orte_fwd_mpirun_port was set. +Both options cannot be simultaneously set. Please either set +orte_fwd_mpirun_port=false or remove any static port directives. +# +[version mismatch] +Open MPI detected a mismatch in versions between two processes. This +typically means that you executed "mpirun" (or "mpiexec") from one +version of Open MPI on on node, but your default path on one of the +other nodes upon which you launched found a different version of Open +MPI. + +Open MPI only supports running exactly the same version between all +processes in a single job. + +This will almost certainly cause unpredictable behavior, and may end +up aborting your job. + + Local host: %s + Local process name: %s + Local Open MPI version: %s + Peer host: %s + Peer process name: %s + Peer Open MPI version: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt new file mode 100644 index 00000000..8407c7f9 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt @@ -0,0 +1,20 @@ + -*- text -*- +# +# Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open PAL CRS framework. +# +[none:select-warning] +Error: 'none' component selected. + Checkpoint/Restart functionality may not work properly. + Make sure that you have configured with and are using a fully functional + CRS component. + To disable this warning set the following MCA parmeter: + --mca crs_none_select_warning 0 diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt new file mode 100644 index 00000000..a2c6af0c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt @@ -0,0 +1,61 @@ +# -*- text -*- +# +# Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's hwloc base support +# +[mbind failure] +Open MPI failed to bind internal memory to a specific NUMA node. This +message will only be reported at most once per process. + + Local host: %s + PID: %d + File: %s:%d + Message: %s + Severity: %s +# +[invalid binding_policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for binding policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[deprecated] +The following command line option and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line option: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[obj-idx-failed] +Open MPI failed to find a cache of a specified type. This is a highly +unusual error; it may indicate a system configuration error. This +additional information may be of help: + + Message: %s + Cache level: %d diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt new file mode 100644 index 00000000..95fd280c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt @@ -0,0 +1,68 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[opal_init:startup:internal-failure] +It looks like opal_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during opal_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +Open MPI developer): + + %s failed + --> Returned value %d instead of OPAL_SUCCESS +# +[opal_cr_init:no-crs] +It looks like opal_cr_init failed. This usually means that the CRS component +could not be activated on this machine. Check the installation of your +checkpointer, MCA parameters, and configuration. If all of that seems +correct, then copy this error message with the additional information below +to the Open MPI users list. + Function: %s + Return value: %d +# +# Just want a clean printout for sys limit as the +# message was already generated by show-help +[opal_init:syslimit] +%s +# +[opal_init:warn-fork] +A process has executed an operation involving a call to the +"fork()" system call to create a child process. Open MPI is currently +operating in a condition that could result in memory corruption or +other system errors; your job may hang, crash, or produce silent +data corruption. The use of fork() (or system() or other calls that +create child processes) is strongly discouraged. + +The process that invoked fork was: + + Local host: %s (PID %d) + +If you are *absolutely sure* that your application will successfully +and correctly survive a call to fork(), you may disable this warning +by setting the mpi_warn_on_fork MCA parameter to 0. +# +[mpi-params:leave-pinned-and-pipeline-selected] +WARNING: Cannot set both the MCA parameters opal_leave_pinned (a.k.a., +mpi_leave_pinned) and opal_leave_pinned_pipeline (a.k.a., +mpi_leave_pinned_pipeline) to "true". Defaulting to mpi_leave_pinned +ONLY. diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt new file mode 100644 index 00000000..67fa8f94 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt @@ -0,0 +1,53 @@ +# -*- text -*- +# +# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) +# +[mmap on nfs] +WARNING: Open MPI will create a shared memory backing file in a +directory that appears to be mounted on a network filesystem. +Creating the shared memory backup file on a network file system, such +as NFS or Lustre is not recommended -- it may cause excessive network +traffic to your file servers and/or cause shared memory traffic in +Open MPI to be much slower than expected. + +You may want to check what the typical temporary directory is on your +node. Possible sources of the location of this temporary directory +include the $TEMPDIR, $TEMP, and $TMP environment variables. + +Note, too, that system administrators can set a list of filesystems +where Open MPI is disallowed from creating temporary files by setting +the MCA parameter "orte_no_session_dir". + + Local host: %s + Filename: %s + +You can set the MCA paramter shmem_mmap_enable_nfs_warning to 0 to +disable this message. +# +[target full] +It appears as if there is not enough space for %s (the shared-memory backing +file). It is likely that your MPI job will now either abort or experience +performance degradation. + + Local host: %s + Space Requested: %lu B + Space Available: %llu B diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt new file mode 100644 index 00000000..ffa4585f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt new file mode 100644 index 00000000..ffa4585f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt new file mode 100644 index 00000000..07b49fd1 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt @@ -0,0 +1,116 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[stacktrace signal override] +Open MPI was inserting a signal handler for signal %d but noticed +that there is already a non-default handler installed. Open MPI's +handler was therefore not installed; your job will continue. This +warning message will only be displayed once, even if Open MPI +encounters this situation again. + +To avoid displaying this warning message, you can either not install +the error handler for signal %d or you can have Open MPI not try to +install its own signal handler for this signal by setting the +"opal_signals" MCA parameter. + + Signal: %d + Current opal_signal value: %s +# +[stacktrace bad signal] +Open MPI was inserting a signal handler but was given an invalid +signal number: + + Signal string: %s + Bad value: %s + +The given value must be an integer within the signal number +range. Please correct the value and try again. +# +[malformed net_private_ipv4] +Open MPI has detected at least one malformed IP address or netmask in +the value of the opal_net_private_ipv4 MCA parameter. The +opal_net_private_ipv4 MCA parameter accepts a semicolon-delimited list +of Classless Inter-Domain Routing (CIDR) notation specifications, each +of the form /. For example: + + 10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;169.254.0.0/16 + +The first detected malformed entry was %s. +# +[invalid-net-mask] +Open MPI has detected a malformed IPv4 address or netmask: + + Value provided: %s + +Accepted values follow the Classless Inter-Domain +Routing (CIDR) notation specifications. For example: + + 10.0.0.0/8 + 172.16/12 + 192.168 + 169.254.0.0/16 +# +[malformed-uri] +Open MPI has detected a malformed URI: + + URI: %s + +Accepted values follow IETF RFC3986, e.g. file://192.168.1.1/over/there +# +[relative-path] +When creating a URI, all files must be specified in absolute paths: + + Value provided: %s + +Please update your application to provide the full path to the file. +# +[sys-limit-failed] +Per request, Open MPI attempted to set a system resource +limit to a given value: + + Resource: %s + Limit: %s + +The system has refused to allow this operation. This is likely +due to a permission limitation, or specifying an unsupported +value. Please check the system or remove the request and try +again. +# +[sys-limit-unrecognized] +Open MPI received a request to set a system resource limit. +Sadly, OMPI does not recognize or currently support the specified +resource: + + Resource: %s + Limit: %s + +Please correct the request and try again. +# +[dir-mode] +While working through a directory tree, we were unable to set +a directory to the desired mode: + + Directory: %s + Mode: %0x + Error: %s + +Please check to ensure you have adequate permissions to perform +the desired operation. +# +[mkdir-failed] +A call to mkdir was unable to create the desired directory: + + Directory: %s + Error: %s + +Please check to ensure you have adequate permissions to perform +the desired operation. diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt new file mode 100644 index 00000000..3302f14c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt @@ -0,0 +1,81 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012-2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI wrapper compiler error +# messages. +# +[no-language-support] +Unfortunately, this installation of Open MPI was not compiled with +%s support. As such, the %s compiler is non-functional. +# +[no-profiling-support] +Warning: the "-lpmpi" flag was included on the command line, +indicating use of MPI profiling layer. However, Open MPI was not +compiled with support for the MPI profiling layer. This flag has +therefore been ignored. +# +[no-compiler-specified] +No underlying compiler was specified in the wrapper compiler data file +(e.g., mpicc-wrapper-data.txt) +# +[no-compiler-found] +The Open MPI wrapper compiler was unable to find the specified compiler +%s in your PATH. + +Note that this compiler was either specified at configure time or in +one of several possible environment variables. +# +[version] +%s: %s %s (Language: %s) +# +[usage] +%s [-showme[:]] args + + -showme:command Show command used to invoke real compiler + -showme:compile Show flags added when compiling + -showme:link Show flags added when linking + -showme:incdirs Show list of include dirs added when compiling + -showme:libdirs Show list of library dirs added when linking + -showme:libs Show list of libraries added when linking + -showme:version Show version of %s + -showme:help This help message +# +[file-not-found] +%s could not find the file %s, needed for %s support. +This may indicate an incomplete install and linking will likely fail. +# +[spawn-failed] +Unable to call the compiler (%s). The failure return the error +%s. +The failed command was [%s]. +# +[compiler-failed] +The child process (%s) exit with error %d. +The failed command was [%s]. +# +[no-options-support] +The %s wrapper compiler was unable to find a block of options in its +configuration to support your compiler mode. Your application was not +compiled. or linked. + +The wrapper compiler command line was: + + %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt b/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt new file mode 100644 index 00000000..5bbf85c2 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt @@ -0,0 +1,65 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI ompi_info error +# messages. +# +[usage] +The ompi_info command can be used to provide detailed information on +your Open MPI installation. Syntax: + +%s +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an Open MPI wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[developer warning: field too long] +************************************************************************** +*** DEVELOPER WARNING: A field in ompi_info output is too long and +*** will appear poorly in the prettyprint output. +*** +*** Value: "%s" +*** Max length: %d +************************************************************************** +# +[not-found] +The specified framework could not be found: + + Framework: %s + +This could be due to a misspelling of the framework name, or because support +for that framework was not configured into this version of OMPI. Please see + + ompi_info --config + +for a full report of how OMPI was configured. +# +[invalid-level] +An invalid MCA parameter information level was specified. Valid values are +1-9. + + Value: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt new file mode 100644 index 00000000..c0b17a28 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt @@ -0,0 +1,26 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI Clean tool +# +[usage] +ompi-clean [OPTIONS] + Open MPI Runtime Environment Cleaning tool + +%s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt new file mode 100644 index 00000000..905e1166 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt @@ -0,0 +1,46 @@ + -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for ORTE FileM framework. +# +[orte-filem-rsh:get-file-exists] +WARNING: Could not preload specified file: File already exists. + +Fileset: %s +Host: %s + +Will continue attempting to launch the process. + +[orte-filem-rsh:put-file-not-exist] +WARNING: Could not preload specified file: File does not exist. + +Fileset: %s +Host: %s + +Will continue attempting to launch the process. + +[orte-filem-rsh:remote-get-failed] +WARNING: Remote peer (%s) failed to preload a file. + +Exit Status: %d +Local File: %s +Remote File: %s +Command: + %s + +Will continue attempting to launch the process(es). diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt new file mode 100644 index 00000000..51859448 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt @@ -0,0 +1,58 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for ORTE orte-info error +# messages. +# +[usage] +The orte-info command can be used to provide detailed information on +your ORTE installation. Syntax: + +%s +# +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an ORTE wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[developer warning: field too long] +************************************************************************** +*** DEVELOPER WARNING: A field in orte-info output is too long and +*** will appear poorly in the prettyprint output. +*** +*** Value: "%s" +*** Max length: %d +************************************************************************** +# +[not-found] +The specified framework could not be found: + + Framework: %s + +This could be due to a misspelling of the framework name, or because support +for that framework was not configured into this version of orte. Please see + + orte-info --config + +for a full report of how orte was configured. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt new file mode 100644 index 00000000..29c83dbb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt @@ -0,0 +1,103 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's ODLS Framework +# +[orte-odls-base:could-not-kill] +WARNING: A process refused to die despite all the efforts! +This process may still be running and/or consuming resources. + +Host: %s +PID: %d + +[orte-odls-base:could-not-preload-binary] +WARNING: Could not preload the binary file. + +Binary: %s + +Will continue attempting to launch the process. +[orte-odls-base:could-not-preload-files] +WARNING: Could not preload the files specified. + +Fileset: %s + +Will continue attempting to launch the process. +[orte-odls-base:could-not-preload] +WARNING: Could not preload the requested files and directories. + +Binary : %s +Fileset: %s + +Will continue attempting to launch the process. + +# +[orte-odls-base:xterm-rank-out-of-bounds] +The xterm option was asked to display a rank that is larger +than the number of procs in the job: + +Node: %s +Rank: %d +Num procs: %d + +Note that ranks start with 0, not 1, and must be specified +accordingly. +# +[orte-odls-base:xterm-neg-rank] +The xterm option was asked to display a rank that is negative: + +Rank: %d +Num procs: %d + +Note that ranks start with 0, not 1, and must be specified +accordingly. +# +[orte-odls-base:show-bindings] +System has detected external process binding to cores %04lx. +# +[warn not bound] +A request to bind the processes to a %s was made, but the operation +resulted in the processes being unbound. This was most likely caused +by the following: + + %s + +This is only a warning that can be suppressed in the future by +setting the odls_warn_if_not_bound MCA parameter to 0. Execution +will continue. + + Local host: %s + Application name: %s + Action requested: %s %s +# +[error not bound] +A request to bind the processes to a %s was made, but the operation +resulted in the processes being unbound. This was most likely caused +by the following: + + %s + +This is an error; your job will now abort. + + Local host: %s + Application name: %s + Action requested: %s %s +# +[orte-odls-base:fork-agent-not-found] +The specified fork agent was not found: + + Node: %s + Fork agent: %s + +The application cannot be launched. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt new file mode 100644 index 00000000..06181b7c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file. +# +[execve error] +Open MPI tried to fork a new process via the "execve" system call but +failed. Open MPI checks many things before attempting to launch a +child process, but nothing is perfect. This error may be indicative +of another problem on the target host, or even something as silly as +having specified a directory for your application. Your job will now +abort. + + Local host: %s + Working dir: %s + Application name: %s + Error: %s +# +[binding not supported] +Open MPI tried to bind a new process, but process binding is not +supported on the host where it was launched. The process was killed +without launching the target application. Your job will now abort. + + Local host: %s + Application name: %s +# +[binding generic error] +Open MPI tried to bind a new process, but something went wrong. The +process was killed without launching the target application. Your job +will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[bound to everything] +Open MPI tried to bind a new process to a specific set of processors, +but ended up binding it to *all* processors. This means that the new +process is effectively unbound. + +This is only a warning -- your job will continue. You can suppress +this warning in the future by setting the odls_warn_if_not_bound MCA +parameter to 0. + + Local host: %s + Application name: %s + Location: %s:%d +# +[slot list and paffinity_alone] +Open MPI detected that both a slot list was specified and the MCA +parameter "paffinity_alone" was set to true. Only one of these can be +used at a time. Your job will now abort. + + Local host: %s + Application name: %s +# +[iof setup failed] +Open MPI tried to launch a child process but the "IOF child setup" +failed. This should not happen. Your job will now abort. + + Local host: %s + Application name: %s +# +[not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[syscall fail] +A system call failed that should not have. In this particular case, +a warning or error message was not displayed that should have been. +Your job may behave unpredictably after this, or abort. + + Local host: %s + Application name: %s + Function: %s + Location: %s:%d +# +[memory not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue, though performance may +be degraded. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d + +# +[memory binding error] +Open MPI tried to bind memory for a new process but something went +wrong. The process was killed without launching the target +application. Your job will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[set limit] +Error message received from: + + Local host: %s + Application name: %s + Location: %s:%d + +Message: + +%s +# +[incorrectly-bound] +WARNING: Open MPI incorrectly bound a process to the daemon's cores. +This is a warning only; your job will continue. + + Local host: %s + Application name: %s + Location: %s:%d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt new file mode 100644 index 00000000..06181b7c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file. +# +[execve error] +Open MPI tried to fork a new process via the "execve" system call but +failed. Open MPI checks many things before attempting to launch a +child process, but nothing is perfect. This error may be indicative +of another problem on the target host, or even something as silly as +having specified a directory for your application. Your job will now +abort. + + Local host: %s + Working dir: %s + Application name: %s + Error: %s +# +[binding not supported] +Open MPI tried to bind a new process, but process binding is not +supported on the host where it was launched. The process was killed +without launching the target application. Your job will now abort. + + Local host: %s + Application name: %s +# +[binding generic error] +Open MPI tried to bind a new process, but something went wrong. The +process was killed without launching the target application. Your job +will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[bound to everything] +Open MPI tried to bind a new process to a specific set of processors, +but ended up binding it to *all* processors. This means that the new +process is effectively unbound. + +This is only a warning -- your job will continue. You can suppress +this warning in the future by setting the odls_warn_if_not_bound MCA +parameter to 0. + + Local host: %s + Application name: %s + Location: %s:%d +# +[slot list and paffinity_alone] +Open MPI detected that both a slot list was specified and the MCA +parameter "paffinity_alone" was set to true. Only one of these can be +used at a time. Your job will now abort. + + Local host: %s + Application name: %s +# +[iof setup failed] +Open MPI tried to launch a child process but the "IOF child setup" +failed. This should not happen. Your job will now abort. + + Local host: %s + Application name: %s +# +[not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[syscall fail] +A system call failed that should not have. In this particular case, +a warning or error message was not displayed that should have been. +Your job may behave unpredictably after this, or abort. + + Local host: %s + Application name: %s + Function: %s + Location: %s:%d +# +[memory not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue, though performance may +be degraded. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d + +# +[memory binding error] +Open MPI tried to bind memory for a new process but something went +wrong. The process was killed without launching the target +application. Your job will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[set limit] +Error message received from: + + Local host: %s + Application name: %s + Location: %s:%d + +Message: + +%s +# +[incorrectly-bound] +WARNING: Open MPI incorrectly bound a process to the daemon's cores. +This is a warning only; your job will continue. + + Local host: %s + Application name: %s + Location: %s:%d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt new file mode 100644 index 00000000..0d4724ae --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt @@ -0,0 +1,457 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-base:alloc-error] +There are not enough slots available in the system to satisfy the %d +slots that were requested by the application: + + %s + +Either request fewer slots for your application, or make more slots +available for use. + +A "slot" is the Open MPI term for an allocatable unit where we can +launch a process. The number of slots available are defined by the +environment in which Open MPI processes are run: + + 1. Hostfile, via "slots=N" clauses (N defaults to number of + processor cores if not provided) + 2. The --host command line parameter, via a ":N" suffix on the + hostname (N defaults to 1 if not provided) + 3. Resource manager (e.g., SLURM, PBS/Torque, LSF, etc.) + 4. If none of a hostfile, the --host command line parameter, or an + RM is present, Open MPI defaults to the number of processor cores + +In all the above cases, if you want Open MPI to default to the number +of hardware threads instead of the number of processor cores, use the +--use-hwthread-cpus option. + +Alternatively, you can use the --oversubscribe option to ignore the +number of available slots when deciding the number of processes to +launch. +# +[orte-rmaps-base:not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation for the +application: + %s +The requested hosts were: + %s + +Verify that you have mapped the allocated resources properly using the +--host or --hostfile specification. +[orte-rmaps-base:no-mapped-node] +There are no allocated resources for the application: + %s +that match the requested mapping: + %s: %s + +Verify that you have mapped the allocated resources properly for the +indicated specification. +[orte-rmaps-base:nolocal-no-available-resources] +There are no available nodes allocated to this job. This could be because +no nodes were found or all the available nodes were already used. + +Note that since the -nolocal option was given no processes can be +launched on the local node. +[orte-rmaps-base:no-available-resources] +No nodes are available for this job, either due to a failure to +allocate nodes to the job, or allocated nodes being marked +as unavailable (e.g., down, rebooting, or a process attempting +to be relocated to another node when none are available). +[orte-rmaps-base:all-available-resources-used] +All nodes which are allocated for this job are already filled. +# +[out-of-vpids] +The system has exhausted its available ranks - the application is attempting +to spawn too many daemons and will be aborted. + +This may be resolved by increasing the number of available ranks by +re-configuring with the --enable-jumbo-apps option, and then +re-building the application. +# +[rmaps:too-many-procs] +Your job has requested a conflicting number of processes for the +application: + +App: %s +number of procs: %d + +This is more processes than we can launch under the following +additional directives and conditions: + +%s: %d +%s: %d + +Please revise the conflict and try again. +# +[too-many-cpus-per-rank] +Your job has requested more cpus per process(rank) than there +are cpus in a socket: + + Cpus/rank: %d + #cpus/socket: %d + +Please correct one or both of these values and try again. +# +[failed-map] +Your job failed to map. Either no mapper was available, or none +of the available mappers was able to perform the requested +mapping operation. This can happen if you request a map type +(e.g., loadbalance) and the corresponding mapper was not built. + + Mapper result: %s + #procs mapped: %d + #nodes assigned: %d + +# +[unrecognized-policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for %s policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[rmaps:binding-target-not-found] +A request was made to bind to %s, but an appropriate target could not +be found on node %s. +# +[rmaps:binding-overload] +A request was made to bind to that would result in binding more +processes than cpus on a resource: + + Bind to: %s + Node: %s + #processes: %d + #cpus: %d + +You can override this protection by adding the "overload-allowed" +option to your binding directive. +# +[rmaps:no-topology] +A mapping directive was given that requires knowledge of +a remote node's topology. However, no topology info is +available for the following node: + + Node: %s + +The job cannot be executed under this condition. Please either +remove the directive or investigate the lack of topology info. +# +[rmaps:no-available-cpus] +While computing bindings, we found no available cpus on +the following node: + + Node: %s + +Please check your allocation. +# +[rmaps:cpubind-not-supported] +A request was made to bind a process, but at least one node does NOT +support binding processes to cpus. + +Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. +# +[rmaps:membind-not-supported] +WARNING: a request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. + +This is a warning only; your job will continue, though performance may +be degraded. +# +[rmaps:membind-not-supported-fatal] +A request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. + +The provided memory binding policy requires that Open MPI abort the +job at this time. +# +[rmaps:no-bindable-objects] +No bindable objects of the specified type were available +on at least one node: + + Node: %s + Target: %s +# +[rmaps:unknown-binding-level] +Unknown binding level: + + Target: %s + Cache level: %u +# +[orte-rmaps-base:missing-daemon] +While attempting to build a map of this job, a node +was detected to be missing a daemon: + + Node: %s + +This usually indicates a mismatch between what the +allocation provided for the node name versus what was +actually found on the node. +# +[orte-rmaps-base:no-objects] +No objects of the specified type were found on at least one node: + + Type: %s + Node: %s + +The map cannot be done as specified. +# +[topo-file] +A topology file was given for the compute nodes, but +we were unable to correctly process it. Common errors +include incorrectly specifying the path to the file, +or the file being generated in a way that is incompatible +with the version of hwloc being used by OMPI. + + File: %s + +Please correct the problem and try again. +# +[deprecated] +The following command line options and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line options: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[mismatch-binding] +A request for multiple cpus-per-proc was given, but a conflicting binding +policy was specified: + + #cpus-per-proc: %d + type of cpus: %s + binding policy given: %s + +The correct binding policy for the given type of cpu is: + + correct binding policy: %s + +This is the binding policy we would apply by default for this +situation, so no binding need be specified. Please correct the +situation and try again. +# +[mapping-too-low] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that has less cpus than +requested ones: + + #cpus-per-proc: %d + number of cpus: %d + map-by: %s + +Please specify a mapping level that has more cpus, or else let us +define a default mapping that will allow multiple cpus-per-proc. +# +[unrecognized-modifier] +The mapping request contains an unrecognized modifier: + + Request: %s + +Please check your request and try again. +# +[invalid-pattern] +The mapping request contains a pattern that doesn't match +the required syntax of #:object + + Pattern: %s + +Please check your request and try again. +# +[orte-rmaps-base:oversubscribed] +The requested number of processes exceeds the allocated +number of slots: + + #slots: %d + #processes: %d + +This creates an oversubscribed condition that may adversely +impact performance when combined with the requested binding +operation. We will continue, but will not bind the processes. +This warning can be omitted by adding the "overload-allowed" +qualifier to the binding policy. +# +[cannot-launch] +Although we were able to map your job, we are unable to launch +it at this time due to required resources being busy. Please +try again later. +# +[rmaps:no-locale] +The request to bind processes could not be completed due to +an internal error - the locale of the following process was +not set by the mapper code: + + Process: %s + +Please contact the OMPI developers for assistance. Meantime, +you will still be able to run your application without binding +by specifying "--bind-to none" on your command line. +# +[mapping-too-low-init] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that cannot support that +directive. + +Please specify a mapping level that has more than one cpu, or +else let us define a default mapping that will allow multiple +cpus-per-proc. +# +[seq:not-enough-resources] +A sequential map was requested, but not enough node entries +were given to support the requested number of processes: + + Num procs: %d + Num nodes: %d + +We cannot continue - please adjust either the number of processes +or provide more node locations in the file. +# +[device-not-specified] +The request to map processes by distance could not be completed +because device to map near by was not specified. Please, use +rmaps_dist_device mca parameter to set it. +# +[num-procs-not-specified] +Either the -host or -hostfile options were given, but the number +of processes to start was omitted. This combination is not supported. + +Please specify the number of processes to run and try again. +# +[failed-assignments] +The attempt to assign hardware locations to processes on a +compute node failed: + + Node: %s + Policy: %s + +We cannot continue - please check that the policy is in +accordance with the actual available hardware. +# +[rmaps:insufficient-cpus] +The request to bind processes to cpus in a provided list +of logical id's based on their local rank on a node cannot +be met due to there being more processes on a node than +available cpus: + + Node: %s + Local rank: %d + Cpu list: %s + +Please adjust either the number of processes per node or +the list of cpus. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt new file mode 100644 index 00000000..a9eee8eb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt @@ -0,0 +1,53 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[multi-apps-and-zero-np] +Open MPI found multiple applications to be launched, and at least one +that failed to specify the number of processes to execute. When +specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +# +[orte-rmaps-mindist:no-pci-locality-info] +No PCI locality information could be found on at least one node. Please, upgrade BIOS to expose NUMA info. + + Node: %s + +Open MPI will map the application by default (BYSLOT). +# +[orte-rmaps-mindist:several-devices] +On at least one node, more than one of the specified device was discovered. +In this scenario, passing the 'auto' option to the rmaps minimum +distance mapper is ambiguous and therefore not valid. +Please select the particular device that you would like +to be mapped nearest via -mca rmaps_dist_device option, +e.g. --map-by dist -mca rmaps_dist_device mlx4_0. + + Device type: %s + #Devices: %d + Node: %s + +Open MPI will map the application by default (BYSLOT). +# +[orte-rmaps-mindist:device-not-found] +The specified device type cannot be found on at least one node. + + Device: %s + Node: %s + +Open MPI will map the application by default (BYSLOT). diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt new file mode 100644 index 00000000..d208cb3a --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt @@ -0,0 +1,66 @@ +# -*- text -*- +# +# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[invalid-ppr] +An invalid value was given for the number of processes +per resource (ppr) to be mapped on each node: + + PPR: %s + +The specification must be a comma-separated list containing +combinations of number, followed by a colon, followed +by the resource type. For example, a value of "1:socket" indicates that +one process is to be mapped onto each socket. Values are supported +for hwthread, core, L1-3 caches, socket, numa, and node. Note that +enough characters must be provided to clearly specify the desired +resource (e.g., "nu" for "numa"). +# +[unrecognized-ppr-option] +An unrecognized value was given for the number of processes +per resource (ppr) to be mapped on each node: + + Value: %s + PPR: %s + +The specification must be a number, followed by a colon, followed +by the resource type. For example, a value of "1:slot" indicates that +anything over one process per slot is to be considered oversubscribed. +Only values for "hwthread", "core", "socket", +"l1cache", "l2cache", "l3cache", "numa", and "node" are allowed. Note that +enough characters must be provided to clearly specify the desired +resource (e.g., "nu" for "numa"). +# +[ppr-violation] +The provided mapping directives resulted in too many processes +being placed on a node: + + Node: %s + Num procs: %d + Limiting resource: %s + Num resources: %d + Specified constraint: %s + +Please adjust and try again. +# +[ppr-too-many-procs] +Your job has requested more processes than the ppr for +this topology can support: + + App: %s + Number of procs: %d + PPR: %s + +Please revise the conflict and try again. +# +[ppr-topo-missing] +A ppr pattern was specified, but the topology information +for the following node is missing: + + Node: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt new file mode 100644 index 00000000..712b1058 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt @@ -0,0 +1,28 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the resilient mapper. +# +[orte-rmaps-resilient:file-not-found] +The specified file that describes the fault groups for this system: + +FILE: %s + +was not found. Please verify the file name and location. +# +[orte-rmaps-resilient:num-procs] +The resilient mapper requires that you specify the number of processes +to be launched for each application. Please provide the required information +and try again. + +Alternatively, if you truly wish to take advantage of the -perxxx options +or to simply launch one process on every available slot, do not specify the +resilient mapper. Mpirun will automatically select the appropriate mapper +to support your request. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt new file mode 100644 index 00000000..ca459dd7 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt @@ -0,0 +1,56 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# Copyright (c) 2018 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-rr:multi-apps-and-zero-np] +RMAPS found multiple applications to be launched, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. + +[orte-rmaps-rr:per-node-and-too-many-procs] +There are not enough nodes in your allocation to satisfy your request to launch +%d processes on a per-node basis - only %d nodes were available. + +Either request fewer processes, or obtain a larger allocation. +[orte-rmaps-rr:n-per-node-and-too-many-procs] +There are not enough nodes in your allocation to satisfy your request to launch +%d processes on a %d per-node basis - only %d nodes with a total of %d slots were available. + +Either request fewer processes, or obtain a larger allocation. +[orte-rmaps-rr:n-per-node-and-not-enough-slots] +There are not enough slots on the nodes in your allocation to satisfy your request to launch on a %d process-per-node basis - only %d slots/node were available. + +Either request fewer processes/node, or obtain a larger allocation. + +[orte-rmaps-rr:no-np-and-user-map] +You have specified a rank-to-node/slot mapping, but failed to provide +the number of processes to be executed. For some reason, this information +could not be obtained from the mapping you provided, so we cannot continue +with executing the specified application. +# +[orte-rmaps-rr:not-enough-objs] +There are not enough resources on the available nodes +to meet the requested mapping. + + Application: %s + Number of procs: %d + Number of resources: %d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt new file mode 100644 index 00000000..fbab6609 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt @@ -0,0 +1,26 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2018 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-seq:resource-not-found] +The specified hostfile contained a node (%s) that is not in your +allocation. We therefore cannot map a process rank to it. Please +check your allocation and hostfile to ensure the hostfile only +contains allocated nodes. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt new file mode 100644 index 00000000..8414cc58 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt @@ -0,0 +1,288 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rtc-base:not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation for the +application: + %s +The requested hosts were: + %s + +Verify that you have mapped the allocated resources properly using the +--host or --hostfile specification. +[orte-rtc-base:no-mapped-node] +There are no allocated resources for the application: + %s +that match the requested mapping: + %s: %s + +Verify that you have mapped the allocated resources properly for the +indicated specification. +[orte-rtc-base:nolocal-no-available-resources] +There are no available nodes allocated to this job. This could be because +no nodes were found or all the available nodes were already used. + +Note that since the -nolocal option was given no processes can be +launched on the local node. +[orte-rtc-base:no-available-resources] +No nodes are available for this job, either due to a failure to +allocate nodes to the job, or allocated nodes being marked +as unavailable (e.g., down, rebooting, or a process attempting +to be relocated to another node when none are available). +[orte-rtc-base:all-available-resources-used] +All nodes which are allocated for this job are already filled. +# +[out-of-vpids] +The system has exhausted its available ranks - the application is attempting +to spawn too many daemons and will be aborted. + +This may be resolved by increasing the number of available ranks by +re-configuring with the --enable-jumbo-apps option, and then +re-building the application. +# +[rtc:too-many-procs] +Your job has requested a conflicting number of processes for the +application: + +App: %s +number of procs: %d + +This is more processes than we can launch under the following +additional directives and conditions: + +%s: %d +%s: %d + +Please revise the conflict and try again. +# +[too-many-cpus-per-rank] +Your job has requested more cpus per process(rank) than there +are cpus in a socket: + + Cpus/rank: %d + #cpus/socket: %d + +Please correct one or both of these values and try again. +# +[failed-map] +Your job failed to map. Either no mapper was available, or none +of the available mappers was able to perform the requested +mapping operation. This can happen if you request a map type +(e.g., loadbalance) and the corresponding mapper was not built. +# +[unrecognized-policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for %s policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[rtc:binding-target-not-found] +A request was made to bind to %s, but an appropriate target could not +be found on node %s. +# +[rtc:binding-overload] +A request was made to bind to that would result in binding more +processes than cpus on a resource: + + Bind to: %s + Node: %s + #processes: %d + #cpus: %d + +You can override this protection by adding the "overload-allowed" +option to your binding directive. +# +[rtc:no-topology] +A mapping directive was given that requires knowledge of +a remote node's topology. However, no topology info is +available for the following node: + + Node: %s + +The job cannot be executed under this condition. Please either +remove the directive or investigate the lack of topology info. +# +[rtc:no-available-cpus] +While computing bindings, we found no available cpus on +the following node: + + Node: %s + +Please check your allocation. +# +[rtc:cpubind-not-supported] +A request was made to bind a process, but at least one node does NOT +support binding processes to cpus. + + Node: %s +# +[rtc:membind-not-supported] +WARNING: a request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +This is a warning only; your job will continue, though performance may +be degraded. +# +[rtc:membind-not-supported-fatal] +A request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +The provided memory binding policy requires that we abort the +job at this time. +# +[rtc:no-bindable-objects] +No bindable objects of the specified type were available +on at least one node: + + Node: %s + Target: %s +# +[rtc:unknown-binding-level] +Unknown binding level: + + Target: %s + Cache level: %u +# +[orte-rtc-base:missing-daemon] +While attempting to build a map of this job, a node +was detected to be missing a daemon: + + Node: %s + +This usually indicates a mismatch between what the +allocation provided for the node name versus what was +actually found on the node. +# +[orte-rtc-base:no-objects] +No objects of the specified type were found on at least one node: + + Type: %s + Node: %s + +The map cannot be done as specified. +# +[topo-file] +A topology file was given for the compute nodes, but +we were unable to correctly process it. Common errors +include incorrectly specifying the path to the file, +or the file being generated in a way that is incompatible +with the version of hwloc being used by OMPI. + + File: %s + +Please correct the problem and try again. +# +[deprecated] +The following command line options and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line options: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[mismatch-binding] +A request for multiple cpus-per-proc was given, but a conflicting binding +policy was specified: + + #cpus-per-proc: %d + type of cpus: %s + binding policy given: %s + +The correct binding policy for the given type of cpu is: + + correct binding policy: %s + +This is the binding policy we would apply by default for this +situation, so no binding need be specified. Please correct the +situation and try again. +# +[mapping-too-low] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that has less cpus than +requested ones: + + #cpus-per-proc: %d + number of cpus: %d + map-by: %s + +Please specify a mapping level that has more cpus, or else let us +define a default mapping that will allow multiple cpus-per-proc. +# +[unrecognized-modifier] +The mapping request contains an unrecognized modifier: + + Request: %s + +Please check your request and try again. +# +[invalid-pattern] +The mapping request contains a pattern that doesn't match +the required syntax of #:object + + Pattern: %s + +Please check your request and try again. +# +[orte-rtc-base:oversubscribed] +The requested number of processes exceeds the allocated +number of slots: + + #slots: %d + #processes: %d + +This creates an oversubscribed condition that may adversely +impact performance when combined with the requested binding +operation. We will continue, but will not bind the processes. +This warning can be omitted by adding the "overload-allowed" +qualifier to the binding policy. +# +[cannot-launch] +Although we were able to map your job, we are unable to launch +it at this time due to required resources being busy. Please +try again later. + diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt new file mode 100644 index 00000000..8144c3aa --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt @@ -0,0 +1,30 @@ +# -*- text -*- +# +# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for ORTE's hwloc support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. + + Local host: %s + System call: %s %s + Error: %s (errno %d) +# +[target full] +It appears as if there is not enough space for %s (the shared-memory backing +file for hwloc topology). + + Local host: %s + Space Requested: %lu B + Space Available: %llu B diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt new file mode 100644 index 00000000..97bd3e4f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt @@ -0,0 +1,63 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[orte_init:startup:internal-failure] +It looks like orte_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during orte_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +Open MPI developer): + + %s failed + --> Returned value %s (%d) instead of ORTE_SUCCESS +# +# +[orte:session:dir:prohibited] +The specified location for the temporary directories required by Open MPI +is on the list of prohibited locations: + +Location given: %s +Prohibited locations: %s + +If you believe this is in error, please contact your system administrator +to have the list of prohibited locations changed. Otherwise, please identify +a different location to be used (use -h to see the cmd line option), or +simply let the system pick a default location. +# +[orte:session:dir:nopwname] +Open MPI was unable to obtain the username in order to create a path +for its required temporary directories. This type of error is usually +caused by a transient failure of network-based authentication services +(e.g., LDAP or NIS failure due to network congestion), but can also be +an indication of system misconfiguration. + +Please consult your system administrator about these issues and try +again. +# +[orte_nidmap:too_many_nodes] +An error occurred while trying to pack the information about the job. More nodes +have been found than the %d expected. Please check your configuration files such +as the mapping. +# +[orte_init:startup:num_daemons] +Open MPI was unable to determine the number of nodes in your allocation. We +are therefore assuming a very large number to ensure you receive proper error +messages. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt new file mode 100644 index 00000000..6e63009a --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt @@ -0,0 +1,27 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's data server. +# +[orteserver:usage] +Start an Open RTE data server + +Usage: %s [OPTIONS] + +%s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt new file mode 100644 index 00000000..b186d3b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt @@ -0,0 +1,25 @@ + -*- text -*- +# +# Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for ORTE SNAPC framework. +# +[invalid_metadata] +Error: The local checkpoint contains invalid or incomplete metadata for Process %s. + This usually indicates that the local checkpoint is invalid. + Check the metadata file (%s) in the following directory: + %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orted.txt b/macx64/mpi/openmpi/share/openmpi/help-orted.txt new file mode 100644 index 00000000..2f390d06 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orted.txt @@ -0,0 +1,109 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orted. +# +[orted:usage] +Usage: %s [OPTION]... +Start an Open RTE Daemon + +%s +[orted:environ] +Open RTE Daemon was unable to set + %s = %s +in the environment. Returned value %d instead of ORTE_SUCCESS. +[orted:init-failure] +Open RTE was unable to initialize properly. The error occured while +attempting to %s. Returned value %d instead of ORTE_SUCCESS. + +# +[orted:cannot-bind] +A request was made to bind the Open RTE daemons to +a core that does not exist on this node: + + node: %s + cores: %s + +The MCA param directing this behavior is orte_daemon_cores. +Please correct the request and try again. +# +[cwd] +A dynamic operation (%s) was requested that requires us to obtain +the current working directory. Unfortunately, an error was returned +when we attempted to obtain it: + + error: %d + +We are unable to complete the requested operation. +# +[bad-key] +A dynamic operation (%s) was requested that included an unrecognized +info key: + + group: %s + key: %s + +The operation will continue, but may not behave completely as expected. +# +[timedout] +A request has timed out and will therefore fail: + + Operation: %s + +Your job may terminate as a result of this problem. You may want to +adjust the MCA parameter pmix_server_max_wait and try again. If this +occurred during a connect/accept operation, you can adjust that time +using the pmix_base_exchange_timeout parameter. +# +[noroom] +A request for an asynchronous runtime operation cannot be fulfilled +because of a lack of room in the tracking array: + + Operation: %s + Number of rooms: %d + +This is usually caused by a large job that encounters significant +delays across the cluster when starting the application processes. +Your job may terminate as a result of this problem. You may want to +adjust the MCA parameter pmix_server_max_reqs and try again. +# +[noserver] +A publish/lookup server was provided, but we were unable to connect +to it - please check the connection info and ensure the server +is alive: + + Connection: %s +# +[mpir-debugger-detected] +Open MPI has detected that you have attached a debugger to this MPI +job, and that debugger is using the legacy "MPIR" method of +attachment. + +Please note that Open MPI has deprecated the "MPIR" debugger +attachment method in favor of the new "PMIx" debugger attchment +mechanisms. + +*** This means that future versions of Open MPI may not support the +*** "MPIR" debugger attachment method at all. Specifically: the +*** debugger you just attached may not work with future versions of +*** Open MPI. + +You may wish to contact your debugger vendor to inquire about support +for PMIx-based debugger attachment mechanisms. Meantime, you can +disable this warning by setting the OMPI_MPIR_DO_NOT_WARN envar to 1. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orterun.txt b/macx64/mpi/openmpi/share/openmpi/help-orterun.txt new file mode 100644 index 00000000..2b006f00 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orterun.txt @@ -0,0 +1,694 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2007-2016 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2012 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orterun:init-failure] +Open RTE was unable to initialize properly. The error occured while +attempting to %s. Returned value %d instead of ORTE_SUCCESS. +[orterun:usage] +%s (%s) %s + +Usage: %s [OPTION]... [PROGRAM]... +Start the given program using Open RTE + +%s + +Report bugs to %s +[orterun:version] +%s (%s) %s + +Report bugs to %s +[orterun:allocate-resources] +%s was unable to allocate enough resources to start your application. +This might be a transient error (too many nodes in the cluster were +unavailable at the time of the request) or a permenant error (you +requsted more nodes than exist in your cluster). + +While probably only useful to Open RTE developers, the error returned +was %d. +[orterun:error-spawning] +%s was unable to start the specified application. An attempt has been +made to clean up all processes that did start. The error returned was +%d. +[orterun:appfile-not-found] +Unable to open the appfile: + + %s + +Double check that this file exists and is readable. +[orterun:executable-not-specified] +No executable was specified on the %s command line. + +Aborting. +[orterun:multi-apps-and-zero-np] +%s found multiple applications specified on the command line, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +[orterun:nothing-to-do] +%s could not find anything to do. + +It is possible that you forgot to specify how many processes to run +via the "-np" argument. +[orterun:call-failed] +%s encountered a %s call failure. This should not happen, and +usually indicates an error within the operating system itself. +Specifically, the following error occurred: + + %s + +The only other available information that may be helpful is the errno +that was returned: %d. +[orterun:environ] +%s was unable to set + %s = %s +in the environment. Returned value %d instead of ORTE_SUCCESS. +[orterun:precondition] +%s was unable to precondition transports +Returned value %d instead of ORTE_SUCCESS. +[orterun:attr-failed] +%s was unable to define an attribute +Returned value %d instead of ORTE_SUCCESS. +# +[orterun:proc-ordered-abort] +%s has exited due to process rank %lu with PID %lu on +node %s calling "abort". This may have caused other processes +in the application to be terminated by signals sent by %s +(as reported here). +# +[orterun:proc-exit-no-sync] +%s has exited due to process rank %lu with PID %lu on +node %s exiting improperly. There are three reasons this could occur: + +1. this process did not call "init" before exiting, but others in +the job did. This can cause a job to hang indefinitely while it waits +for all processes to call "init". By rule, if one process calls "init", +then ALL processes must call "init" prior to termination. + +2. this process called "init", but exited without calling "finalize". +By rule, all processes that call "init" MUST call "finalize" prior to +exiting or it will be considered an "abnormal termination" + +3. this process called "MPI_Abort" or "orte_abort" and the mca parameter +orte_create_session_dirs is set to false. In this case, the run-time cannot +detect that the abort call was an abnormal termination. Hence, the only +error message you will receive is this one. + +This may have caused other processes in the application to be +terminated by signals sent by %s (as reported here). + +You can avoid this message by specifying -quiet on the %s command line. +# +[orterun:proc-exit-no-sync-unknown] +%s has exited due to a process exiting without calling "finalize", +but has no info as to the process that caused that situation. This +may have caused other processes in the application to be +terminated by signals sent by %s (as reported here). +# +[orterun:proc-aborted] +%s noticed that process rank %lu with PID %lu on node %s exited on signal %d. +# +[orterun:proc-aborted-unknown] +%s noticed that the job aborted, but has no info as to the process +that caused that situation. +# +[orterun:proc-aborted-signal-unknown] +%s noticed that the job aborted by signal, but has no info as +to the process that caused that situation. +# +[orterun:proc-aborted-strsignal] +%s noticed that process rank %lu with PID %lu on node %s exited on signal %d (%s). +# +[orterun:abnormal-exit] +WARNING: %s has exited before it received notification that all +started processes had terminated. You should double check and ensure +that there are no runaway processes still executing. +# +[orterun:sigint-while-processing] +WARNING: %s is in the process of killing a job, but has detected an +interruption (probably control-C). + +It is dangerous to interrupt %s while it is killing a job (proper +termination may not be guaranteed). Hit control-C again within 1 +second if you really want to kill %s immediately. +# +[orterun:double-prefix] +Both a prefix was supplied to %s and the absolute path to %s was +given: + + Prefix: %s + Path: %s + +Only one should be specified to avoid potential version +confusion. Operation will continue, but the -prefix option will be +used. This is done to allow you to select a different prefix for +the backend computation nodes than used on the frontend for %s. +# +[orterun:app-prefix-conflict] +Both a prefix or absolute path was given for %s, and a different +prefix provided for the first app_context: + + Mpirun prefix: %s + App prefix: %s + +Only one should be specified to avoid potential version +confusion. Operation will continue, but the application's prefix +option will be ignored. +# +[orterun:empty-prefix] +A prefix was supplied to %s that only contained slashes. + +This is a fatal error; %s will now abort. No processes were launched. +# +[debugger-mca-param-not-found] +Internal error -- the orte_base_user_debugger MCA parameter was not able to +be found. Please contact the Open RTE developers; this should not +happen. +# +[debugger-orte_base_user_debugger-empty] +The MCA parameter "orte_base_user_debugger" was empty, indicating that +no user-level debuggers have been defined. Please set this MCA +parameter to a value and try again. +# +[debugger-not-found] +A suitable debugger could not be found in your PATH. Check the values +specified in the orte_base_user_debugger MCA parameter for the list of +debuggers that was searched. +# +[debugger-exec-failed] +%s was unable to launch the specified debugger. This is what was +launched: + + %s + +Things to check: + + - Ensure that the debugger is installed properly + - Ensure that the "%s" executable is in your path + - Ensure that any required licenses are available to run the debugger +# +[orterun:sys-limit-pipe] +%s was unable to launch the specified application as it encountered an error: + +Error: system limit exceeded on number of pipes that can be open +Node: %s + +when attempting to start process rank %lu. + +This can be resolved by setting the mca parameter opal_set_max_sys_limits to 1, +increasing your limit descriptor setting (using limit or ulimit commands), +asking the system administrator for that node to increase the system limit, or +by rearranging your processes to place fewer of them on that node. +# +[orterun:sys-limit-sockets] +Error: system limit exceeded on number of network connections that can be open + +This can be resolved by setting the mca parameter opal_set_max_sys_limits to 1, +increasing your limit descriptor setting (using limit or ulimit commands), +or asking the system administrator to increase the system limit. +# +[orterun:pipe-setup-failure] +%s was unable to launch the specified application as it encountered an error: + +Error: pipe function call failed when setting up I/O forwarding subsystem +Node: %s + +while attempting to start process rank %lu. +# +[orterun:sys-limit-children] +%s was unable to launch the specified application as it encountered an error: + +Error: system limit exceeded on number of processes that can be started +Node: %s + +when attempting to start process rank %lu. + +This can be resolved by either asking the system administrator for that node to +increase the system limit, or by rearranging your processes to place fewer of them +on that node. +# +[orterun:failed-term-attrs] +%s was unable to launch the specified application as it encountered an error: + +Error: reading tty attributes function call failed while setting up +I/O forwarding system +Node: %s + +while attempting to start process rank %lu. +# +[orterun:wdir-not-found] +%s was unable to launch the specified application as it could not +change to the specified working directory: + +Working directory: %s +Node: %s + +while attempting to start process rank %lu. +# +[orterun:exe-not-found] +%s was unable to find the specified executable file, and therefore +did not launch the job. This error was first reported for process +rank %lu; it may have occurred for other processes as well. + +NOTE: A common cause for this error is misspelling a %s command + line parameter option (remember that %s interprets the first + unrecognized command line token as the executable). + +Node: %s +Executable: %s +# +[orterun:exe-not-accessible] +%s was unable to launch the specified application as it could not access +or execute an executable: + +Executable: %s +Node: %s + +while attempting to start process rank %lu. +# +[orterun:pipe-read-failure] +%s was unable to launch the specified application as it encountered an error: + +Error: reading from a pipe function call failed while spawning a local process +Node: %s + +while attempting to start process rank %lu. +# +[orterun:proc-failed-to-start] +%s was unable to start the specified application as it encountered an +error: + +Error code: %d +Error name: %s +Node: %s + +when attempting to start process rank %lu. +# +[orterun:proc-socket-not-avail] +%s was unable to start the specified application as it encountered an +error: + +Error name: %s +Node: %s + +when attempting to start process rank %lu. +# +[orterun:proc-failed-to-start-no-status] +%s was unable to start the specified application as it encountered an +error on node %s. More information may be available above. +# +[orterun:proc-failed-to-start-no-status-no-node] +%s was unable to start the specified application as it encountered an +error. More information may be available above. +# +[debugger requires -np] +The number of MPI processes to launch was not specified on the command +line. + +The %s debugger requires that you specify a number of MPI processes to +launch on the command line via the "-np" command line parameter. For +example: + + %s -np 4 %s + +Skipping the %s debugger for now. +# +[debugger requires executable] +The %s debugger requires that you specify an executable on the %s +command line; you cannot specify application context files when +launching this job in the %s debugger. For example: + + %s -np 4 my_mpi_executable + +Skipping the %s debugger for now. +# +[debugger only accepts single app] +The %s debugger only accepts SPMD-style launching; specifying an +MPMD-style launch (with multiple applications separated via ':') is +not permitted. + +Skipping the %s debugger for now. +# +[orterun:daemon-died-during-execution] +%s has detected that a required daemon terminated during execution +of the application with a non-zero status. This is a fatal error. +A best-effort attempt has been made to cleanup. However, it is +-strongly- recommended that you execute the orte-clean utility +to ensure full cleanup is accomplished. +# +[orterun:no-orted-object-exit] +%s was unable to determine the status of the daemons used to +launch this application. Additional manual cleanup may be required. +Please refer to the "orte-clean" tool for assistance. +# +[orterun:unclean-exit] +%s was unable to cleanly terminate the daemons on the nodes shown +below. Additional manual cleanup may be required - please refer to +the "orte-clean" tool for assistance. +# +[orterun:event-def-failed] +%s was unable to define an event required for proper operation of +the system. The reason for this error was: + +Error: %s + +Please report this to the Open MPI mailing list users@open-mpi.org. +# +[orterun:ompi-server-filename-bad] +%s was unable to parse the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +This appears to be missing the required ':' following the +keyword "file". Please remember that the correct format for this +command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute. +# +[orterun:ompi-server-filename-missing] +%s was unable to parse the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +This appears to be missing a filename following the ':'. Please +remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute. +# +[orterun:ompi-server-filename-access] +%s was unable to access the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute, and that +you must have read access permissions to that file. +# +[orterun:ompi-server-file-bad] +%s was unable to read the ompi-server's contact info from the +given filename. The filename we were given was: + +FILE: %s + +Please remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute, and that +the file must have a single line in it that contains the Open MPI +uri for the ompi-server. Note that this is *not* a standard uri, but +a special format used internally by Open MPI for communications. It can +best be generated by simply directing the ompi-server to put its +uri in a file, and then giving %s that filename. +[orterun:multiple-hostfiles] +Error: More than one hostfile was passed for a single application +context, which is not supported at this time. +# +[orterun:conflicting-params] +%s has detected multiple instances of an MCA param being specified on +the command line, with conflicting values: + +MCA param: %s +Value 1: %s +Value 2: %s + +This MCA param does not support multiple values, and the system is unable +to identify which value was intended. If this was done in error, please +re-issue the command with only one value. You may wish to review the +output from ompi_info for guidance on accepted values for this param. + +[orterun:server-not-found] +%s was instructed to wait for the requested ompi-server, but was unable to +establish contact with the server during the specified wait time: + +Server uri: %s +Timeout time: %ld + +Error received: %s + +Please check to ensure that the requested server matches the actual server +information, and that the server is in operation. +# +[orterun:server-unavailable] +The user has called an operation involving MPI_Connect and/or MPI_Accept +that spans multiple invocations of mpirun. This requires the support of +the ompi-server tool, which must be executing somewhere that can be +accessed by all participants. + +Please ensure the tool is running, and provide each mpirun with the MCA +parameter "pmix_server_uri" pointing to it. +# +[orterun:malformedport] +An operation involving MPI_Connect and/or MPI_Accept was called with +an unrecognized port string. This typically happens when passing the +string on a cmd line and failing to properly quote it to protect +against the special characters it includes +# +[orterun:ompi-server-pid-bad] +%s was unable to parse the PID of the %s to be used as the ompi-server. +The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server PID:pid-of-%s + +where PID can be either "PID" or "pid". +# +[orterun:ompi-server-could-not-get-hnp-list] +%s was unable to search the list of local %s contact files to find the +specified pid. You might check to see if your local session directory +is available and that you have read permissions on the top of that +directory tree. +# +[orterun:ompi-server-pid-not-found] +%s was unable to find an %s with the specified pid of %d that was to +be used as the ompi-server. The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server PID:pid-of-%s + +where PID can be either "PID" or "pid". +# +[orterun:write_file] +%s was unable to open a file to printout %s as requested. The file +name given was: + +File: %s +# +[orterun:multiple-paffinity-schemes] +Multiple processor affinity schemes were specified (can only specify +one): + +Slot list: %s +opal_paffinity_alone: true + +Please specify only the one desired method. +# +[orterun:slot-list-failed] +We were unable to successfully process/set the requested processor +affinity settings: + +Specified slot list: %s +Error: %s + +This could mean that a non-existent processor was specified, or +that the specification had improper syntax. +# +[orterun:invalid-node-rank] +An invalid node rank was obtained - this is probably something +that should be reported to the OMPI developers. +# +[orterun:invalid-local-rank] +An invalid local rank was obtained - this is probably something +that should be reported to the OMPI developers. +# +[orterun:invalid-phys-cpu] +An invalid physical processor id was returned when attempting to +set processor affinity - please check to ensure that your system +supports such functionality. If so, then this is probably something +that should be reported to the OMPI developers. +# +[orterun:failed-set-paff] +An attempt to set processor affinity has failed - please check to +ensure that your system supports such functionality. If so, then +this is probably something that should be reported to the OMPI +developers. +# +[orterun:topo-not-supported] +An attempt was made to bind a process to a specific hardware topology +mapping (e.g., binding to a socket) but the operating system does not +support such topology-aware actions. Talk to your local system +administrator to find out if your system can support topology-aware +functionality (e.g., Linux Kernels newer than v2.6.18). + +Systems that do not support processor topology-aware functionality +cannot use "bind to socket" and other related functionality. + + Local host: %s + Action attempted: %s %s + Application name: %s +# +[orterun:binding-not-avail] +A request to bind the processes if the operating system supports such +an operation was made, but the OS does not support this operation: + + Local host: %s + Action requested: %s + Application name: %s + +Because the request was made on an "if-available" basis, the job was +launched without taking the requested action. If this is not the +desired behavior, talk to your local system administrator to find out +if your system can support the requested action. +# +[orterun:not-enough-resources] +Not enough %s were found on the local host to meet the requested +binding action: + + Local host: %s + Action requested: %s + Application name: %s + +Please revise the request and try again. +# +[orterun:paffinity-missing-module] +A request to bind processes was made, but no paffinity module +was found: + + Local host: %s + +This is potentially a configuration. You can rerun your job without +requesting binding, or check the configuration. +# +[orterun:invalid-slot-list-range] +A slot list was provided that exceeds the boundaries on available +resources: + + Local host: %s + Slot list: %s + +Please check your boundaries and try again. +# +[orterun:proc-comm-failed] +A critical communication path was lost to: + + My name: %s + Process name: %s + Node: %s +# +[orterun:proc-mem-exceeded] +A process exceeded memory limits: + + Process name: %s + Node: %s +# +[orterun:proc-stalled] +One or more processes appear to have stalled - a monitored file +failed to show the required activity. +# +[orterun:proc-sensor-exceeded] +One or more processes have exceeded a specified sensor limit, but +no further info is available. +# +[orterun:proc-heartbeat-failed] +%s failed to receive scheduled heartbeat communications from a remote +process: + + Process name: %s + Node: %s +# +[orterun:non-zero-exit] +%s detected that one or more processes exited with non-zero status, thus causing +the job to be terminated. The first process to do so was: + + Process name: %s + Exit code: %d +# +[orterun:unrecognized-mr-type] +%s does not recognize the type of job. This should not happen and +indicates an ORTE internal problem. +# +[multiple-combiners] +More than one combiner was specified. The combiner takes the output +from the final reducer in each chain to produce a single, combined +result. Thus, there can only be one combiner for a job. Please +review your command line and try again. +# +[orterun:negative-nprocs] +%s has detected that one or more applications was given a negative +number of processes to run: + + Application: %s + Num procs: %d + +Please correct this value and try again. +# +[orterun:timeout] +The user-provided time limit for job execution has been reached: + + Timeout: %d seconds + +The job will now be aborted. Please check your code and/or +adjust/remove the job execution time limit (as specified by --timeout +command line option or MPIEXEC_TIMEOUT environment variable). +# +[orterun:conflict-env-set] +ERROR: You have attempted to pass environment variables to Open MPI +with both the "-x" method and by setting the MCA parameter "mca_base_env_list". + +Open MPI does not support mixing these two methods. Please choose one +method and try launching your job again. + +Your job will now abort. +# +[orterun:pmix-failed] +The call to pmix_init_server() failed. This may be due to your +system's restriction for Unix's socket's path-length. + + orte_proc_session_dir: %s + +Please try to set TMPDIR to something short (like /tmp) or change +Your computer's name (see uname -n). +# +[orterun:timeoutconflict] +Conflicting requests for timeout were given: + + --timeout command line option: %d + MPIEXEC_TIMEOUT envar: %s + +Only one method should be provided, or else they must agree. Please +correct and retry. diff --git a/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt b/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt new file mode 100644 index 00000000..9b57ac20 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt @@ -0,0 +1,15 @@ +# -*- text -*- +# +# Copyright (c) 2016 Los Alamos National Security, LLC. All rights +# reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[mpi-thread-multiple-not-supported] +The OSC pt2pt component does not support MPI_THREAD_MULTIPLE in this release. +Workarounds are to run on a single node, or to use a system with an RDMA +capable network such as Infiniband. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt new file mode 100644 index 00000000..bcc09125 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt @@ -0,0 +1,175 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 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) 2015-2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[no-available-pls] +No available launching agents were found. + +This is an unusual error; it means that Open RTE was unable to find +any mechanism to launch proceses, and therefore is unable to start the +process(es) required by your application. +# +[daemon-no-assigned-node] +A daemon has no recorded node: + + Daemon: %s + Reported from nodename: %s + +This usually indicates a difference between the names of nodes in the +allocation versus what is returned on the node by get_hostname. +# +[daemon-died-no-signal] +A daemon died unexpectedly with status %d while attempting +to launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[daemon-died-signal-core] +A daemon died unexpectedly on signal %d (with core) while +attempting to launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[daemon-died-signal] +A daemon died unexpectedly on signal %d while attempting to +launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[incomplete-exit-cmd] +One or more daemons could not be ordered to exit. This can be caused by a +number of rather rare problems, but typically is caused by a daemon having +died due to the failure of a node or its communications. This could result +in an incomplete cleanup on the affected nodes. Please see below for a list +of nodes which may require additional cleanup. + +We are truly sorry for the inconvenience. +# +[incomplete-kill-procs-cmd] +One or more daemons could not be ordered to kill their local processes. +This can be caused by a number of rather rare problems, but typically +is caused by a daemon having died due to the failure of a node or its +communications. This could result in an incomplete cleanup on the affected +nodes. Additional information may be available below. + +We are truly sorry for the inconvenience. +# +[stdin-target-out-of-range] +The requested stdin target is out of range for this job - it points +to a process rank that is greater than the number of processes in the +job. + +Specified target: %s +Number of procs: %s + +This could be caused by specifying a negative number for the stdin +target, or by mistyping the desired rank. Remember that MPI ranks begin +with 0, not 1. + +Please correct the cmd line and try again. +# +[too-many-hosts] +A call was made to launch a local slave process, but more than one +target host was provided. Currently, each launch of a local slave +can only be to a single host. To launch slaves on multiple hosts, +you must issue one call/host. + +Num hosts specified: %d + +# +[abs-path-reqd] +A call was made to launch a local slave process that requested the +binaries be pre-positioned on the remote host. However, an absolute +path to the target directory was either not specified, or was provided +in a relative path format. + +Path provided: %s + +The path to the target directory must be given as an absolute path. The +target directory does NOT need to exist - the path to the target will +be created, if required. + +# +[exec-not-found] +A call was made to launch a local slave process, but the specified +executable could not be found: + +Exec: %s + +Please either specify an absolute path to the executable, or check +that the executable is in your PATH. + +# +[cp-not-found] +A call was made to launch a local slave process that requested the +binaries be pre-positioned on the remote host. However, we could not +find the %s command in your path. + +Please check that %s is in your PATH and try again. + +# +[file-not-found] +A call was made to launch a local slave process that requested pre-positioning +of one or more files, but the specified files could not be found: + +File: %s +Source directory: %s + +Please either specify an absolute path to the file, or check +that the file is in your current working directory...and ensure +that you have read permissions on the file. + +# +[deprecated-amca] +You're using the --am option. Please be advised that this option is deprecated; +you should use --tune instead. The --tune option allows one to specify mca +parameters as well as environment variables from within a file using the same +command line syntax (e.g. -mca var val -mca var "val" -x var=val -x var). +The --am option will be removed in a future release. +# +[no-oob] +A call was made to launch additional processes, but this process has +no active out-of-band transports and therefore cannot execute this call. +Please check to see if you have the "oob" MCA parameter set and ensure +that it is either unset or at least includes the tcp transport. +# +[multi-endian] +Open MPI does not currently support multi-endian operations. We have +detected that the following node differs in endianness: + + + Nodename: %s + Endian: %s + Local endian: %s + +Please correct the situation and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt new file mode 100644 index 00000000..1bc46c4d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt @@ -0,0 +1,96 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2015 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[agent-not-found] +The value of the MCA parameter "plm_rsh_agent" was set to a path +that could not be found: + + plm_rsh_agent: %s + +Please either unset the parameter, or check that the path is correct +# +[no-local-orted] +The rsh PLS component was not able to find the executable "orted" in +your PATH or in the directory where Open MPI/OpenRTE was initially installed, +and therefore cannot continue. + +For reference, your current PATH is: + + %s + +We also looked for orted in the following directory: + + %s + +[multiple-prefixes] +Specified multiple application contexts using different +settings for --prefix. Care should be taken, that corresponding +processes are mapped to different nodes. Having multiple prefixes +per node is not allowed. + +The previously set prefix was + %s + +the prefix to be set overriding: + %s + +[concurrency-less-than-zero] +The value of the MCA parameter "pls_rsh_num_concurrent" is less than +or equal to zero (%d). This parameter is used to determine how many +remote agents (typically rsh or ssh) to invoke concurrently while +launching parallel jobs. + +This value has automatically be reset to 1; processing will continue. + +[deadlock-params] +The rsh launcher has been given a number of %d concurrent daemons to +launch and is in a debug-daemons option. However, the total number of +daemons to launch (%d) is greater than this value. This is a scenario that +will cause the system to deadlock. + +To avoid deadlock, either increase the number of concurrent daemons, or +remove the debug-daemons flag. + +[unknown-user] +The user (%d) is unknown to the system (i.e. there is no corresponding +entry in the password file). Please contact your system administrator +for a fix. +# +[cannot-resolve-shell-with-prefix] +The rsh launcher has been given a prefix to use, but could not determine +the type of remote shell being used on the remote node. This is a fatal +error as we cannot determine how to construct the cmd line to set your +remote LD_LIBRARY_PATH and PATH environmental variables. + +The prefix we were given are: + +opal_prefix: %s +prefix_dir: %s +# +[cmd-line-too-long] +The cmd line to launch remote daemons is too long: + + Length: %d + Max length: %d + +Consider setting -mca plm_rsh_pass_environ_mca_params 0 to +avoid including any environmentally set MCA parameters on the +command line. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt new file mode 100644 index 00000000..fac0b9b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt @@ -0,0 +1,55 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[multiple-prefixes] +The SLURM process starter for Open MPI does not support multiple +different --prefix options to mpirun. You can specify at most one +unique value for the --prefix option (in any of the application +contexts); it will be applied to all the application contexts of your +parallel job. + +Put simply, you must have Open MPI installed in the same location on +all of your SLURM nodes. + +Multiple different --prefix options were specified to mpirun. This is +a fatal error for the SLURM process starter in Open MPI. + +The first two prefix values supplied were: + %s +and %s +# +[no-hosts-in-list] +The SLURM process starter for Open MPI didn't find any hosts in +the map for this application. This can be caused by a lack of +an allocation, or by an error in the Open MPI code. Please check +to ensure you have a SLURM allocation. If you do, then please pass +the error to the Open MPI user's mailing list for assistance. +# +[no-local-slave-support] +A call was made to launch a local slave process, but no support +is available for doing so. Launching a local slave requires support +for either rsh or ssh on the backend nodes where MPI processes +are running. + +Please consult with your system administrator about obtaining +such support. +[no-srun] +The SLURM process starter for OpenMPI was unable to locate a +usable "srun" command in its path. Please check your path +and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt b/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt new file mode 100644 index 00000000..5a57507d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt @@ -0,0 +1,37 @@ + -*- text -*- +# +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 Los Alamos National Security, LLC. All rights +# reserved. +# +# Copyright (c) 2016-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for OPAL PMIx base. +# +[pmix2-init-failed] +PMI2_Init failed to intialize. Return code: %d +# +[pmix2-init-returned-bad-values] +PMI2_Init was intialized but negative values for job size and/or +rank was returned. +# +[old-pmix] +A version of PMIx was detected that is too old: + + Version: %s + Min version: %s + +Please reconfigure against an updated version of PMIx. +# +[incorrect-pmix] +An unexpected version of PMIx was loaded: + + Detected: %s + Expected: %s + +Please check the library path and reconfigure if required. diff --git a/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt b/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt new file mode 100644 index 00000000..07327e11 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt @@ -0,0 +1,32 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[evars] +We found conflicting directives regarding the location of OPAL vs PMIx +installation directories: + +%s + +This usually indicates that OMPI was configured to use its internal copy +of PMIx, but another installation of PMIx is also in use on this system +and could potentially cause confusion between the two sets of plugins. +Please either unset the indicated environment variables, or configure +OMPI to use the external PMIx installation. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt new file mode 100644 index 00000000..e3455f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the RAS base. +# +[ras-base:no-allocation] +We were unable to find an allocation for this job as required by +setting the "allocation required" flag. Please ensure you have +the necessary allocation before executing again. + +If you wish to execute without a provided allocation (e.g., by +providing a user-specified hostfile), please ensure that the "allocation +required" flag is not set. This flag can be set in several forms, so +please check that none of the following exist: + +MCA param file: orte_allocation_required = 1 +Environment: OMPI_MCA_orte_allocation_required=1 +Cmd line: -mca orte_allocation_required 1 +# +[ras-sim:mismatch] +The number of topology files and the list of number of nodes +must match - i.e., a number of nodes must be given for each +topology. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt new file mode 100644 index 00000000..76749662 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt @@ -0,0 +1,33 @@ +# -*- text -*- +# +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[no hwloc support for topofiles] +The ras_simulator_topo_files MCA parameter was specified, but this +Open MPI installation has no "hwloc" support, meaning that topo files +cannot be used. + +Your job will now abort. +# +[hwloc API fail] +An internal hwloc API call failed in the RAS simulator module. This +is unusual, and should likely be reported to the Open MPI developers. + +Your job will now abort. + + File: %s + Line: %d + API: %s +# +[hwloc failed to load xml] +The RAS simulator module failed to load an XML topology file. This +usually means that the file is either invalid or does not exist. + + Topo file: %s +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt new file mode 100644 index 00000000..2497fe25 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt @@ -0,0 +1,78 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[slurm-env-var-not-found] +While trying to determine what resources are available, the SLURM +resource allocator expects to find the following environment variables: + + SLURM_NODELIST + SLURM_TASKS_PER_NODE + +However, it was unable to find the following environment variable: + + %s + +#This is a fatal error. +[slurm-env-var-bad-value] +While trying to determine what resources are available, the SLURM +resource allocator uses the following environment variables: + + SLURM_NODELIST value: %s + SLURM_TASKS_PER_NODE value: %s + +However, an error was encountered when trying to parse the following variable: + + %s + +#This is a fatal error. +[slurm-dyn-alloc-timeout] +We attempted to obtain a dynamic allocation from Slurm, but +contact with the Slurm control daemon timed out. Please check +that the Slurm dynamic allocation plug-in is properly operating. +# +[slurm-dyn-alloc-failed] + + Allocation request: %s +# +[dyn-alloc-no-config] +Dynamic allocation was enabled, but no Slurm configuration +file was given. Please provide the required configuration file. +# +[host-not-resolved] +The Slurm control host could not be resolved. + + Host: %s + +Please check the Slurm configuration and try again. +# +[connection-failed] +Connection to the Slurm controller failed: + + Host: %s + Port: %d + +Please check the Slurm configuration and try again. +# +[config-file-not-found] +The Slurm configuration file was not found. + + File: %s + +Please check the filename and path and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt b/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt new file mode 100644 index 00000000..a09b17d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2015 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[leave pinned failed] +A process attempted to use the "leave pinned" MPI feature, but no +memory registration hooks were found on the system at run time. This +may be the result of running on a system that does not support memory +hooks or having some other software subvert Open MPI's use of the +memory hooks. You can disable Open MPI's use of memory hooks by +setting both the mpi_leave_pinned and mpi_leave_pinned_pipeline MCA +parameters to 0. + +Open MPI will disable any transports that are attempting to use the +leave pinned functionality; your job may still run, but may fall back +to a slower network transport (such as TCP). + + rcache name: %s + Process: %s + Local host: %s +# +[cannot deregister in-use memory] +Open MPI intercepted a call to free memory that is still being used by +an ongoing MPI communication. This usually reflects an error in the +MPI application; it may signify memory corruption. Open MPI will now +abort your job. + + rcache name: %s + Local host: %s + Buffer address: %p + Buffer size: %lu diff --git a/macx64/mpi/openmpi/share/openmpi/help-regex.txt b/macx64/mpi/openmpi/share/openmpi/help-regex.txt new file mode 100644 index 00000000..ef24b52c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-regex.txt @@ -0,0 +1,86 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the regex utils. +# +[regex:special-char] +While trying to parse a regular expression to extract a list +of node names, the regex parser encountered a special character +at the beginning of the string: + + regexp: %s + +We do not know how to parse this character - please contact the +Open MPI help list for assistance. + +# +[regex:end-range-missing] +While trying to parse a regular expression to extract a list +of node names, the regex parser could not find the end of a range: + + regexp: %s + +A range must end with a ']' - please contact the +Open MPI help list for assistance. + +# +[regex:bad-value] +While trying to parse a regular expression to extract a list +of node names, the regex parser encountered a value it does +not know how to parse: + + regexp: %s + +Please contact the Open MPI help list for assistance. + +# +[regex:bad-ppn] +While trying to parse a regular expression to extract the number +of processes on each node, the regex parser encountered a value +it does not know how to parse: + + regexp: %s + +Please contact the Open MPI help list for assistance. +# +[regex:num-digits-missing] +While trying to parse a regular expression to extract the node +names, the regex parser was unable to determine the number of +digits in the names: + + regexp: %s + +Please contact the Open MPI help list for assistance. +# +[regex:invalid-name] +While trying to create a regular expression of the node names +used in this application, the regex parser has detected the +presence of an illegal character in the following node name: + + node: %s + +Node names must be composed of a combination of ascii letters, +digits, dots, and the hyphen ('-') character. See the following +for an explanation: + + https://en.wikipedia.org/wiki/Hostname + +Please correct the error and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt b/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt new file mode 100644 index 00000000..f357bf20 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt @@ -0,0 +1,123 @@ +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for rankle utilities. +# +# Voltaire +[no-hwloc] +A slot_list containing detailed location info was given, but +hwloc support is not available: + + Rank: %d + Slot list: %s + +Unfortunately, hwloc support is required for this action. +Please reconfigure OMPI for hwloc if binding to specified +cpus is desired. +[no-rankfile] +Open RTE was unable to open the rankfile: + %s +Check to make sure the path and filename are correct. + +usage: mpirun -mca rmaps_rankfile_path rankfile ./app + +Examples of proper syntax include: + cat hostfile + host1 + host2 + host3 + host4 + cat rankfile + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error_string] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d: + %s +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error_int] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d: + %d +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d. Examples of +proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 + +# +[not-all-mapped-alloc] +Some of the requested ranks are not included in the current allocation. + %s + +Please verify that you have specified the allocated resources properly in +the provided rankfile. +# +[bad-host] +The rankfile that was used claimed that a host was either not +allocated or oversubscribed its slots. Please review your rank-slot +assignments and your host allocation to ensure a proper match. Also, +some systems may require using full hostnames, such as +"host1.example.com" (instead of just plain "host1"). + + Host: %s +# +[bad-index] +Rankfile claimed host %s by index that is bigger than number of allocated hosts. +# +[bad-rankfile] +Error, invalid rank (%d) in the rankfile (%s) +# +[bad-assign] +Error, rank %d is already assigned to %s, check %s +# +[bad-syntax] +Error, invalid syntax in the rankfile (%s) +syntax must be the fallowing +rank i=host_i slot=string +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[orte-rmaps-rf:multi-apps-and-zero-np] +RMAPS found multiple applications to be launched, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +# +[missing-rank] +A rank is missing its location specification: + + Rank: %d + Rank file: %s + +All processes must have their location specified in the rank file. Either +add an entry to the file, or provide a default slot_list to use for +any unspecified ranks. diff --git a/macx64/mpi/openmpi/share/openmpi/help-state-base.txt b/macx64/mpi/openmpi/share/openmpi/help-state-base.txt new file mode 100644 index 00000000..06c4c310 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-state-base.txt @@ -0,0 +1,13 @@ +# -*- text -*- +# +# Copyright (c) 2018 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[normal-termination-but] +While %s job %s terminated normally, %d %s. Further examination may be required. diff --git a/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt new file mode 100644 index 00000000..5bd24e50 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt @@ -0,0 +1,29 @@ +# 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=4.0.1 +language=C++ +compiler_env=CXX +compiler_flags_env=CXXFLAGS +compiler=g++ +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs= -lmpi +libs_static= -lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt new file mode 100644 index 00000000..21646ae1 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt @@ -0,0 +1,29 @@ +# 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=4.0.1 +language=C +compiler_env=CC +compiler_flags_env=CFLAGS +compiler=gcc +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs=-lmpi +libs_static=-lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt new file mode 120000 index 00000000..a06f2929 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt @@ -0,0 +1 @@ +mpic++-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt new file mode 120000 index 00000000..3f5a7fcf --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt @@ -0,0 +1 @@ +mpifort-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt new file mode 120000 index 00000000..3f5a7fcf --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt @@ -0,0 +1 @@ +mpifort-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt new file mode 100644 index 00000000..716a8f1c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt @@ -0,0 +1,28 @@ +# 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=4.0.1 +language=Fortran +compiler_env=FC +compiler_flags_env=FCFLAGS +compiler= +preprocessor_flags= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs= -lmpi_mpifh -lmpi +libs_static= -lmpi_mpifh -lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp b/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp new file mode 100644 index 00000000..0a3ba945 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp @@ -0,0 +1,116 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +############################################################### +# +# OPAL suppressions +# +############################################################### + +# weirdness in init routines on Gentoo +{ + linux_pthread_init + Memcheck:Leak + fun:calloc + fun:allocate_dtv + fun:_dl_allocate_tls_storage + fun:_dl_allocate_tls +} +{ + linux_pthread_init2 + Memcheck:Leak + fun:calloc + fun:_dl_tls_setup + fun:__pthread_initialize_minimal +} +{ + linux_pthread_init3 + Memcheck:Leak + fun:memalign + fun:_dl_allocate_tls_storage + fun:_dl_allocate_tls + fun:__pthread_initialize_minimal +} + +# The event library leaves some blocks in use that we should clean up, +# but it would require much changing of the event library, so it +# really isn't worth it... +{ + event_lib_poll + Memcheck:Leak + fun:malloc + fun:realloc + fun:opal_realloc + fun:poll_dispatch +} + + +############################################################### +# +# ORTE suppressions +# +############################################################### + +# inet_ntoa on linux mallocs a static buffer. We can't free +# it, so we have to live with it +{ + linux_inet_ntoa + Memcheck:Leak + fun:malloc + fun:inet_ntoa +} +{ + linux_inet_ntoa_thread + Memcheck:Leak + fun:calloc + fun:pthread_setspecific + fun:inet_ntoa +} + + +############################################################### +# +# OMPI suppressions +# +############################################################### +{ + tcp_send + Memcheck:Param + writev(vector[...]) + fun:writev + fun:mca_btl_tcp_frag_send + fun:mca_btl_tcp_endpoint_send +} + +############################################################### +# +# Suppressions for various commonly-used packages +# +############################################################### + +# Portals reference implementation has a read from invalid issue +{ + portals_send + Memcheck:Param + socketcall.send(msg) + fun:send + fun:utcp_sendbytes + fun:utcp_sendto + fun:utcp_msg_wait +} diff --git a/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt new file mode 100644 index 00000000..2a3ba279 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt @@ -0,0 +1,29 @@ +# 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 Run-Time Environment (ORTE) +project_short=ORTE +version=4.0.1 +language=C +compiler_env=CC +compiler_flags_env=CFLAGS +compiler=gcc +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally always link in open-pal and open-rte in +# ortecc/ortec++ because we intend ORTE applications to use both the +# ORTE and OPAL APIs. +libs=-lopen-rte -lopen-pal +libs_static=-lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libopen-rte.dylib +static_lib_file=libopen-rte.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt new file mode 100644 index 00000000..7a96e7ac --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt @@ -0,0 +1,62 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for PMIX MCA error messages. +# +[find-available:not-valid] +A requested component was not found, or was unable to be opened. This +means that this component is either not installed or is unable to be +used on your system (e.g., sometimes this means that shared libraries +that the component requires are unable to be found/loaded). Note that +PMIX stopped checking at the first component that it did not find. + +Host: %s +Framework: %s +Component: %s +# +[find-available:none found] +No components were able to be opened in the %s framework. + +This typically means that either no components of this type were +installed, or none of the installed componnets can be loaded. +Sometimes this means that shared libraries required by these +components are unable to be found/loaded. + + Host: %s + Framework: %s +# +[framework-param:too-many-negates] +MCA framework parameters can only take a single negation operator +("^"), and it must be at the beginning of the value. The following +value violates this rule: + + %s + +When used, the negation operator sets the "exclusive" behavior mode, +meaning that it will exclude all specified components (and implicitly +include all others). If the negation operator is not specified, the +"inclusive" mode is assumed, meaning that all specified components +will be included (and implicitly exclude all others). + +For example, "^a,b" specifies the exclusive behavior and means "use +all components *except* a and b", while "c,d" specifies the inclusive +behavior and means "use *only* components c and d." + +You cannot mix inclusive and exclusive behavior. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt new file mode 100644 index 00000000..37ac4447 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for PMIX MCA error messages. +# +[invalid-flag-combination] +ERROR: An invalid combination of flags was passed to pmix_mca_base_var_register. + + Variable: %s + Flags: %s %s +# +[default-only-param-set] +WARNING: A user-supplied value attempted to override the default-only MCA +variable named "%s". + +The user-supplied value was ignored. +# +[missing-param-file] +Process %d Unable to locate the variable file "%s" in the following search path: + %s +# +[deprecated-mca-env] +A deprecated MCA variable value was specified in the environment or +on the command line. Deprecated MCA variables should be avoided; +they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-cli] +A deprecated MCA variable value was specified on the command line. Deprecated +MCA variables should be avoided; they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-file] +A deprecated MCA variable value was specified in an MCA variable +file. Deprecated MCA variables should be avoided; they may disappear +in future releases. + + Deprecated variable: %s + Source file: %s + New variable: %s +# +[mutually-exclusive-vars] +Two mutually-exclusive MCA variables were specified. This can result +in undefined behavior, such as ignoring the components that the MCA +variables are supposed to affect. + + 1st MCA variable: %s + Source of value: %s + 2nd MCA variable: %s + Source of value: %s +# +[re-register-with-different-type] +An MCA variable was re-registered with a different type (i.e., it was +either originally registered as an INT and re-registered as a STRING, +or it was originially registered as a STRING and re-registered as an +INT). This a developer error; your job may abort. + + MCA variable name: %s +# +[var-name-conflict] +A name collision was detected on an MCA variable name. This can happen +if two components try to register the same variable with slightly +different name components. The conflicting variables are listed below: + + MCA variable name: %s + New name: %s %s %s + Existing name: %s %s %s +# +[overridden-param-set] +WARNING: A user-supplied value attempted to set a variable that is set +in the override variable file (pmix-mca-params-override.conf). + + Variable: %s + +The user-supplied value was ignored. +# +[invalid-value] +An invalid value was supplied for an MCA variable. + + Variable : %s + Value : %s +# +[invalid-value-enum] +An invalid value was supplied for an enum variable. + + Variable : %s + Value : %s + Valid values : %s +# +[environment-only-param] +WARNING: The special MCA parameter "%s" was set in +an unexpected way, and is likely not working the way you want it to. + +Specifically, this MCA parameter is "special" in that it can *only* be +set in the environment. Setting this value in a file -- and sometimes +even on the command line -- will not work as intended. The *only* way +to set this value is to set "PMIX_MCA_%s" in the environment before +starting your job. + + Value: %s + Source: %s +# +[incorrect-env-list-param] +WARNING: The format of "pmix_mca_base_env_list" parameter is a delimited list of VAR=VAL or +VAR instances. By default, the delimiter is a semicolon: VAR1=VAL1;VAR2;VAR3=VAL3;... +You can set other via "pmix_mca_base_env_list_delimiter" parameter. If the delimiter is a +semicolon, the value of "pmix_mca_base_env_list" variable should be quoted to not interfere +with SHELL command line parsing. In the case where a value is not assigned to variable +VAR, the value will be taken from the current environment. +The following environment variable was not found in the environment: + Variable: %s + MCA variable value: %s +# +[incorrect-env-list-sep] +An invalid value was supplied for an MCA variable "pmix_mca_base_env_list_delimiter". +The "pmix_mca_base_env_list" variable will be ignored. + Value: %s diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt new file mode 100644 index 00000000..211b4521 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt @@ -0,0 +1,56 @@ +# -*- text -*- +# +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file +# +[reqd-not-found] +The plog_base_order MCA parameter included a required logging +channel that is not available: + + Channel: %s + +Please update the parameter and try again. +# +[syslog:unrec-level] +An unrecognized syslog level was given: + + Level: %s + +Please see "man syslog" for a list of defined levels. Input +parameter strings and their corresponding syslog levels +recognized by PMIx include: + + Parameter Level + err LOG_ERR (default) + alert LOG_ALERT + crit LOG_CRIT + emerg LOG_EMERG + warn LOG_WARNING + not LOG_NOTICE + info LOG_INFO + debug LOG_DEBUG + +Please redefine the MCA parameter and try again. +# +[syslog:unrec-facility] +An unsupported or unrecognized value was given for the +syslog facility (i.e., the type of program calling syslog): + + Value: %s + +Please see "man syslog" for a list of defined facility values. +PMIx currently supports only the following designations: + + Parameter Level + auth LOG_AUTH + priv LOG_AUTHPRIV + daemon LOG_DAEMON + user LOG_USER (default) + +Please redefine the MCA parameter and try again. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt new file mode 100644 index 00000000..98fd3a01 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt @@ -0,0 +1,19 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the file sensor +# +[file-stalled] +A specified file is not changing, indicating a possibly stalled application: + +File: %s +Last size: %lu +Last access: %sLast modification: %s diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt new file mode 100644 index 00000000..945e60ba --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt @@ -0,0 +1,20 @@ +# -*- text -*- +# +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the memory usage sensor +# +[mem-limit-exceeded] +A process has exceeded the specified limit on memory usage: + +Node: %s +Process rank: %s +Memory used: %luGbytes +Memory limit: %luGbytes diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt new file mode 100644 index 00000000..9e17710a --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt @@ -0,0 +1,89 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for PMIX. +# +[pmix_init:startup:internal-failure] +It looks like pmix_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during pmix_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +PMIX developer): + + %s failed + --> Returned value %d instead of PMIX_SUCCESS +# +[missingdata] +PMIx has detected that the host RM failed to provide all the job-level +information specified by the PMIx standard. This is not necessarily +a fatal situation, but may negatively impact your launch performance. + +If you feel you have received this warning in error, or wish to ignore +it in the future, you can disable it by setting the PMIx MCA parameter +"pmix_suppress_missing_data_warning=1" +# +[no-plugins] +We were unable to find any usable plugins for the %s framework. This PMIx +framework requires at least one plugin in order to operate. This can be caused +by any of the following: + +* we were unable to build any of the plugins due to some combination + of configure directives and available system support + +* no plugin was selected due to some combination of MCA parameter + directives versus built plugins (i.e., you excluded all the plugins + that were built and/or could execute) + +* the PMIX_INSTALL_PREFIX environment variable, or the MCA parameter + "mca_base_component_path", is set and doesn't point to any location + that includes at least one usable plugin for this framework. + +Please check your installation and environment. +# +[ptl:msg_size] +A received msg header indicates a size that is too large: + + Requested size: %lu + Size limit: %lu + +If you believe this msg is legitimate, please increase the +max msg size via the ptl_base_max_msg_size parameter. +# +[tool:no-server] +A call was made to PMIx_tool_connect_to_server, but no information +was given as to which server the tool should be connected. Accepted +attributes include: + + - PMIX_CONNECT_TO_SYSTEM: connect solely to the system server + + - PMIX_CONNECT_SYSTEM_FIRST: a request to use the system server first, + if existing, and then look for the server specified in a different + attribute + + - PMIX_SERVER_URI: connect to the server at the given URI + + - PMIX_SERVER_NSPACE: connect to the server of a given nspace + + - PMIX_SERVER_PIDINFO: connect to a server embedded in the process with + the given pid + +Please correct your program and try again. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt new file mode 100644 index 00000000..894ec393 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2016 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[rnd-path-too-long] +The PMIx server was unable to setup a rendezvous file due to your +system's restriction for Unix's socket's path-length. + + Temporary directory: %s + Rendezvous filename: %s + +Please try to set TMPDIR to something short (like /tmp) or change +your computer's name to something shorter (see uname -n). +[listener-failed-start] +The PMIx server was unable to setup a rendezvous point. This is +usually due to a conflicting stale named pipe from a prior failed +job, thus preventing the server from binding to its assigned socket. + + Rendezvous filename: %s + +Please remove the stale file and try again. +[data-store-failed] +The PMIx server was unable to store the specified key-value: + + Key: %s + +The precise reason for the failure was provided in the above +"error-log" message. This is probably something that should +be referred to the PMIx developers. +[listener-thread-start] +The PMIx server's listener thread failed to start. We cannot +continue. diff --git a/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp b/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp new file mode 100644 index 00000000..5c2fb6ef --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp @@ -0,0 +1,46 @@ +# -*- text -*- +# +# Copyright (c) 2015-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +{ + fin1 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evutil_secure_rng_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_server_init + fun:main +} +{ + fin2 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evsig_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_Init + fun:main +} +{ + fin3 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evutil_secure_rng_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_init + fun:main +}