update mpich linux
This commit is contained in:
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 <architecture name> </B><DD>Pick hosts with this architecture type
|
||||
|
||||
<DT><B>-wdir <working directory> </B><DD>cd to this one <em>before</em> running executable
|
||||
<DT><B>-wdir <working directory> </B><DD>cd to this one <EM>before</EM> running executable
|
||||
|
||||
<DT><B>-path <pathlist> </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 <num> </B><DD>A synonym for the standard <tt>\-n</tt> argument
|
||||
<DT><B>-np <num> </B><DD>A synonym for the standard <TT>\-n</TT> argument
|
||||
|
||||
<DT><B>-env <name> <value> </B><DD>Set the environment variable <tt><name></tt> to <tt><value></tt> for
|
||||
the processes being run by <tt>mpiexec
|
||||
</tt>
|
||||
<DT><B>-env <name> <value> </B><DD>Set the environment variable <TT><name></TT> to <TT><value></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 <list> </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 <name> <value> </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 <name> <value> </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 <list> </B><DD>Like <tt>\-envlist</tt>, but for all executables
|
||||
<DT><B>-genvlist <list> </B><DD>Like <TT>\-envlist</TT>, but for all executables
|
||||
|
||||
<DT><B>-usize <n> </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 <n> </B><DD>Set a timelimit of <tt><n></tt> seconds.
|
||||
<DT><B>-maxtime <n> </B><DD>Set a timelimit of <TT><n></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><low>:<high></tt>. For example, to specify any port between
|
||||
10000 and 10100, use <tt>10000:10100</tt>.
|
||||
this is <TT><low>:<high></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>></tt>). If
|
||||
text <TT>(err)</TT>; both are followed by an angle bracket (<TT>></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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
18
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html
Normal file
18
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html
Normal 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>
|
||||
@@ -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>
|
||||
29
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html
Normal file
29
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html
Normal 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>
|
||||
@@ -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>
|
||||
39
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html
Normal file
39
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html
Normal 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>
|
||||
38
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html
Normal file
38
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html
Normal 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>
|
||||
38
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html
Normal file
38
linx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html
Normal 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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>&</tt> operator, but this is not required in C and
|
||||
as produced by the C <TT>&</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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 > 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<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( &b, &n );
|
||||
MPI_Buffer_attach( b, n );
|
||||
MPI_Buffer_detach(&b, &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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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, &s1 );
|
||||
MPI_Pack_size( 40, type2, comm, &s2 );
|
||||
MPI_Pack_size(20, type1, comm, &s1);
|
||||
MPI_Pack_size(40, type2, comm, &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>
|
||||
|
||||
@@ -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( &ptr, &size );
|
||||
MPI_Buffer_attach( myptr, mysize );
|
||||
void *ptr, *myptr, *dummy;
|
||||
MPI_Buffer_detach(&ptr, &size);
|
||||
MPI_Buffer_attach(myptr, mysize);
|
||||
...
|
||||
... library code ...
|
||||
...
|
||||
MPI_Buffer_detach( &dummy, &idummy );
|
||||
MPI_Buffer_attach( ptr, size );
|
||||
MPI_Buffer_detach(&dummy, &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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 (> 0: upwards shift, < 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user