Initial commit.

This commit is contained in:
2017-10-26 19:57:24 +02:00
commit 9ce8b5485d
1090 changed files with 47036 additions and 0 deletions
@@ -0,0 +1,9 @@
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="116,229,223,256">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="260,80,452,107">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="363,304,432,331">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="207,304,297,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="moc_datatype.h" alt="" coords="479,379,593,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="324,379,455,405">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="449,155,556,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="444,229,561,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="515,304,656,331">
@@ -0,0 +1 @@
ea2ce393a4b35f435ad60df4845e9d9e
Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

@@ -0,0 +1,387 @@
<!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): Test-Macros</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Test-Macros<br>
<small>
[<a class="el" href="../../dd/df8/group__internal__core.html">Implementation-Core</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for Test-Macros:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../d3/d32/group__internal__tm.png" border="0" alt="" usemap="#d5/d75/d3_2d32_2group____internal____tm_map">
<map name="d5/d75/d3_2d32_2group____internal____tm_map">
<area shape="rect" href="../../dd/df8/group__internal__core.html" title="This section deals with the data&#45;structures and the basic concepts which form the..." alt="" coords="7,5,145,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Predefined Macros for testing the validity of parameters.
<p>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#gfc07f5e570f47525b80a1f3e5a36b3b3">IMOC_TEST_COMM_SEND</a>(comm)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid communicator in a send-operation. <a href="#gfc07f5e570f47525b80a1f3e5a36b3b3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g7e5044180aa40d4a5a41108f88559871">IMOC_TEST_COMM_RECV</a>(comm)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid communicator in a recv-operation. <a href="#g7e5044180aa40d4a5a41108f88559871"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g49637a9f588e1c44584d8def5c45e811">IMOC_TEST_TAG_SEND</a>(tag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid tag in a send-operation. <a href="#g49637a9f588e1c44584d8def5c45e811"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#ge0070a22959ddde28816cc5676687b1d">IMOC_TEST_TAG_RECV</a>(tag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid tag in a recv-operation. <a href="#ge0070a22959ddde28816cc5676687b1d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g1dfddaa8f7d9aad32b00248c7dc782d2">IMOC_TEST_RANK</a>(rank)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid rank. <a href="#g1dfddaa8f7d9aad32b00248c7dc782d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g796b45379e44e6ad2d1895ac56d80d3c">IMOC_TEST_RANK_RECV</a>(rank)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid rank in a recv-operation. <a href="#g796b45379e44e6ad2d1895ac56d80d3c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g8026463e106a01cc8efb816d7dc1036a">IMOC_TEST_BYTECOUNT</a>(count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid byte-count in a recv-operation. <a href="#g8026463e106a01cc8efb816d7dc1036a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g52f61fd7f3253d10b740a9fc792052c6">IMOC_TEST_BUFFER</a>(buf)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if invalid buffer-pointer. <a href="#g52f61fd7f3253d10b740a9fc792052c6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#g615b65fb3c3ad16711686a178ac7d1c3">IMOC_TEST_PROC_NULL</a>(rank)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if rank is MOC_PROC_NULL and returns with MOC_SUCCESS itself. <a href="#g615b65fb3c3ad16711686a178ac7d1c3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#gf902b6e1cbe077abf0f8d02a488fec8a">IMOC_TEST_PROC_SELF</a>(proc)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if rank is own rank and returns with MOC_SUCCESS itself. <a href="#gf902b6e1cbe077abf0f8d02a488fec8a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d32/group__internal__tm.html#gc89a1f53869fe90c838a714621e20d88">IMOC_TEST_ALIGNMENT</a>(address)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tests if address is 16-byte aligned. <a href="#gc89a1f53869fe90c838a714621e20d88"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="gc89a1f53869fe90c838a714621e20d88"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_ALIGNMENT" ref="gc89a1f53869fe90c838a714621e20d88" args="(address)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_ALIGNMENT </td>
<td>(</td>
<td class="paramtype">address&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( ((<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)(address)) % 16 != 0 ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8dd6c4666118378bdd3cb6cfeaeea5b1" title="Base-Adress of Buffer isn&amp;#39;t 16-byte aligned.">MOC_ERR_BAD_ALIGNMENT</a>; }
</pre></div>Tests if address is 16-byte aligned.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00135">135</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g52f61fd7f3253d10b740a9fc792052c6"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_BUFFER" ref="g52f61fd7f3253d10b740a9fc792052c6" args="(buf)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_BUFFER </td>
<td>(</td>
<td class="paramtype">buf&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (buf) == 0 ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#gec3f466bf958e93fc3792674d00bfa06" title="Invalid buffer pointer.">MOC_ERR_BUFFER</a>; }
</pre></div>Tests if invalid buffer-pointer.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00116">116</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g8026463e106a01cc8efb816d7dc1036a"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_BYTECOUNT" ref="g8026463e106a01cc8efb816d7dc1036a" args="(count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_BYTECOUNT </td>
<td>(</td>
<td class="paramtype">count&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (count) &lt; 0 || (count) &gt; <a class="code" href="../../d1/d82/moc_8h.html#96f9a08f0625fd26bc341ab4f950d7c1" title="Maximum byte-count of a MOC-message.">MAX_MOC_MESSAGE_SIZE</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g5adca254d3feab57a4786c17b90d91c4" title="Invalid count argument.">MOC_ERR_COUNT</a>; }
</pre></div>Tests if invalid byte-count in a recv-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00109">109</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../dd/d90/moc__dma-get__ppu_8c-source.html#l00009">MOC_Get_data()</a>, <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="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../da/d4a/moc__dma-put__ppu_8c-source.html#l00009">MOC_Put_data()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g7e5044180aa40d4a5a41108f88559871"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_COMM_RECV" ref="g7e5044180aa40d4a5a41108f88559871" args="(comm)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_COMM_RECV </td>
<td>(</td>
<td class="paramtype">comm&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (comm) != <a class="code" href="../../d1/dd1/group__comm__mgt.html#g14e1cb53b99b5e239d4cc6a8d370ad94" title="Specifies a constant that contains all of the processes.">MOC_COMM_WORLD</a> &amp;&amp; (comm) != <a class="code" href="../../d1/dd1/group__comm__mgt.html#gf8c5dfb6bb79027948fe63f4cf6504eb" title="Specifies a constant that contains only the calling process.">MOC_COMM_SELF</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#gc1e776c0e7cb8c97391dd6ac476295a1" title="Invalid communicator.">MOC_ERR_COMM</a>; }
</pre></div>Tests if invalid communicator in a recv-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00074">74</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>.</p>
</div>
</div><p>
<a class="anchor" name="gfc07f5e570f47525b80a1f3e5a36b3b3"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_COMM_SEND" ref="gfc07f5e570f47525b80a1f3e5a36b3b3" args="(comm)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_COMM_SEND </td>
<td>(</td>
<td class="paramtype">comm&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (comm) != <a class="code" href="../../d1/dd1/group__comm__mgt.html#g14e1cb53b99b5e239d4cc6a8d370ad94" title="Specifies a constant that contains all of the processes.">MOC_COMM_WORLD</a> &amp;&amp; (comm) != <a class="code" href="../../d1/dd1/group__comm__mgt.html#gf8c5dfb6bb79027948fe63f4cf6504eb" title="Specifies a constant that contains only the calling process.">MOC_COMM_SELF</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#gc1e776c0e7cb8c97391dd6ac476295a1" title="Invalid communicator.">MOC_ERR_COMM</a>; }
</pre></div>Tests if invalid communicator in a send-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00067">67</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g615b65fb3c3ad16711686a178ac7d1c3"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_PROC_NULL" ref="g615b65fb3c3ad16711686a178ac7d1c3" args="(rank)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_PROC_NULL </td>
<td>(</td>
<td class="paramtype">rank&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ((rank) == <a class="code" href="../../d1/d82/moc_8h.html#c9d0a73c0b75a124512f3f3f6cc31787" title="Specifies a rank that can be used to send or receive from no-one.">MOC_PROC_NULL</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>; }
</pre></div>Tests if rank is MOC_PROC_NULL and returns with MOC_SUCCESS itself.
<p>
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00122">122</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="gf902b6e1cbe077abf0f8d02a488fec8a"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_PROC_SELF" ref="gf902b6e1cbe077abf0f8d02a488fec8a" args="(proc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_PROC_SELF </td>
<td>(</td>
<td class="paramtype">proc&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (proc) == <a class="code" href="../../dd/df8/group__internal__core.html#geed5a271d50368d3cf9a858c4f57c895" title="Information each node knowns about himself and the world.">node_handle</a>.<a class="code" href="../../d8/d93/structmoc__node__handle__ppu__struct.html#9005ee3d6d0ee8b2f15628dcca724710" title="rank of node">rank</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>; }
</pre></div>Tests if rank is own rank and returns with MOC_SUCCESS itself.
<p>
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00128">128</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g1dfddaa8f7d9aad32b00248c7dc782d2"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_RANK" ref="g1dfddaa8f7d9aad32b00248c7dc782d2" args="(rank)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_RANK </td>
<td>(</td>
<td class="paramtype">rank&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (rank) &lt; 0 || (rank) &gt;= <a class="code" href="../../dd/df8/group__internal__core.html#geed5a271d50368d3cf9a858c4f57c895" title="Information each node knowns about himself and the world.">node_handle</a>.<a class="code" href="../../d8/d93/structmoc__node__handle__ppu__struct.html#3779cc1bda02c45a880389b109173778" title="number of overall processes">comm_size</a> ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g88202a7ec7634ce5634b0ead0368c802" title="Invalid rank.">MOC_ERR_RANK</a>; }
</pre></div>Tests if invalid rank.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00095">95</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../dd/d90/moc__dma-get__ppu_8c-source.html#l00009">MOC_Get_data()</a>, <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="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../da/d4a/moc__dma-put__ppu_8c-source.html#l00009">MOC_Put_data()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g796b45379e44e6ad2d1895ac56d80d3c"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_RANK_RECV" ref="g796b45379e44e6ad2d1895ac56d80d3c" args="(rank)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_RANK_RECV </td>
<td>(</td>
<td class="paramtype">rank&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( rank != <a class="code" href="../../d1/d82/moc_8h.html#deff0c57411502be14ddf5fef3aa6e99" title="Indicates, in a receive, to accept a message from any source.">MOC_ANY_SOURCE</a> &amp;&amp; ((rank) &lt; 0 || (rank) &gt;= <a class="code" href="../../dd/df8/group__internal__core.html#geed5a271d50368d3cf9a858c4f57c895" title="Information each node knowns about himself and the world.">node_handle</a>.<a class="code" href="../../d8/d93/structmoc__node__handle__ppu__struct.html#3779cc1bda02c45a880389b109173778" title="number of overall processes">comm_size</a>) ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g88202a7ec7634ce5634b0ead0368c802" title="Invalid rank.">MOC_ERR_RANK</a>; }
</pre></div>Tests if invalid rank in a recv-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00102">102</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>.</p>
</div>
</div><p>
<a class="anchor" name="ge0070a22959ddde28816cc5676687b1d"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_TAG_RECV" ref="ge0070a22959ddde28816cc5676687b1d" args="(tag)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_TAG_RECV </td>
<td>(</td>
<td class="paramtype">tag&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (tag)!=<a class="code" href="../../d1/d82/moc_8h.html#a6d9dac1d01f8d03aa144056921e04dd" title="Indicates, in a receive, to accept a message with any tag value.">MOC_ANY_TAG</a> &amp;&amp; ((tag) &gt; 255 || (tag) &lt; 0) ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g4dda6446879941989962c0fbdf4ba0e5" title="Invalid tag argument.">MOC_ERR_TAG</a>; }
</pre></div>Tests if invalid tag in a recv-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00088">88</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g49637a9f588e1c44584d8def5c45e811"></a><!-- doxytag: member="imoc_macros.h::IMOC_TEST_TAG_SEND" ref="g49637a9f588e1c44584d8def5c45e811" args="(tag)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_TEST_TAG_SEND </td>
<td>(</td>
<td class="paramtype">tag&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">if</span> ( (tag) &gt; 255 || (tag) &lt; 0 ) \
{ <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g4dda6446879941989962c0fbdf4ba0e5" title="Invalid tag argument.">MOC_ERR_TAG</a>; }
</pre></div>Tests if invalid tag in a send-operation.
<p>
Calls return with appropriate error-code itself.
<p>Definition at line <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00081">81</a> of file <a class="el" href="../../d0/d87/imoc__macros_8h-source.html">imoc_macros.h</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:04 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,5 @@
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="32,80,149,107">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="28,155,169,181">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="193,155,263,181">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="32,229,157,256">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="232,229,363,256">
@@ -0,0 +1 @@
7d3dcbab84f5fc765336fd6bfd472272
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

@@ -0,0 +1,2 @@
<area shape="rect" href="$d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="16,80,208,107">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="60,155,164,181">
@@ -0,0 +1 @@
406bdc6ed4cc542b51a9a530b1c9c455
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

@@ -0,0 +1,12 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="176,155,232,181">
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="732,229,839,256">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="524,80,716,107">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="49,229,167,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="69,304,211,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="400,304,469,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="139,379,264,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="339,379,469,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="649,304,740,331">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="401,155,508,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="343,229,460,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="235,304,376,331">
@@ -0,0 +1 @@
b45509a5bda71f76bb497972f6e2e0fd
Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,12 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="208,155,264,181">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="688,80,880,107">
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="324,229,516,256">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="81,229,199,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="177,304,319,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="392,304,461,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="219,379,344,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="368,379,499,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="980,379,1084,405">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="673,155,780,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="737,229,855,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="624,304,765,331">
@@ -0,0 +1 @@
ceea5909d844607a06c67f481ca9e8a5
Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

+13
View File
@@ -0,0 +1,13 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="69,155,125,181">
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="231,229,337,256">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="796,80,988,107">
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="361,229,553,256">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="39,229,156,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="55,304,196,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="345,304,415,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="321,379,447,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="471,379,601,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="655,304,745,331">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="687,155,793,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="628,229,745,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="489,304,631,331">
@@ -0,0 +1 @@
f66c49deddc305dedeff64fca09e6d07
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

@@ -0,0 +1,11 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="359,80,415,107">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="345,229,487,256">
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="832,155,939,181">
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="591,80,745,107">
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="616,155,808,181">
<area shape="rect" href="$d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="963,155,1155,181">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="424,155,541,181">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="636,229,705,256">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="508,304,633,331">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="708,304,839,331">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="964,229,1055,256">
@@ -0,0 +1 @@
11e00a3749dbf99d2063888586d26e29
Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

@@ -0,0 +1,111 @@
<!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): src/ppu/system/moc_error_string_ppu.c Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>src/ppu/system/moc_error_string_ppu.c</h1><a href="../../de/d4d/moc__error__string__ppu_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00003"></a>00003
<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;<a class="code" href="../../d9/db3/imoc_8h.html">internal/imoc.h</a>&gt;</span>
<a name="l00006"></a>00006 <span class="comment"></span>
<a name="l00007"></a>00007 <span class="comment">/**</span>
<a name="l00008"></a>00008 <span class="comment"> * \addtogroup internal_error Error-Handling</span>
<a name="l00009"></a>00009 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">//@{</span>
<a name="l00011"></a>00011 <span class="comment"></span><span class="comment">/**</span>
<a name="l00012"></a>00012 <span class="comment"> * @name PPU-only</span>
<a name="l00013"></a>00013 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00014"></a>00014 <span class="comment">//@{</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment"></span>
<a name="l00017"></a>00017 <span class="comment">/**</span>
<a name="l00018"></a>00018 <span class="comment"> * stores the error-messages</span>
<a name="l00019"></a>00019 <span class="comment"> *</span>
<a name="l00020"></a>00020 <span class="comment"> * \note PPU-only</span>
<a name="l00021"></a>00021 <span class="comment"> **/</span>
<a name="l00022"></a><a class="code" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538">00022</a> <a class="code" href="../../dd/dfe/structerror__strings__struct.html" title="Error-Strings structure.">error_strings_t</a> <a class="code" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538" title="stores the error-messages">error_strings</a>[] =
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 { 0, <span class="stringliteral">"No Error"</span> },
<a name="l00025"></a>00025 { 1000, <span class="stringliteral">"Invalid buffer pointer"</span> },
<a name="l00026"></a>00026 { 2000, <span class="stringliteral">"Invalid count argument"</span> },
<a name="l00027"></a>00027 { 3000, <span class="stringliteral">"Invalid datatype argument"</span> },
<a name="l00028"></a>00028 { 4000, <span class="stringliteral">"Invalid tag argument"</span> },
<a name="l00029"></a>00029 { 5000, <span class="stringliteral">"Invalid communicator"</span>},
<a name="l00030"></a>00030 { 6000, <span class="stringliteral">"Invalid rank"</span> },
<a name="l00031"></a>00031 { 7000, <span class="stringliteral">"Invalid request (handle)"</span> },
<a name="l00032"></a>00032 { 8000, <span class="stringliteral">"Invalid root"</span> },
<a name="l00033"></a>00033 { 9000, <span class="stringliteral">"Invalid group"</span> },
<a name="l00034"></a>00034 <span class="comment">// 10 entries so far</span>
<a name="l00035"></a>00035 { 10000, <span class="stringliteral">"Invalid operation"</span> },
<a name="l00036"></a>00036 { 11000, <span class="stringliteral">"Invalid topology"</span> },
<a name="l00037"></a>00037 { 12000, <span class="stringliteral">"Invalid dimension argument"</span> },
<a name="l00038"></a>00038 { 13000, <span class="stringliteral">"Invalid argument of some other kind"</span> },
<a name="l00039"></a>00039 { 14000, <span class="stringliteral">"Unknown error"</span> },
<a name="l00040"></a>00040 { 15000, <span class="stringliteral">"Message truncated on receive"</span> },
<a name="l00041"></a>00041 { 16000, <span class="stringliteral">"Known error not in this list"</span> },
<a name="l00042"></a>00042 { 17000, <span class="stringliteral">"Internal MOC (implementation) error"</span> },
<a name="l00043"></a>00043 { 18000, <span class="stringliteral">"Error code is in status"</span> },
<a name="l00044"></a>00044 { 19000, <span class="stringliteral">"Pending request"</span> },
<a name="l00045"></a>00045 <span class="comment">// 20 entries so far</span>
<a name="l00046"></a>00046 { 20000, <span class="stringliteral">"Last error code"</span> },
<a name="l00047"></a>00047 { 17001, <span class="stringliteral">"Function not implemented"</span> },
<a name="l00048"></a>00048 { 17002, <span class="stringliteral">"Internal Buffer Overflow"</span> },
<a name="l00049"></a>00049 { 17003, <span class="stringliteral">"Insufficient Memory"</span> },
<a name="l00050"></a>00050 { 17004, <span class="stringliteral">"Insufficient Buffer-Space"</span> },
<a name="l00051"></a>00051 { 17005, <span class="stringliteral">"No further messages possible"</span> },
<a name="l00052"></a>00052 { 16001, <span class="stringliteral">"Base-Adress of Buffer isn't 16-byte aligned"</span> },
<a name="l00053"></a>00053 { 16002, <span class="stringliteral">"Bad Size (probably no multiple of 16)"</span> }
<a name="l00054"></a>00054 };
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="comment"></span>
<a name="l00057"></a>00057 <span class="comment">/**</span>
<a name="l00058"></a>00058 <span class="comment"> * error-message count</span>
<a name="l00059"></a>00059 <span class="comment"> *</span>
<a name="l00060"></a>00060 <span class="comment"> * \note PPU-only</span>
<a name="l00061"></a>00061 <span class="comment"> **/</span>
<a name="l00062"></a><a class="code" href="../../d1/d97/group__internal__error.html#g4cc5a2e835e688e15548969e56cbc61e">00062</a> <span class="preprocessor">#define ERROR_STRINGS_COUNT 28</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="comment"></span>
<a name="l00064"></a>00064 <span class="comment">//@}</span>
<a name="l00065"></a>00065 <span class="comment"></span><span class="comment">//@}</span>
<a name="l00066"></a>00066 <span class="comment"></span>
<a name="l00067"></a>00067
<a name="l00068"></a><a class="code" href="../../d8/da1/group__environment__error.html#ge79331149c12155246d206d5bb7a7729">00068</a> <span class="keywordtype">int</span> <a class="code" href="../../d8/da1/group__environment__error.html#ge79331149c12155246d206d5bb7a7729" title="Returns an error-text for a given error code.">MOC_Error_string</a>(<span class="keywordtype">int</span> errorcode, <span class="keywordtype">char</span> *<span class="keywordtype">string</span>, <span class="keywordtype">int</span> *resultlen)
<a name="l00069"></a>00069 {
<a name="l00070"></a>00070 <span class="keywordtype">int</span> i;
<a name="l00071"></a>00071 *resultlen = 0;
<a name="l00072"></a>00072 <span class="keywordflow">if</span> (errorcode &lt; 0 || errorcode &gt; <a class="code" href="../../d8/da1/group__environment__error.html#gf902162b08ca55cd57455ee66e8e73d7" title="Last error code.">MOC_ERR_LASTCODE</a>)
<a name="l00073"></a>00073 {
<a name="l00074"></a>00074 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g734aa5985b6d809690f10979ff44785c" title="Invalid argument of some other kind.">MOC_ERR_ARG</a>;
<a name="l00075"></a>00075 }
<a name="l00076"></a>00076 <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="../../d1/d97/group__internal__error.html#g4cc5a2e835e688e15548969e56cbc61e" title="error-message count">ERROR_STRINGS_COUNT</a>; i++)
<a name="l00077"></a>00077 {
<a name="l00078"></a>00078 <span class="keywordflow">if</span> (error_strings[i].error_code == errorcode)
<a name="l00079"></a>00079 {
<a name="l00080"></a>00080 strcpy(<span class="keywordtype">string</span>, error_strings[i].text);
<a name="l00081"></a>00081 *resultlen = strlen(<span class="keywordtype">string</span>) + 1;
<a name="l00082"></a>00082 <span class="keywordflow">return</span> 0;
<a name="l00083"></a>00083 }
<a name="l00084"></a>00084 }
<a name="l00085"></a>00085 strcpy(<span class="keywordtype">string</span>, <span class="stringliteral">"No Error-String found"</span>);
<a name="l00086"></a>00086 *resultlen = strlen(<span class="keywordtype">string</span>) + 1;
<a name="l00087"></a>00087 <span class="keywordflow">return</span> 0;
<a name="l00088"></a>00088 }
<a name="l00089"></a>00089
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,53 @@
<!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): src/spu/communication/moc_ssend_spu.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/spu/communication/moc_ssend_spu.c File Reference</h1>
<p>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;spu_mfcio.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">spu/moc_datatype_spu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d0/d87/imoc__macros_8h-source.html">internal/imoc_macros.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d4/d95/imoc__dma__spu_8h-source.html">internal/spu/imoc_dma_spu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/dd9/imoc__core__spu_8h-source.html">internal/spu/imoc_core_spu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_ssend_spu.c:</div>
<div class="dynsection">
<p><center><img src="../../da/d6f/moc__ssend__spu_8c__incl.png" border="0" usemap="#src/spu/communication/moc_ssend_spu.c_map" alt=""></center>
<map name="src/spu/communication/moc_ssend_spu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="359,80,415,107"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="345,229,487,256"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="832,155,939,181"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="591,80,745,107"><area shape="rect" href="../../d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="616,155,808,181"><area shape="rect" href="../../d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="963,155,1155,181"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="424,155,541,181"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="636,229,705,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="508,304,633,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="708,304,839,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="964,229,1055,256"></map>
</div>
<p>
<a href="../../dc/d92/moc__ssend__spu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120">MOC_Ssend</a> (void *buf, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int dest, int tag, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs a blocking synchronous mode send operation. <a href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:34 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,35 @@
<!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): src/noarch/system/moc_get_version.c Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>src/noarch/system/moc_get_version.c</h1><a href="../../da/d6c/moc__get__version_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00002"></a>00002
<a name="l00003"></a><a class="code" href="../../d8/d8f/group__environment__information.html#g9a54df3ad074f8fc91abddf7666474ea">00003</a> <span class="keywordtype">int</span> <a class="code" href="../../d8/d8f/group__environment__information.html#g9a54df3ad074f8fc91abddf7666474ea" title="Returns the major and minor version of this MOC-implementation.">MOC_Get_version</a>(<span class="keywordtype">int</span> *version, <span class="keywordtype">int</span> *subversion)
<a name="l00004"></a>00004 {
<a name="l00005"></a>00005 <span class="keywordflow">if</span> (version == 0 || subversion == 0)
<a name="l00006"></a>00006 {
<a name="l00007"></a>00007 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g734aa5985b6d809690f10979ff44785c" title="Invalid argument of some other kind.">MOC_ERR_ARG</a>;
<a name="l00008"></a>00008 }
<a name="l00009"></a>00009 *version = <a class="code" href="../../d8/d8f/group__environment__information.html#g872c24341022407f606e48c7987f1d40" title="Major version-number of this MOC-Implementation.">MOC_VERSION</a>;
<a name="l00010"></a>00010 *subversion = <a class="code" href="../../d8/d8f/group__environment__information.html#gd51bfe8de83ee5b0dad9f61c855ae666" title="Minor version-number of this MOC-Implementation.">MOC_SUBVERSION</a>;
<a name="l00011"></a>00011 <span class="keywordflow">return</span> 0;
<a name="l00012"></a>00012 }
<a name="l00013"></a>00013
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,50 @@
<!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): src/ppu/internal/dma/imoc_dma-put_ppu.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/ppu/internal/dma/imoc_dma-put_ppu.c File Reference</h1>
<p>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d8/df3/moc__dma__ppu_8h-source.html">ppu/moc_dma_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../de/de1/imoc__dma__ppu_8h-source.html">internal/ppu/imoc_dma_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for imoc_dma-put_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../d7/d33/imoc__dma-put__ppu_8c__incl.png" border="0" usemap="#src/ppu/internal/dma/imoc_dma-put_ppu.c_map" alt=""></center>
<map name="src/ppu/internal/dma/imoc_dma-put_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="156,155,212,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="584,229,725,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1063,80,1271,107"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="809,80,1001,107"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="317,229,509,256"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="125,229,243,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="17,304,159,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="347,304,416,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="439,379,564,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="284,379,415,405"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="689,304,831,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1124,155,1247,181"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="907,379,1011,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="725,155,832,181"></map>
</div>
<p>
<a href="../../db/db1/imoc__dma-put__ppu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/de2/group__internal__p2p__dma.html#gb48c58191a7cf4d3e502d1c7a6c0ab9c">IMOC_put_data</a> (void *source, uint64_t target, uint32_t size, int dest)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal wrapper-function for a blocking DMA-put operation. <a href="../../d2/de2/group__internal__p2p__dma.html#gb48c58191a7cf4d3e502d1c7a6c0ab9c"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:24 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,94 @@
<!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): include/moc_error_codes.h Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>include/moc_error_codes.h</h1><a href="../../df/d5c/moc__error__codes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef MOC_ERROR_H_</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_ERROR_H_</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">/**</span>
<a name="l00006"></a>00006 <span class="comment"> * \addtogroup environment_error</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> * This section describes how errors are handled.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * Every function should return an integer if possible. This integer should be</span>
<a name="l00011"></a>00011 <span class="comment"> * MOC_SUCCESS if the operation teminated successfully otherwise an error-code</span>
<a name="l00012"></a>00012 <span class="comment"> * telling the reason of the error is returned.</span>
<a name="l00013"></a>00013 <span class="comment"> *</span>
<a name="l00014"></a>00014 <span class="comment"> * For more information see Chapter 7.2 of the MPI 1.3 Standard.</span>
<a name="l00015"></a>00015 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">//@{</span>
<a name="l00017"></a>00017 <span class="comment"></span>
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment"></span>
<a name="l00020"></a>00020 <span class="comment">/**</span>
<a name="l00021"></a>00021 <span class="comment"> * @name MPI_ERROR-CLASSES</span>
<a name="l00022"></a>00022 <span class="comment"> *</span>
<a name="l00023"></a>00023 <span class="comment"> * Error-classes defined by the MPI-standard. Every error-code returned by a</span>
<a name="l00024"></a>00024 <span class="comment"> * MOC-function should belong to an error-class or be an error-class itself.</span>
<a name="l00025"></a>00025 <span class="comment"> * This enables implementation-independend error-handling.</span>
<a name="l00026"></a>00026 <span class="comment"> *</span>
<a name="l00027"></a>00027 <span class="comment"> * Value-range: 0 = MOC_SUCCESS &lt; MOC_ERR_... &lt;= MOC_ERR_LASTCODE</span>
<a name="l00028"></a>00028 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00029"></a>00029 <span class="comment">//@{</span>
<a name="l00030"></a><a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4">00030</a> <span class="comment"></span><span class="preprocessor">#define MOC_SUCCESS 0 </span><span class="comment">/**&lt; No error */</span>
<a name="l00031"></a><a class="code" href="../../d8/da1/group__environment__error.html#gec3f466bf958e93fc3792674d00bfa06">00031</a> <span class="preprocessor">#define MOC_ERR_BUFFER 1000 </span><span class="comment">/**&lt; Invalid buffer pointer */</span>
<a name="l00032"></a><a class="code" href="../../d8/da1/group__environment__error.html#g5adca254d3feab57a4786c17b90d91c4">00032</a> <span class="preprocessor">#define MOC_ERR_COUNT 2000 </span><span class="comment">/**&lt; Invalid count argument */</span>
<a name="l00033"></a><a class="code" href="../../d8/da1/group__environment__error.html#ge1052e542cdd8d265d99d2950936ba8e">00033</a> <span class="preprocessor">#define MOC_ERR_TYPE 3000 </span><span class="comment">/**&lt; Invalid datatype argument */</span>
<a name="l00034"></a><a class="code" href="../../d8/da1/group__environment__error.html#g4dda6446879941989962c0fbdf4ba0e5">00034</a> <span class="preprocessor">#define MOC_ERR_TAG 4000 </span><span class="comment">/**&lt; Invalid tag argument */</span>
<a name="l00035"></a><a class="code" href="../../d8/da1/group__environment__error.html#gc1e776c0e7cb8c97391dd6ac476295a1">00035</a> <span class="preprocessor">#define MOC_ERR_COMM 5000 </span><span class="comment">/**&lt; Invalid communicator */</span>
<a name="l00036"></a><a class="code" href="../../d8/da1/group__environment__error.html#g88202a7ec7634ce5634b0ead0368c802">00036</a> <span class="preprocessor">#define MOC_ERR_RANK 6000 </span><span class="comment">/**&lt; Invalid rank */</span>
<a name="l00037"></a><a class="code" href="../../d8/da1/group__environment__error.html#g0f3215c59df79197899fc28f7e9499c8">00037</a> <span class="preprocessor">#define MOC_ERR_REQUEST 7000 </span><span class="comment">/**&lt; Invalid request (handle) */</span>
<a name="l00038"></a><a class="code" href="../../d8/da1/group__environment__error.html#g5ea365a8f03f9c490adb267ae677157c">00038</a> <span class="preprocessor">#define MOC_ERR_ROOT 8000 </span><span class="comment">/**&lt; Invalid root */</span>
<a name="l00039"></a><a class="code" href="../../d8/da1/group__environment__error.html#g9dadfbad2e34895bfe793e87ef476807">00039</a> <span class="preprocessor">#define MOC_ERR_GROUP 9000 </span><span class="comment">/**&lt; Invalid group */</span>
<a name="l00040"></a><a class="code" href="../../d8/da1/group__environment__error.html#g37e46a78874b2078225de0260f4666a8">00040</a> <span class="preprocessor">#define MOC_ERR_OP 10000 </span><span class="comment">/**&lt; Invalid operation */</span>
<a name="l00041"></a><a class="code" href="../../d8/da1/group__environment__error.html#g36581c314c20ec3f8286a61784b41bd9">00041</a> <span class="preprocessor">#define MOC_ERR_TOPOLOGY 11000 </span><span class="comment">/**&lt; Invalid topology */</span>
<a name="l00042"></a><a class="code" href="../../d8/da1/group__environment__error.html#g91dd648378f64ca3dff7af4750c79608">00042</a> <span class="preprocessor">#define MOC_ERR_DIMS 12000 </span><span class="comment">/**&lt; Invalid dimension argument */</span>
<a name="l00043"></a><a class="code" href="../../d8/da1/group__environment__error.html#g734aa5985b6d809690f10979ff44785c">00043</a> <span class="preprocessor">#define MOC_ERR_ARG 13000 </span><span class="comment">/**&lt; Invalid argument of some other kind */</span>
<a name="l00044"></a><a class="code" href="../../d8/da1/group__environment__error.html#ge00d9070a65099e436eb470ecb45ce35">00044</a> <span class="preprocessor">#define MOC_ERR_UNKNOWN 14000 </span><span class="comment">/**&lt; Unknown error */</span>
<a name="l00045"></a><a class="code" href="../../d8/da1/group__environment__error.html#g333d5841713c32c0ecf1cc85f0077744">00045</a> <span class="preprocessor">#define MOC_ERR_TRUNCATE 15000 </span><span class="comment">/**&lt; Message truncated on receive */</span>
<a name="l00046"></a><a class="code" href="../../d8/da1/group__environment__error.html#gf1353d5719f5e14d8d89d72801e40144">00046</a> <span class="preprocessor">#define MOC_ERR_OTHER 16000 </span><span class="comment">/**&lt; Known error not in this list */</span>
<a name="l00047"></a><a class="code" href="../../d8/da1/group__environment__error.html#g05b3a70831c823a59014c4853a76ca7e">00047</a> <span class="preprocessor">#define MOC_ERR_INTERN 17000 </span><span class="comment">/**&lt; Internal MOC (implementation) error */</span>
<a name="l00048"></a><a class="code" href="../../d8/da1/group__environment__error.html#g941c5327e6430023994f32d25584059e">00048</a> <span class="preprocessor">#define MOC_ERR_IN_STATUS 18000 </span><span class="comment">/**&lt; Error code is in status */</span>
<a name="l00049"></a><a class="code" href="../../d8/da1/group__environment__error.html#g878ba1491199d12b999e1cb24020ddba">00049</a> <span class="preprocessor">#define MOC_ERR_PENDING 19000 </span><span class="comment">/**&lt; Pending request */</span>
<a name="l00050"></a><a class="code" href="../../d8/da1/group__environment__error.html#gf902162b08ca55cd57455ee66e8e73d7">00050</a> <span class="preprocessor">#define MOC_ERR_LASTCODE 20000 </span><span class="comment">/**&lt; Last error code */</span>
<a name="l00051"></a>00051 <span class="comment">//@}</span>
<a name="l00052"></a>00052 <span class="comment"></span>
<a name="l00053"></a>00053
<a name="l00054"></a>00054 <span class="comment"></span>
<a name="l00055"></a>00055 <span class="comment">/**</span>
<a name="l00056"></a>00056 <span class="comment"> * @name MOC-Error-Codes</span>
<a name="l00057"></a>00057 <span class="comment"> *</span>
<a name="l00058"></a>00058 <span class="comment"> * Implementation dependent Error-Codes.</span>
<a name="l00059"></a>00059 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00060"></a>00060 <span class="comment">//@{</span>
<a name="l00061"></a><a class="code" href="../../d8/da1/group__environment__error.html#gb5f8a2dbcd2a4b257dcedd8f08ab6367">00061</a> <span class="comment"></span><span class="preprocessor">#define MOC_ERR_NOT_IMPLEMENTED 17001 </span><span class="comment">/**&lt; Function not implemented */</span>
<a name="l00062"></a><a class="code" href="../../d8/da1/group__environment__error.html#gb41314dc085e915eab769ff2a2958061">00062</a> <span class="preprocessor">#define MOC_ERR_BUFFER_OVERFLOW 17002 </span><span class="comment">/**&lt; Internal Buffer Overflow */</span>
<a name="l00063"></a><a class="code" href="../../d8/da1/group__environment__error.html#gfd59894aba31d32eeff506d8df838089">00063</a> <span class="preprocessor">#define MOC_ERR_NO_MEMORY 17003 </span><span class="comment">/**&lt; Insufficient Memory */</span>
<a name="l00064"></a><a class="code" href="../../d8/da1/group__environment__error.html#gb3b13f443f9a869ef4200334eb8792d0">00064</a> <span class="preprocessor">#define MOC_ERR_NO_BUFFER 17004 </span><span class="comment">/**&lt; Insufficient Buffer-Space */</span>
<a name="l00065"></a><a class="code" href="../../d8/da1/group__environment__error.html#g5a536510d86dbad4f4bacf1dc3f08c47">00065</a> <span class="preprocessor">#define MOC_ERR_MESSAGE_EXHAUSTED 17005 </span><span class="comment">/**&lt; No further messages possible */</span>
<a name="l00066"></a><a class="code" href="../../d8/da1/group__environment__error.html#g8dd6c4666118378bdd3cb6cfeaeea5b1">00066</a> <span class="preprocessor">#define MOC_ERR_BAD_ALIGNMENT 16001 </span><span class="comment">/**&lt; Base-Adress of Buffer isn't 16-byte aligned */</span>
<a name="l00067"></a><a class="code" href="../../d8/da1/group__environment__error.html#g9200eb7b0bf9f5605bc92943fee2cbdd">00067</a> <span class="preprocessor">#define MOC_ERR_BAD_SIZE 16002 </span><span class="comment">/**&lt; Bad Size (probably no multiple of 16) */</span>
<a name="l00068"></a>00068 <span class="comment">//@}</span>
<a name="l00069"></a>00069 <span class="comment"></span>
<a name="l00070"></a>00070 <span class="comment"></span>
<a name="l00071"></a>00071 <span class="comment">//@}</span>
<a name="l00072"></a>00072 <span class="comment"></span><span class="preprocessor">#endif </span><span class="comment">/*MOC_ERROR_H_*/</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,46 @@
<!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): src/noarch/system/moc_comm_rank.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/noarch/system/moc_comm_rank.c File Reference</h1>
<p>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_comm_rank.c:</div>
<div class="dynsection">
<p><center><img src="../../d5/dac/moc__comm__rank_8c__incl.png" border="0" usemap="#src/noarch/system/moc_comm_rank.c_map" alt=""></center>
<map name="src/noarch/system/moc_comm_rank.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="156,155,212,181"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="389,80,581,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="125,229,243,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="17,304,159,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="315,304,384,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="439,379,564,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="284,379,415,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="689,379,793,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="489,155,596,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="464,229,581,256"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="491,304,632,331"></map>
</div>
<p>
<a href="../../d9/dd3/moc__comm__rank_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#gbadd556e16667ac8ee86af72299e4915">MOC_Comm_rank</a> (<a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, int *rank)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines the rank of the calling process in the communicator. <a href="../../d1/dd1/group__comm__mgt.html#gbadd556e16667ac8ee86af72299e4915"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:14 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
+68
View File
@@ -0,0 +1,68 @@
<!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): End-User Documentation</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>End-User Documentation</h1>
<p>
<div class="dynheader">
Collaboration diagram for End-User Documentation:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../d3/d9e/group__end__user.png" border="0" alt="" usemap="#d3/d05/d3_2d9e_2group____end____user_map">
<map name="d3/d05/d3_2d9e_2group____end____user_map">
<area shape="rect" href="../../db/dc2/group__broadcast.html" title="Communication that involves a group of processes." alt="" coords="255,5,425,32"><area shape="rect" href="../../d1/df0/group__comm__main.html" title="The MOC communicator specifies a group of processes inside which a communication..." alt="" coords="223,56,457,83"><area shape="rect" href="../../d0/d64/group__p2p__main.html" title="Sending and receiving of messages by processes is the basic MPI communication mechanism..." alt="" coords="243,107,437,133"><area shape="rect" href="../../d9/d16/group__dma__access.html" title="Functions which use DMA to transfer Data." alt="" coords="263,157,417,184"><area shape="rect" href="../../de/d1b/group__environment__main.html" title="This chapter discusses routines for getting and, where appropriate, setting various..." alt="" coords="249,208,431,235"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This section describes the public API provided by the MOC-library.
<p>
If some things remain unclear, consult the official MPI-standard (Version 1.3).<p>
This library uses Direct Memory Access (DMA) provided by the Cell Broadband Engine. So the use of other DMA operations than provided of this library is discouraged, because it may interfere with this library. One exceptions are signals. We don't use signals at all at the moment, so one can savely use signal.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d1b/group__environment__main.html">Environmental Management</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This chapter discusses routines for getting and, where appropriate, setting various parameters that relate to the MPI implementation and the execution environment (such as error handling, startup&amp;shutdown and Time). <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d64/group__p2p__main.html">Point-to-Point Communication</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sending and receiving of messages by processes is the basic MPI communication mechanism. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dc2/group__broadcast.html">Collective Communication</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Communication that involves a group of processes. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d16/group__dma__access.html">Direct Memory Access</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Functions which use DMA to transfer Data. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/df0/group__comm__main.html">Groups, Context and Communicators</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The MOC communicator specifies a group of processes inside which a communication occurs. <br></td></tr>
<p>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:43 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,52 @@
<!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): src/ppu/system/moc_finalize_ppu.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/ppu/system/moc_finalize_ppu.c File Reference</h1>
<p>
<code>#include &lt;malloc_align.h&gt;</code><br>
<code>#include &lt;free_align.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d9/df9/ppu_2moc_8h-source.html">ppu/moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_finalize_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../de/de3/moc__finalize__ppu_8c__incl.png" border="0" usemap="#src/ppu/system/moc_finalize_ppu.c_map" alt=""></center>
<map name="src/ppu/system/moc_finalize_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="168,155,224,181"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="ppu/moc.h" alt="" coords="624,155,707,181"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="329,229,436,256"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="729,80,921,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="137,229,255,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="25,304,167,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="352,304,421,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="497,379,623,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="343,379,473,405"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="511,229,628,256"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="500,304,641,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="665,304,756,331"></map>
</div>
<p>
<a href="../../d1/d67/moc__finalize__ppu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8">MOC_Finalize</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates MPI execution environment. <a href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:28 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1 @@
bb891e40a960a58d6a9bd25144d68e95
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,68 @@
<!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): src/spu/system/moc_wtick_spu.c Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>src/spu/system/moc_wtick_spu.c</h1><a href="../../df/d50/moc__wtick__spu_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00003"></a>00003
<a name="l00004"></a>00004 <span class="comment">// if Time-Source is "gettimeofday()" from sys/time.h</span>
<a name="l00005"></a>00005 <span class="comment">// surprisingly this works out of the box. and it seems to be a</span>
<a name="l00006"></a>00006 <span class="comment">// global synchronized time. no internal information how it is</span>
<a name="l00007"></a>00007 <span class="comment">// implemented was found so far, but I think its communicating</span>
<a name="l00008"></a>00008 <span class="comment">// with the PPU because there is no known instance on the SPU</span>
<a name="l00009"></a>00009 <span class="comment">// capable of handling this except the SPU timer library.</span>
<a name="l00010"></a>00010 <span class="comment">// so be carefull using this.</span>
<a name="l00011"></a>00011 <span class="preprocessor">#if defined(MOC_SPU_TIMESOURCE_TIMEOFDAY)</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#undef MOC_SPU_TIMESOURCE_SPUTIME</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;time.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be" title="Returns the resolution of Moc_Wtime in seconds.">MOC_Wtick</a>(<span class="keywordtype">void</span>)
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keywordflow">return</span> 1.0 / ((double) CLOCKS_PER_SEC);
<a name="l00020"></a>00020 }
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="comment">// if Time-Source is the SPU timer library</span>
<a name="l00023"></a>00023 <span class="comment">// this library seems to have prototype-status and its path isn't</span>
<a name="l00024"></a>00024 <span class="comment">// the default. therefore the sputimer-library needs to be explicitly</span>
<a name="l00025"></a>00025 <span class="comment">// linked to any MOC-application.</span>
<a name="l00026"></a>00026 <span class="preprocessor">#elif defined(MOC_SPU_TIMESOURCE_SPUTIME)</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#undef MOC_SPU_TIMESOURCE_TIMEOFDAY</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#define IMOC_TIMEBASE 79800000</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be" title="Returns the resolution of Moc_Wtime in seconds.">MOC_Wtick</a>(<span class="keywordtype">void</span>)
<a name="l00032"></a>00032 {
<a name="l00033"></a>00033 <span class="keywordflow">return</span> 1.0/((double)IMOC_TIMEBASE);
<a name="l00034"></a>00034 }
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="comment">// if no time-source</span>
<a name="l00037"></a>00037 <span class="comment">// some dummy-functions</span>
<a name="l00038"></a>00038 <span class="preprocessor">#else</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a><a class="code" href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be">00040</a> <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be" title="Returns the resolution of Moc_Wtime in seconds.">MOC_Wtick</a>(<span class="keywordtype">void</span>)
<a name="l00041"></a>00041 {
<a name="l00042"></a>00042 <span class="keywordflow">return</span> 0;
<a name="l00043"></a>00043 }
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="preprocessor">#endif</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,12 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="208,155,264,181">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="688,80,880,107">
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="324,229,516,256">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="81,229,199,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="177,304,319,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="392,304,461,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="219,379,344,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="368,379,499,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="980,379,1084,405">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="673,155,780,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="737,229,855,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="624,304,765,331">
@@ -0,0 +1 @@
ca5ecb1b463609f776a0d9935164f6dd
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

+52
View File
@@ -0,0 +1,52 @@
<!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): src/noarch/communication/moc_isend.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/noarch/communication/moc_isend.c File Reference</h1>
<p>
<code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">ppu/moc_datatype_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../de/de1/imoc__dma__ppu_8h-source.html">internal/ppu/imoc_dma_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_isend.c:</div>
<div class="dynsection">
<p><center><img src="../../d8/d8d/moc__isend_8c__incl.png" border="0" usemap="#src/noarch/communication/moc_isend.c_map" alt=""></center>
<map name="src/noarch/communication/moc_isend.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="372,155,428,181"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="96,229,203,256"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="ppu/moc_datatype_ppu.h" alt="" coords="801,304,969,331"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="437,80,629,107"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="1061,229,1253,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1112,80,1320,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="429,229,547,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="379,304,520,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="595,304,664,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="635,379,760,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="429,379,560,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="163,304,253,331"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="725,155,832,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="768,229,885,256"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1155,155,1277,181"></map>
</div>
<p>
<a href="../../d5/d4e/moc__isend_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d62/group__p2p__imm.html#gd88773e68570adfad9f99159c69502af">MOC_ISend</a> (void *buf, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int dest, int tag, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, <a class="el" href="../../db/d17/structmoc__request__struct.html">MOC_Request</a> *request)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs a non-blocking standard mode send operation. <a href="../../d7/d62/group__p2p__imm.html#gd88773e68570adfad9f99159c69502af"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:07 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,52 @@
<!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): src/ppu/dma/moc_dma-iget_ppu.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/ppu/dma/moc_dma-iget_ppu.c File Reference</h1>
<p>
<code>#include &lt;malloc_align.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d8/df3/moc__dma__ppu_8h-source.html">ppu/moc_dma_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../de/de1/imoc__dma__ppu_8h-source.html">internal/ppu/imoc_dma_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_dma-iget_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../d8/d00/moc__dma-iget__ppu_8c__incl.png" border="0" usemap="#src/ppu/dma/moc_dma-iget_ppu.c_map" alt=""></center>
<map name="src/ppu/dma/moc_dma-iget_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="71,155,127,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="499,229,640,256"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="715,229,821,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="365,80,573,107"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="232,229,424,256"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="872,80,1064,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="40,229,157,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="49,304,191,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="347,304,416,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="471,379,596,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="316,379,447,405"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="515,304,656,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="731,304,821,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="408,155,531,181"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="771,155,877,181"></map>
</div>
<p>
<a href="../../d8/da3/moc__dma-iget__ppu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d16/group__dma__access.html#g08f0af30f2e0e6840ec2be5ca93fd14f">MOC_IGet_data</a> (void *target, uint32_t source, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int dest, <a class="el" href="../../db/d17/structmoc__request__struct.html">MOC_Request</a> *request)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper-function for a non-blocking DMA-get operation. <a href="../../d9/d16/group__dma__access.html#g08f0af30f2e0e6840ec2be5ca93fd14f"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:19 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,44 @@
<!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): Timers and Synchronization</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Timers and Synchronization<br>
<small>
[<a class="el" href="../../d2/d16/group__internal__env.html">Environmental Management</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for Timers and Synchronization:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../d3/dd2/group__internal__timer.png" border="0" alt="" usemap="#de/dc0/d3_2dd2_2group____internal____timer_map">
<map name="de/dc0/d3_2dd2_2group____internal____timer_map">
<area shape="rect" href="../../d2/d16/group__internal__env.html" title="Internals about Startup &amp; Shutdown and Error&#45;Handling." alt="" coords="5,5,187,32"></map></td></tr></table></center>
</div>
On the PPU "gettimeofday()" from time.h is used, because it is the only function which seems to work ("clock()" from time.h always returns 0).<p>
On the SPU there are two implementations. One uses also "gettimeofday()" and the other uses the spu-timer-library. The reason for this lies in the fact, that the spu-timer-library was marked as prototype in Cell SDK 3.0 and the future development of this library was uncertain. Cell SDK 3.1 has integrated the spu-timer-library in the main-library and so the gettimeofday-implementation is now obsolete.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>The timebase-constant which is needed to calculate time is hardcoded, because there was no according function for retrieving this value in Cell SDK 3.0 and we had only access to a playstation 3. Now Cell SDK 3.1 provides a function for retrieving the timebase value, but we didn't use it to provide backwards-compatibility. So if you plan to use MOC on another platform than playstation 3 keep in mind to check if the timebase-value is correct. </dd></dl>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:06 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

@@ -0,0 +1,205 @@
<!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): Buffer-Management</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Buffer-Management<br>
<small>
[<a class="el" href="../../d2/dd7/group__internal__p2p__buffered.html">Buffered Communication</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for Buffer-Management:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../d3/dd3/group__internal__p2p__bmalloc.png" border="0" alt="" usemap="#dc/dff/d3_2dd3_2group____internal____p2p____bmalloc_map">
<map name="dc/dff/d3_2dd3_2group____internal____p2p____bmalloc_map">
<area shape="rect" href="../../d2/dd7/group__internal__p2p__buffered.html" title="Internals about blocking buffered Communication." alt="" coords="5,5,168,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This section shows how the buffer used for buffered communication is managed.
<p>
Information about already allocated buffer-space is stored in the status-array.<p>
But this information has no order which forces us everytime we want to allocate buffer-space to create an ordered list of already allocated buffer-space. To avoid this we have additionally an ordered linked-list. This list orders the indexes (== message-IDs) of the status-array-entries in ascending order of the memory-addresses. This enables fast searching for free buffer-space.<p>
Allocated buffer-space is cleared by the receiving process by setting the appropriate flag in the status-array-entry. This is done by a DMA-Transfer and so no collaboration of the sending-process is needed. During the next allocation of buffer-space nodes with disabled buffer-flags are freed.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_struct</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Node of linked list holding information about allocated buffer-space. <a href="../../dd/dc0/structmoc__internal__buffer__node__struct.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <br>
<a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_struct</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dd3/group__internal__p2p__bmalloc.html#g5335affab6973b22635d8a5616e8bdbc">moc_internal_buffer_node_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Node of linked list holding information about allocated buffer-space. <a href="#g5335affab6973b22635d8a5616e8bdbc"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dd3/group__internal__p2p__bmalloc.html#g5295b372d853993b2e6cfb6912a0ee41">IMOC_bmalloc</a> (uint32_t size, uint8_t mid)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate buffer-space. <a href="#g5295b372d853993b2e6cfb6912a0ee41"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531">__attribute__</a> ((always_inline))</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\n"); else { int z = 0; moc_internal_buffer_node_t* t; for (t = bmalloc_first_node; t != 0; t = t-&gt;next_node) { printf( "Node %i: offset %u - size %u - valid %i - mid %u\n", z, node_handle.status_array_base[ t-&gt;mid ].buffer_offset, node_handle.status_array_base[ t-&gt;mid ].message_size, node_handle.status_array_base[ t-&gt;mid ].flags.bits.buffer_used, t-&gt;mid ); z++; } } } <a href="#gad8750c7ba3d6da9c137c2c462d2c531"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gaf9be7d34fe367a9244d50dde82777ed">bmalloc_first_node</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to first entry of linked-list. <a href="#gaf9be7d34fe367a9244d50dde82777ed"></a><br></td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g5335affab6973b22635d8a5616e8bdbc"></a><!-- doxytag: member="imoc.h::moc_internal_buffer_node_t" ref="g5335affab6973b22635d8a5616e8bdbc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_struct</a> <a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Node of linked list holding information about allocated buffer-space.
<p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gad8750c7ba3d6da9c137c2c462d2c531"></a><!-- doxytag: member="imoc_buffer_malloc.c::__attribute__" ref="gad8750c7ba3d6da9c137c2c462d2c531" args="((always_inline))" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_t</a>* __attribute__ </td>
<td>(</td>
<td class="paramtype">(always_inline)&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\n"); else { int z = 0; moc_internal_buffer_node_t* t; for (t = bmalloc_first_node; t != 0; t = t-&gt;next_node) { printf( "Node %i: offset %u - size %u - valid %i - mid %u\n", z, node_handle.status_array_base[ t-&gt;mid ].buffer_offset, node_handle.status_array_base[ t-&gt;mid ].message_size, node_handle.status_array_base[ t-&gt;mid ].flags.bits.buffer_used, t-&gt;mid ); z++; } } }
<p>
Returns the next node holding valid buffer-information coming after node start.<p>
During the search all invalid nodes the function stumbles across are freed and the links are corrected.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td><b>in</b> start-node of search (NULL means beginning of list) </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>next valid node </dd></dl>
<p>Definition at line <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html#l00056">56</a> of file <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html">imoc_buffer_malloc.c</a>.</p>
<p>References <a class="el" href="../../dd/df5/structmoc__message__status__struct.html#c0bdc214525521d58f12c72874de0512">moc_message_status_struct::bits</a>, <a class="el" href="../../dd/df5/structmoc__message__status__struct.html#086c0d449d25774d43512b6f7fdab8ed">moc_message_status_struct::flags</a>, <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00184">moc_internal_buffer_node_struct::mid</a>, <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00182">moc_internal_buffer_node_struct::next_node</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00052">node_handle</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00036">moc_node_handle_ppu_struct::status_array_base</a>.</p>
<p>Referenced by <a class="el" href="../../d7/df2/imoc__dma-get__ppu_8c-source.html#l00009">IMOC_get_data()</a>, <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html#l00011">MOC_Barrier()</a>, <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../df/df8/moc__issend__ppu_8c-source.html#l00010">MOC_ISsend()</a>, <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="../../d3/dd3/group__internal__p2p__bmalloc_gad8750c7ba3d6da9c137c2c462d2c531_icgraph.png" border="0" usemap="#d3/dd3/group__internal__p2p__bmalloc_gad8750c7ba3d6da9c137c2c462d2c531_icgraph_map" alt=""></center>
<map name="d3/dd3/group__internal__p2p__bmalloc_gad8750c7ba3d6da9c137c2c462d2c531_icgraph_map">
<area shape="rect" href="../../d2/de2/group__internal__p2p__dma.html#g53d36c567e4c98e5d258a7857096e7ab" title="Internal wrapper&#45;function for a blocking DMA&#45;get operation." alt="" coords="149,5,261,32"><area shape="rect" href="../../d0/d64/group__p2p__main.html#g30c532510cffd36acd1b9b0b3edb3832" title="Performs a blocking standard mode receive operation." alt="" coords="323,56,408,83"><area shape="rect" href="../../db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834" title="Blocks the caller until all processes in the communicator have called it; that is..." alt="" coords="157,107,253,133"><area shape="rect" href="../../de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="157,157,253,184"><area shape="rect" href="../../d7/d62/group__p2p__imm.html#gc148ff9b9bee69164139425a7df53697" title="Performs a non&#45;blocking synchronous mode send operation." alt="" coords="156,208,255,235"><area shape="rect" href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120" title="Performs a blocking synchronous mode send operation." alt="" coords="157,259,253,285"><area shape="rect" href="../../d9/d16/group__dma__access.html#g3716465d42f20379bbf65002ecd9e448" title="Wrapper&#45;function for a blocking DMA&#45;get operation." alt="" coords="309,5,421,32"></map>
</div>
</div>
</div><p>
<a class="anchor" name="g5295b372d853993b2e6cfb6912a0ee41"></a><!-- doxytag: member="imoc.h::IMOC_bmalloc" ref="g5295b372d853993b2e6cfb6912a0ee41" args="(uint32_t size, uint8_t mid)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint64_t IMOC_bmalloc </td>
<td>(</td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>mid</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Allocate buffer-space.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td><b>in</b> size of buffer-space </td></tr>
<tr><td valign="top"></td><td valign="top"><em>mid</em>&nbsp;</td><td><b>in</b> corresponding message-ID </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>effective address of allocated buffer-space (16-byte aligned) </dd></dl>
<p>Definition at line <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html#l00085">85</a> of file <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html">imoc_buffer_malloc.c</a>.</p>
<p>References <a class="el" href="../../dd/df5/structmoc__message__status__struct.html#c0bdc214525521d58f12c72874de0512">moc_message_status_struct::bits</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00037">moc_node_handle_ppu_struct::buffer_base</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00127">moc_message_status_struct::buffer_offset</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00038">moc_node_handle_ppu_struct::buffer_size</a>, <a class="el" href="../../dd/df5/structmoc__message__status__struct.html#086c0d449d25774d43512b6f7fdab8ed">moc_message_status_struct::flags</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00128">moc_message_status_struct::message_size</a>, <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00184">moc_internal_buffer_node_struct::mid</a>, <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00182">moc_internal_buffer_node_struct::next_node</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00052">node_handle</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00036">moc_node_handle_ppu_struct::status_array_base</a>.</p>
<p>Referenced by <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>.</p>
<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="../../d3/dd3/group__internal__p2p__bmalloc_g5295b372d853993b2e6cfb6912a0ee41_icgraph.png" border="0" usemap="#d3/dd3/group__internal__p2p__bmalloc_g5295b372d853993b2e6cfb6912a0ee41_icgraph_map" alt=""></center>
<map name="d3/dd3/group__internal__p2p__bmalloc_g5295b372d853993b2e6cfb6912a0ee41_icgraph_map">
<area shape="rect" href="../../de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="160,5,256,32"></map>
</div>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="gaf9be7d34fe367a9244d50dde82777ed"></a><!-- doxytag: member="imoc_buffer_malloc.c::bmalloc_first_node" ref="gaf9be7d34fe367a9244d50dde82777ed" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_t</a>* <a class="el" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gaf9be7d34fe367a9244d50dde82777ed">bmalloc_first_node</a> = 0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Pointer to first entry of linked-list.
<p>
<p>Definition at line <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html#l00020">20</a> of file <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html">imoc_buffer_malloc.c</a>.</p>
<p>Referenced by <a class="el" href="../../d1/d67/moc__finalize__ppu_8c-source.html#l00011">MOC_Finalize()</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:16 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1 @@
<area shape="rect" href="$de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="160,5,256,32">
@@ -0,0 +1 @@
c4e956d8cefb652dc4ae4485e1af795f
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

@@ -0,0 +1,7 @@
<area shape="rect" href="$d2/de2/group__internal__p2p__dma.html#g53d36c567e4c98e5d258a7857096e7ab" title="Internal wrapper&#45;function for a blocking DMA&#45;get operation." alt="" coords="149,5,261,32">
<area shape="rect" href="$d0/d64/group__p2p__main.html#g30c532510cffd36acd1b9b0b3edb3832" title="Performs a blocking standard mode receive operation." alt="" coords="323,56,408,83">
<area shape="rect" href="$db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834" title="Blocks the caller until all processes in the communicator have called it; that is..." alt="" coords="157,107,253,133">
<area shape="rect" href="$de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="157,157,253,184">
<area shape="rect" href="$d7/d62/group__p2p__imm.html#gc148ff9b9bee69164139425a7df53697" title="Performs a non&#45;blocking synchronous mode send operation." alt="" coords="156,208,255,235">
<area shape="rect" href="$d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120" title="Performs a blocking synchronous mode send operation." alt="" coords="157,259,253,285">
<area shape="rect" href="$d9/d16/group__dma__access.html#g3716465d42f20379bbf65002ecd9e448" title="Wrapper&#45;function for a blocking DMA&#45;get operation." alt="" coords="309,5,421,32">
@@ -0,0 +1 @@
a93b5b38b071a3c035489ad4e4642a62
Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,11 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="359,80,415,107">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="345,229,487,256">
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="832,155,939,181">
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="591,80,745,107">
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="616,155,808,181">
<area shape="rect" href="$d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="963,155,1155,181">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="424,155,541,181">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="636,229,705,256">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="508,304,633,331">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="708,304,839,331">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="964,229,1055,256">
@@ -0,0 +1 @@
cc8eefd9b8aa7ec18b4ed1aca33b6c7e
Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

+15
View File
@@ -0,0 +1,15 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="372,155,428,181">
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="96,229,203,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="ppu/moc_datatype_ppu.h" alt="" coords="801,304,969,331">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="437,80,629,107">
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="1061,229,1253,256">
<area shape="rect" href="$d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1112,80,1320,107">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="429,229,547,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="379,304,520,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="595,304,664,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="635,379,760,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="429,379,560,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="163,304,253,331">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="725,155,832,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="768,229,885,256">
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1155,155,1277,181">
@@ -0,0 +1 @@
621440415361f3c0e6d88907e6ea7479
Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

@@ -0,0 +1,8 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="208,80,264,107">
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="339,80,493,107">
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="324,155,516,181">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="81,155,199,181">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="109,229,251,256">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="275,229,344,256">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="109,304,235,331">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="309,304,440,331">
@@ -0,0 +1 @@
93c12d4b0229e38ba321ca5cbb3a7909
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@@ -0,0 +1,82 @@
<!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): src/spu/system/moc_wtime_spu.c Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>src/spu/system/moc_wtime_spu.c</h1><a href="../../d0/dfc/moc__wtime__spu_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00003"></a>00003
<a name="l00004"></a>00004 <span class="comment">// if Time-Source is "gettimeofday()" from sys/time.h</span>
<a name="l00005"></a>00005 <span class="comment">// surprisingly this works out of the box. and it seems to be a</span>
<a name="l00006"></a>00006 <span class="comment">// global synchronized time. no internal information how it is</span>
<a name="l00007"></a>00007 <span class="comment">// implemented was found so far, but I think its communicating</span>
<a name="l00008"></a>00008 <span class="comment">// with the PPU because there is no known instance on the SPU</span>
<a name="l00009"></a>00009 <span class="comment">// capable of handling this except the SPU timer library.</span>
<a name="l00010"></a>00010 <span class="comment">// so be carefull using this.</span>
<a name="l00011"></a>00011 <span class="preprocessor">#if defined(MOC_SPU_TIMESOURCE_TIMEOFDAY)</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#undef MOC_SPU_TIMESOURCE_SPUTIME</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;time.h&gt;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017 <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f" title="Returns a floating-point number of seconds, representing elapsed wall-clock time...">MOC_Wtime</a>(<span class="keywordtype">void</span>)
<a name="l00018"></a>00018 {
<a name="l00019"></a>00019 <span class="keyword">struct </span>timeval time;
<a name="l00020"></a>00020 gettimeofday(&amp;time, NULL);
<a name="l00021"></a>00021 <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>) time.tv_sec) + ((double) time.tv_usec)
<a name="l00022"></a>00022 / ((double) 1000000.0);
<a name="l00023"></a>00023 }
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="comment">// if Time-Source is the SPU timer library</span>
<a name="l00026"></a>00026 <span class="comment">// this library seems to have prototype-status and its path isn't</span>
<a name="l00027"></a>00027 <span class="comment">// the default. therefore the sputimer-library needs to be explicitly</span>
<a name="l00028"></a>00028 <span class="comment">// linked to any MOC-application.</span>
<a name="l00029"></a>00029 <span class="preprocessor">#elif defined(MOC_SPU_TIMESOURCE_SPUTIME)</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#undef MOC_SPU_TIMESOURCE_TIMEOFDAY</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;spu_mfcio.h&gt;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;spu_timer.h&gt;</span>
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="preprocessor">#define IMOC_TIMEBASE 79800000</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span>
<a name="l00037"></a>00037 <span class="keywordtype">char</span> isTimerRunning = 0;
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f" title="Returns a floating-point number of seconds, representing elapsed wall-clock time...">MOC_Wtime</a>(<span class="keywordtype">void</span>)
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <span class="keywordflow">if</span> (!isTimerRunning)
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 spu_slih_register (MFC_DECREMENTER_EVENT, spu_clock_slih);
<a name="l00044"></a>00044 spu_clock_start ();
<a name="l00045"></a>00045 isTimerRunning = 1;
<a name="l00046"></a>00046 }
<a name="l00047"></a>00047 <span class="keywordflow">return</span> ((<span class="keywordtype">double</span>)spu_clock_read()/((<span class="keywordtype">double</span>)IMOC_TIMEBASE));
<a name="l00048"></a>00048 }
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="comment">// if no time-source</span>
<a name="l00051"></a>00051 <span class="comment">// some dummy-functions</span>
<a name="l00052"></a>00052 <span class="preprocessor">#else</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
<a name="l00054"></a><a class="code" href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f">00054</a> <span class="keywordtype">double</span> <a class="code" href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f" title="Returns a floating-point number of seconds, representing elapsed wall-clock time...">MOC_Wtime</a>(<span class="keywordtype">void</span>)
<a name="l00055"></a>00055 {
<a name="l00056"></a>00056 <span class="keywordflow">return</span> 0;
<a name="l00057"></a>00057 }
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,50 @@
<!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): src/ppu/dma/moc_dma-put_ppu.c File Reference</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>src/ppu/dma/moc_dma-put_ppu.c File Reference</h1>
<p>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../d8/df3/moc__dma__ppu_8h-source.html">ppu/moc_dma_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="../../de/de1/imoc__dma__ppu_8h-source.html">internal/ppu/imoc_dma_ppu.h</a>&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_dma-put_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../da/daa/moc__dma-put__ppu_8c__incl.png" border="0" usemap="#src/ppu/dma/moc_dma-put_ppu.c_map" alt=""></center>
<map name="src/ppu/dma/moc_dma-put_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="156,155,212,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="584,229,725,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1063,80,1271,107"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="809,80,1001,107"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="317,229,509,256"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="125,229,243,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="17,304,159,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="347,304,416,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="439,379,564,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="284,379,415,405"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="689,304,831,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1124,155,1247,181"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="907,379,1011,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="725,155,832,181"></map>
</div>
<p>
<a href="../../da/d4a/moc__dma-put__ppu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d16/group__dma__access.html#ge07f4b35da50be472772f9d3a426669e">MOC_Put_data</a> (void *source, uint32_t target, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int src)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wrapper-function for a blocking DMA-put operation. <a href="../../d9/d16/group__dma__access.html#ge07f4b35da50be472772f9d3a426669e"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:21 2009 for MPI On Cell (Documentation) by&nbsp;
<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>
@@ -0,0 +1,33 @@
<!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): src/ppu/system/moc_get_avail_spu_ppu.c Source File</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&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<h1>src/ppu/system/moc_get_avail_spu_ppu.c</h1><a href="../../d8/d65/moc__get__avail__spu__ppu_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;libspe2.h&gt;</span>
<a name="l00003"></a>00003
<a name="l00004"></a><a class="code" href="../../d8/d9a/group__environment__startup.html#g66028682d3c25b76e25ca57655d47625">00004</a> <span class="keywordtype">int</span> <a class="code" href="../../d8/d9a/group__environment__startup.html#g66028682d3c25b76e25ca57655d47625" title="Returns the number of available SPUs.">MOC_Get_avail_spu_count</a>(<span class="keywordtype">int</span>* count)
<a name="l00005"></a>00005 {
<a name="l00006"></a>00006 *count = spe_cpu_info_get(SPE_COUNT_USABLE_SPES, -1);
<a name="l00007"></a>00007 <span class="keywordflow">if</span> (*count &lt; 0)
<a name="l00008"></a>00008 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g05b3a70831c823a59014c4853a76ca7e" title="Internal MOC (implementation) error.">MOC_ERR_INTERN</a>;
<a name="l00009"></a>00009 <span class="keywordflow">return</span> 0;
<a name="l00010"></a>00010 }
<a name="l00011"></a>00011
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by&nbsp;
<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>