Sophie

Sophie

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

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::ProcMemoryGrp 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:21 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::ProcMemoryGrp  Class Reference</h1>The <a class="el" href="class_sc__ProcMessageGrp.html">ProcMessageGrp</a> concrete class provides an implementation of <a class="el" href="class_sc__MemoryGrp.html">MemoryGrp</a> for a single processor. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="memproc_h-source.html">memproc.h</a>&gt;</code>
<p>
Inheritance diagram for sc::ProcMemoryGrp<p><center><img src="class_sc__ProcMemoryGrp_inherit_graph.gif" border="0" usemap="#sc::ProcMemoryGrp_inherit_map" alt="Inheritance graph"></center>
<map name="sc::ProcMemoryGrp_inherit_map">
<area href="class_sc__MemoryGrp.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::ProcMemoryGrp:<p><center><img src="class_sc__ProcMemoryGrp_coll_graph.gif" border="0" usemap="#sc::ProcMemoryGrp_coll_map" alt="Collaboration graph"></center>
<map name="sc::ProcMemoryGrp_coll_map">
<area href="class_sc__MemoryGrp.html" shape="rect" coords="145,235,243,254">
<area href="class_sc__DescribedClass.html" shape="rect" coords="14,153,129,171">
<area href="class_sc__RefCount.html" shape="rect" coords="30,83,113,102">
<area href="class_sc__Identity.html" shape="rect" coords="35,14,107,33">
<area href="class_sc__Ref.html" shape="rect" coords="259,153,395,171">
<area href="class_sc__RefBase.html" shape="rect" coords="289,83,366,102">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__ProcMemoryGrp-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::ProcMemoryGrp::ProcMemoryGrp"></a>
&nbsp;</td><td valign=bottom><b>ProcMemoryGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="sc::ProcMemoryGrp::ProcMemoryGrp"></a>
&nbsp;</td><td valign=bottom><b>ProcMemoryGrp</b> (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 nowrap align=right valign=top><a name="a2" doxytag="sc::ProcMemoryGrp::~ProcMemoryGrp"></a>
&nbsp;</td><td valign=bottom><b>~ProcMemoryGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a3">set_localsize</a> (size_t)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the size of locally held memory.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::ProcMemoryGrp::localdata"></a>
void*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a4">localdata</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns a pointer to the local data.</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__ProcMemoryGrp.html#a5">obtain_readwrite</a> (distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Only one thread can have an unreleased obtain_readwrite at a time.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a6" doxytag="sc::ProcMemoryGrp::obtain_readonly"></a>
void*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a6">obtain_readonly</a> (distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This gives read access to the memory location. No locking is done.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::ProcMemoryGrp::obtain_writeonly"></a>
void*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a7">obtain_writeonly</a> (distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This gives write access to the memory location. No locking is done.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::ProcMemoryGrp::release_readonly"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a8">release_readonly</a> (void *data, distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This is called when read access is no longer needed.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::ProcMemoryGrp::release_writeonly"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__ProcMemoryGrp.html#a9">release_writeonly</a> (void *data, distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This is called when write access is no longer needed.</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__ProcMemoryGrp.html#a10">release_readwrite</a> (void *data, distsize_t offset, int size)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>This is called when read/write access is no longer needed.</em> <a href="#a10">More...</a><em></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__ProcMemoryGrp.html#a11">sync</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Synchronizes all the nodes.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="class_sc__ProcMessageGrp.html">ProcMessageGrp</a> concrete class provides an implementation of <a class="el" href="class_sc__MemoryGrp.html">MemoryGrp</a> for a single processor.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a5" doxytag="sc::ProcMemoryGrp::obtain_readwrite"></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::ProcMemoryGrp::obtain_readwrite (
          </b></td>
          <td valign="bottom"><b>
distsize_t <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>size</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Only one thread can have an unreleased obtain_readwrite at a time.
<p>
The actual memory region locked can be larger than that requested. If the memory region is already locked this will block. For this reason, data should be held as read/write for as short a time as possible. 
<p>
Reimplemented from <a class="el" href="class_sc__MemoryGrp.html#a15">sc::MemoryGrp</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="sc::ProcMemoryGrp::release_readwrite"></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::ProcMemoryGrp::release_readwrite (
          </b></td>
          <td valign="bottom"><b>
void * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
distsize_t <em>offset</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>size</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
This is called when read/write access is no longer needed.
<p>
The memory will be unlocked. 
<p>
Reimplemented from <a class="el" href="class_sc__MemoryGrp.html#a19">sc::MemoryGrp</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="sc::ProcMemoryGrp::set_localsize"></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::ProcMemoryGrp::set_localsize (
          </b></td>
          <td valign="bottom"><b>
size_t <em>localsize</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

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

<p>
Set the size of locally held memory.
<p>
When memory is accessed using a global offset counting starts at node 0 and proceeds up to node <a class="el" href="class_sc__MemoryGrp.html#a4">n</a>() - 1. 
<p>
Reimplemented from <a class="el" href="class_sc__MemoryGrp.html#a5">sc::MemoryGrp</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="sc::ProcMemoryGrp::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::ProcMemoryGrp::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>
      &nbsp;
    </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__MemoryGrp.html#a22">sc::MemoryGrp</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="memproc_h-source.html">memproc.h</a></ul>
<hr>
<address>
<small>

Generated at Mon Oct 14 14:17:21 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>