Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 1128

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: The Group Library</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1><a class="anchor" name="group">The Group Library </a></h1>The group library provides three mechanisms for parallel execution and communication.<p>
These are:<p>
<ul>
<li>
<a class="el" href="group.html#messagepassing">Message Passing</a> </li>
<li>
<a class="el" href="group.html#distmemory">Distributed Shared Memory</a> </li>
<li>
<a class="el" href="group.html#multithreading">Multi-Threading</a> </li>
</ul>
<h2><a class="anchor" name="messagepassing">
Message Passing</a></h2>
The MessageGrp class is the ancestor for classes that provide the passing of messages between processes. There are three important specializations of this class:<p>
<dl>
<dt>ProcMessageGrp</dt>
<dd>Provides a dummy MessageGrp for single processor case.<p>
</dd>
<dt>MPIMessageGrp</dt>
<dd>Implements MessageGrp using the Message Passing Interface (MPI) library.<p>
</dd>
<dt>ShmMessageGrp</dt>
<dd>Implements MessageGrp using SysV Interprocess communication.<p>
</dd>
</dl>
<p>
Due to the widespread acceptance of MPI and the large number of features that it supports, the MessageGrp specialization may one day be eliminated.<h2><a class="anchor" name="distmemory">
Distributed Shared Memory</a></h2>
The MemoryGrp class is the ancestor for classes that permit access to the memory in different processes, possible on difference machines. There are two important specializations of this class:<p>
<dl>
<dt>ProcMemoryGrp</dt>
<dd>Provides a dummy MemoryGrp for single processor case.<p>
</dd>
<dt>MTMPIMemoryGrp</dt>
<dd>This works reliably and efficiently, however, requires POSIX threads and a thread-safe MPI implementation.<p>
</dd>
<dt>ARMCIMemoryGrp</dt>
<dd>This message group uses the Aggregate Remote Copy Interface (ARMCI). This exploits the RDMA capabilities of interconnects such as Myrinet and InfiniBand.<p>
</dd>
</dl>
<h2><a class="anchor" name="multithreading">
Multi-Threading</a></h2>
The ThreadGrp class is the ancestor of classes that provide multiple-threads within a single address space. There are two important specializations of this class:<p>
<dl>
<dt>ProcThreadGrp</dt>
<dd>Provides a dummy ThreadGrp for the single thread case.<p>
</dd>
<dt>PthreadThreadGrp</dt>
<dd>This is a ThreadGrp that uses POSIX threads.<p>
</dd>
</dl>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:12 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

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