99 lines
5.5 KiB
HTML
Executable File
99 lines
5.5 KiB
HTML
Executable File
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
|
<title>MPI On Cell (Documentation): Non-Blocking Communication</title>
|
|
<link href="../../doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="../../tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.5.6 -->
|
|
<div class="navigation" id="top">
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="../../main.html"><span>Main Page</span></a></li>
|
|
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
|
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
|
<li><a href="../../files.html"><span>Files</span></a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="contents">
|
|
<h1>Non-Blocking Communication<br>
|
|
<small>
|
|
[<a class="el" href="../../d8/d88/group__internal__p2p__main.html">Point-to-Point Communication</a>]</small>
|
|
</h1>
|
|
<p>
|
|
<div class="dynheader">
|
|
Collaboration diagram for Non-Blocking Communication:</div>
|
|
<div class="dynsection">
|
|
<center><table><tr><td><img src="../../d7/d41/group__internal__p2p__imm.png" border="0" alt="" usemap="#d9/d58/d7_2d41_2group____internal____p2p____imm_map">
|
|
<map name="d9/d58/d7_2d41_2group____internal____p2p____imm_map">
|
|
<area shape="rect" href="../../d8/d88/group__internal__p2p__main.html" title="Internals about Point-to-Point Communication." alt="" coords="5,5,200,32"></map></td></tr></table></center>
|
|
</div>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
Internals about non-blocking communication.
|
|
<p>
|
|
The SPUs are very limited in usage, e.g. only one thread per SPU is supported, and so it is hard to make communication non-blocking. In fact only synchronous send and receive provide possibilities for non-blocking communication. Because we think that the advantages of a non-blocking receive aren't worth the effort, only non-blocking send is implemented at the moment. The picture below illustrates a non-blocking synchronous communication call.<p>
|
|
<div align="center">
|
|
<img src="../../isyncronous_communication_1.png" alt="isyncronous_communication_1.png">
|
|
</div>
|
|
|
|
<p>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Constants for MOC_Request.request_type</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d41/group__internal__p2p__imm.html#gb4f3aa7dbf7ddfbc4a612fda560ec03b">MOC_REQ_TYPE_DMA</a> 0</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">MOC_Request is associated with a DMA-Communication. <a href="#gb4f3aa7dbf7ddfbc4a612fda560ec03b"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d41/group__internal__p2p__imm.html#g755884e41591a0d838f45b04f3a92ab9">MOC_REQ_TYPE_ISSEND</a> 1</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">MOC_Request is associated with aISsend-Communication. <a href="#g755884e41591a0d838f45b04f3a92ab9"></a><br></td></tr>
|
|
</table>
|
|
<hr><h2>Define Documentation</h2>
|
|
<a class="anchor" name="gb4f3aa7dbf7ddfbc4a612fda560ec03b"></a><!-- doxytag: member="imoc.h::MOC_REQ_TYPE_DMA" ref="gb4f3aa7dbf7ddfbc4a612fda560ec03b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MOC_REQ_TYPE_DMA 0 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
MOC_Request is associated with a DMA-Communication.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00025">25</a> of file <a class="el" href="../../d4/d9b/imoc_8h-source.html">imoc.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../d8/da3/moc__dma-iget__ppu_8c-source.html#l00011">MOC_IGet_data()</a>, <a class="el" href="../../dd/dd5/moc__dma-iput__ppu_8c-source.html#l00011">MOC_IPut_data()</a>, <a class="el" href="../../d7/d24/moc__test_8c-source.html#l00013">MOC_Test()</a>, and <a class="el" href="../../de/d33/moc__wait_8c-source.html#l00011">MOC_Wait()</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="g755884e41591a0d838f45b04f3a92ab9"></a><!-- doxytag: member="imoc.h::MOC_REQ_TYPE_ISSEND" ref="g755884e41591a0d838f45b04f3a92ab9" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MOC_REQ_TYPE_ISSEND 1 </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
MOC_Request is associated with aISsend-Communication.
|
|
<p>
|
|
|
|
<p>Definition at line <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00030">30</a> of file <a class="el" href="../../d4/d9b/imoc_8h-source.html">imoc.h</a>.</p>
|
|
|
|
<p>Referenced by <a class="el" href="../../d5/d4e/moc__isend_8c-source.html#l00018">MOC_ISend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d7/d24/moc__test_8c-source.html#l00013">MOC_Test()</a>, and <a class="el" href="../../de/d33/moc__wait_8c-source.html#l00011">MOC_Wait()</a>.</p>
|
|
|
|
</div>
|
|
</div><p>
|
|
</div>
|
|
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:17 2009 for MPI On Cell (Documentation) by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
|
</body>
|
|
</html>
|