update mpich linux

This commit is contained in:
Bassem Girgis
2019-08-10 18:46:24 -05:00
parent fd76cc3a51
commit 9b1ac8cf33
867 changed files with 11634 additions and 13950 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
<HTML>
<HEAD>
<TITLE>Manpages for MPICH</TITLE>
<!-- This file generated by createhtmlindex on -->
</HEAD>
<BODY BGCOLOR="FFFFFF">
<H1>Manpages for MPICH</H1>
<TABLE>
<TR><TD><A HREF="mpicc.html">mpicc</A></TD>
<TD><A HREF="mpiexec.html">mpiexec</A></TD>
<TD><A HREF="mpifort.html">mpifort</A></TD>
</TR>
<TR><TD><A HREF="mpicxx.html">mpicxx</A></TD>
<TD><A HREF="mpif77.html">mpif77</A></TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Manpages for MPICH</TITLE>
<!-- This file generated by createhtmlindex on -->
</HEAD>
<BODY BGCOLOR="FFFFFF">
<H1>Manpages for MPICH</H1>
<TABLE>
<TR><TD><A HREF="mpicc.html">mpicc</A></TD>
<TD><A HREF="mpiexec.html">mpiexec</A></TD>
<TD><A HREF="mpifort.html">mpifort</A></TD>
</TR>
<TR><TD><A HREF="mpicxx.html">mpicxx</A></TD>
<TD><A HREF="mpif77.html">mpif77</A></TD>
<TD></TD>
</TR>
</TABLE>
</BODY>
</HTML>

View File

@@ -22,12 +22,12 @@ running them
<DT><B>-help </B><DD>Give short help
<DT><B>-cc=name </B><DD>Use compiler <tt>name</tt> instead of the default choice. Use
<DT><B>-cc=name </B><DD>Use compiler <TT>name</TT> instead of the default choice. Use
this only if the compiler is compatible with the MPICH
library (see below)
<DT><B>-config=name </B><DD>Load a configuration file for a particular compiler.
This allows a single <tt>mpicc</tt> command to be used with
This allows a single <TT>mpicc</TT> command to be used with
multiple compilers.
<DT><B>-compile_info </B><DD>Show the steps for compiling a program. This option
@@ -44,37 +44,40 @@ details
<DT><B>-echo </B><DD>Show exactly what this program is doing.
This option should normally not be used.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <tt>\-c
</tt>causes files to be compiled, <tt>\-g</tt> selects compilation with
debugging on most systems, and <tt>\-o name</tt> causes linking
with the output executable given the name <tt>name</tt>.
<DT><B>-static</B><DD>mpi - Use a statically compile MPI library, but shared libraries
for all of the other dependencies.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <TT>\-c
</TT>causes files to be compiled, <TT>\-g</TT> selects compilation with
debugging on most systems, and <TT>\-o name</TT> causes linking
with the output executable given the name <TT>name</TT>.
</DL>
<P>
<H2>Environment Variables</H2>
The environment variable <tt>MPICH_CC</tt> may be used
The environment variable <TT>MPICH_CC</TT> 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.
<P>
The environment variable <tt>MPICC_PROFILE</tt> specifies a profile library
and has the same effect as if <tt>\-profile=$MPICC_PROFILE</tt> were used as
an argument to <tt>mpicc</tt>. See the discussion of <tt>\-profile</tt> below for more
The environment variable <TT>MPICC_PROFILE</TT> specifies a profile library
and has the same effect as if <TT>\-profile=$MPICC_PROFILE</TT> were used as
an argument to <TT>mpicc</TT>. See the discussion of <TT>\-profile</TT> below for more
details.
<P>
<H2>Compatible Compilers</H2>
The MPI library may be used with any compiler that uses the same
lengths for basic data objects (such as <tt>long double</tt>) and that
lengths for basic data objects (such as <TT>long double</TT>) 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 <tt>MPICH_CC</tt> environment variable or the
<tt>\-cc=name</tt> command-line argument to override the choice of compiler
exceptions; if you use the <TT>MPICH_CC</TT> environment variable or the
<TT>\-cc=name</TT> 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.
<P>
<H2>Examples</H2>
To compile a single file <tt>foo.c</tt>, use
To compile a single file <TT>foo.c</TT>, use
<PRE>
mpicc -c foo.c
</PRE>
@@ -93,19 +96,19 @@ Combining compilation and linking in a single command
is a convenient way to build simple programs.
<P>
<H2>Selecting a Profiling Library</H2>
The <tt>\-profile=name</tt> argument allows you to specify an MPI profiling
library to be used. <tt>name</tt> can have two forms:
The <TT>\-profile=name</TT> argument allows you to specify an MPI profiling
library to be used. <TT>name</TT> can have two forms:
<P>
<br>A library in the same directory as the MPI library
<br>The name of a profile configuration file
<br>
<BR>A library in the same directory as the MPI library
<BR>The name of a profile configuration file
<BR>
<P>
If <tt>name</tt> is a library, then this library is included before the MPI
If <TT>name</TT> 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.
<P>
If <tt>name.conf</tt> is the name of a file in the sysconfdir directory, then this
If <TT>name.conf</TT> is the name of a file in the sysconfdir directory, then this
is read and may define the following variables:
<DL>
<DT><B>PROFILE_PRELIB </B><DD>Libraries (and paths) to include before the MPI library
@@ -113,9 +116,9 @@ is read and may define the following variables:
<DT><B>PROFILE_POSTLIB </B><DD>Libraries to include after the MPI library
<DT><B>PROFILE_INCPATHS </B><DD>C preprocessor arguments for any include files
For example, to add <tt>/usr/local/myprof/include</tt> to the include path and
the library <tt>libmyprof.a</tt> in <tt>/usr/local/myprof/lib</tt> to the link step,
you could create the file <tt>myprof.conf</tt> with the lines
For example, to add <TT>/usr/local/myprof/include</TT> to the include path and
the library <TT>libmyprof.a</TT> in <TT>/usr/local/myprof/lib</TT> to the link step,
you could create the file <TT>myprof.conf</TT> with the lines
</DL>
<P>
<PRE>
@@ -125,10 +128,10 @@ you could create the file <tt>myprof.conf</tt> with the lines
and place it in the sysconfdir directory (this directory is set at
configure time when MPICH is built). Then using the command-line
argument <tt>\-profile=myprof</tt> will cause these
argument <TT>\-profile=myprof</TT> will cause these
definitions to be added to the relevant compile commands.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
mpicxx, mpifort, mpiexec
<br>
<BR>
</BODY></HTML>

View File

@@ -22,12 +22,12 @@ running them
<DT><B>-help </B><DD>Give short help
<DT><B>-cxx=name </B><DD>Use compiler <tt>name</tt> instead of the default choice. Use
<DT><B>-cxx=name </B><DD>Use compiler <TT>name</TT> instead of the default choice. Use
this only if the compiler is compatible with the MPICH
library (see below)
<DT><B>-config=name </B><DD>Load a configuration file for a particular compiler.
This allows a single <tt>mpicxx</tt> command to be used with
This allows a single <TT>mpicxx</TT> command to be used with
multiple compilers.
<DT><B>-compile_info </B><DD>Show the steps for compiling a program. This option
@@ -44,37 +44,40 @@ details
<DT><B>-echo </B><DD>Show exactly what this program is doing.
This option should normally not be used.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <tt>\-c
</tt>causes files to be compiled, <tt>\-g</tt> selects compilation with
debugging on most systems, and <tt>\-o name</tt> causes linking
with the output executable given the name <tt>name</tt>.
<DT><B>-static</B><DD>mpi - Use a statically compile MPI library, but shared libraries
for all of the other dependencies.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <TT>\-c
</TT>causes files to be compiled, <TT>\-g</TT> selects compilation with
debugging on most systems, and <TT>\-o name</TT> causes linking
with the output executable given the name <TT>name</TT>.
</DL>
<P>
<H2>Environment Variables</H2>
The environment variables <tt>MPICH_CXX</tt> may be used
The environment variables <TT>MPICH_CXX</TT> 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.
<P>
The environment variable <tt>MPICC_PROFILE</tt> specifies a profile library
and has the same effect as if <tt>\-profile=$MPICC_PROFILE</tt> were used as
an argument to <tt>mpicc</tt>. See the discussion of <tt>\-profile</tt> below for more
The environment variable <TT>MPICC_PROFILE</TT> specifies a profile library
and has the same effect as if <TT>\-profile=$MPICC_PROFILE</TT> were used as
an argument to <TT>mpicc</TT>. See the discussion of <TT>\-profile</TT> below for more
details.
<P>
<H2>Compatible Compilers</H2>
The MPI library may be used with any compiler that uses the same
lengths for basic data objects (such as <tt>long double</tt>) and that
lengths for basic data objects (such as <TT>long double</TT>) 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 <tt>MPICH_CXX</tt> environment variable or the
<tt>\-cxx=name</tt> command-line argument to override the choice of compiler
exceptions; if you use the <TT>MPICH_CXX</TT> environment variable or the
<TT>\-cxx=name</TT> 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.
<P>
<H2>Examples</H2>
To compile a single file <tt>foo.c</tt>, use
To compile a single file <TT>foo.c</TT>, use
<PRE>
mpicxx -c foo.cxx
</PRE>
@@ -93,19 +96,19 @@ Combining compilation and linking in a single command
is a convenient way to build simple programs.
<P>
<H2>Selecting a Profiling Library</H2>
The <tt>\-profile=name</tt> argument allows you to specify an MPI profiling
library to be used. <tt>name</tt> can have two forms:
The <TT>\-profile=name</TT> argument allows you to specify an MPI profiling
library to be used. <TT>name</TT> can have two forms:
<P>
<br>A library in the same directory as the MPI library
<br>The name of a profile configuration file
<br>
<BR>A library in the same directory as the MPI library
<BR>The name of a profile configuration file
<BR>
<P>
If <tt>name</tt> is a library, then this library is included before the MPI
If <TT>name</TT> 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.
<P>
If <tt>name.conf</tt> is the name of a file in the sysconfdir directory, then this
If <TT>name.conf</TT> is the name of a file in the sysconfdir directory, then this
is read and may define the following variables:
<DL>
<DT><B>PROFILE_PRELIB </B><DD>Libraries (and paths) to include before the MPI library
@@ -113,9 +116,9 @@ is read and may define the following variables:
<DT><B>PROFILE_POSTLIB </B><DD>Libraries to include after the MPI library
<DT><B>PROFILE_INCPATHS </B><DD>C preprocessor arguments for any include files
For example, to add <tt>/usr/local/myprof/include</tt> to the include path and
the library <tt>libmyprof.a</tt> in <tt>/usr/local/myprof/lib</tt> to the link step,
you could create the file <tt>myprof.conf</tt> with the lines
For example, to add <TT>/usr/local/myprof/include</TT> to the include path and
the library <TT>libmyprof.a</TT> in <TT>/usr/local/myprof/lib</TT> to the link step,
you could create the file <TT>myprof.conf</TT> with the lines
</DL>
<P>
<PRE>
@@ -125,10 +128,10 @@ you could create the file <tt>myprof.conf</tt> with the lines
and place it in the sysconfdir directory (this directory is set at
configure time when MPICH is built). Then using the command-line
argument <tt>\-profile=myprof</tt> will cause these
argument <TT>\-profile=myprof</TT> will cause these
definitions to be added to the relevant compile commands.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
mpicc, mpifort, mpiexec
<br>
<BR>
</BODY></HTML>

View File

@@ -14,12 +14,12 @@ Run an MPI program
mpiexec args executable pgmargs [ : args executable pgmargs ... ]
</PRE>
where <tt>args</tt> are command line arguments for <tt>mpiexec</tt> (see below),
<tt>executable</tt> is the name of an executable MPI program, and <tt>pgmargs
</tt>are command line arguments for the executable. Multiple executables
where <TT>args</TT> are command line arguments for <TT>mpiexec</TT> (see below),
<TT>executable</TT> is the name of an executable MPI program, and <TT>pgmargs
</TT>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 <tt>a.out</tt> on 4 processes:
the MPI program <TT>a.out</TT> on 4 processes:
<PRE>
mpiexec -n 4 a.out
</PRE>
@@ -34,7 +34,7 @@ The MPI standard specifies the following arguments and their meanings:
<DT><B>-arch &lt;architecture name&gt; </B><DD>Pick hosts with this architecture type
<DT><B>-wdir &lt;working directory&gt; </B><DD>cd to this one <em>before</em> running executable
<DT><B>-wdir &lt;working directory&gt; </B><DD>cd to this one <EM>before</EM> running executable
<DT><B>-path &lt;pathlist&gt; </B><DD>use this to find the executable
@@ -53,13 +53,13 @@ Additional arguments that are specific to the MPICH implementation
are discussed below.
<P>
Note that not all of these parameters are meaningful for all
systems. For example, the <tt>gforker</tt> version of <tt>mpiexec</tt> creates all
systems. For example, the <TT>gforker</TT> version of <TT>mpiexec</TT> creates all
processes on the same system on which it is running; in that case, the
<tt>\-arch</tt> and <tt>\-host</tt> options are ignored.
<TT>\-arch</TT> and <TT>\-host</TT> options are ignored.
<P>
The colon character (<tt>:</tt>) may be used to separate different executables
The colon character (<TT>:</TT>) may be used to separate different executables
for MPMD (multiple program multiple data) programming. For example,
to run the program <tt>ocean</tt> on 4 processes and <tt>air</tt> on 8 processes, use:
to run the program <TT>ocean</TT> on 4 processes and <TT>air</TT> on 8 processes, use:
<P>
<PRE>
mpiexec -n 4 ocean : -n 8 air
@@ -70,40 +70,40 @@ to run the program <tt>ocean</tt> on 4 processes and <tt>air</tt> on 8 processes
<H2>MPICH-Specific Arguments</H2>
<P>
Many of the implementations of process managers in MPICH support the
following arguments to <tt>mpiexec</tt>:
following arguments to <TT>mpiexec</TT>:
<P>
<DL>
<DT><B>-np &lt;num&gt; </B><DD>A synonym for the standard <tt>\-n</tt> argument
<DT><B>-np &lt;num&gt; </B><DD>A synonym for the standard <TT>\-n</TT> argument
<DT><B>-env &lt;name&gt; &lt;value&gt; </B><DD>Set the environment variable <tt>&lt;name&gt;</tt> to <tt>&lt;value&gt;</tt> for
the processes being run by <tt>mpiexec
</tt>
<DT><B>-env &lt;name&gt; &lt;value&gt; </B><DD>Set the environment variable <TT>&lt;name&gt;</TT> to <TT>&lt;value&gt;</TT> for
the processes being run by <TT>mpiexec
</TT>
<DT><B>-envnone </B><DD>Pass no environment variables (other than ones specified with
other <tt>\-env</tt> or <tt>\-genv</tt> arguments) to the processes being run by <tt>mpiexec</tt>.
other <TT>\-env</TT> or <TT>\-genv</TT> arguments) to the processes being run by <TT>mpiexec</TT>.
By default, all environment
variables are provided to each MPI process (rationale: principle of
least surprise for the user)
<DT><B>-envlist &lt;list&gt; </B><DD>Pass the listed environment variables (names separated
by commas), with their current values, to the processes being run by
<tt>mpiexec</tt>.
<TT>mpiexec</TT>.
<DT><B>-genv &lt;name&gt; &lt;value&gt; </B><DD>The <tt>\-genv</tt> options have the same meaning as their
corresponding <tt>\-env</tt> version, except they apply to all executables, not just
<DT><B>-genv &lt;name&gt; &lt;value&gt; </B><DD>The <TT>\-genv</TT> options have the same meaning as their
corresponding <TT>\-env</TT> 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).
<DT><B>-genvnone </B><DD>Like <tt>\-envnone</tt>, but for all executables
<DT><B>-genvnone </B><DD>Like <TT>\-envnone</TT>, but for all executables
<DT><B>-genvlist &lt;list&gt; </B><DD>Like <tt>\-envlist</tt>, but for all executables
<DT><B>-genvlist &lt;list&gt; </B><DD>Like <TT>\-envlist</TT>, but for all executables
<DT><B>-usize &lt;n&gt; </B><DD>Specify the value returned for the value of the attribute
<tt>MPI_UNIVERSE_SIZE</tt>.
<TT>MPI_UNIVERSE_SIZE</TT>.
<DT><B>-l </B><DD>Label standard out and standard error (<tt>stdout</tt> and <tt>stderr</tt>) with
<DT><B>-l </B><DD>Label standard out and standard error (<TT>stdout</TT> and <TT>stderr</TT>) with
the rank of the process
<DT><B>-maxtime &lt;n&gt; </B><DD>Set a timelimit of <tt>&lt;n&gt;</tt> seconds.
<DT><B>-maxtime &lt;n&gt; </B><DD>Set a timelimit of <TT>&lt;n&gt;</TT> seconds.
<DT><B>-exitinfo </B><DD>Provide more information on the reason each process exited if
there is an abnormal exit
@@ -111,42 +111,42 @@ there is an abnormal exit
<P>
<H2>Environment variables for mpiexec</H2>
The following environment variables are understood by some versions of
<tt>mpiexec</tt>. The command line arguments have priority over these; that is,
<TT>mpiexec</TT>. 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.
<P>
<DL>
<DT><B>MPIEXEC_TIMEOUT </B><DD>Maximum running time in seconds. <tt>mpiexec</tt> will
<DT><B>MPIEXEC_TIMEOUT </B><DD>Maximum running time in seconds. <TT>mpiexec</TT> will
terminate MPI programs that take longer than the value specified by
<tt>MPIEXEC_TIMEOUT</tt>.
<TT>MPIEXEC_TIMEOUT</TT>.
<DT><B>MPIEXEC_UNIVERSE_SIZE </B><DD>Set the universe size
<DT><B>MPIEXEC_PORT_RANGE </B><DD>Set the range of ports that <tt>mpiexec</tt> will use
<DT><B>MPIEXEC_PORT_RANGE </B><DD>Set the range of ports that <TT>mpiexec</TT> will use
in communicating with the processes that it starts. The format of
this is <tt>&lt;low&gt;:&lt;high&gt;</tt>. For example, to specify any port between
10000 and 10100, use <tt>10000:10100</tt>.
this is <TT>&lt;low&gt;:&lt;high&gt;</TT>. For example, to specify any port between
10000 and 10100, use <TT>10000:10100</TT>.
<DT><B>MPICH_PORT_RANGE </B><DD>Has the same meaning as <tt>MPIEXEC_PORT_RANGE</tt> and
is used if <tt>MPIEXEC_PORT_RANGE</tt> is not set.
<DT><B>MPICH_PORT_RANGE </B><DD>Has the same meaning as <TT>MPIEXEC_PORT_RANGE</TT> and
is used if <TT>MPIEXEC_PORT_RANGE</TT> is not set.
<DT><B>MPIEXEC_PREFIX_DEFAULT </B><DD>If this environment variable is set, output
to standard output is prefixed by the rank in <tt>MPI_COMM_WORLD</tt> of the
to standard output is prefixed by the rank in <TT>MPI_COMM_WORLD</TT> of the
process and output to standard error is prefixed by the rank and the
text <tt>(err)</tt>; both are followed by an angle bracket (<tt>&gt;</tt>). If
text <TT>(err)</TT>; both are followed by an angle bracket (<TT>&gt;</TT>). If
this variable is not set, there is no prefix.
<DT><B>MPIEXEC_PREFIX_STDOUT </B><DD>Set the prefix used for lines sent to standard
output. A <tt>%d</tt> is replaced with the rank in <tt>MPI_COMM_WORLD</tt>; a <tt>%w</tt> is
replaced with an indication of which <tt>MPI_COMM_WORLD</tt> in MPI jobs that
involve multiple <tt>MPI_COMM_WORLD</tt>s (e.g., ones that use <tt>MPI_Comm_spawn</tt> or
<tt>MPI_Comm_connect</tt>).
output. A <TT>%d</TT> is replaced with the rank in <TT>MPI_COMM_WORLD</TT>; a <TT>%w</TT> is
replaced with an indication of which <TT>MPI_COMM_WORLD</TT> in MPI jobs that
involve multiple <TT>MPI_COMM_WORLD</TT>s (e.g., ones that use <TT>MPI_Comm_spawn</TT> or
<TT>MPI_Comm_connect</TT>).
<DT><B>MPIEXEC_PREFIX_STDERR </B><DD>Like <tt>MPIEXEC_PREFIX_STDOUT</tt>, but for standard error.
<DT><B>MPIEXEC_PREFIX_STDERR </B><DD>Like <TT>MPIEXEC_PREFIX_STDOUT</TT>, but for standard error.
</DL>
<P>
<H2>Return Status</H2>
<tt>mpiexec</tt> returns the maximum of the exit status values of all of the
processes created by <tt>mpiexec</tt>.
<TT>mpiexec</TT> returns the maximum of the exit status values of all of the
processes created by <TT>mpiexec</TT>.
<P>
</BODY></HTML>

View File

@@ -22,12 +22,12 @@ running them
<DT><B>-help </B><DD>Give short help
<DT><B>-f77=name </B><DD>Use compiler <tt>name</tt> instead of the default choice. Use
<DT><B>-f77=name </B><DD>Use compiler <TT>name</TT> instead of the default choice. Use
this only if the compiler is compatible with the MPICH
library (see below)
<DT><B>-config=name </B><DD>Load a configuration file for a particular compiler.
This allows a single <tt>mpif77</tt> command to be used with
This allows a single <TT>mpif77</TT> command to be used with
multiple compilers.
<DT><B>-compile_info </B><DD>Show the steps for compiling a program. This option
@@ -44,14 +44,17 @@ details
<DT><B>-echo </B><DD>Show exactly what this program is doing.
This option should normally not be used.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <tt>\-c
</tt>causes files to be compiled, <tt>\-g</tt> selects compilation with
debugging on most systems, and <tt>\-o name</tt> causes linking
with the output executable given the name <tt>name</tt>.
<DT><B>-static</B><DD>mpi - Use a statically compile MPI library, but shared libraries
for all of the other dependencies.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <TT>\-c
</TT>causes files to be compiled, <TT>\-g</TT> selects compilation with
debugging on most systems, and <TT>\-o name</TT> causes linking
with the output executable given the name <TT>name</TT>.
</DL>
<P>
<H2>Environment Variables</H2>
The environment variables <tt>MPICH_F77</tt> may be used
The environment variables <TT>MPICH_F77</TT> 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
@@ -59,17 +62,17 @@ code compiled with the different compilers.
<P>
<H2>Compatible Compilers</H2>
The MPI library may be used with any compiler that uses the same
lengths for basic data objects (such as <tt>long double</tt>) and that
lengths for basic data objects (such as <TT>long double</TT>) 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 <tt>MPICH_F77</tt> environment variable or the
<tt>\-f77=name</tt> command-line argument to override the choice of compiler
exceptions; if you use the <TT>MPICH_F77</TT> environment variable or the
<TT>\-f77=name</TT> 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.
<P>
<H2>Examples</H2>
To compile a single file <tt>foo.f</tt>, use
To compile a single file <TT>foo.f</TT>, use
<PRE>
mpif77 -c foo.f
</PRE>
@@ -88,19 +91,19 @@ Combining compilation and linking in a single command
is a convenient way to build simple programs.
<P>
<H2>Selecting a Profiling Library</H2>
The <tt>\-profile=name</tt> argument allows you to specify an MPI profiling
library to be used. <tt>name</tt> can have two forms:
The <TT>\-profile=name</TT> argument allows you to specify an MPI profiling
library to be used. <TT>name</TT> can have two forms:
<P>
<br>A library in the same directory as the MPI library
<br>The name of a profile configuration file
<br>
<BR>A library in the same directory as the MPI library
<BR>The name of a profile configuration file
<BR>
<P>
If <tt>name</tt> is a library, then this library is included before the MPI
If <TT>name</TT> 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.
<P>
If <tt>name.conf</tt> is the name of a file in the sysconfdir directory, then this
If <TT>name.conf</TT> is the name of a file in the sysconfdir directory, then this
is read and may define the following variables:
<DL>
<DT><B>PROFILE_PRELIB </B><DD>Libraries (and paths) to include before the MPI library
@@ -108,9 +111,9 @@ is read and may define the following variables:
<DT><B>PROFILE_POSTLIB </B><DD>Libraries to include after the MPI library
<DT><B>PROFILE_INCPATHS </B><DD>C preprocessor arguments for any include files
For example, to add <tt>/usr/local/myprof/include</tt> to the include path and
the library <tt>libmyprof.a</tt> in <tt>/usr/local/myprof/lib</tt> to the link step,
you could create the file <tt>myprof.conf</tt> with the lines
For example, to add <TT>/usr/local/myprof/include</TT> to the include path and
the library <TT>libmyprof.a</TT> in <TT>/usr/local/myprof/lib</TT> to the link step,
you could create the file <TT>myprof.conf</TT> with the lines
</DL>
<P>
<PRE>
@@ -120,10 +123,10 @@ you could create the file <tt>myprof.conf</tt> with the lines
and place it in the sysconfdir directory (this directory is set at
configure time when MPICH is built). Then using the command-line
argument <tt>\-profile=myprof</tt> will cause these
argument <TT>\-profile=myprof</TT> will cause these
definitions to be added to the relevant compile commands.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
mpicc, mpicxx, mpifort, mpiexec
<br>
<BR>
</BODY></HTML>

View File

@@ -22,12 +22,12 @@ running them
<DT><B>-help </B><DD>Give short help
<DT><B>-fc=name </B><DD>Use compiler <tt>name</tt> instead of the default choice. Use
<DT><B>-fc=name </B><DD>Use compiler <TT>name</TT> instead of the default choice. Use
this only if the compiler is compatible with the MPICH
library (see below)
<DT><B>-config=name </B><DD>Load a configuration file for a particular compiler.
This allows a single <tt>mpifort</tt> command to be used with
This allows a single <TT>mpifort</TT> command to be used with
multiple compilers.
<DT><B>-compile_info </B><DD>Show the steps for compiling a program. This option
@@ -44,14 +44,17 @@ details
<DT><B>-echo </B><DD>Show exactly what this program is doing.
This option should normally not be used.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <tt>\-c
</tt>causes files to be compiled, <tt>\-g</tt> selects compilation with
debugging on most systems, and <tt>\-o name</tt> causes linking
with the output executable given the name <tt>name</tt>.
<DT><B>-static</B><DD>mpi - Use a statically compile MPI library, but shared libraries
for all of the other dependencies.
<DT><B>others </B><DD>are passed to the compiler or linker. For example, <TT>\-c
</TT>causes files to be compiled, <TT>\-g</TT> selects compilation with
debugging on most systems, and <TT>\-o name</TT> causes linking
with the output executable given the name <TT>name</TT>.
</DL>
<P>
<H2>Environment Variables</H2>
The environment variables <tt>MPICH_FC</tt> may be used
The environment variables <TT>MPICH_FC</TT> 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
@@ -59,17 +62,17 @@ code compiled with the different compilers.
<P>
<H2>Compatible Compilers</H2>
The MPI library may be used with any compiler that uses the same
lengths for basic data objects (such as <tt>long double</tt>) and that
lengths for basic data objects (such as <TT>long double</TT>) 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 <tt>MPICH_FC</tt> environment variable or the
<tt>\-fc=name</tt> command-line argument to override the choice of compiler
exceptions; if you use the <TT>MPICH_FC</TT> environment variable or the
<TT>\-fc=name</TT> 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.
<P>
<H2>Examples</H2>
To compile a single file <tt>foo.f</tt>, use
To compile a single file <TT>foo.f</TT>, use
<PRE>
mpifort -c foo.f
</PRE>
@@ -88,19 +91,19 @@ Combining compilation and linking in a single command
is a convenient way to build simple programs.
<P>
<H2>Selecting a Profiling Library</H2>
The <tt>\-profile=name</tt> argument allows you to specify an MPI profiling
library to be used. <tt>name</tt> can have two forms:
The <TT>\-profile=name</TT> argument allows you to specify an MPI profiling
library to be used. <TT>name</TT> can have two forms:
<P>
<br>A library in the same directory as the MPI library
<br>The name of a profile configuration file
<br>
<BR>A library in the same directory as the MPI library
<BR>The name of a profile configuration file
<BR>
<P>
If <tt>name</tt> is a library, then this library is included before the MPI
If <TT>name</TT> 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.
<P>
If <tt>name.conf</tt> is the name of a file in the sysconfdir directory, then this
If <TT>name.conf</TT> is the name of a file in the sysconfdir directory, then this
is read and may define the following variables:
<DL>
<DT><B>PROFILE_PRELIB </B><DD>Libraries (and paths) to include before the MPI library
@@ -108,9 +111,9 @@ is read and may define the following variables:
<DT><B>PROFILE_POSTLIB </B><DD>Libraries to include after the MPI library
<DT><B>PROFILE_INCPATHS </B><DD>C preprocessor arguments for any include files
For example, to add <tt>/usr/local/myprof/include</tt> to the include path and
the library <tt>libmyprof.a</tt> in <tt>/usr/local/myprof/lib</tt> to the link step,
you could create the file <tt>myprof.conf</tt> with the lines
For example, to add <TT>/usr/local/myprof/include</TT> to the include path and
the library <TT>libmyprof.a</TT> in <TT>/usr/local/myprof/lib</TT> to the link step,
you could create the file <TT>myprof.conf</TT> with the lines
</DL>
<P>
<PRE>
@@ -120,10 +123,10 @@ you could create the file <tt>myprof.conf</tt> with the lines
and place it in the sysconfdir directory (this directory is set at
configure time when MPICH is built). Then using the command-line
argument <tt>\-profile=myprof</tt> will cause these
argument <TT>\-profile=myprof</TT> will cause these
definitions to be added to the relevant compile commands.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
mpicc, mpicxx, mpifort, mpiexec
<br>
<BR>
</BODY></HTML>

View File

@@ -10,9 +10,9 @@ Meaning of MPI's defined constants
<H2>Data types</H2>
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 <tt>MPI_INT</tt> for a Fortran INTEGER.
Datatypes are of type <tt>MPI_Datatype</tt> in C, type <tt>INTEGER</tt> in Fortran,
and <tt>Type(MPI_Datatype)</tt> in Fortran08
it is in error to use <TT>MPI_INT</TT> for a Fortran INTEGER.
Datatypes are of type <TT>MPI_Datatype</TT> in C, type <TT>INTEGER</TT> in Fortran,
and <TT>Type(MPI_Datatype)</TT> in Fortran08
<P>
<H2>C datatypes</H2>
MPI_CHAR - char
@@ -38,8 +38,8 @@ MPI_CHAR - char
</DL>
<DL><DT><B>MPI_LONG_LONG_INT </B> <DD> long long
</DL>
<DL><DT><B>MPI_LONG_LONG </B> <DD> synonyn for <tt>MPI_LONG_LONG_INT
</tt>
<DL><DT><B>MPI_LONG_LONG </B> <DD> synonyn for <TT>MPI_LONG_LONG_INT
</TT>
</DL>
<DL><DT><B>MPI_UNSIGNED_LONG_LONG </B> <DD> unsigned long long
</DL>
@@ -78,103 +78,103 @@ MPI_CHAR - char
</DL>
<P>
<P>
The following are datatypes for the MPI functions <tt>MPI_MAXLOC</tt> and
<tt>MPI_MINLOC</tt>.
MPI_FLOAT_INT - <tt>struct { float, int }
</tt>
<DL><DT><B>MPI_LONG_INT </B> <DD> <tt>struct { long, int }
</tt>
The following are datatypes for the MPI functions <TT>MPI_MAXLOC</TT> and
<TT>MPI_MINLOC</TT>.
MPI_FLOAT_INT - <TT>struct { float, int }
</TT>
<DL><DT><B>MPI_LONG_INT </B> <DD> <TT>struct { long, int }
</TT>
</DL>
<DL><DT><B>MPI_DOUBLE_INT </B> <DD> <tt>struct { double, int }
</tt>
<DL><DT><B>MPI_DOUBLE_INT </B> <DD> <TT>struct { double, int }
</TT>
</DL>
<DL><DT><B>MPI_SHORT_INT </B> <DD> <tt>struct { short, int }
</tt>
<DL><DT><B>MPI_SHORT_INT </B> <DD> <TT>struct { short, int }
</TT>
</DL>
<DL><DT><B>MPI_2INT </B> <DD> <tt>struct { int, int }
</tt>
<DL><DT><B>MPI_2INT </B> <DD> <TT>struct { int, int }
</TT>
</DL>
<DL><DT><B>MPI_LONG_DOUBLE_INT </B> <DD> <tt>struct { long double, int }</tt>; this
is an <em>optional</em> type, and may be set to <tt>MPI_DATATYPE_NULL
</tt>
<DL><DT><B>MPI_LONG_DOUBLE_INT </B> <DD> <TT>struct { long double, int }</TT>; this
is an <EM>optional</EM> type, and may be set to <TT>MPI_DATATYPE_NULL
</TT>
</DL>
</DL>
<P>
<P>
Special datatypes for C and Fortran
MPI_PACKED - For <tt>MPI_Pack</tt> and <tt>MPI_Unpack
</tt>
<DL><DT><B>MPI_UB </B> <DD> For <tt>MPI_Type_struct</tt>; an upper-bound indicator. Removed in MPI 3
MPI_PACKED - For <TT>MPI_Pack</TT> and <TT>MPI_Unpack
</TT>
<DL><DT><B>MPI_UB </B> <DD> For <TT>MPI_Type_struct</TT>; an upper-bound indicator. Removed in MPI 3
</DL>
<DL><DT><B>MPI_LB </B> <DD> For <tt>MPI_Type_struct</tt>; a lower-bound indicator. Removed in MPI 3
<DL><DT><B>MPI_LB </B> <DD> For <TT>MPI_Type_struct</TT>; a lower-bound indicator. Removed in MPI 3
</DL>
</DL>
<P>
<H2>Fortran datatypes</H2>
MPI_REAL - <tt>REAL
</tt>
<DL><DT><B>MPI_INTEGER </B> <DD> <tt>INTEGER
</tt>
MPI_REAL - <TT>REAL
</TT>
<DL><DT><B>MPI_INTEGER </B> <DD> <TT>INTEGER
</TT>
</DL>
<DL><DT><B>MPI_LOGICAL </B> <DD> <tt>LOGICAL
</tt>
<DL><DT><B>MPI_LOGICAL </B> <DD> <TT>LOGICAL
</TT>
</DL>
<DL><DT><B>MPI_DOUBLE_PRECISION </B> <DD> <tt>DOUBLE PRECISION
</tt>
<DL><DT><B>MPI_DOUBLE_PRECISION </B> <DD> <TT>DOUBLE PRECISION
</TT>
</DL>
<DL><DT><B>MPI_COMPLEX </B> <DD> <tt>COMPLEX
</tt>
<DL><DT><B>MPI_COMPLEX </B> <DD> <TT>COMPLEX
</TT>
</DL>
<DL><DT><B>MPI_DOUBLE_COMPLEX </B> <DD> <tt>complex*16</tt> (or <tt>complex*32</tt>) where supported.
<DL><DT><B>MPI_DOUBLE_COMPLEX </B> <DD> <TT>complex*16</TT> (or <TT>complex*32</TT>) where supported.
</DL>
</DL>
<P>
The following datatypes are optional
MPI_INTEGER1 - <tt>integer*1</tt> if supported
<DL><DT><B>MPI_INTEGER2 </B> <DD> <tt>integer*2</tt> if supported
MPI_INTEGER1 - <TT>integer*1</TT> if supported
<DL><DT><B>MPI_INTEGER2 </B> <DD> <TT>integer*2</TT> if supported
</DL>
<DL><DT><B>MPI_INTEGER4 </B> <DD> <tt>integer*4</tt> if supported
<DL><DT><B>MPI_INTEGER4 </B> <DD> <TT>integer*4</TT> if supported
</DL>
<DL><DT><B>MPI_INTEGER8 </B> <DD> <tt>integer*8</tt> if supported
<DL><DT><B>MPI_INTEGER8 </B> <DD> <TT>integer*8</TT> if supported
</DL>
<DL><DT><B>MPI_INTEGER16 </B> <DD> <tt>integer*16</tt> if supported
<DL><DT><B>MPI_INTEGER16 </B> <DD> <TT>integer*16</TT> if supported
</DL>
<DL><DT><B>MPI_REAL4 </B> <DD> <tt>real*4</tt> if supported
<DL><DT><B>MPI_REAL4 </B> <DD> <TT>real*4</TT> if supported
</DL>
<DL><DT><B>MPI_REAL8 </B> <DD> <tt>real*8</tt> if supported
<DL><DT><B>MPI_REAL8 </B> <DD> <TT>real*8</TT> if supported
</DL>
</DL>
<DL><DT><B>MPI_REAL16 </B> <DD> <tt>real*16</tt> if supported
<DL><DT><B>MPI_REAL16 </B> <DD> <TT>real*16</TT> if supported
</DL>
<DL><DT><B>MPI_COMPLEX8 </B> <DD> <tt>complex*8</tt> if supported
<DL><DT><B>MPI_COMPLEX8 </B> <DD> <TT>complex*8</TT> if supported
</DL>
<DL><DT><B>MPI_COMPLEX16 </B> <DD> <tt>complex*16</tt> if supported
<DL><DT><B>MPI_COMPLEX16 </B> <DD> <TT>complex*16</TT> if supported
</DL>
<DL><DT><B>MPI_COMPLEX32 </B> <DD> <tt>complex*32</tt> if supported
<DL><DT><B>MPI_COMPLEX32 </B> <DD> <TT>complex*32</TT> if supported
</DL>
</DL>
<P>
The following are datatypes for the MPI functions <tt>MPI_MAXLOC</tt> and
<tt>MPI_MINLOC</tt>. In Fortran, these datatype always consist of
The following are datatypes for the MPI functions <TT>MPI_MAXLOC</TT> and
<TT>MPI_MINLOC</TT>. In Fortran, these datatype always consist of
two elements of the same Fortran type.
MPI_2INTEGER - <tt>INTEGER,INTEGER
</tt>
<DL><DT><B>MPI_2REAL </B> <DD> <tt>REAL, REAL
</tt>
MPI_2INTEGER - <TT>INTEGER,INTEGER
</TT>
<DL><DT><B>MPI_2REAL </B> <DD> <TT>REAL, REAL
</TT>
</DL>
<DL><DT><B>MPI_2DOUBLE_PRECISION </B> <DD> <tt>DOUBLE PRECISION, DOUBLE PRECISION
</tt>
<DL><DT><B>MPI_2DOUBLE_PRECISION </B> <DD> <TT>DOUBLE PRECISION, DOUBLE PRECISION
</TT>
</DL>
</DL>
<P>
MPI Datatypes for MPI Types
MPI_AINT - Datatype for an <tt>MPI_Aint
</tt>
<DL><DT><B>MPI_OFFSET </B> <DD> Datatype for an <tt>MPI_Offset
</tt>
MPI_AINT - Datatype for an <TT>MPI_Aint
</TT>
<DL><DT><B>MPI_OFFSET </B> <DD> Datatype for an <TT>MPI_Offset
</TT>
</DL>
<DL><DT><B>MPI_COUNT </B> <DD> Datatype for an <tt>MPI_Count
</tt>
<DL><DT><B>MPI_COUNT </B> <DD> Datatype for an <TT>MPI_Count
</TT>
</DL>
</DL>
<P>
@@ -221,19 +221,19 @@ MPI_COMBINER_NAMED - a named predefined datatype
<H2>MPI Datatype Type Classes</H2>
MPI Type classes used with routines to return Fortran types with defined
precision and range
MPI_TYPECLASS_REAL - <tt>REAL
</tt>
<DL><DT><B>MPI_TYPECLASS_INTEGER </B> <DD> <tt>INTEGER
</tt>
MPI_TYPECLASS_REAL - <TT>REAL
</TT>
<DL><DT><B>MPI_TYPECLASS_INTEGER </B> <DD> <TT>INTEGER
</TT>
</DL>
<DL><DT><B>MPI_TYPECLASS_COMPLEX </B> <DD> <tt>COMPLEX
</tt>
<DL><DT><B>MPI_TYPECLASS_COMPLEX </B> <DD> <TT>COMPLEX
</TT>
</DL>
</DL>
<P>
<H2>MPI Darray and Subarray Values</H2>
These values are used to create a datatype with the <tt>DARRAY</tt> and <tt>SUBARRAY
</tt>constructors.
These values are used to create a datatype with the <TT>DARRAY</TT> and <TT>SUBARRAY
</TT>constructors.
MPI_ORDER_C - Row-major order (as used by C)
<DL><DT><B>MPI_ORDER_FORTRAN </B> <DD> Column-major order (as used by Fortran)
</DL>
@@ -248,8 +248,8 @@ MPI_ORDER_C - Row-major order (as used by C)
</DL>
<P>
<H2>Communicators</H2>
Communicators are of type <tt>MPI_Comm</tt> in C, <tt>INTEGER</tt> in Fortran, and
<tt>Type(MPI_Comm)</tt> in Fortran08
Communicators are of type <TT>MPI_Comm</TT> in C, <TT>INTEGER</TT> in Fortran, and
<TT>Type(MPI_Comm)</TT> in Fortran08
MPI_COMM_WORLD - Contains all of the processes
<DL><DT><B>MPI_COMM_SELF </B> <DD> Contains only the calling process
</DL>
@@ -260,14 +260,14 @@ MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into
the same communicator.
<P>
<H2>Groups</H2>
Groups are of type <tt>MPI_Group</tt> in C, <tt>INTEGER</tt> in Fortran,
and <tt>Type(MPI_Group)</tt> in Fortran08
Groups are of type <TT>MPI_Group</TT> in C, <TT>INTEGER</TT> in Fortran,
and <TT>Type(MPI_Group)</TT> in Fortran08
<P>
MPI_GROUP_EMPTY - A group containing no members.
<P>
<H2>Results of the compare operations on groups and communicators</H2>
MPI_IDENT - Identical
<DL><DT><B>MPI_CONGRUENT </B> <DD> (only for <tt>MPI_COMM_COMPARE</tt>) The groups are identical
<DL><DT><B>MPI_CONGRUENT </B> <DD> (only for <TT>MPI_COMM_COMPARE</TT>) The groups are identical
</DL>
<DL><DT><B>MPI_SIMILAR </B> <DD> Same members, but in a different order
</DL>
@@ -277,9 +277,9 @@ MPI_IDENT - Identical
<P>
<P>
<H2>Collective operations</H2>
The collective combination operations (e.g., <tt>MPI_REDUCE</tt>, <tt>MPI_ALLREDUCE</tt>,
<tt>MPI_REDUCE_SCATTER</tt>, and <tt>MPI_SCAN</tt>) take a combination operation.
This operation is of type <tt>MPI_Op</tt> in C and of type <tt>INTEGER</tt> in Fortran.
The collective combination operations (e.g., <TT>MPI_REDUCE</TT>, <TT>MPI_ALLREDUCE</TT>,
<TT>MPI_REDUCE_SCATTER</TT>, and <TT>MPI_SCAN</TT>) take a combination operation.
This operation is of type <TT>MPI_Op</TT> in C and of type <TT>INTEGER</TT> in Fortran.
The predefined operations are
<P>
MPI_MAX - return the maximum
@@ -315,24 +315,24 @@ the first is found)
<P>
<H2>Notes on collective operations</H2>
<P>
The reduction functions (<tt>MPI_Op</tt>) do not return an error value. As a result,
if the functions detect an error, all they can do is either call <tt>MPI_Abort
</tt>or silently skip the problem. Thus, if you change the error handler from
<tt>MPI_ERRORS_ARE_FATAL</tt> to something else, for example, <tt>MPI_ERRORS_RETURN</tt>,
The reduction functions (<TT>MPI_Op</TT>) do not return an error value. As a result,
if the functions detect an error, all they can do is either call <TT>MPI_Abort
</TT>or silently skip the problem. Thus, if you change the error handler from
<TT>MPI_ERRORS_ARE_FATAL</TT> to something else, for example, <TT>MPI_ERRORS_RETURN</TT>,
then no error may be indicated.
<P>
The reason for this is the performance problems in ensuring that
all collective routines return the same error value.
<P>
Note that not all datatypes are valid for these functions. For example,
<tt>MPI_COMPLEX</tt> is not valid for <tt>MPI_MAX</tt> and <tt>MPI_MIN</tt>. In addition, the MPI
1.1 standard did not include the C types <tt>MPI_CHAR</tt> and <tt>MPI_UNSIGNED_CHAR
</tt>among the lists of arithmetic types for operations like <tt>MPI_SUM</tt>. However,
since the C type <tt>char</tt> is an integer type (like <tt>short</tt>), it should have been
included. The MPI Forum will probably include <tt>char</tt> and <tt>unsigned char
</tt>as a clarification to MPI 1.1; until then, users are advised that MPI
implementations may not accept <tt>MPI_CHAR</tt> and <tt>MPI_UNSIGNED_CHAR</tt> as valid
datatypes for <tt>MPI_SUM</tt>, <tt>MPI_PROD</tt>, etc. MPICH does allow these datatypes.
<TT>MPI_COMPLEX</TT> is not valid for <TT>MPI_MAX</TT> and <TT>MPI_MIN</TT>. In addition, the MPI
1.1 standard did not include the C types <TT>MPI_CHAR</TT> and <TT>MPI_UNSIGNED_CHAR
</TT>among the lists of arithmetic types for operations like <TT>MPI_SUM</TT>. However,
since the C type <TT>char</TT> is an integer type (like <TT>short</TT>), it should have been
included. The MPI Forum will probably include <TT>char</TT> and <TT>unsigned char
</TT>as a clarification to MPI 1.1; until then, users are advised that MPI
implementations may not accept <TT>MPI_CHAR</TT> and <TT>MPI_UNSIGNED_CHAR</TT> as valid
datatypes for <TT>MPI_SUM</TT>, <TT>MPI_PROD</TT>, etc. MPICH does allow these datatypes.
<P>
<H2>Permanent key values</H2>
These are the same in C and Fortran
@@ -342,7 +342,7 @@ MPI_TAG_UB - Largest tag value
</DL>
<DL><DT><B>MPI_IO </B> <DD> Rank of process that can do I/O
</DL>
<DL><DT><B>MPI_WTIME_IS_GLOBAL </B> <DD> Has value 1 if <tt>MPI_WTIME</tt> is globally synchronized.
<DL><DT><B>MPI_WTIME_IS_GLOBAL </B> <DD> Has value 1 if <TT>MPI_WTIME</TT> is globally synchronized.
</DL>
<DL><DT><B>MPI_UNIVERSE_SIZE </B> <DD> Number of available processes. See the standard for
a description of limitations on this value
@@ -350,7 +350,7 @@ a description of limitations on this value
<DL><DT><B>MPI_LASTUSEDCODE </B> <DD> Last used MPI error code (check - code or class?)
</DL>
<DL><DT><B>MPI_APPNUM </B> <DD> Application number, starting from 0. See the standard for
<tt>MPI_COMM_SPAWN_MULTIPLE</tt> and <tt>mpiexec</tt> for details
<TT>MPI_COMM_SPAWN_MULTIPLE</TT> and <TT>mpiexec</TT> for details
</DL>
</DL>
<P>
@@ -390,14 +390,14 @@ MPI_COMM_NULL - Null communicator
<P>
<H2>Predefined Constants</H2>
MPI_MAX_PROCESSOR_NAME - Maximum length of name returned by
<tt>MPI_GET_PROCESSOR_NAME
</tt>
<TT>MPI_GET_PROCESSOR_NAME
</TT>
<DL><DT><B>MPI_MAX_ERROR_STRING </B> <DD> Maximum length of string return by
<tt>MPI_ERROR_STRING
</tt>
<TT>MPI_ERROR_STRING
</TT>
</DL>
<DL><DT><B>MPI_MAX_LIBRARY_VERSION_STRING </B> <DD> Maximum length of string returned by
<tt>MPI_GET_LIBRARY_VERSION_STRING</tt>???
<TT>MPI_GET_LIBRARY_VERSION_STRING</TT>???
</DL>
<DL><DT><B>MPI_MAX_PORT_NAME </B> <DD> Maximum length of a port
</DL>
@@ -415,8 +415,8 @@ undefined or unknown integer value
<DL><DT><B>MPI_KEYVAL_INVALID </B> <DD> Special keyval that may be used to detect
uninitialized keyvals.
</DL>
<DL><DT><B>MPI_BSEND_OVERHEAD </B> <DD> Add this to the size of a <tt>MPI_BSEND
</tt>buffer for each outstanding message
<DL><DT><B>MPI_BSEND_OVERHEAD </B> <DD> Add this to the size of a <TT>MPI_BSEND
</TT>buffer for each outstanding message
</DL>
<DL><DT><B>MPI_PROC_NULL </B> <DD> This rank may be used to send or receive from no-one.
</DL>
@@ -474,17 +474,17 @@ the end of the file
<P>
<H2>File Displacement</H2>
MPI_DISPLACEMENT_CURRENT - Use with files opened with mode
<tt>MPI_MODE_SEQUENTIAL</tt> in calls to <tt>MPI_FILE_SET_VIEW
</tt>
<TT>MPI_MODE_SEQUENTIAL</TT> in calls to <TT>MPI_FILE_SET_VIEW
</TT>
<P>
<H2>File Positioning</H2>
MPI_SEEK_SET - Set the pointer to <tt>offset
</tt>
<DL><DT><B>MPI_SEEK_CUR </B> <DD> Set the pointer to the current position plus <tt>offset
</tt>
MPI_SEEK_SET - Set the pointer to <TT>offset
</TT>
<DL><DT><B>MPI_SEEK_CUR </B> <DD> Set the pointer to the current position plus <TT>offset
</TT>
</DL>
<DL><DT><B>MPI_SEEK_END </B> <DD> Set the pointer to the end of the file plus <tt>offset
</tt>
<DL><DT><B>MPI_SEEK_END </B> <DD> Set the pointer to the end of the file plus <TT>offset
</TT>
</DL>
</DL>
<P>
@@ -548,19 +548,19 @@ calls
MPI_INFO_ENV - Contains the execution environment
<P>
<H2>MPI Status</H2>
The <tt>MPI_Status</tt> datatype is a structure in C. The three elements for use
The <TT>MPI_Status</TT> datatype is a structure in C. The three elements for use
by programmers are
MPI_SOURCE - Who sent the message
<DL><DT><B>MPI_TAG </B> <DD> What tag the message was sent with
</DL>
<DL><DT><B>MPI_ERROR </B> <DD> Any error return (only when the error returned by the routine
has error class <tt>MPI_ERR_IN_STATUS</tt>)
has error class <TT>MPI_ERR_IN_STATUS</TT>)
</DL>
</DL>
<P>
MPI_STATUS_IGNORE - Ignore a single <tt>MPI_Status</tt> argument
<DL><DT><B>MPI_STATUSES_IGNORE </B> <DD> Ignore an array of <tt>MPI_Status
</tt>
MPI_STATUS_IGNORE - Ignore a single <TT>MPI_Status</TT> argument
<DL><DT><B>MPI_STATUSES_IGNORE </B> <DD> Ignore an array of <TT>MPI_Status
</TT>
</DL>
</DL>
<P>
@@ -671,14 +671,14 @@ MPI_Aint - C type that holds any valid address.
<DL><DT><B>MPI_Offset </B> <DD> C type that holds any valid file offset.
</DL>
<DL><DT><B>MPI_Handler_function </B> <DD> C function for handling errors (see
<tt>MPI_Errhandler_create</tt>) .
<TT>MPI_Errhandler_create</TT>) .
</DL>
<DL><DT><B>MPI_User_function </B> <DD> C function to combine values (see collective operations
and <tt>MPI_Op_create</tt>)
and <TT>MPI_Op_create</TT>)
</DL>
<DL><DT><B>MPI_Copy_function </B> <DD> Function to copy attributes (see <tt>MPI_Keyval_create</tt>)
<DL><DT><B>MPI_Copy_function </B> <DD> Function to copy attributes (see <TT>MPI_Keyval_create</TT>)
</DL>
<DL><DT><B>MPI_Delete_function </B> <DD> Function to delete attributes (see <tt>MPI_Keyval_create</tt>)
<DL><DT><B>MPI_Delete_function </B> <DD> Function to delete attributes (see <TT>MPI_Keyval_create</TT>)
</DL>
<DL><DT><B>MPI_ERRORS_ARE_FATAL </B> <DD> Error handler that forces exit on error
</DL>
@@ -758,8 +758,8 @@ MPI_SUCCESS - Successful return code
<DL><DT><B>MPI_ERR_ACCESS </B> <DD> Permission denied
</DL>
<DL><DT><B>MPI_ERR_AMODE </B> <DD> Error related to the amode passed to
<tt>MPI_FILE_OPEN
</tt>
<TT>MPI_FILE_OPEN
</TT>
</DL>
<DL><DT><B>MPI_ERR_BAD_FILE </B> <DD> Invalid file name (e.g., path name too long)
</DL>
@@ -768,8 +768,8 @@ conversion function
</DL>
<DL><DT><B>MPI_ERR_DUP_DATAREP </B> <DD> Conversion functions could not be registered
because a data representation identifier that was already defined was passed
to <tt>MPI_REGISTER_DATAREP
</tt>
to <TT>MPI_REGISTER_DATAREP
</TT>
</DL>
<DL><DT><B>MPI_ERR_FILE_EXISTS </B> <DD> File exists
</DL>
@@ -787,8 +787,8 @@ the file is currently open by some process
<DL><DT><B>MPI_ERR_READ_ONLY </B> <DD> Read-only file or file system
</DL>
<DL><DT><B>MPI_ERR_UNSUPPORTED_DATAREP </B> <DD> Unsupported datarep passed to
<tt>MPI_FILE_SET_VIEW
</tt>
<TT>MPI_FILE_SET_VIEW
</TT>
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid info argument
</DL>

View File

@@ -0,0 +1,18 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_commit</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_commit"><H1>MPIR_Type_commit</H1></A>
nput Parameters: . datatype_p - pointer to MPI datatype
<H2>Synopsis</H2>
<PRE>
int MPIR_Type_commit(MPI_Datatype * datatype_p)
</PRE>
<H2>Output Parameters</H2>
<P>
<H2>Return Value</H2>
0 on success, -1 on failure.
</BODY></HTML>

View File

@@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_contiguous</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_contiguous"><H1>MPIR_Type_contiguous</H1></A>
create a contiguous datatype
<H2>Synopsis</H2>
<PRE>
int MPIR_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of elements in the contiguous block
<DT><B>oldtype </B><DD>type (using handle) of datatype on which vector is based
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newtype </B> <DD> handle of new contiguous datatype
</DL>
<P>
<H2>Return Value</H2>
MPI_SUCCESS on success, MPI error code on failure.
</BODY></HTML>

View File

@@ -0,0 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_dup</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_dup"><H1>MPIR_Type_dup</H1></A>
create a copy of a datatype
<H2>Synopsis</H2>
<PRE>
#undef FUNCNAME
#define FUNCNAME MPIR_Type_dup
#undef FCNAME
#define FCNAME MPL_QUOTE(FUNCNAME)
int MPIR_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>oldtype </B> <DD> handle of original datatype
</DL>
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newtype </B> <DD> handle of newly created copy of datatype
</DL>
<P>
<H2>Return Value</H2>
0 on success, MPI error code on failure.
</BODY></HTML>

View File

@@ -0,0 +1,39 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_get_contents</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_get_contents"><H1>MPIR_Type_get_contents</H1></A>
get content information from datatype
<H2>Synopsis</H2>
<PRE>
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[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>datatype </B><DD>MPI datatype
<DT><B>max_integers </B><DD>size of array_of_integers
<DT><B>max_addresses </B><DD>size of array_of_addresses
<DT><B>max_datatypes </B><DD>size of array_of_datatypes
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>array_of_integers </B><DD>integers used in creating type
<DT><B>array_of_addresses </B><DD>MPI_Aints used in creating type
<DT><B>array_of_datatypes </B><DD>MPI_Datatypes used in creating type
</DL>
<P>
</BODY></HTML>

View File

@@ -0,0 +1,39 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_indexed</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_indexed"><H1>MPIR_Type_indexed</H1></A>
create an indexed datatype
<H2>Synopsis</H2>
<PRE>
int MPIR_Type_indexed(int count,
const int *blocklength_array,
const void *displacement_array,
int dispinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of blocks in type
<DT><B>blocklength_array </B><DD>number of elements in each block
<DT><B>displacement_array </B><DD>offsets of blocks from start of type (see next
parameter for units)
<DT><B>dispinbytes </B><DD>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)
<DT><B>oldtype </B><DD>type (using handle) of datatype on which new type is based
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newtype </B> <DD> handle of new indexed datatype
</DL>
<P>
<H2>Return Value</H2>
0 on success, -1 on failure.
</BODY></HTML>

View File

@@ -0,0 +1,38 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_struct</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_struct"><H1>MPIR_Type_struct</H1></A>
create a struct datatype
<H2>Synopsis</H2>
<PRE>
#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)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of blocks in vector
<DT><B>blocklength_array </B><DD>number of elements in each block
<DT><B>displacement_array </B><DD>offsets of blocks from start of type in bytes
<DT><B>oldtype_array </B><DD>types (using handle) of datatypes on which vector is based
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newtype </B> <DD> handle of new struct datatype
</DL>
<P>
<H2>Return Value</H2>
MPI_SUCCESS on success, MPI errno on failure.
</BODY></HTML>

View File

@@ -0,0 +1,38 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<TITLE>MPIR_Type_vector</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPIR_Type_vector"><H1>MPIR_Type_vector</H1></A>
create a vector datatype
<H2>Synopsis</H2>
<PRE>
int MPIR_Type_vector(int count,
int blocklength,
MPI_Aint stride,
int strideinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of blocks in vector
<DT><B>blocklength </B><DD>number of elements in each block
<DT><B>stride </B><DD>distance from beginning of one block to the next (see next
parameter for units)
<DT><B>strideinbytes </B><DD>if nonzero, then stride is in bytes, otherwise stride
is in terms of extent of oldtype
<DT><B>oldtype </B><DD>type (using handle) of datatype on which vector is based
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newtype </B> <DD> handle of new vector datatype
</DL>
<P>
<H2>Return Value</H2>
0 on success, MPI error code on failure.
</BODY></HTML>

View File

@@ -24,38 +24,38 @@ int MPIX_Comm_agree(MPI_Comm comm, int *flag)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<P>
</BODY></HTML>

View File

@@ -9,53 +9,53 @@
Acknowledge the current group of failed processes
<H2>Synopsis</H2>
<PRE>
int MPIX_Comm_failure_ack( MPI_Comm comm )
int MPIX_Comm_failure_ack(MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator (handle)
</DL>
<P>
<H2>Notes</H2>
Because MPI specifies that null objects (e.g., <tt>MPI_COMM_NULL</tt>) are invalid
as input to MPI routines unless otherwise specified, using <tt>MPI_COMM_NULL
</tt>as input to this routine is an error.
Because MPI specifies that null objects (e.g., <TT>MPI_COMM_NULL</TT>) are invalid
as input to MPI routines unless otherwise specified, using <TT>MPI_COMM_NULL
</TT>as input to this routine is an error.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,7 +9,7 @@
Get the group of acknowledged failures.
<H2>Synopsis</H2>
<PRE>
int MPIX_Comm_failure_get_acked( MPI_Comm comm, MPI_Group *failedgrp )
int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group * failedgrp)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator (handle)
@@ -20,46 +20,46 @@ int MPIX_Comm_failure_get_acked( MPI_Comm comm, MPI_Group *failedgrp )
</DL>
<P>
<H2>Notes</H2>
Because MPI specifies that null objects (e.g., <tt>MPI_COMM_NULL</tt>) are invalid
as input to MPI routines unless otherwise specified, using <tt>MPI_COMM_NULL
</tt>as input to this routine is an error.
Because MPI specifies that null objects (e.g., <TT>MPI_COMM_NULL</TT>) are invalid
as input to MPI routines unless otherwise specified, using <TT>MPI_COMM_NULL
</TT>as input to this routine is an error.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -16,32 +16,32 @@ int MPIX_Comm_revoke(MPI_Comm comm)
</DL>
<P>
<H2>Notes</H2>
Asynchronously notifies all MPI processes associated with the communicator <tt>comm</tt>.
Asynchronously notifies all MPI processes associated with the communicator <TT>comm</TT>.
This will be manifest by returning the MPIX_ERR_REVOKED during a subsequent MPI
call.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -9,7 +9,7 @@
Creates a new communitor from an existing communicator while excluding failed processes
<H2>Synopsis</H2>
<PRE>
int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm)
int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
@@ -24,38 +24,38 @@ int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<P>
</BODY></HTML>

View File

@@ -13,14 +13,14 @@ int MPI_Abort(MPI_Comm comm, int errorcode)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator of tasks to abort
<DT><B>comm </B><DD>communicator of tasks to abort
<DT><B>errorcode </B><DD>error code to return to invoking environment
<DT><B>errorcode </B><DD>error code to return to invoking environment
</DL>
<P>
<H2>Notes</H2>
Terminates all MPI processes associated with the communicator <tt>comm</tt>; in
most systems (all to date), terminates <em>all</em> processes.
Terminates all MPI processes associated with the communicator <TT>comm</TT>; in
most systems (all to date), terminates <EM>all</EM> processes.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
@@ -31,35 +31,35 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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 <tt>MPI_Abort</tt> routine is intended to ensure that an MPI
Because the <TT>MPI_Abort</TT> 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.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -6,85 +6,85 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Accumulate"><H1>MPI_Accumulate</H1></A>
Accumulate data into the target process using remote memory access
Accumulate data into the target process using remote memory access
<H2>Synopsis</H2>
<PRE>
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)
target_datatype, MPI_Op op, MPI_Win win)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>origin_addr </B><DD>initial address of buffer (choice)
<DT><B>origin_addr </B><DD>initial address of buffer (choice)
<DT><B>origin_count </B><DD>number of entries in buffer (nonnegative integer)
<DT><B>origin_count </B><DD>number of entries in buffer (nonnegative integer)
<DT><B>origin_datatype </B><DD>datatype of each buffer entry (handle)
<DT><B>origin_datatype </B><DD>datatype of each buffer entry (handle)
<DT><B>target_rank </B><DD>rank of target (nonnegative integer)
<DT><B>target_rank </B><DD>rank of target (nonnegative integer)
<DT><B>target_disp </B><DD>displacement from start of window to beginning of target
buffer (nonnegative integer)
<DT><B>target_disp </B><DD>displacement from start of window to beginning of target
buffer (nonnegative integer)
<DT><B>target_count </B><DD>number of entries in target buffer (nonnegative integer)
<DT><B>target_count </B><DD>number of entries in target buffer (nonnegative integer)
<DT><B>target_datatype </B><DD>datatype of each entry in target buffer (handle)
<DT><B>target_datatype </B><DD>datatype of each entry in target buffer (handle)
<DT><B>op </B><DD>predefined reduce operation (handle)
<DT><B>op </B><DD>predefined reduce operation (handle)
<DT><B>win </B><DD>window object (handle)
<DT><B>win </B><DD>window object (handle)
</DL>
<P>
<H2>Notes</H2>
The basic components of both the origin and target datatype must be the same
predefined datatype (e.g., all <tt>MPI_INT</tt> or all <tt>MPI_DOUBLE_PRECISION</tt>).
predefined datatype (e.g., all <TT>MPI_INT</TT> or all <TT>MPI_DOUBLE_PRECISION</TT>).
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_WIN </B> <DD> Invalid MPI window object
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Raccumulate
<br>
<BR>
</BODY></HTML>

View File

@@ -20,37 +20,37 @@ int MPI_Add_error_class(int *errorclass)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -24,37 +24,37 @@ int MPI_Add_error_code(int errorclass, int *errorcode)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -6,28 +6,28 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Add_error_string"><H1>MPI_Add_error_string</H1></A>
Associates an error string with an MPI error code or class
Associates an error string with an MPI error code or class
<H2>Synopsis</H2>
<PRE>
int MPI_Add_error_string(int errorcode, const char *string)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>errorcode </B><DD>error code or class (integer)
<DT><B>errorcode </B><DD>error code or class (integer)
<DT><B>string </B><DD>text corresponding to errorcode (string)
<DT><B>string </B><DD>text corresponding to errorcode (string)
</DL>
<P>
<H2>Notes</H2>
The string must be no more than <tt>MPI_MAX_ERROR_STRING</tt> characters long.
The string must be no more than <TT>MPI_MAX_ERROR_STRING</TT> 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 <tt>const</tt> even though the MPI standard does not
Note that the string is <TT>const</TT> even though the MPI standard does not
specify it that way.
<P>
According to the MPI-2 standard, it is erroneous to call <tt>MPI_Add_error_string
</tt>for an error code or class with a value less than or equal
to <tt>MPI_ERR_LASTCODE</tt>. Thus, you cannot replace the predefined error messages
According to the MPI-2 standard, it is erroneous to call <TT>MPI_Add_error_string
</TT>for an error code or class with a value less than or equal
to <TT>MPI_ERR_LASTCODE</TT>. Thus, you cannot replace the predefined error messages
with this routine.
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -35,31 +35,31 @@ with this routine.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -9,7 +9,7 @@
Gets the address of a location in memory
<H2>Synopsis</H2>
<PRE>
int MPI_Address(void *location, MPI_Aint *address)
int MPI_Address(void *location, MPI_Aint * address)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>location </B> <DD> location in caller memory (choice)
@@ -22,7 +22,7 @@ int MPI_Address(void *location, MPI_Aint *address)
<H2>Note</H2>
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 <tt>&amp;</tt> operator, but this is not required in C and
as produced by the C <TT>&amp;</TT> 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.
<P>
@@ -37,36 +37,36 @@ 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 <tt>MPI_Get_address</tt>.
The replacement for this routine is <TT>MPI_Get_address</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -34,7 +34,7 @@ as if the process that originally produced base had called:
</PRE>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Aint_diff
<br>
<BR>
</BODY></HTML>

View File

@@ -35,7 +35,7 @@ process that originally produced the addresses had called
on the addresses initially passed to MPI_GET_ADDRESS.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Aint_add
<br>
<BR>
</BODY></HTML>

View File

@@ -10,50 +10,49 @@ Gathers data from all tasks and distribute the combined data to all tasks
<H2>Synopsis</H2>
<PRE>
int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype,
MPI_Comm comm)
void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendcount </B><DD>number of elements in send buffer (integer)
<DT><B>sendcount </B><DD>number of elements in send buffer (integer)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>recvcount </B><DD>number of elements received from any process (integer)
<DT><B>recvcount </B><DD>number of elements received from any process (integer)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
</DL>
<P>
<H2>Notes</H2>
The MPI standard (1.0 and 1.1) says that
<br>
<BR>
<P>
<br>
<BR>
<P>
The jth block of data sent from each process is received by every process
and placed in the jth block of the buffer <tt>recvbuf</tt>.
<br>
and placed in the jth block of the buffer <TT>recvbuf</TT>.
<BR>
<P>
<br>
<BR>
<P>
This is misleading; a better description is
<br>
<BR>
<P>
<br>
<BR>
<P>
The block of data sent from the jth process is received by every
process and placed in the jth block of the buffer <tt>recvbuf</tt>.
<br>
process and placed in the jth block of the buffer <TT>recvbuf</TT>.
<BR>
<P>
<br>
<BR>
<P>
This text was suggested by Rajeev Thakur and has been adopted as a
clarification by the MPI Forum.
@@ -63,42 +62,42 @@ clarification by the MPI Forum.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_BUFFER </B> <DD> Invalid buffer pointer. Usually a null buffer where

View File

@@ -15,51 +15,51 @@ int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendcount </B><DD>number of elements in send buffer (integer)
<DT><B>sendcount </B><DD>number of elements in send buffer (integer)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>recvcounts </B><DD>integer array (of length group size)
containing the number of elements that are to be received from each process
<DT><B>recvcounts </B><DD>integer array (of length group size)
containing the number of elements that are to be received from each process
<DT><B>displs </B><DD>integer array (of length group size). Entry
<tt>i</tt> specifies the displacement (relative to recvbuf ) at
which to place the incoming data from process <tt>i</tt>
<DT><B>displs </B><DD>integer array (of length group size). Entry
<TT>i</TT> specifies the displacement (relative to recvbuf) at
which to place the incoming data from process <TT>i
</TT>
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
</DL>
<P>
<H2>Notes</H2>
The MPI standard (1.0 and 1.1) says that
<br>
<BR>
<P>
<br>
<BR>
<P>
The jth block of data sent from
each process is received by every process and placed in the jth block of the
buffer <tt>recvbuf</tt>.
<br>
buffer <TT>recvbuf</TT>.
<BR>
<P>
<br>
<BR>
<P>
This is misleading; a better description is
<br>
<BR>
<P>
<br>
<BR>
<P>
The block of data sent from the jth process is received by every
process and placed in the jth block of the buffer <tt>recvbuf</tt>.
<br>
process and placed in the jth block of the buffer <TT>recvbuf</TT>.
<BR>
<P>
<br>
<BR>
<P>
This text was suggested by Rajeev Thakur, and has been adopted as a
clarification to the MPI standard by the MPI-Forum.
@@ -69,31 +69,31 @@ clarification to the MPI standard by the MPI-Forum.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -104,7 +104,7 @@ one is not valid.
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
</BODY></HTML>

View File

@@ -13,13 +13,13 @@ int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>size </B><DD>size of memory segment in bytes (nonnegative integer)
<DT><B>size </B><DD>size of memory segment in bytes (nonnegative integer)
<DT><B>info </B><DD>info argument (handle)
<DT><B>info </B><DD>info argument (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>baseptr </B> <DD> pointer to beginning of memory segment allocated
<DL><DT><B>baseptr </B> <DD> pointer to beginning of memory segment allocated
</DL>
<P>
<H2>Notes</H2>
@@ -27,9 +27,9 @@ 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.
<P>
Also note that while <tt>baseptr</tt> is a <tt>void *</tt> type, this is
Also note that while <TT>baseptr</TT> is a <TT>void *</TT> type, this is
simply to allow easy use of any pointer object for this parameter.
In fact, this argument is really a <tt>void **</tt> type, that is, a
In fact, this argument is really a <TT>void **</TT> type, that is, a
pointer to a pointer.
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -37,31 +37,31 @@ pointer to a pointer.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -70,10 +70,10 @@ possible.
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_NO_MEM </B> <DD> Insufficient memory available for allocation by
<tt>MPI_Alloc_mem
</tt>
<TT>MPI_Alloc_mem
</TT>
</DL>
</BODY></HTML>

View File

@@ -14,19 +14,19 @@ int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count,
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>count </B><DD>number of elements in send buffer (integer)
<DT><B>count </B><DD>number of elements in send buffer (integer)
<DT><B>datatype </B><DD>data type of elements of send buffer (handle)
<DT><B>datatype </B><DD>data type of elements of send buffer (handle)
<DT><B>op </B><DD>operation (handle)
<DT><B>op </B><DD>operation (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> starting address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> starting address of receive buffer (choice)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -34,25 +34,25 @@ int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Notes on collective operations</H2>
<P>
The reduction functions (<tt>MPI_Op</tt>) do not return an error value. As a result,
if the functions detect an error, all they can do is either call <tt>MPI_Abort
</tt>or silently skip the problem. Thus, if you change the error handler from
<tt>MPI_ERRORS_ARE_FATAL</tt> to something else, for example, <tt>MPI_ERRORS_RETURN</tt>,
The reduction functions (<TT>MPI_Op</TT>) do not return an error value. As a result,
if the functions detect an error, all they can do is either call <TT>MPI_Abort
</TT>or silently skip the problem. Thus, if you change the error handler from
<TT>MPI_ERRORS_ARE_FATAL</TT> to something else, for example, <TT>MPI_ERRORS_RETURN</TT>,
then no error may be indicated.
<P>
The reason for this is the performance problems in ensuring that
@@ -60,16 +60,16 @@ all collective routines return the same error value.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -80,14 +80,14 @@ one is not valid.
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_OP </B> <DD> Invalid operation. MPI operations (objects of type <tt>MPI_Op</tt>)
must either be one of the predefined operations (e.g., <tt>MPI_SUM</tt>) or
created with <tt>MPI_Op_create</tt>.
<DL><DT><B>MPI_ERR_OP </B> <DD> Invalid operation. MPI operations (objects of type <TT>MPI_Op</TT>)
must either be one of the predefined operations (e.g., <TT>MPI_SUM</TT>) or
created with <TT>MPI_Op_create</TT>.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -10,26 +10,25 @@ Sends data from all to all processes
<H2>Synopsis</H2>
<PRE>
int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype,
MPI_Comm comm)
void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendcount </B><DD>number of elements to send to each process (integer)
<DT><B>sendcount </B><DD>number of elements to send to each process (integer)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>recvcount </B><DD>number of elements received from any process (integer)
<DT><B>recvcount </B><DD>number of elements received from any process (integer)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -37,42 +36,42 @@ int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_BUFFER </B> <DD> Invalid buffer pointer. Usually a null buffer where

View File

@@ -6,42 +6,41 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Alltoallv"><H1>MPI_Alltoallv</H1></A>
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.
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.
<H2>Synopsis</H2>
<PRE>
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)
const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendcounts </B><DD>integer array equal to the group size
specifying the number of elements to send to each processor
<DT><B>sendcounts </B><DD>integer array equal to the group size
specifying the number of elements to send to each processor
<DT><B>sdispls </B><DD>integer array (of length group size). Entry
<tt>j</tt> specifies the displacement (relative to sendbuf from
which to take the outgoing data destined for process <tt>j</tt>
<DT><B>sdispls </B><DD>integer array (of length group size). Entry
<TT>j</TT> specifies the displacement (relative to sendbuf from
which to take the outgoing data destined for process <TT>j
</TT>
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>sendtype </B><DD>data type of send buffer elements (handle)
<DT><B>recvcounts </B><DD>integer array equal to the group size
<DT><B>recvcounts </B><DD>integer array equal to the group size
specifying the maximum number of elements that can be received from
each processor
each processor
<DT><B>rdispls </B><DD>integer array (of length group size). Entry
<tt>i</tt> specifies the displacement (relative to recvbuf at
which to place the incoming data from process <tt>i</tt>
<DT><B>rdispls </B><DD>integer array (of length group size). Entry
<TT>i</TT> specifies the displacement (relative to recvbuf at
which to place the incoming data from process <TT>i
</TT>
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>recvtype </B><DD>data type of receive buffer elements (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -49,42 +48,42 @@ which to place the incoming data from process <tt>i</tt>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_BUFFER </B> <DD> Invalid buffer pointer. Usually a null buffer where

View File

@@ -16,33 +16,33 @@ int MPI_Alltoallw(const void *sendbuf, const int sendcounts[],
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendbuf </B><DD>starting address of send buffer (choice)
<DT><B>sendcounts </B><DD>integer array equal to the group size specifying the number of
elements to send to each processor (integer)
<DT><B>sendcounts </B><DD>integer array equal to the group size specifying the number of
elements to send to each processor (integer)
<DT><B>sdispls </B><DD>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
<DT><B>sdispls </B><DD>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
<DT><B>sendtypes </B><DD>array of datatypes (of length group size). Entry j specifies the
type of data to send to process j (handle)
<DT><B>sendtypes </B><DD>array of datatypes (of length group size). Entry j specifies the
type of data to send to process j (handle)
<DT><B>recvcounts </B><DD>integer array equal to the group size specifying the number of
elements that can be received from each processor (integer)
elements that can be received from each processor (integer)
<DT><B>rdispls </B><DD>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
<DT><B>rdispls </B><DD>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
<DT><B>recvtypes </B><DD>array of datatypes (of length group size). Entry i specifies
the type of data received from process i (handle)
<DT><B>recvtypes </B><DD>array of datatypes (of length group size). Entry i specifies
the type of data received from process i (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
<DL><DT><B>recvbuf </B> <DD> address of receive buffer (choice)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -50,47 +50,47 @@ the type of data received from process i (handle)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
</BODY></HTML>

View File

@@ -6,16 +6,16 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Attr_delete"><H1>MPI_Attr_delete</H1></A>
Deletes an attribute value associated with a key on a communicator
Deletes an attribute value associated with a key on a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Attr_delete(MPI_Comm comm, int keyval)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>keyval </B><DD>The key value of the deleted attribute (integer)
<DT><B>keyval </B><DD>The key value of the deleted attribute (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -23,45 +23,45 @@ int MPI_Attr_delete(MPI_Comm comm, int keyval)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Deprecated Function</H2>
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 <tt>MPI_Comm_delete_attr</tt>.
The replacement for this routine is <TT>MPI_Comm_delete_attr</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> This error class is associated with an error code that
indicates that an attempt was made to free one of the permanent keys.

View File

@@ -13,27 +13,27 @@ int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>keyval </B><DD>key value (integer)
<DT><B>keyval </B><DD>key value (integer)
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>attribute_val </B><DD>attribute value, unless <tt>flag</tt> = false
<DT><B>attribute_val </B><DD>attribute value, unless <TT>flag</TT> = false
<DT><B>flag </B><DD>true if an attribute value was extracted; false if no attribute is
associated with the key
associated with the key
</DL>
<P>
<H2>Notes</H2>
Attributes must be extracted from the same language as they were inserted
in with <tt>MPI_ATTR_PUT</tt>. The notes for C and Fortran below explain why.
in with <TT>MPI_ATTR_PUT</TT>. The notes for C and Fortran below explain why.
<P>
<H2>Notes for C</H2>
Even though the <tt>attribute_val</tt> argument is declared as <tt>void *</tt>, it is
really the address of a void pointer (i.e., a <tt>void **</tt>). Using
a <tt>void *</tt>, however, is more in keeping with C idiom and allows the
Even though the <TT>attribute_val</TT> argument is declared as <TT>void *</TT>, it is
really the address of a void pointer (i.e., a <TT>void **</TT>). Using
a <TT>void *</TT>, however, is more in keeping with C idiom and allows the
pointer to be passed without additional casts.
<P>
<P>
@@ -42,53 +42,53 @@ pointer to be passed without additional casts.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Deprecated Function</H2>
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 <tt>MPI_Comm_get_attr</tt>.
The replacement for this routine is <TT>MPI_Comm_get_attr</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
The <tt>attribute_val</tt> in Fortran is a pointer to a Fortran integer, not
a pointer to a <tt>void *</tt>.
The <TT>attribute_val</TT> in Fortran is a pointer to a Fortran integer, not
a pointer to a <TT>void *</TT>.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_KEYVAL </B> <DD> Invalid keyval
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Attr_put, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_get_attr
<br>
<BR>
</BODY></HTML>

View File

@@ -13,25 +13,25 @@ int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute will be attached (handle)
<DT><B>comm </B><DD>communicator to which attribute will be attached (handle)
<DT><B>keyval </B><DD>key value, as returned by <tt>MPI_KEYVAL_CREATE</tt> (integer)
<DT><B>keyval </B><DD>key value, as returned by <TT>MPI_KEYVAL_CREATE</TT> (integer)
<DT><B>attribute_val </B><DD>attribute value
<DT><B>attribute_val </B><DD>attribute value
</DL>
<P>
<H2>Notes</H2>
Values of the permanent attributes <tt>MPI_TAG_UB</tt>, <tt>MPI_HOST</tt>, <tt>MPI_IO</tt>,
<tt>MPI_WTIME_IS_GLOBAL</tt>, <tt>MPI_UNIVERSE_SIZE</tt>, <tt>MPI_LASTUSEDCODE</tt>, and
<tt>MPI_APPNUM</tt> may not be changed.
Values of the permanent attributes <TT>MPI_TAG_UB</TT>, <TT>MPI_HOST</TT>, <TT>MPI_IO</TT>,
<TT>MPI_WTIME_IS_GLOBAL</TT>, <TT>MPI_UNIVERSE_SIZE</TT>, <TT>MPI_LASTUSEDCODE</TT>, and
<TT>MPI_APPNUM</TT> may not be changed.
<P>
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 (<tt>void *</tt>); in Fortran,
In C and C++, an attribute value is a pointer (<TT>void *</TT>); in Fortran,
it is a single
integer (<em>not</em> a pointer, since Fortran has no pointers and there are systems
integer (<EM>not</EM> a pointer, since Fortran has no pointers and there are systems
for which a pointer does not fit in an integer (e.g., any &gt; 32 bit address
system that uses 64 bits for Fortran <tt>DOUBLE PRECISION</tt>).
system that uses 64 bits for Fortran <TT>DOUBLE PRECISION</TT>).
<P>
If an attribute is already present, the delete function (specified when the
corresponding keyval was created) will be called.
@@ -41,45 +41,45 @@ corresponding keyval was created) will be called.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Deprecated Function</H2>
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 <tt>MPI_Comm_set_attr</tt>.
The replacement for this routine is <TT>MPI_Comm_set_attr</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_KEYVAL </B> <DD> Invalid keyval
</DL>
@@ -87,7 +87,7 @@ communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
indicates that an attempt was made to free one of the permanent keys.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Attr_get, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_set_attr
<br>
<BR>
</BODY></HTML>

View File

@@ -6,13 +6,13 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Barrier"><H1>MPI_Barrier</H1></A>
Blocks until all processes in the communicator have reached this routine.
Blocks until all processes in the communicator have reached this routine.
<H2>Synopsis</H2>
<PRE>
int MPI_Barrier( MPI_Comm comm )
int MPI_Barrier(MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Notes</H2>
@@ -25,37 +25,37 @@ communicator have entered the call.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,22 +9,21 @@
Broadcasts a message from the process with rank "root" to all other processes of the communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Bcast( void *buffer, int count, MPI_Datatype datatype, int root,
MPI_Comm comm )
int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
</PRE>
<H2>Input/Output Parameters</H2>
<DL><DT><B>buffer </B> <DD> starting address of buffer (choice)
<DL><DT><B>buffer </B> <DD> starting address of buffer (choice)
</DL>
<P>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of entries in buffer (integer)
<DT><B>count </B><DD>number of entries in buffer (integer)
<DT><B>datatype </B><DD>data type of buffer (handle)
<DT><B>datatype </B><DD>data type of buffer (handle)
<DT><B>root </B><DD>rank of broadcast root (integer)
<DT><B>root </B><DD>rank of broadcast root (integer)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -32,44 +31,44 @@ int MPI_Bcast( void *buffer, int count, MPI_Datatype datatype, int root,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_BUFFER </B> <DD> Invalid buffer pointer. Usually a null buffer where

View File

@@ -9,53 +9,52 @@
Basic send with user-provided buffering
<H2>Synopsis</H2>
<PRE>
int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm)
int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>buf </B><DD>initial address of send buffer (choice)
<DT><B>buf </B><DD>initial address of send buffer (choice)
<DT><B>count </B><DD>number of elements in send buffer (nonnegative integer)
<DT><B>count </B><DD>number of elements in send buffer (nonnegative integer)
<DT><B>datatype </B><DD>datatype of each send buffer element (handle)
<DT><B>datatype </B><DD>datatype of each send buffer element (handle)
<DT><B>dest </B><DD>rank of destination (integer)
<DT><B>dest </B><DD>rank of destination (integer)
<DT><B>tag </B><DD>message tag (integer)
<DT><B>tag </B><DD>message tag (integer)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Notes</H2>
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 <em>must</em> have provided buffer space with <tt>MPI_Buffer_attach</tt>).
user <EM>must</EM> have provided buffer space with <TT>MPI_Buffer_attach</TT>).
<P>
In deciding how much buffer space to allocate, remember that the buffer space
is not available for reuse by subsequent <tt>MPI_Bsend</tt>s unless you are certain
is not available for reuse by subsequent <TT>MPI_Bsend</TT>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
<PRE>
MPI_Buffer_attach( b, n*sizeof(double) + MPI_BSEND_OVERHEAD );
MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD);
for (i=0; i&lt;m; i++) {
MPI_Bsend( buf, n, MPI_DOUBLE, ... );
MPI_Bsend(buf, n, MPI_DOUBLE, ...);
}
</PRE>
because only enough buffer space is provided for a single send, and the
loop may start a second <tt>MPI_Bsend</tt> before the first is done making use of the
loop may start a second <TT>MPI_Bsend</TT> before the first is done making use of the
buffer.
<P>
In C, you can
force the messages to be delivered by
<PRE>
MPI_Buffer_detach( &amp;b, &amp;n );
MPI_Buffer_attach( b, n );
MPI_Buffer_detach(&amp;b, &amp;n);
MPI_Buffer_attach(b, n);
</PRE>
(The <tt>MPI_Buffer_detach</tt> will not complete until all buffered messages are
(The <TT>MPI_Buffer_detach</TT> will not complete until all buffered messages are
delivered.)
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -63,57 +62,57 @@ delivered.)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_TAG </B> <DD> Invalid tag argument. Tags must be non-negative; tags
in a receive (<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may
also be <tt>MPI_ANY_TAG</tt>. The largest tag value is available through the
the attribute <tt>MPI_TAG_UB</tt>.
in a receive (<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may
also be <TT>MPI_ANY_TAG</TT>. The largest tag value is available through the
the attribute <TT>MPI_TAG_UB</TT>.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Buffer_attach, MPI_Ibsend, MPI_Bsend_init
<br>
<BR>
</BODY></HTML>

View File

@@ -10,25 +10,25 @@ Builds a handle for a buffered send
<H2>Synopsis</H2>
<PRE>
int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
int dest, int tag, MPI_Comm comm, MPI_Request *request)
int dest, int tag, MPI_Comm comm, MPI_Request * request)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>buf </B><DD>initial address of send buffer (choice)
<DT><B>buf </B><DD>initial address of send buffer (choice)
<DT><B>count </B><DD>number of elements sent (integer)
<DT><B>count </B><DD>number of elements sent (integer)
<DT><B>datatype </B><DD>type of each element (handle)
<DT><B>datatype </B><DD>type of each element (handle)
<DT><B>dest </B><DD>rank of destination (integer)
<DT><B>dest </B><DD>rank of destination (integer)
<DT><B>tag </B><DD>message tag (integer)
<DT><B>tag </B><DD>message tag (integer)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>request </B> <DD> communication request (handle)
<DL><DT><B>request </B> <DD> communication request (handle)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -36,57 +36,57 @@ int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_TAG </B> <DD> Invalid tag argument. Tags must be non-negative; tags
in a receive (<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may
also be <tt>MPI_ANY_TAG</tt>. The largest tag value is available through the
the attribute <tt>MPI_TAG_UB</tt>.
in a receive (<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may
also be <TT>MPI_ANY_TAG</TT>. The largest tag value is available through the
the attribute <TT>MPI_TAG_UB</TT>.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Buffer_attach
<br>
<BR>
</BODY></HTML>

View File

@@ -6,41 +6,41 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Buffer_attach"><H1>MPI_Buffer_attach</H1></A>
Attaches a user-provided buffer for sending
Attaches a user-provided buffer for sending
<H2>Synopsis</H2>
<PRE>
int MPI_Buffer_attach(void *buffer, int size)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>buffer </B><DD>initial buffer address (choice)
<DT><B>buffer </B><DD>initial buffer address (choice)
<DT><B>size </B><DD>buffer size, in bytes (integer)
<DT><B>size </B><DD>buffer size, in bytes (integer)
</DL>
<P>
<H2>Notes</H2>
The size given should be the sum of the sizes of all outstanding Bsends that
you intend to have, plus <tt>MPI_BSEND_OVERHEAD</tt> for each Bsend that you do.
For the purposes of calculating size, you should use <tt>MPI_Pack_size</tt>.
you intend to have, plus <TT>MPI_BSEND_OVERHEAD</TT> for each Bsend that you do.
For the purposes of calculating size, you should use <TT>MPI_Pack_size</TT>.
In other words, in the code
<PRE>
MPI_Buffer_attach( buffer, size );
MPI_Bsend( ..., count=20, datatype=type1, ... );
MPI_Buffer_attach(buffer, size);
MPI_Bsend(..., count=20, datatype=type1, ...);
...
MPI_Bsend( ..., count=40, datatype=type2, ... );
MPI_Bsend(..., count=40, datatype=type2, ...);
</PRE>
the value of <tt>size</tt> in the <tt>MPI_Buffer_attach</tt> call should be greater than
the value of <TT>size</TT> in the <TT>MPI_Buffer_attach</TT> call should be greater than
the value computed by
<PRE>
MPI_Pack_size( 20, type1, comm, &amp;s1 );
MPI_Pack_size( 40, type2, comm, &amp;s2 );
MPI_Pack_size(20, type1, comm, &amp;s1);
MPI_Pack_size(40, type2, comm, &amp;s2);
size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD;
</PRE>
The <tt>MPI_BSEND_OVERHEAD</tt> gives the maximum amount of space that may be used in
The <TT>MPI_BSEND_OVERHEAD</TT> 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 <tt>mpi.h</tt> (for C) and <tt>mpif.h</tt> (for Fortran).
is in <TT>mpi.h</TT> (for C) and <TT>mpif.h</TT> (for Fortran).
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
@@ -51,35 +51,35 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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., <tt>MPI_Bsend</tt>) is shared by all
Because the buffer for buffered sends (e.g., <TT>MPI_Bsend</TT>) 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 <tt>MPI_Buffer_detach</tt>.
one thread at a time calls this routine or <TT>MPI_Buffer_detach</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -89,10 +89,10 @@ possible.
one is not valid.
</DL>
<DL><DT><B>MPI_ERR_INTERN </B> <DD> An internal error has been detected. This is fatal.
Please send a bug report to <tt>mpi-bugs@mcs.anl.gov</tt>.
Please send a bug report to <TT>mpi-bugs@mcs.anl.gov</TT>.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Buffer_detach, MPI_Bsend
<br>
<BR>
</BODY></HTML>

View File

@@ -15,24 +15,24 @@ int MPI_Buffer_detach(void *buffer_addr, int *size)
<DL>
<DT><B>buffer_addr </B><DD>initial buffer address (choice)
<DT><B>size </B><DD>buffer size, in bytes (integer)
<DT><B>size </B><DD>buffer size, in bytes (integer)
</DL>
<P>
<H2>Notes</H2>
The reason that <tt>MPI_Buffer_detach</tt> returns the address and size of the
The reason that <TT>MPI_Buffer_detach</TT> returns the address and size of the
buffer being detached is to allow nested libraries to replace and restore
the buffer. For example, consider
<P>
<PRE>
int size, mysize, idummy;
void *ptr, *myptr, *dummy;
MPI_Buffer_detach( &amp;ptr, &amp;size );
MPI_Buffer_attach( myptr, mysize );
void *ptr, *myptr, *dummy;
MPI_Buffer_detach(&amp;ptr, &amp;size);
MPI_Buffer_attach(myptr, mysize);
...
... library code ...
...
MPI_Buffer_detach( &amp;dummy, &amp;idummy );
MPI_Buffer_attach( ptr, size );
MPI_Buffer_detach(&amp;dummy, &amp;idummy);
MPI_Buffer_attach(ptr, size);
</PRE>
<P>
@@ -41,18 +41,18 @@ strengths (it is simple) and weaknesses (it only works for nested usages).
<P>
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 <tt>MPI_BUFFER_DETACH</tt> contains the text
zero. The MPI 1.1 standard for <TT>MPI_BUFFER_DETACH</TT> contains the text
<P>
<PRE>
The statements made in this section describe the behavior of MPI for
buffered-mode sends. When no buffer is currently associated, MPI behaves
buffered-mode sends. When no buffer is currently associated, MPI behaves
as if a zero-sized buffer is associated with the process.
</PRE>
<P>
This could be read as applying only to the various Bsend routines. This
implementation takes the position that this applies to <tt>MPI_BUFFER_DETACH
</tt>as well.
implementation takes the position that this applies to <TT>MPI_BUFFER_DETACH
</TT>as well.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
@@ -63,22 +63,22 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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., <tt>MPI_Bsend</tt>) is shared by all
Because the buffer for buffered sends (e.g., <TT>MPI_Bsend</TT>) 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 <tt>MPI_Buffer_attach</tt>.
one thread at a time calls this routine or <TT>MPI_Buffer_attach</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
The Fortran binding for this routine is different. Because Fortran
does not have pointers, it is impossible to provide a way to use the
@@ -86,11 +86,11 @@ output of this routine to exchange buffers. In this case, only the
size field is set.
<P>
<H2>Notes for C</H2>
Even though the <tt>bufferptr</tt> argument is declared as <tt>void *</tt>, it is
Even though the <TT>bufferptr</TT> argument is declared as <TT>void *</TT>, it is
really the address of a void pointer. See the rationale in the
standard for more details.
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Buffer_attach
<br>
<BR>
</BODY></HTML>

View File

@@ -9,16 +9,16 @@
Cancels a communication request
<H2>Synopsis</H2>
<PRE>
int MPI_Cancel(MPI_Request *request)
int MPI_Cancel(MPI_Request * request)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>request </B> <DD> communication request (handle)
<DL><DT><B>request </B> <DD> communication request (handle)
</DL>
<P>
<H2>Notes</H2>
The primary expected use of <tt>MPI_Cancel</tt> is in multi-buffering
schemes, where speculative <tt>MPI_Irecvs</tt> are made. When the computation
completes, some of these receive requests may remain; using <tt>MPI_Cancel</tt> allows
The primary expected use of <TT>MPI_Cancel</TT> is in multi-buffering
schemes, where speculative <TT>MPI_Irecvs</TT> are made. When the computation
completes, some of these receive requests may remain; using <TT>MPI_Cancel</TT> allows
the user to cancel these unsatisfied requests.
<P>
Cancelling a send operation is much more difficult, in large part because the
@@ -34,18 +34,18 @@ messages).
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Null Handles</H2>
The MPI 1.1 specification, in the section on opaque objects, explicitly
@@ -62,25 +62,25 @@ disallows freeing a null communicator. The text from the standard is:
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_REQUEST </B> <DD> Invalid <tt>MPI_Request</tt>. Either null or, in the case of a
<tt>MPI_Start</tt> or <tt>MPI_Startall</tt>, not a persistent request.
<DL><DT><B>MPI_ERR_REQUEST </B> <DD> Invalid <TT>MPI_Request</TT>. Either null or, in the case of a
<TT>MPI_Start</TT> or <TT>MPI_Startall</TT>, not a persistent request.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -13,16 +13,16 @@ int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>rank </B><DD>rank of a process within group of <tt>comm</tt> (integer)
<DT><B>rank </B><DD>rank of a process within group of <TT>comm</TT> (integer)
<DT><B>maxdims </B><DD>length of vector <tt>coords</tt> in the calling program (integer)
<DT><B>maxdims </B><DD>length of vector <TT>coords</TT> in the calling program (integer)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>coords </B> <DD> integer array (of size <tt>ndims</tt>) containing the Cartesian
coordinates of specified process (integer)
<DL><DT><B>coords </B> <DD> integer array (of size <TT>ndims</TT>) containing the Cartesian
coordinates of specified process (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -32,27 +32,27 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -60,16 +60,16 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_DIMS </B> <DD> Invalid dimension argument. A dimension argument
is null or its length is less than or equal to zero.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -10,60 +10,60 @@ Makes a new communicator to which topology information has been attached
<H2>Synopsis</H2>
<PRE>
int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[],
const int periods[], int reorder, MPI_Comm *comm_cart)
const int periods[], int reorder, MPI_Comm * comm_cart)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm_old </B><DD>input communicator (handle)
<DT><B>comm_old </B><DD>input communicator (handle)
<DT><B>ndims </B><DD>number of dimensions of cartesian grid (integer)
<DT><B>ndims </B><DD>number of dimensions of cartesian grid (integer)
<DT><B>dims </B><DD>integer array of size ndims specifying the number of processes in
each dimension
<DT><B>dims </B><DD>integer array of size ndims specifying the number of processes in
each dimension
<DT><B>periods </B><DD>logical array of size ndims specifying whether the grid is
periodic (true) or not (false) in each dimension
<DT><B>periods </B><DD>logical array of size ndims specifying whether the grid is
periodic (true) or not (false) in each dimension
<DT><B>reorder </B><DD>ranking may be reordered (true) or not (false) (logical)
<DT><B>reorder </B><DD>ranking may be reordered (true) or not (false) (logical)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>comm_cart </B> <DD> communicator with new cartesian topology (handle)
<DL><DT><B>comm_cart </B> <DD> communicator with new cartesian topology (handle)
</DL>
<P>
<H2>Algorithm</H2>
We ignore <tt>reorder</tt> info currently.
We ignore <TT>reorder</TT> info currently.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -71,12 +71,12 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_DIMS </B> <DD> Invalid dimension argument. A dimension argument
is null or its length is less than or equal to zero.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,29 +6,28 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Cart_get"><H1>MPI_Cart_get</H1></A>
Retrieves Cartesian topology information associated with a communicator
Retrieves Cartesian topology information associated with a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[],
int coords[])
int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>maxdims </B><DD>length of vectors <tt>dims</tt>, <tt>periods</tt>, and <tt>coords
</tt>in the calling program (integer)
<DT><B>maxdims </B><DD>length of vectors <TT>dims</TT>, <TT>periods</TT>, and <TT>coords
</TT>in the calling program (integer)
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>dims </B><DD>number of processes for each cartesian dimension (array of integer)
<DT><B>dims </B><DD>number of processes for each cartesian dimension (array of integer)
<DT><B>periods </B><DD>periodicity (true/false) for each cartesian dimension
(array of logical)
<DT><B>periods </B><DD>periodicity (true/false) for each cartesian dimension
(array of logical)
<DT><B>coords </B><DD>coordinates of calling process in cartesian structure
(array of integer)
<DT><B>coords </B><DD>coordinates of calling process in cartesian structure
(array of integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -36,31 +35,31 @@ int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[],
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -68,12 +67,12 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,28 +6,27 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Cart_map"><H1>MPI_Cart_map</H1></A>
Maps process to Cartesian topology information
Maps process to Cartesian topology information
<H2>Synopsis</H2>
<PRE>
int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[],
int *newrank)
int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>input communicator (handle)
<DT><B>comm </B><DD>input communicator (handle)
<DT><B>ndims </B><DD>number of dimensions of Cartesian structure (integer)
<DT><B>ndims </B><DD>number of dimensions of Cartesian structure (integer)
<DT><B>dims </B><DD>integer array of size <tt>ndims</tt> specifying the number of processes in
each coordinate direction
<DT><B>dims </B><DD>integer array of size <TT>ndims</TT> specifying the number of processes in
each coordinate direction
<DT><B>periods </B><DD>logical array of size <tt>ndims</tt> specifying the periodicity
specification in each coordinate direction
<DT><B>periods </B><DD>logical array of size <TT>ndims</TT> specifying the periodicity
specification in each coordinate direction
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newrank </B> <DD> reordered rank of the calling process; <tt>MPI_UNDEFINED</tt> if
calling process does not belong to grid (integer)
<DL><DT><B>newrank </B> <DD> reordered rank of the calling process; <TT>MPI_UNDEFINED</TT> if
calling process does not belong to grid (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -37,39 +36,39 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_DIMS </B> <DD> Invalid dimension argument. A dimension argument
is null or its length is less than or equal to zero.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -13,20 +13,20 @@ int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>coords </B><DD>integer array (of size <tt>ndims</tt>, the number of dimensions of
the Cartesian topology associated with <tt>comm</tt>) specifying the cartesian
coordinates of a process
<DT><B>coords </B><DD>integer array (of size <TT>ndims</TT>, the number of dimensions of
the Cartesian topology associated with <TT>comm</TT>) specifying the cartesian
coordinates of a process
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>rank </B> <DD> rank of specified process (integer)
<DL><DT><B>rank </B> <DD> rank of specified process (integer)
</DL>
<P>
<H2>Notes</H2>
Out-of-range coordinates are erroneous for non-periodic dimensions.
Versions of MPICH before 1.2.2 returned <tt>MPI_PROC_NULL</tt> for the rank in this
Versions of MPICH before 1.2.2 returned <TT>MPI_PROC_NULL</TT> for the rank in this
case.
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -36,27 +36,27 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -64,13 +64,13 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,17 +6,16 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Cart_shift"><H1>MPI_Cart_shift</H1></A>
Returns the shifted source and destination ranks, given a shift direction and amount
Returns the shifted source and destination ranks, given a shift direction and amount
<H2>Synopsis</H2>
<PRE>
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source,
int *rank_dest)
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>direction </B><DD>coordinate dimension of shift (integer)
<DT><B>direction </B><DD>coordinate dimension of shift (integer)
<DT><B>disp </B><DD>displacement (&gt; 0: upwards shift, &lt; 0: downwards shift) (integer)
</DL>
@@ -29,7 +28,7 @@ int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source,
</DL>
<P>
<H2>Notes</H2>
The <tt>direction</tt> argument is in the range <tt>[0,n-1]</tt> for an n-dimensional
The <TT>direction</TT> argument is in the range <TT>[0,n-1]</TT> for an n-dimensional
Cartesian mesh.
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -39,27 +38,27 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -67,12 +66,12 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,23 +6,23 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Cart_sub"><H1>MPI_Cart_sub</H1></A>
Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids
Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids
<H2>Synopsis</H2>
<PRE>
int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm)
int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>comm </B><DD>communicator with cartesian structure (handle)
<DT><B>remain_dims </B><DD>the <tt>i</tt>th entry of remain_dims specifies whether the <tt>i</tt>th
dimension is kept in the subgrid (true) or is dropped (false) (logical
vector)
<DT><B>remain_dims </B><DD>the <TT>i</TT>th entry of remain_dims specifies whether the <TT>i</TT>th
dimension is kept in the subgrid (true) or is dropped (false) (logical
vector)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> communicator containing the subgrid that includes the calling
process (handle)
<DL><DT><B>newcomm </B> <DD> communicator containing the subgrid that includes the calling
process (handle)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -30,31 +30,31 @@ process (handle)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -62,12 +62,12 @@ possible.
</DL>
<DL><DT><B>MPI_ERR_TOPOLOGY </B> <DD> Invalid topology. Either there is no topology
associated with this communicator, or it is not the correct type (e.g.,
<tt>MPI_CART</tt> when expecting <tt>MPI_GRAPH</tt>).
<TT>MPI_CART</TT> when expecting <TT>MPI_GRAPH</TT>).
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,17 +6,17 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Cartdim_get"><H1>MPI_Cartdim_get</H1></A>
Retrieves Cartesian topology information associated with a communicator
Retrieves Cartesian topology information associated with a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Cartdim_get(MPI_Comm comm, int *ndims)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator with cartesian structure (handle)
<DL><DT><B>comm </B> <DD> communicator with cartesian structure (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>ndims </B> <DD> number of dimensions of the cartesian structure (integer)
<DL><DT><B>ndims </B> <DD> number of dimensions of the cartesian structure (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -26,36 +26,36 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -24,32 +24,32 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -10,21 +10,21 @@ Accept a request to form a new intercommunicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
MPI_Comm *newcomm)
MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>port_name </B><DD>port name (string, used only on root)
<DT><B>port_name </B><DD>port name (string, used only on root)
<DT><B>info </B><DD>implementation-dependent information (handle, used only on root)
<DT><B>info </B><DD>implementation-dependent information (handle, used only on root)
<DT><B>root </B><DD>rank in comm of root node (integer)
<DT><B>root </B><DD>rank in comm of root node (integer)
<DT><B>comm </B><DD>intracommunicator over which call is collective (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> intercommunicator with client as remote group (handle)
<DL><DT><B>newcomm </B> <DD> intercommunicator with client as remote group (handle)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -32,31 +32,31 @@ int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm com
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -65,6 +65,6 @@ possible.
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,16 +6,16 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_call_errhandler"><H1>MPI_Comm_call_errhandler</H1></A>
Call the error handler installed on a communicator
Call the error handler installed on a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator with error handler (handle)
<DT><B>comm </B><DD>communicator with error handler (handle)
<DT><B>errorcode </B><DD>error code (integer)
<DT><B>errorcode </B><DD>error code (integer)
</DL>
<P>
<H2>Note</H2>
@@ -32,39 +32,39 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -13,68 +13,68 @@ int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm1 </B><DD>comm1 (handle)
<DT><B>comm1 </B><DD>comm1 (handle)
<DT><B>comm2 </B><DD>comm2 (handle)
<DT><B>comm2 </B><DD>comm2 (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>result </B> <DD> integer which is <tt>MPI_IDENT</tt> if the contexts and groups are the
same, <tt>MPI_CONGRUENT</tt> if different contexts but identical groups, <tt>MPI_SIMILAR
</tt>if different contexts but similar groups, and <tt>MPI_UNEQUAL</tt> otherwise
<DL><DT><B>result </B> <DD> integer which is <TT>MPI_IDENT</TT> if the contexts and groups are the
same, <TT>MPI_CONGRUENT</TT> if different contexts but identical groups, <TT>MPI_SIMILAR
</TT>if different contexts but similar groups, and <TT>MPI_UNEQUAL</TT> otherwise
</DL>
<P>
<H2>Using 'MPI_COMM_NULL' with 'MPI_Comm_compare'</H2>
<P>
It is an error to use <tt>MPI_COMM_NULL</tt> as one of the arguments to
<tt>MPI_Comm_compare</tt>. The relevant sections of the MPI standard are
It is an error to use <TT>MPI_COMM_NULL</TT> as one of the arguments to
<TT>MPI_Comm_compare</TT>. The relevant sections of the MPI standard are
<P>
.(2.4.1 Opaque Objects)
A null handle argument is an erroneous <tt>IN</tt> argument in MPI calls, unless an
A null handle argument is an erroneous <TT>IN</TT> argument in MPI calls, unless an
exception is explicitly stated in the text that defines the function.
<P>
.(5.4.1. Communicator Accessors)
where there is no text in <tt>MPI_COMM_COMPARE</tt> allowing a null handle.
where there is no text in <TT>MPI_COMM_COMPARE</TT> allowing a null handle.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>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.)
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -10,21 +10,21 @@ Make a request to form a new intercommunicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
MPI_Comm *newcomm)
MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>port_name </B><DD>network address (string, used only on root)
<DT><B>port_name </B><DD>network address (string, used only on root)
<DT><B>info </B><DD>implementation-dependent information (handle, used only on root)
<DT><B>info </B><DD>implementation-dependent information (handle, used only on root)
<DT><B>root </B><DD>rank in comm of root node (integer)
<DT><B>root </B><DD>rank in comm of root node (integer)
<DT><B>comm </B><DD>intracommunicator over which call is collective (handle)
<DT><B>comm </B><DD>intracommunicator over which call is collective (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> intercommunicator with server as remote group (handle)
<DL><DT><B>newcomm </B> <DD> intercommunicator with server as remote group (handle)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -32,38 +32,38 @@ int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm co
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>

View File

@@ -9,13 +9,13 @@
Creates a new communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)
int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>group </B><DD>group, which is a subset of the group of <tt>comm</tt> (handle)
<DT><B>group </B><DD>group, which is a subset of the group of <TT>comm</TT> (handle)
</DL>
<P>
<H2>Output Parameters</H2>
@@ -27,43 +27,43 @@ int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_GROUP </B> <DD> Null or invalid group passed to function.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_free
<br>
<BR>
</BODY></HTML>

View File

@@ -9,15 +9,15 @@
Create a communicator error handler
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn,
MPI_Errhandler *errhandler)
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function * comm_errhandler_fn,
MPI_Errhandler * errhandler)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm_errhandler_fn </B> <DD> user defined error handling procedure (function)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle)
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle)
</DL>
<P>
<H2>Error Handler</H2>
@@ -30,40 +30,40 @@ void MPI_Comm_errhandler_function(MPI_Comm *comm, int *rc);
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -15,7 +15,7 @@ int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * ne
<DL>
<DT><B>comm </B><DD>communicator (handle)
<DT><B>group </B><DD>group, which is a subset of the group of <tt>comm</tt> (handle)
<DT><B>group </B><DD>group, which is a subset of the group of <TT>comm</TT> (handle)
<DT><B>tag </B><DD>safe tag unused by other communication
</DL>
@@ -29,43 +29,43 @@ int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * ne
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_GROUP </B> <DD> Null or invalid group passed to function.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_free
<br>
<BR>
</BODY></HTML>

View File

@@ -6,24 +6,24 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_create_keyval"><H1>MPI_Comm_create_keyval</H1></A>
Create a new attribute key
Create a new attribute key
<H2>Synopsis</H2>
<PRE>
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)
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)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm_copy_attr_fn </B><DD>Copy callback function for <tt>keyval
</tt>
<DT><B>comm_delete_attr_fn </B><DD>Delete callback function for <tt>keyval
</tt>
<DT><B>extra_state </B><DD>Extra state for callback functions
<DT><B>comm_copy_attr_fn </B><DD>Copy callback function for <TT>keyval
</TT>
<DT><B>comm_delete_attr_fn </B><DD>Delete callback function for <TT>keyval
</TT>
<DT><B>extra_state </B><DD>Extra state for callback functions
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>comm_keyval </B> <DD> key value for future access (integer)
<DL><DT><B>comm_keyval </B> <DD> key value for future access (integer)
</DL>
<P>
<H2>Notes</H2>
@@ -39,17 +39,17 @@ Default copy and delete functions are available. These are
</DL>
<P>
There are subtle differences between C and Fortran that require that the
copy_fn be written in the same language from which <tt>MPI_Comm_create_keyval
</tt>is called.
copy_fn be written in the same language from which <TT>MPI_Comm_create_keyval
</TT>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.
<P>
<P>
<H2>Return value from attribute callbacks</H2>
The MPI-2 versions of the attribute callbacks should return either
<tt>MPI_SUCCESS</tt> on success or a valid MPI error code or class on failure.
<TT>MPI_SUCCESS</TT> 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 <tt>MPI_Add_error_class</tt> and <tt>MPI_Add_error_code</tt> that allow the
the routines <TT>MPI_Add_error_class</TT> and <TT>MPI_Add_error_code</TT> that allow the
user to define and use MPI error codes and classes.
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -57,38 +57,38 @@ user to define and use MPI error codes and classes.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_free_keyval
<br>
<BR>
</BODY></HTML>

View File

@@ -6,16 +6,16 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_delete_attr"><H1>MPI_Comm_delete_attr</H1></A>
Deletes an attribute value associated with a key on a communicator
Deletes an attribute value associated with a key on a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm_keyval </B><DD>The key value of the deleted attribute (integer)
<DT><B>comm_keyval </B><DD>The key value of the deleted attribute (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -23,44 +23,44 @@ int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> This error class is associated with an error code that
indicates that an attempt was made to free one of the permanent keys.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_set_attr, MPI_Comm_create_keyval
<br>
<BR>
</BODY></HTML>

View File

@@ -12,51 +12,51 @@ Disconnect from a communicator
int MPI_Comm_disconnect(MPI_Comm * comm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Notes</H2>
This routine waits for all pending communication to complete, then frees the
communicator and sets <tt>comm</tt> to <tt>MPI_COMM_NULL</tt>. It may not be called
with <tt>MPI_COMM_WORLD</tt> or <tt>MPI_COMM_SELF</tt>.
communicator and sets <TT>comm</TT> to <TT>MPI_COMM_NULL</TT>. It may not be called
with <TT>MPI_COMM_WORLD</TT> or <TT>MPI_COMM_SELF</TT>.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_connect, MPI_Comm_join
<br>
<BR>
</BODY></HTML>

View File

@@ -9,25 +9,25 @@
Duplicates an existing communicator with all its cached information
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm)
int MPI_Comm_dup(MPI_Comm comm, MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator to be duplicated (handle)
<DL><DT><B>comm </B> <DD> Communicator to be duplicated (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> A new communicator over the same group as <tt>comm</tt> but with a new
context. See notes. (handle)
<DL><DT><B>newcomm </B> <DD> A new communicator over the same group as <TT>comm</TT> but with a new
context. See notes. (handle)
</DL>
<P>
<H2>Notes</H2>
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 <em>plus
</em>the context), this routine provides an effective way to create a
within a communicator (specifies as the group of processes <EM>plus
</EM>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 <tt>MPI_COMM_WORLD</tt> as the
particular, no library routine should use <TT>MPI_COMM_WORLD</TT> as the
communicator; instead, a duplicate of a user-specified communicator
should always be used. For more information, see Using MPI, 2nd
edition.
@@ -35,53 +35,53 @@ 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
<tt>copy_function</tt> argument to <tt>MPI_Keyval_create</tt>. This is
<TT>copy_function</TT> argument to <TT>MPI_Keyval_create</TT>. 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
<tt>MPI_Comm_dup</tt> operations on this communicator.
<TT>MPI_Comm_dup</TT> operations on this communicator.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
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
<BR>MPI_Comm_create_keyval, MPI_Comm_set_attr, MPI_Comm_delete_attr
</BODY></HTML>

View File

@@ -19,7 +19,7 @@ int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> A new communicator over the same group as <tt>comm</tt> but with a new
<DL><DT><B>newcomm </B> <DD> A new communicator over the same group as <TT>comm</TT> but with a new
context. See notes. (handle)
</DL>
<P>
@@ -34,42 +34,42 @@ associated with the output communicator newcomm instead.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_dup, MPI_Comm_free, MPI_Keyval_create,
<br>MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval,
<BR>MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval,
MPI_Comm_set_attr, MPI_Comm_delete_attr
</BODY></HTML>

View File

@@ -9,14 +9,14 @@
Marks the communicator object for deallocation
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_free(MPI_Comm *comm)
int MPI_Comm_free(MPI_Comm * comm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator to be destroyed (handle)
<DL><DT><B>comm </B> <DD> Communicator to be destroyed (handle)
</DL>
<P>
<H2>Notes</H2>
This routine <em>frees</em> a communicator. Because the communicator may still
This routine <EM>frees</EM> 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
@@ -29,7 +29,7 @@ The MPI 1.1 specification, in the section on opaque objects, explicitly
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
(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.
</PRE>
@@ -40,40 +40,40 @@ The MPI 1.1 specification, in the section on opaque objects, explicitly
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -12,7 +12,7 @@ Frees an attribute key for communicators
int MPI_Comm_free_keyval(int *comm_keyval)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm_keyval </B> <DD> Frees the integer key value (integer)
<DL><DT><B>comm_keyval </B> <DD> Frees the integer key value (integer)
</DL>
<P>
<H2>Notes</H2>
@@ -23,38 +23,38 @@ Key values are global (they can be used with any and all communicators)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> This error class is associated with an error code that
indicates that an attempt was made to free one of the permanent keys.

View File

@@ -9,31 +9,30 @@
Retrieves attribute value by key
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val,
int *flag)
int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm </B><DD>communicator to which attribute is attached (handle)
<DT><B>comm_keyval </B><DD>key value (integer)
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>attribute_val </B><DD>attribute value, unless <tt>flag</tt> = false
<DT><B>attribute_val </B><DD>attribute value, unless <TT>flag</TT> = false
<DT><B>flag </B><DD>true if an attribute value was extracted; false if no attribute is
associated with the key
associated with the key
</DL>
<P>
<H2>Notes</H2>
Attributes must be extracted from the same language as they were inserted
in with <tt>MPI_Comm_set_attr</tt>. The notes for C and Fortran below explain
in with <TT>MPI_Comm_set_attr</TT>. The notes for C and Fortran below explain
why.
<P>
<H2>Notes for C</H2>
Even though the <tt>attr_value</tt> argument is declared as <tt>void *</tt>, it is
Even though the <TT>attr_value</TT> argument is declared as <TT>void *</TT>, it is
really the address of a void pointer. See the rationale in the
standard for more details.
<P>
@@ -42,38 +41,38 @@ standard for more details.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_KEYVAL </B> <DD> Invalid keyval
</DL>

View File

@@ -9,14 +9,14 @@
Get the error handler attached to a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler)
int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler * errhandler)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>errhandler </B> <DD> handler currently associated with communicator (handle)
<DL><DT><B>errhandler </B> <DD> handler currently associated with communicator (handle)
</DL>
<P>
<P>
@@ -29,39 +29,39 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -24,41 +24,41 @@ int MPI_Comm_get_info(MPI_Comm comm, MPI_Info * info_used)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -18,16 +18,16 @@ int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen)
<H2>Output Parameters</H2>
<DL>
<DT><B>comm_name </B><DD>On output, contains the name of the communicator. It must
be an array of size at least <tt>MPI_MAX_OBJECT_NAME</tt>.
be an array of size at least <TT>MPI_MAX_OBJECT_NAME</TT>.
<DT><B>resultlen </B><DD>Number of characters in name
</DL>
<P>
<H2>Notes</H2>
<P>
Because MPI specifies that null objects (e.g., <tt>MPI_COMM_NULL</tt>) are invalid
as input to MPI routines unless otherwise specified, using <tt>MPI_COMM_NULL
</tt>as input to this routine is an error.
Because MPI specifies that null objects (e.g., <TT>MPI_COMM_NULL</TT>) are invalid
as input to MPI routines unless otherwise specified, using <TT>MPI_COMM_NULL
</TT>as input to this routine is an error.
<P>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -39,39 +39,39 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,25 +9,25 @@
Return the parent communicator for this process
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_get_parent(MPI_Comm *parent)
int MPI_Comm_get_parent(MPI_Comm * parent)
</PRE>
<H2>Output Parameters</H2>
<DL><DT><B>parent </B> <DD> the parent communicator (handle)
<DL><DT><B>parent </B> <DD> the parent communicator (handle)
</DL>
<P>
<H2>Notes</H2>
<P>
If a process was started with <tt>MPI_Comm_spawn</tt> or <tt>MPI_Comm_spawn_multiple</tt>,
<tt>MPI_Comm_get_parent</tt> returns the parent intercommunicator of the current
If a process was started with <TT>MPI_Comm_spawn</TT> or <TT>MPI_Comm_spawn_multiple</TT>,
<TT>MPI_Comm_get_parent</TT> returns the parent intercommunicator of the current
process. This parent intercommunicator is created implicitly inside of
<tt>MPI_Init</tt> and is the same intercommunicator returned by <tt>MPI_Comm_spawn
</tt>in the parents.
<TT>MPI_Init</TT> and is the same intercommunicator returned by <TT>MPI_Comm_spawn
</TT>in the parents.
<P>
If the process was not spawned, <tt>MPI_Comm_get_parent</tt> returns
<tt>MPI_COMM_NULL</tt>.
If the process was not spawned, <TT>MPI_Comm_get_parent</TT> returns
<TT>MPI_COMM_NULL</TT>.
<P>
After the parent communicator is freed or disconnected, <tt>MPI_Comm_get_parent
</tt>returns <tt>MPI_COMM_NULL</tt>.
After the parent communicator is freed or disconnected, <TT>MPI_Comm_get_parent
</TT>returns <TT>MPI_COMM_NULL</TT>.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
@@ -36,33 +36,33 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,7 +9,7 @@
Accesses the group associated with given communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_group(MPI_Comm comm, MPI_Group *group)
int MPI_Comm_group(MPI_Comm comm, MPI_Group * group)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator (handle)
@@ -20,46 +20,46 @@ int MPI_Comm_group(MPI_Comm comm, MPI_Group *group)
</DL>
<P>
<H2>Notes</H2>
Because MPI specifies that null objects (e.g., <tt>MPI_COMM_NULL</tt>) are invalid
as input to MPI routines unless otherwise specified, using <tt>MPI_COMM_NULL
</tt>as input to this routine is an error.
Because MPI specifies that null objects (e.g., <TT>MPI_COMM_NULL</TT>) are invalid
as input to MPI routines unless otherwise specified, using <TT>MPI_COMM_NULL
</TT>as input to this routine is an error.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,7 +9,7 @@
nonblocking communicator duplication
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request)
int MPI_Comm_idup(MPI_Comm comm, MPI_Comm * newcomm, MPI_Request * request)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
@@ -27,31 +27,31 @@ int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -6,61 +6,61 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_join"><H1>MPI_Comm_join</H1></A>
Create a communicator by joining two processes connected by a socket.
Create a communicator by joining two processes connected by a socket.
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_join(int fd, MPI_Comm *intercomm)
int MPI_Comm_join(int fd, MPI_Comm * intercomm)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>fd </B> <DD> socket file descriptor
<DL><DT><B>fd </B> <DD> socket file descriptor
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>intercomm </B> <DD> new intercommunicator (handle)
<DL><DT><B>intercomm </B> <DD> new intercommunicator (handle)
</DL>
<P>
<H2>Notes</H2>
The socket must be quiescent before <tt>MPI_COMM_JOIN</tt> is called and after
<tt>MPI_COMM_JOIN</tt> returns. More specifically, on entry to <tt>MPI_COMM_JOIN</tt>, a
The socket must be quiescent before <TT>MPI_COMM_JOIN</TT> is called and after
<TT>MPI_COMM_JOIN</TT> returns. More specifically, on entry to <TT>MPI_COMM_JOIN</TT>, a
read on the socket will not read any data that was written to the socket
before the remote process called <tt>MPI_COMM_JOIN</tt>.
before the remote process called <TT>MPI_COMM_JOIN</TT>.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,14 +9,14 @@
Determines the rank of the calling process in the communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_rank( MPI_Comm comm, int *rank )
int MPI_Comm_rank(MPI_Comm comm, int *rank)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>rank </B> <DD> rank of the calling process in the group of <tt>comm</tt> (integer)
<DL><DT><B>rank </B> <DD> rank of the calling process in the group of <TT>comm</TT> (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -26,33 +26,33 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -6,10 +6,10 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_remote_group"><H1>MPI_Comm_remote_group</H1></A>
Accesses the remote group associated with the given inter-communicator
Accesses the remote group associated with the given inter-communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group)
int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group * group)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> Communicator (must be an intercommunicator) (handle)
@@ -27,41 +27,41 @@ The user is responsible for freeing the group when it is no longer needed.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Group_free
<br>
<BR>
</BODY></HTML>

View File

@@ -6,17 +6,17 @@
</HEAD>
<BODY BGCOLOR="FFFFFF">
<A NAME="MPI_Comm_remote_size"><H1>MPI_Comm_remote_size</H1></A>
Determines the size of the remote group associated with an inter-communictor
Determines the size of the remote group associated with an inter-communictor
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_remote_size(MPI_Comm comm, int *size)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>size </B> <DD> number of processes in the remote group of <tt>comm</tt> (integer)
<DL><DT><B>size </B> <DD> number of processes in the remote group of <TT>comm</TT> (integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -26,36 +26,36 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -13,21 +13,21 @@ int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator to which attribute will be attached (handle)
<DT><B>comm </B><DD>communicator to which attribute will be attached (handle)
<DT><B>comm_keyval </B><DD>key value, as returned by <tt>MPI_Comm_create_keyval</tt> (integer)
<DT><B>comm_keyval </B><DD>key value, as returned by <TT>MPI_Comm_create_keyval</TT> (integer)
<DT><B>attribute_val </B><DD>attribute value
<DT><B>attribute_val </B><DD>attribute value
</DL>
<P>
<H2>Notes</H2>
Values of the permanent attributes <tt>MPI_TAG_UB</tt>, <tt>MPI_HOST</tt>, <tt>MPI_IO</tt>,
<tt>MPI_WTIME_IS_GLOBAL</tt>, <tt>MPI_UNIVERSE_SIZE</tt>, <tt>MPI_LASTUSEDCODE</tt>, and
<tt>MPI_APPNUM</tt> may not be changed.
Values of the permanent attributes <TT>MPI_TAG_UB</TT>, <TT>MPI_HOST</TT>, <TT>MPI_IO</TT>,
<TT>MPI_WTIME_IS_GLOBAL</TT>, <TT>MPI_UNIVERSE_SIZE</TT>, <TT>MPI_LASTUSEDCODE</TT>, and
<TT>MPI_APPNUM</TT> may not be changed.
<P>
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 (<tt>void *</tt>); in Fortran, it is an
In C and C++, an attribute value is a pointer (<TT>void *</TT>); in Fortran, it is an
address-sized integer.
<P>
If an attribute is already present, the delete function (specified when the
@@ -38,38 +38,38 @@ corresponding keyval was created) will be called.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_KEYVAL </B> <DD> Invalid keyval
</DL>
@@ -77,7 +77,7 @@ communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
indicates that an attempt was made to free one of the permanent keys.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_create_keyval, MPI_Comm_delete_attr
<br>
<BR>
</BODY></HTML>

View File

@@ -13,9 +13,9 @@ int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>errhandler </B><DD>new error handler for communicator (handle)
<DT><B>errhandler </B><DD>new error handler for communicator (handle)
</DL>
<P>
<P>
@@ -28,46 +28,46 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_get_errhandler, MPI_Comm_call_errhandler
<br>
<BR>
</BODY></HTML>

View File

@@ -23,41 +23,41 @@ int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -28,39 +28,39 @@ 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 <tt>MPI_Info</tt> object concurrently. The user is responsible in this
same <TT>MPI_Info</TT> 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.
<P>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
</BODY></HTML>

View File

@@ -9,14 +9,14 @@
Determines the size of the group associated with a communicator
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_size( MPI_Comm comm, int *size )
int MPI_Comm_size(MPI_Comm comm, int *size)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator (handle)
<DL><DT><B>comm </B> <DD> communicator (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>size </B> <DD> number of processes in the group of <tt>comm</tt> (integer)
<DL><DT><B>size </B> <DD> number of processes in the group of <TT>comm</TT> (integer)
</DL>
<P>
<H2>Notes</H2>
@@ -41,36 +41,36 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -10,32 +10,31 @@ Spawn up to maxprocs instances of a single MPI application
<H2>Synopsis</H2>
<PRE>
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[])
int root, MPI_Comm comm, MPI_Comm * intercomm, int array_of_errcodes[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>command </B><DD>name of program to be spawned (string, significant only at root)
<DT><B>command </B><DD>name of program to be spawned (string, significant only at root)
<DT><B>argv </B><DD>arguments to command (array of strings, significant only at root)
<DT><B>argv </B><DD>arguments to command (array of strings, significant only at root)
<DT><B>maxprocs </B><DD>maximum number of processes to start (integer, significant only
at root)
<DT><B>maxprocs </B><DD>maximum number of processes to start (integer, significant only
at root)
<DT><B>info </B><DD>a set of key-value pairs telling the runtime system where and how
to start the processes (handle, significant only at root)
<DT><B>info </B><DD>a set of key-value pairs telling the runtime system where and how
to start the processes (handle, significant only at root)
<DT><B>root </B><DD>rank of process in which previous arguments are examined (integer)
<DT><B>root </B><DD>rank of process in which previous arguments are examined (integer)
<DT><B>comm </B><DD>intracommunicator containing group of spawning processes (handle)
<DT><B>comm </B><DD>intracommunicator containing group of spawning processes (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>intercomm </B><DD>intercommunicator between original group and the
newly spawned group (handle)
<DT><B>intercomm </B><DD>intercommunicator between original group and the
newly spawned group (handle)
<DT><B>array_of_errcodes </B><DD>one code per process (array of integer)
<DT><B>array_of_errcodes </B><DD>one code per process (array of integer)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -43,41 +42,41 @@ newly spawned group (handle)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>

View File

@@ -10,72 +10,72 @@ short description
<H2>Synopsis</H2>
<PRE>
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[])
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[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>count </B><DD>number of commands (positive integer, significant to MPI only at
root
<DT><B>count </B><DD>number of commands (positive integer, significant to MPI only at
root
<DT><B>array_of_commands </B><DD>programs to be executed (array of strings, significant
only at root)
<DT><B>array_of_commands </B><DD>programs to be executed (array of strings, significant
only at root)
<DT><B>array_of_argv </B><DD>arguments for commands (array of array of strings,
significant only at root)
<DT><B>array_of_argv </B><DD>arguments for commands (array of array of strings,
significant only at root)
<DT><B>array_of_maxprocs </B><DD>maximum number of processes to start for each command
(array of integer, significant only at root)
<DT><B>array_of_maxprocs </B><DD>maximum number of processes to start for each command
(array of integer, significant only at root)
<DT><B>array_of_info </B><DD>info objects telling the runtime system where and how to
start processes (array of handles, significant only at root)
<DT><B>array_of_info </B><DD>info objects telling the runtime system where and how to
start processes (array of handles, significant only at root)
<DT><B>root </B><DD>rank of process in which previous arguments are examined (integer)
<DT><B>root </B><DD>rank of process in which previous arguments are examined (integer)
<DT><B>comm </B><DD>intracommunicator containing group of spawning processes (handle)
<DT><B>comm </B><DD>intracommunicator containing group of spawning processes (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL>
<DT><B>intercomm </B><DD>intercommunicator between original group and newly spawned group
(handle)
(handle)
<DT><B>array_of_errcodes </B><DD>one error code per process (array of integer)
<DT><B>array_of_errcodes </B><DD>one error code per process (array of integer)
</DL>
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_INFO </B> <DD> Invalid Info
</DL>

View File

@@ -9,78 +9,78 @@
Creates new communicators based on colors and keys
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm)
int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm </B><DD>communicator (handle)
<DT><B>comm </B><DD>communicator (handle)
<DT><B>color </B><DD>control of subset assignment (nonnegative integer). Processes
with the same color are in the same new communicator
<DT><B>color </B><DD>control of subset assignment (nonnegative integer). Processes
with the same color are in the same new communicator
<DT><B>key </B><DD>control of rank assignment (integer)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>newcomm </B> <DD> new communicator (handle)
<DL><DT><B>newcomm </B> <DD> new communicator (handle)
</DL>
<P>
<H2>Notes</H2>
The <tt>color</tt> must be non-negative or <tt>MPI_UNDEFINED</tt>.
The <TT>color</TT> must be non-negative or <TT>MPI_UNDEFINED</TT>.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Algorithm</H2>
<PRE>
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
2. Count the number of processes with the same color; create a
communicator with that many processes. If this process has
<tt>MPI_UNDEFINED</tt> as the color, create a process with a single member.
<TT>MPI_UNDEFINED</TT> as the color, create a process with a single member.
3. Use key to order the ranks
</PRE>
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_INTERN </B> <DD> This error is returned when some part of the MPICH
implementation is unable to acquire memory.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_free
<br>
<BR>
</BODY></HTML>

View File

@@ -9,8 +9,7 @@
Creates new communicators based on split types and keys
<H2>Synopsis</H2>
<PRE>
int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info,
MPI_Comm * newcomm)
int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm * newcomm)
</PRE>
<H2>Input Parameters</H2>
<DL>
@@ -28,51 +27,51 @@ int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info,
</DL>
<P>
<H2>Notes</H2>
The <tt>split_type</tt> must be non-negative or <tt>MPI_UNDEFINED</tt>.
The <TT>split_type</TT> must be non-negative or <TT>MPI_UNDEFINED</TT>.
<P>
<H2>Thread and Interrupt Safety</H2>
<P>
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_INTERN </B> <DD> This error is returned when some part of the MPICH
implementation is unable to acquire memory.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_free
<br>
<BR>
</BODY></HTML>

View File

@@ -12,11 +12,11 @@ Tests to see if a comm is an inter-communicator
int MPI_Comm_test_inter(MPI_Comm comm, int *flag)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>comm </B> <DD> communicator to test (handle)
<DL><DT><B>comm </B> <DD> communicator to test (handle)
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>flag </B> <DD> true if this is an inter-communicator(logical)
<DL><DT><B>flag </B> <DD> true if this is an inter-communicator(logical)
</DL>
<P>
<H2>Thread and Interrupt Safety</H2>
@@ -26,36 +26,36 @@ This means that this routine may safely be used by multiple threads and
from within a signal handler.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_COMM </B> <DD> Invalid communicator. A common error is to use a null
communicator in a call (not even allowed in <tt>MPI_Comm_rank</tt>).
communicator in a call (not even allowed in <TT>MPI_Comm_rank</TT>).
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

View File

@@ -10,8 +10,8 @@ Perform one-sided atomic compare-and-swap.
<H2>Synopsis</H2>
<PRE>
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)
void *result_addr, MPI_Datatype datatype, int target_rank,
MPI_Aint target_disp, MPI_Win win)
</PRE>
<P>
This function compares one element of type datatype in the compare buffer
@@ -47,48 +47,48 @@ 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.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_COUNT </B> <DD> Invalid count argument. Count arguments must be
non-negative; a count of zero is often valid.
</DL>
<DL><DT><B>MPI_ERR_OP </B> <DD> Invalid operation. MPI operations (objects of type <tt>MPI_Op</tt>)
must either be one of the predefined operations (e.g., <tt>MPI_SUM</tt>) or
created with <tt>MPI_Op_create</tt>.
<DL><DT><B>MPI_ERR_OP </B> <DD> Invalid operation. MPI operations (objects of type <TT>MPI_Op</TT>)
must either be one of the predefined operations (e.g., <TT>MPI_SUM</TT>) or
created with <TT>MPI_Op_create</TT>.
</DL>
<DL><DT><B>MPI_ERR_RANK </B> <DD> Invalid source or destination rank. Ranks must be between
zero and the size of the communicator minus one; ranks in a receive
(<tt>MPI_Recv</tt>, <tt>MPI_Irecv</tt>, <tt>MPI_Sendrecv</tt>, etc.) may also be <tt>MPI_ANY_SOURCE</tt>.
(<TT>MPI_Recv</TT>, <TT>MPI_Irecv</TT>, <TT>MPI_Sendrecv</TT>, etc.) may also be <TT>MPI_ANY_SOURCE</TT>.
</DL>
<DL><DT><B>MPI_ERR_TYPE </B> <DD> Invalid datatype argument. Additionally, this error can
occur if an uncommitted MPI_Datatype (see <tt>MPI_Type_commit</tt>) is used
occur if an uncommitted MPI_Datatype (see <TT>MPI_Type_commit</TT>) is used
in a communication call.
</DL>
<DL><DT><B>MPI_ERR_WIN </B> <DD> Invalid MPI window object

View File

@@ -13,14 +13,14 @@ int MPI_Dims_create(int nnodes, int ndims, int dims[])
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>nnodes </B><DD>number of nodes in a grid (integer)
<DT><B>nnodes </B><DD>number of nodes in a grid (integer)
<DT><B>ndims </B><DD>number of cartesian dimensions (integer)
<DT><B>ndims </B><DD>number of cartesian dimensions (integer)
</DL>
<P>
<H2>Input/Output Parameters</H2>
<DL><DT><B>dims </B> <DD> integer array of size <tt>ndims</tt> specifying the number of nodes in each
dimension. A value of 0 indicates that <tt>MPI_Dims_create</tt> should fill in a
<DL><DT><B>dims </B> <DD> integer array of size <TT>ndims</TT> specifying the number of nodes in each
dimension. A value of 0 indicates that <TT>MPI_Dims_create</TT> should fill in a
suitable value.
</DL>
<P>
@@ -29,31 +29,31 @@ suitable value.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -12,25 +12,25 @@ MPI_DIST_GRAPH_CREATE returns a handle to a new communicator to which the distri
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)
MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
</PRE>
<H2>Input Parameters</H2>
<DL>
<DT><B>comm_old </B><DD>input communicator (handle)
<DT><B>n </B><DD>number of source nodes for which this process specifies edges
<DT><B>n </B><DD>number of source nodes for which this process specifies edges
(non-negative integer)
<DT><B>sources </B><DD>array containing the n source nodes for which this process
<DT><B>sources </B><DD>array containing the n source nodes for which this process
specifies edges (array of non-negative integers)
<DT><B>degrees </B><DD>array specifying the number of destinations for each source node
<DT><B>degrees </B><DD>array specifying the number of destinations for each source node
in the source node array (array of non-negative integers)
<DT><B>destinations </B><DD>destination nodes for the source nodes in the source node
<DT><B>destinations </B><DD>destination nodes for the source nodes in the source node
array (array of non-negative integers)
<DT><B>weights </B><DD>weights for source to destination edges (array of non-negative
<DT><B>weights </B><DD>weights for source to destination edges (array of non-negative
integers or MPI_UNWEIGHTED)
<DT><B>info </B><DD>hints on optimization and interpretation of weights (handle)
@@ -47,40 +47,40 @@ integers or MPI_UNWEIGHTED)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -14,7 +14,7 @@ int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old,
const int sourceweights[],
int outdegree, const int destinations[],
const int destweights[],
MPI_Info info, int reorder, MPI_Comm *comm_dist_graph)
MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
</PRE>
<H2>Input Parameters</H2>
<DL>
@@ -33,7 +33,7 @@ process (array of non-negative integers or MPI_UNWEIGHTED)
<DT><B>destinations </B><DD>ranks of processes for which the calling process is a
source (array of non-negative integers)
<DT><B>destweights </B><DD>weights of the edges out of the calling process
<DT><B>destweights </B><DD>weights of the edges out of the calling process
(array of non-negative integers or MPI_UNWEIGHTED)
<DT><B>info </B><DD>hints on optimization and interpretation of weights (handle)
@@ -50,40 +50,40 @@ source (array of non-negative integers)
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <tt>MPI_Error_string</tt> to get more information
<DL><DT><B>MPI_ERR_OTHER </B> <DD> Other error; use <TT>MPI_Error_string</TT> to get more information
about this error code.
</DL>
</BODY></HTML>

View File

@@ -38,31 +38,31 @@ int MPI_Dist_graph_neighbors(MPI_Comm comm,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -29,31 +29,31 @@ int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree,
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>

View File

@@ -9,22 +9,21 @@
Creates an MPI-style errorhandler
<H2>Synopsis</H2>
<PRE>
int MPI_Errhandler_create(MPI_Handler_function *function,
MPI_Errhandler *errhandler)
int MPI_Errhandler_create(MPI_Handler_function * function, MPI_Errhandler * errhandler)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>function </B> <DD> user defined error handling procedure
<DL><DT><B>function </B> <DD> user defined error handling procedure
</DL>
<P>
<H2>Output Parameters</H2>
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle)
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle)
</DL>
<P>
<H2>Notes</H2>
The MPI Standard states that an implementation may make the output value
(errhandler) simply the address of the function. However, the action of
<tt>MPI_Errhandler_free</tt> makes this impossible, since it is required to set the
value of the argument to <tt>MPI_ERRHANDLER_NULL</tt>. In addition, the actual
<TT>MPI_Errhandler_free</TT> makes this impossible, since it is required to set the
value of the argument to <TT>MPI_ERRHANDLER_NULL</TT>. In addition, the actual
error handler must remain until all communicators that use it are
freed.
<P>
@@ -33,38 +32,38 @@ freed.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Deprecated Function</H2>
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 <tt>MPI_Comm_create_errhandler</tt>.
The replacement routine for this function is <TT>MPI_Comm_create_errhandler</TT>.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
@@ -74,7 +73,7 @@ possible.
implementation is unable to acquire memory.
</DL>
<P>
<H0>See Also</H0>
<H2>See Also</H2>
MPI_Comm_create_errhandler, MPI_Errhandler_free
<br>
<BR>
</BODY></HTML>

View File

@@ -9,10 +9,10 @@
Frees an MPI-style errorhandler
<H2>Synopsis</H2>
<PRE>
int MPI_Errhandler_free(MPI_Errhandler *errhandler)
int MPI_Errhandler_free(MPI_Errhandler * errhandler)
</PRE>
<H2>Input Parameters</H2>
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle). Set to <tt>MPI_ERRHANDLER_NULL</tt> on
<DL><DT><B>errhandler </B> <DD> MPI error handler (handle). Set to <TT>MPI_ERRHANDLER_NULL</TT> on
exit.
</DL>
<P>
@@ -21,37 +21,37 @@ exit.
This routine is thread-safe. This means that this routine may be
safely used by multiple threads without the need for any user-provided
thread locks. However, the routine is not interrupt safe. Typically,
this is due to the use of memory allocation routines such as <tt>malloc
</tt>or other non-MPICH runtime routines that are themselves not interrupt-safe.
this is due to the use of memory allocation routines such as <TT>malloc
</TT>or other non-MPICH runtime routines that are themselves not interrupt-safe.
<P>
<H2>Notes for Fortran</H2>
All MPI routines in Fortran (except for <tt>MPI_WTIME</tt> and <tt>MPI_WTICK</tt>) have
an additional argument <tt>ierr</tt> at the end of the argument list. <tt>ierr
</tt>is an integer and has the same meaning as the return value of the routine
All MPI routines in Fortran (except for <TT>MPI_WTIME</TT> and <TT>MPI_WTICK</TT>) have
an additional argument <TT>ierr</TT> at the end of the argument list. <TT>ierr
</TT>is an integer and has the same meaning as the return value of the routine
in C. In Fortran, MPI routines are subroutines, and are invoked with the
<tt>call</tt> statement.
<TT>call</TT> statement.
<P>
All MPI objects (e.g., <tt>MPI_Datatype</tt>, <tt>MPI_Comm</tt>) are of type <tt>INTEGER
</tt>in Fortran.
All MPI objects (e.g., <TT>MPI_Datatype</TT>, <TT>MPI_Comm</TT>) are of type <TT>INTEGER
</TT>in Fortran.
<P>
<H2>Errors</H2>
<P>
All MPI routines (except <tt>MPI_Wtime</tt> and <tt>MPI_Wtick</tt>) return an error value;
All MPI routines (except <TT>MPI_Wtime</TT> and <TT>MPI_Wtick</TT>) return an error value;
C routines as the value of the function and Fortran routines in the last
argument. Before the value is returned, the current MPI error handler is
called. By default, this error handler aborts the MPI job. The error handler
may be changed with <tt>MPI_Comm_set_errhandler</tt> (for communicators),
<tt>MPI_File_set_errhandler</tt> (for files), and <tt>MPI_Win_set_errhandler</tt> (for
RMA windows). The MPI-1 routine <tt>MPI_Errhandler_set</tt> may be used but
may be changed with <TT>MPI_Comm_set_errhandler</TT> (for communicators),
<TT>MPI_File_set_errhandler</TT> (for files), and <TT>MPI_Win_set_errhandler</TT> (for
RMA windows). The MPI-1 routine <TT>MPI_Errhandler_set</TT> may be used but
its use is deprecated. The predefined error handler
<tt>MPI_ERRORS_RETURN</tt> may be used to cause error values to be returned.
Note that MPI does <em>not</em> guarentee that an MPI program can continue past
<TT>MPI_ERRORS_RETURN</TT> may be used to cause error values to be returned.
Note that MPI does <EM>not</EM> guarentee that an MPI program can continue past
an error; however, MPI implementations will attempt to continue whenever
possible.
<P>
<DL><DT><B>MPI_SUCCESS </B> <DD> No error; MPI routine completed successfully.
</DL>
<DL><DT><B>MPI_ERR_ARG </B> <DD> Invalid argument. Some argument is invalid and is not
identified by a specific error class (e.g., <tt>MPI_ERR_RANK</tt>).
identified by a specific error class (e.g., <TT>MPI_ERR_RANK</TT>).
</DL>
</BODY></HTML>

Some files were not shown because too many files have changed in this diff Show More