Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 263386785cefb9ae5d63b926d214d809 > files > 321

mpqc-2.1.2-4mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>sc::MPIMessageGrp class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:17:11 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>sc::MPIMessageGrp  Class Reference</h1>The <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a> class is an concrete implementation of <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> that uses the MPI 1 library. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="messmpi_h-source.html">messmpi.h</a>&gt;</code>
<p>
Inheritance diagram for sc::MPIMessageGrp<p><center><img src="class_sc__MPIMessageGrp_inherit_graph.gif" border="0" usemap="#sc::MPIMessageGrp_inherit_map" alt="Inheritance graph"></center>
<map name="sc::MPIMessageGrp_inherit_map">
<area href="class_sc__MessageGrp.html" shape="rect" coords="26,214,125,233">
<area href="class_sc__DescribedClass.html" shape="rect" coords="18,147,133,166">
<area href="class_sc__RefCount.html" shape="rect" coords="34,81,117,99">
<area href="class_sc__Identity.html" shape="rect" coords="39,14,111,33">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::MPIMessageGrp:<p><center><img src="class_sc__MPIMessageGrp_coll_graph.gif" border="0" usemap="#sc::MPIMessageGrp_coll_map" alt="Collaboration graph"></center>
<map name="sc::MPIMessageGrp_coll_map">
<area href="class_sc__MessageGrp.html" shape="rect" coords="277,264,375,283">
<area href="class_sc__DescribedClass.html" shape="rect" coords="14,179,129,197">
<area href="class_sc__RefCount.html" shape="rect" coords="23,96,106,115">
<area href="class_sc__Identity.html" shape="rect" coords="29,13,101,32">
<area href="class_sc__Ref.html" shape="rect" coords="377,179,547,197">
<area href="class_sc__RefBase.html" shape="rect" coords="546,96,623,115">
<area href="class_sc__Ref.html" shape="rect" coords="519,221,650,240">
<area href="class_sc__Ref.html" shape="rect" coords="674,221,810,240">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__MPIMessageGrp-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::MPIMessageGrp::MPIMessageGrp"></a>
&nbsp;</td><td valign=bottom><b>MPIMessageGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a1">MPIMessageGrp</a> (MPI_Comm comm)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Use an MPI communicator to create a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a2">MPIMessageGrp</a> (int *argc, char ***argv)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Use argc and argv to create a <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a>.</em> <a href="#a2">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::MPIMessageGrp::MPIMessageGrp"></a>
&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a3">MPIMessageGrp</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; <a class="el" href="class_sc__KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Construction <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a> given a <a class="el" href="class_sc__KeyVal.html">KeyVal</a> input object.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::MPIMessageGrp::~MPIMessageGrp"></a>
&nbsp;</td><td valign=bottom><b>~MPIMessageGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::MPIMessageGrp::clone"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a5">clone</a> (void)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Clones (dups) an <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a> from MPI_COMM_WORLD.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::MPIMessageGrp::raw_send"></a>
void&nbsp;</td><td valign=bottom><b>raw_send</b> (int target, void *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::MPIMessageGrp::raw_recv"></a>
void&nbsp;</td><td valign=bottom><b>raw_recv</b> (int sender, void *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::MPIMessageGrp::raw_sendt"></a>
void&nbsp;</td><td valign=bottom><b>raw_sendt</b> (int target, int type, void *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::MPIMessageGrp::raw_recvt"></a>
void&nbsp;</td><td valign=bottom><b>raw_recvt</b> (int type, void *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="sc::MPIMessageGrp::probet"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a10">probet</a> (int type)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Ask if a given typed message has been received.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::MPIMessageGrp::sync"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a11">sync</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Synchronize all of the processors.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#a12">reduce</a> (double *, int n, GrpReduce&lt; double &gt; &amp;, double *scratch=0, int target=-1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Global generic reduction.</em> <a href="#a12">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (unsigned int *, int n, GrpReduce&lt; unsigned int &gt; &amp;, unsigned int *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (int *, int n, GrpReduce&lt; int &gt; &amp;, int *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (char *, int n, GrpReduce&lt; char &gt; &amp;, char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a16" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (unsigned char *, int n, GrpReduce&lt; unsigned char &gt; &amp;, unsigned char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (signed char *, int n, GrpReduce&lt; signed char &gt; &amp;, signed char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a18" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (short *, int n, GrpReduce&lt; short &gt; &amp;, short *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (float *, int n, GrpReduce&lt; float &gt; &amp;, float *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a20" doxytag="sc::MPIMessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (long *, int n, GrpReduce&lt; long &gt; &amp;, long *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a21" doxytag="sc::MPIMessageGrp::raw_bcast"></a>
void&nbsp;</td><td valign=bottom><b>raw_bcast</b> (void *data, int nbyte, int from)</td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="b0" doxytag="sc::MPIMessageGrp::my_node_info"></a>
struct p4_cluster*&nbsp;</td><td valign=bottom><b>my_node_info</b> (const char[], int &amp;)</td></tr>
<tr><td nowrap align=right valign=top><a name="b1" doxytag="sc::MPIMessageGrp::init"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#b1">init</a> (MPI_Comm comm, int *argc=0, char ***argv=0)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Not thread-safe due to race condition on nmpi_grps variable.</em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="n0" doxytag="sc::MPIMessageGrp::buf"></a>
void*&nbsp;</td><td valign=bottom><b>buf</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n1" doxytag="sc::MPIMessageGrp::bufsize"></a>
int&nbsp;</td><td valign=bottom><b>bufsize</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n2" doxytag="sc::MPIMessageGrp::rnode"></a>
int&nbsp;</td><td valign=bottom><b>rnode</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n3" doxytag="sc::MPIMessageGrp::rtag"></a>
int&nbsp;</td><td valign=bottom><b>rtag</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n4" doxytag="sc::MPIMessageGrp::rlen"></a>
int&nbsp;</td><td valign=bottom><b>rlen</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n5" doxytag="sc::MPIMessageGrp::threadgrp"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a>&gt;&nbsp;</td><td valign=bottom><b>threadgrp</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n6" doxytag="sc::MPIMessageGrp::commgrp"></a>
MPI_Comm&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#n6">commgrp</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Currently each commgrp is a dup of MPI_COMM_WORLD.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="n7" doxytag="sc::MPIMessageGrp::nlocal"></a>
int&nbsp;</td><td valign=bottom><b>nlocal</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n8" doxytag="sc::MPIMessageGrp::nremote"></a>
int&nbsp;</td><td valign=bottom><b>nremote</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n9" doxytag="sc::MPIMessageGrp::master"></a>
char*&nbsp;</td><td valign=bottom><b>master</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n10" doxytag="sc::MPIMessageGrp::jobid"></a>
char*&nbsp;</td><td valign=bottom><b>jobid</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n11" doxytag="sc::MPIMessageGrp::remote_clusters"></a>
struct sc::MPIMessageGrp::p4_cluster *&nbsp;</td><td valign=bottom><b>remote_clusters</b></td></tr>
<tr><td colspan=2><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="q0" doxytag="sc::MPIMessageGrp::nmpi_grps"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#q0">nmpi_grps</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Number of <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a>'s currently in use.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="q1" doxytag="sc::MPIMessageGrp::grplock"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;<a class="el" href="class_sc__ThreadLock.html">ThreadLock</a>&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MPIMessageGrp.html#q1">grplock</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>lock to access nmpi_grps variable.</em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a> class is an concrete implementation of <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> that uses the MPI 1 library.
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a1" doxytag="sc::MPIMessageGrp::MPIMessageGrp"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
sc::MPIMessageGrp::MPIMessageGrp (
          </b></td>
          <td valign="bottom"><b>
MPI_Comm <em>comm</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Use an MPI communicator to create a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>.
<p>
The comm argument could be a subset of MPI_COMM_WORLD, for example.     </td>
  </tr>
</table>
<a name="a2" doxytag="sc::MPIMessageGrp::MPIMessageGrp"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
sc::MPIMessageGrp::MPIMessageGrp (
          </b></td>
          <td valign="bottom"><b>
int * <em>argc</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
char *** <em>argv</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Use argc and argv to create a <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a>.
<p>
This would have to be used for implementations of MPI that have MPI_Init fill in argc and argv.     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a12" doxytag="sc::MPIMessageGrp::reduce"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MPIMessageGrp::reduce (
          </b></td>
          <td valign="bottom"><b>
double *, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
GrpReduce&lt; double &gt; &amp;, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>scratch</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>target</em> = -1&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Global generic reduction.
<p>
Similar members exist for each of the basic types. 
<p>
Reimplemented from <a class="el" href="class_sc__MessageGrp.html#a93">sc::MessageGrp</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="messmpi_h-source.html">messmpi.h</a></ul>
<hr>
<address>
<small>

Generated at Mon Oct 14 14:17:12 2002 for <a
href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a>
2.1.2 using the documentation package <a
href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>
1.2.5.

</small>
</address>
</body>
</html>