<!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::MTMPIMemoryGrp 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:14 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>sc::MTMPIMemoryGrp Class Reference</h1>This <a class="el" href="class_sc__MemoryGrp.html">MemoryGrp</a> class requires a MT-safe MPI implementation. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="memmtmpi_h-source.html">memmtmpi.h</a>></code> <p> Inheritance diagram for sc::MTMPIMemoryGrp<p><center><img src="class_sc__MTMPIMemoryGrp_inherit_graph.gif" border="0" usemap="#sc::MTMPIMemoryGrp_inherit_map" alt="Inheritance graph"></center> <map name="sc::MTMPIMemoryGrp_inherit_map"> <area href="class_sc__ActiveMsgMemoryGrp.html" shape="rect" coords="14,347,171,366"> <area href="class_sc__MsgMemoryGrp.html" shape="rect" coords="31,280,154,299"> <area href="class_sc__MemoryGrp.html" shape="rect" coords="43,214,142,232"> <area href="class_sc__DescribedClass.html" shape="rect" coords="35,147,150,166"> <area href="class_sc__RefCount.html" shape="rect" coords="51,80,134,99"> <area href="class_sc__Identity.html" shape="rect" coords="57,14,129,32"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::MTMPIMemoryGrp:<p><center><img src="class_sc__MTMPIMemoryGrp_coll_graph.gif" border="0" usemap="#sc::MTMPIMemoryGrp_coll_map" alt="Collaboration graph"></center> <map name="sc::MTMPIMemoryGrp_coll_map"> <area href="class_sc__ActiveMsgMemoryGrp.html" shape="rect" coords="247,419,405,438"> <area href="class_sc__MsgMemoryGrp.html" shape="rect" coords="209,330,331,349"> <area href="class_sc__MemoryGrp.html" shape="rect" coords="118,238,217,257"> <area href="class_sc__DescribedClass.html" shape="rect" coords="121,153,235,171"> <area href="class_sc__RefCount.html" shape="rect" coords="137,83,219,102"> <area href="class_sc__Identity.html" shape="rect" coords="142,14,214,33"> <area href="class_sc__Ref.html" shape="rect" coords="361,153,497,171"> <area href="class_sc__RefBase.html" shape="rect" coords="390,83,467,102"> <area href="class_sc__Ref.html" shape="rect" coords="201,195,339,214"> <area href="class_sc__Ref.html" shape="rect" coords="517,281,647,299"> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__MTMPIMemoryGrp-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> </td><td valign=bottom><a class="el" href="class_sc__MTMPIMemoryGrp.html#a0">MTMPIMemoryGrp</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> > &msg, const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a> > &th, MPI_Comm comm=MPI_COMM_WORLD)</td></tr> <tr><td> </td><td><font size=-1><em>Construct a <a class="el" href="class_sc__MTMPIMemoryGrp.html">MTMPIMemoryGrp</a> given a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>, <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a>, and an MPI communicator.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top> </td><td valign=bottom><a class="el" href="class_sc__MTMPIMemoryGrp.html#a1">MTMPIMemoryGrp</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > &)</td></tr> <tr><td> </td><td><font size=-1><em>Construct a <a class="el" href="class_sc__MTMPIMemoryGrp.html">MTMPIMemoryGrp</a> given a <a class="el" href="class_sc__KeyVal.html">KeyVal</a> input object.</em> <a href="#a1">More...</a><em></em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::MTMPIMemoryGrp::~MTMPIMemoryGrp"></a> </td><td valign=bottom><b>~MTMPIMemoryGrp</b> ()</td></tr> <tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::MTMPIMemoryGrp::activate"></a> void </td><td valign=bottom><a class="el" href="class_sc__MTMPIMemoryGrp.html#a3">activate</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Activate is called before the memory is to be used.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::MTMPIMemoryGrp::deactivate"></a> void </td><td valign=bottom><a class="el" href="class_sc__MTMPIMemoryGrp.html#a4">deactivate</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Deactivate is called after the memory has been used.</em></font><br><br></td></tr> <tr><td nowrap align=right valign=top>void </td><td valign=bottom><a class="el" href="class_sc__MTMPIMemoryGrp.html#a5">sync</a> ()</td></tr> <tr><td> </td><td><font size=-1><em>Synchronizes all the nodes.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr> <tr><td colspan=2><br><h2>Friends</h2></td></tr> <tr><td nowrap align=right valign=top>class </td><td valign=bottom><b>MTMPIThread</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This <a class="el" href="class_sc__MemoryGrp.html">MemoryGrp</a> class requires a MT-safe MPI implementation. <p> The default <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> must be a <a class="el" href="class_sc__MPIMessageGrp.html">MPIMessageGrp</a>. MPI must be safe with respect to the default <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a>. Alternately, a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> and a <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a> can be passed to the constructor. <p> <hr><h2>Constructor & Destructor Documentation</h2> <a name="a0" doxytag="sc::MTMPIMemoryGrp::MTMPIMemoryGrp"></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::MTMPIMemoryGrp::MTMPIMemoryGrp ( </b></td> <td valign="bottom"><b> const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> > & <em>msg</em>, </b></td> </tr> <tr> <td></td> <td><b> const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a> > & <em>th</em>, </b></td> </tr> <tr> <td></td> <td><b> MPI_Comm <em>comm</em> = MPI_COMM_WORLD ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Construct a <a class="el" href="class_sc__MTMPIMemoryGrp.html">MTMPIMemoryGrp</a> given a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>, <a class="el" href="class_sc__ThreadGrp.html">ThreadGrp</a>, and an MPI communicator. <p> The communicator can be a subset of MPI_COMM_WORLD, in which case, the <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> must refer to the same subset. </td> </tr> </table> <a name="a1" doxytag="sc::MTMPIMemoryGrp::MTMPIMemoryGrp"></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::MTMPIMemoryGrp::MTMPIMemoryGrp ( </b></td> <td valign="bottom"><b> const <a class="el" href="class_sc__Ref.html">Ref</a>< <a class="el" href="class_sc__KeyVal.html">KeyVal</a> > & ) </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Construct a <a class="el" href="class_sc__MTMPIMemoryGrp.html">MTMPIMemoryGrp</a> given a <a class="el" href="class_sc__KeyVal.html">KeyVal</a> input object. <p> A fully thread safe MPI is needed (MPI_THREAD_MULTIPLE). </td> </tr> </table> <hr><h2>Member Function Documentation</h2> <a name="a5" doxytag="sc::MTMPIMemoryGrp::sync"></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::MTMPIMemoryGrp::sync ( </b></td> <td valign="bottom"><b> )<code> [virtual]</code> </b></td> </tr> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Synchronizes all the nodes. <p> Consider using this when the way you you access memory changes. <p> Reimplemented from <a class="el" href="class_sc__MsgMemoryGrp.html#a4">sc::MsgMemoryGrp</a>. </td> </tr> </table> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="memmtmpi_h-source.html">memmtmpi.h</a></ul> <hr> <address> <small> Generated at Mon Oct 14 14:17:14 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>