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,51 @@
<!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/communication/moc_issend_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/communication/moc_issend_ppu.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="../../d9/d36/moc__datatype__ppu_8h-source.html">ppu/moc_datatype_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="../../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_issend_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../d7/d54/moc__issend__ppu_8c__incl.png" border="0" usemap="#src/ppu/communication/moc_issend_ppu.c_map" alt=""></center>
<map name="src/ppu/communication/moc_issend_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="176,155,232,181"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="ppu/moc_datatype_ppu.h" alt="" coords="323,304,491,331"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="585,229,692,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="985,80,1193,107"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="732,80,924,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="64,304,205,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="229,304,299,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="315,379,440,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="160,379,291,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="616,304,707,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1040,155,1163,181"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="553,155,660,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="444,229,561,256"></map>
</div>
<p>
<a href="../../df/df8/moc__issend__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="../../d7/d62/group__p2p__imm.html#gc148ff9b9bee69164139425a7df53697">MOC_ISsend</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 synchronous mode send operation. <a href="../../d7/d62/group__p2p__imm.html#gc148ff9b9bee69164139425a7df53697"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:17 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,41 @@
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="include/ppu/moc.h" alt="" coords="704,80,832,107">
<area shape="rect" href="$d7/d58/moc__dma-get__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;get_ppu.c" alt="" coords="8227,229,8443,256">
<area shape="rect" href="$d3/dc6/moc__dma-iget__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;iget_ppu.c" alt="" coords="8467,229,8685,256">
<area shape="rect" href="$d8/d06/moc__dma-iput__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;iput_ppu.c" alt="" coords="8709,229,8928,256">
<area shape="rect" href="$d3/dfa/moc__dma-put__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;put_ppu.c" alt="" coords="8952,229,9168,256">
<area shape="rect" href="$d0/d04/moc__dma-test__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;test_ppu.c" alt="" coords="9192,229,9411,256">
<area shape="rect" href="$d6/de5/moc__dma-wait__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;wait_ppu.c" alt="" coords="9435,229,9653,256">
<area shape="rect" href="$d2/d2a/moc__translate__ea__ls__ppu_8c.html" title="src/ppu/dma/moc_translate_ea_ls_ppu.c" alt="" coords="9677,229,9933,256">
<area shape="rect" href="$d4/d2d/imoc__dma-get__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;get_ppu.c" alt="" coords="9957,229,10221,256">
<area shape="rect" href="$d1/da6/imoc__dma-iget__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;iget_ppu.c" alt="" coords="10245,229,10512,256">
<area shape="rect" href="$df/d10/imoc__dma-iput__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;iput_ppu.c" alt="" coords="10536,229,10803,256">
<area shape="rect" href="$d3/d8f/imoc__dma-put__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;put_ppu.c" alt="" coords="10827,229,11091,256">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="include/internal/ppu/imoc_core_ppu.h" alt="" coords="5216,155,5451,181">
<area shape="rect" href="$df/dac/imoc__spe__thread__ppu_8c.html" title="src/ppu/internal/imoc_spe_thread_ppu.c" alt="" coords="5,229,256,256">
<area shape="rect" href="$dc/dd0/moc__add__spu__thread__ppu_8c.html" title="src/ppu/system/moc_add_spu_thread_ppu.c" alt="" coords="280,229,557,256">
<area shape="rect" href="$d3/d9e/moc__finalize__ppu_8c.html" title="src/ppu/system/moc_finalize_ppu.c" alt="" coords="581,229,808,256">
<area shape="rect" href="$d9/d04/moc__init__ppu_8c.html" title="src/ppu/system/moc_init_ppu.c" alt="" coords="832,229,1035,256">
<area shape="rect" href="$d6/db1/moc__bcast_8c.html" title="src/noarch/communication/moc_bcast.c" alt="" coords="3635,229,3888,256">
<area shape="rect" href="$d3/dc2/moc__isend_8c.html" title="src/noarch/communication/moc_isend.c" alt="" coords="3912,229,4163,256">
<area shape="rect" href="$db/d55/moc__send_8c.html" title="src/noarch/communication/moc_send.c" alt="" coords="4187,229,4435,256">
<area shape="rect" href="$d8/d02/moc__test_8c.html" title="src/noarch/communication/moc_test.c" alt="" coords="4459,229,4701,256">
<area shape="rect" href="$d4/dfc/moc__wait_8c.html" title="src/noarch/communication/moc_wait.c" alt="" coords="4725,229,4968,256">
<area shape="rect" href="$db/d33/imoc__get__entry_8c.html" title="src/noarch/internal/communication/imoc_get_entry.c" alt="" coords="4992,229,5315,256">
<area shape="rect" href="$df/d20/imoc__get__free__entry_8c.html" title="src/noarch/internal/communication/imoc_get_free_entry.c" alt="" coords="5339,229,5691,256">
<area shape="rect" href="$dd/d9a/imoc__get__free__mid_8c.html" title="src/noarch/internal/communication/imoc_get_free_mid.c" alt="" coords="5715,229,6059,256">
<area shape="rect" href="$db/d43/imoc__test__message_8c.html" title="src/noarch/internal/communication/imoc_test_message.c" alt="" coords="6083,229,6435,256">
<area shape="rect" href="$da/d91/imoc__wait__message_8c.html" title="src/noarch/internal/communication/imoc_wait_message.c" alt="" coords="6459,229,6811,256">
<area shape="rect" href="$d2/d7b/imoc__buffer__malloc_8c.html" title="src/noarch/internal/imoc_buffer_malloc.c" alt="" coords="6835,229,7088,256">
<area shape="rect" href="$d3/d9d/moc__comm__rank_8c.html" title="src/noarch/system/moc_comm_rank.c" alt="" coords="7112,229,7355,256">
<area shape="rect" href="$df/ddd/moc__comm__size_8c.html" title="src/noarch/system/moc_comm_size.c" alt="" coords="7379,229,7621,256">
<area shape="rect" href="$d1/d72/moc__barrier__ppu_8c.html" title="src/ppu/communication/moc_barrier_ppu.c" alt="" coords="7645,229,7912,256">
<area shape="rect" href="$d9/d14/moc__bsend__ppu_8c.html" title="src/ppu/communication/moc_bsend_ppu.c" alt="" coords="7936,229,8203,256">
<area shape="rect" href="$dc/d02/moc__issend__ppu_8c.html" title="src/ppu/communication/moc_issend_ppu.c" alt="" coords="1059,229,1328,256">
<area shape="rect" href="$dc/db7/moc__recv__ppu_8c.html" title="src/ppu/communication/moc_recv_ppu.c" alt="" coords="1352,229,1605,256">
<area shape="rect" href="$d2/d00/moc__ssend__ppu_8c.html" title="src/ppu/communication/moc_ssend_ppu.c" alt="" coords="1629,229,1896,256">
<area shape="rect" href="$d0/dba/imoc__dma-tags__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;tags_ppu.c" alt="" coords="1920,229,2192,256">
<area shape="rect" href="$d4/d5b/imoc__dma-test__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;test_ppu.c" alt="" coords="2216,229,2483,256">
<area shape="rect" href="$df/d8b/imoc__dma-wait__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma&#45;wait_ppu.c" alt="" coords="2507,229,2776,256">
<area shape="rect" href="$df/d69/imoc__core__ppu_8c.html" title="src/ppu/internal/imoc_core_ppu.c" alt="" coords="2800,229,3013,256">
<area shape="rect" href="$d2/d15/moc__set__buffer__size__ppu_8c.html" title="src/ppu/system/moc_set_buffer_size_ppu.c" alt="" coords="3037,229,3309,256">
<area shape="rect" href="$df/dbf/moc__set__queue__size__ppu_8c.html" title="src/ppu/system/moc_set_queue_size_ppu.c" alt="" coords="3333,229,3611,256">
@@ -0,0 +1 @@
1be9c80386a69d64ea8e64d9b05d9f94
Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

@@ -0,0 +1,5 @@
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="85,80,203,107">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="109,155,179,181">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="203,155,344,181">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="moc_datatype.h" alt="" coords="223,229,337,256">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="17,229,148,256">
@@ -0,0 +1 @@
ec702f27817282faca09de912a5914e4
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

@@ -0,0 +1,47 @@
<!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_wtime_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_wtime_ppu.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;time.h&gt;</code><br>
<code>#include &lt;sys/time.h&gt;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_wtime_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../d0/d06/moc__wtime__ppu_8c__incl.png" border="0" usemap="#src/ppu/system/moc_wtime_ppu.c_map" alt=""></center>
<map name="src/ppu/system/moc_wtime_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="184,80,240,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="32,155,149,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="28,229,169,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="193,229,263,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="32,304,157,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="232,304,363,331"></map>
</div>
<p>
<a href="../../d5/de2/moc__wtime__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">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f">MOC_Wtime</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a floating-point number of seconds, representing elapsed wall-clock time since some time in the past. <a href="../../d8/da6/group__environment__timer.html#g415b17505f06a12f26c6aa735d00158f"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:32 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,72 @@
<!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_barrier_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_barrier_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="../../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 &quot;<a class="el" href="../../db/dd9/imoc__core__spu_8h-source.html">internal/spu/imoc_core_spu.h</a>&quot;</code><br>
<p>
<div class="dynheader">
Include dependency graph for moc_barrier_spu.c:</div>
<div class="dynsection">
<p><center><img src="../../d5/dfd/moc__barrier__spu_8c__incl.png" border="0" usemap="#src/spu/communication/moc_barrier_spu.c_map" alt=""></center>
<map name="src/spu/communication/moc_barrier_spu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="291,80,347,107"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="404,155,511,181"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="472,80,627,107"><area shape="rect" href="../../d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="535,155,727,181"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="212,155,329,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="96,229,237,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="336,229,405,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="108,304,233,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="308,304,439,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="564,229,655,256"></map>
</div>
<p>
<a href="../../d4/d28/moc__barrier__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>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="../../dc/d59/moc__barrier__spu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">IMOC_BARRIER_TAG</a>&nbsp;&nbsp;&nbsp;1</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="../../db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834">MOC_Barrier</a> (<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">Blocks the caller until all processes in the communicator have called it; that is, the call returns at any process only after all members of the communicator have entered the call. <a href="../../db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="8a4118b9364b4bb700441e9e9dd9c3ab"></a><!-- doxytag: member="moc_barrier_spu.c::IMOC_BARRIER_TAG" ref="8a4118b9364b4bb700441e9e9dd9c3ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define IMOC_BARRIER_TAG&nbsp;&nbsp;&nbsp;1 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="../../d4/d28/moc__barrier__spu_8c-source.html#l00010">10</a> of file <a class="el" href="../../d4/d28/moc__barrier__spu_8c-source.html">moc_barrier_spu.c</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:32 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,97 @@
<!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/communication/moc_barrier_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/communication/moc_barrier_ppu.c</h1><a href="../../d1/d72/moc__barrier__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;stdio.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="preprocessor">#include &lt;<a class="code" href="../../d8/d98/imoc__macros__ppu_8h.html">internal/ppu/imoc_macros_ppu.h</a>&gt;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;<a class="code" href="../../d6/d09/imoc__core__ppu_8h.html">internal/ppu/imoc_core_ppu.h</a>&gt;</span>
<a name="l00008"></a>00008
<a name="l00009"></a><a class="code" href="../../d1/d72/moc__barrier__ppu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">00009</a> <span class="preprocessor">#define IMOC_BARRIER_TAG 1</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a><a class="code" href="../../db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834">00011</a> <span class="keywordtype">int</span> <a class="code" href="../../db/dc2/group__broadcast.html#g110b00d5a4d9f970ddf8e9bd4c2d8834" title="Blocks the caller until all processes in the communicator have called it; that is...">MOC_Barrier</a>(<a class="code" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767" title="Communicator-Handle.">MOC_Comm</a> comm)
<a name="l00012"></a>00012 {
<a name="l00013"></a>00013 <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a> tempQueue[<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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a>] <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&amp;quot;No nodes in list\n&amp;quot;);...">__attribute__</a>((__aligned__(16)));
<a name="l00014"></a>00014 <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a> *sourceQueueEntry;
<a name="l00015"></a>00015 <a class="code" href="../../dd/d7a/structMOC__Status__struct.html" title="Structure holding information about a received message.">MOC_Status</a> status;
<a name="l00016"></a>00016 <span class="keywordtype">int</span> err, qindex;
<a name="l00017"></a>00017 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dmastatus;
<a name="l00018"></a>00018
<a name="l00019"></a>00019 <span class="comment">//if (comm == MOC_COMM_SELF &amp;&amp; node_handle.rank == node_handle.comm_size - 1)</span>
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (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>)
<a name="l00021"></a>00021 <span class="keywordflow">return</span> 0;
<a name="l00022"></a>00022 <span class="keywordflow">else</span>
<a name="l00023"></a>00023 <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>)
<a name="l00024"></a>00024 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#gc1e776c0e7cb8c97391dd6ac476295a1" title="Invalid communicator.">MOC_ERR_COMM</a>;
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="comment">/* Get queue from remote-node, choose fastest method depending on transfer-size */</span>
<a name="l00027"></a>00027 <span class="keywordflow">if</span> (<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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a> * <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>)
<a name="l00028"></a>00028 &gt; <a class="code" href="../../d8/d88/group__internal__p2p__main.html#ge9f5f9bdfa51d7683fbe312d4a667afd" title="Defines a treshold, when to use memcpy and when to use DMA in a get-operation on...">MEMCPY_GET_TRESHOLD</a>)
<a name="l00029"></a>00029 {
<a name="l00030"></a>00030 err = spe_mfcio_put(<a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[<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> - 1
<a name="l00031"></a>00031 - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].<a class="code" href="../../d1/d8b/structmoc__spu__thread__struct.html#61d6807e3bab9b37ef07b0543e33574e" title="SPE-Context.">speid</a>, <a class="code" href="../../df/ddf/group__internal__am.html#g48013d236aaa37226bbba460eaf3aca5" title="LS-Address of own remote queue at node &amp;#39;rank&amp;#39;.">IMOC_LS_REMOTE_QUEUE</a>(
<a name="l00032"></a>00032 <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> - 1), tempQueue, <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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a>
<a name="l00033"></a>00033 * <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>), 15, 0, 0);
<a name="l00034"></a>00034 <span class="keywordflow">if</span> (err)
<a name="l00035"></a>00035 <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="l00036"></a>00036 err = spe_mfcio_tag_status_read(
<a name="l00037"></a>00037 <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[<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> - 1
<a name="l00038"></a>00038 - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].<a class="code" href="../../d1/d8b/structmoc__spu__thread__struct.html#61d6807e3bab9b37ef07b0543e33574e" title="SPE-Context.">speid</a>, 0, SPE_TAG_ALL,
<a name="l00039"></a>00039 &amp;dmastatus);
<a name="l00040"></a>00040 <span class="keywordflow">if</span> (err)
<a name="l00041"></a>00041 <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="l00042"></a>00042 }
<a name="l00043"></a>00043 <span class="keywordflow">else</span>
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 memcpy(tempQueue, (<span class="keywordtype">void</span>*) <a class="code" href="../../df/ddf/group__internal__am.html#gf02c3d971a2b5e72d22c9c16b1748c04" title="Effective base-address of own remote queue at node &amp;#39;rank&amp;#39;.">IMOC_EA_REMOTE_QUEUE</a>(<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>
<a name="l00046"></a>00046 - 1), <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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a> * <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>));
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048
<a name="l00049"></a>00049 <span class="comment">/* search free entry in message-queue */</span>
<a name="l00050"></a>00050 err = <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g2a948cdecce651ae6cc1b0c0ddb1b750" title="Get next free entry in message-queue (a local copy of the message-queue has to be...">IMOC_getFreeEntry</a>(tempQueue, <a class="code" href="../../d1/d72/moc__barrier__ppu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">IMOC_BARRIER_TAG</a>, comm, 1, &amp;qindex);
<a name="l00051"></a>00051 <span class="keywordflow">if</span> (err)
<a name="l00052"></a>00052 <span class="keywordflow">return</span> err;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 tempQueue[qindex].communicator = comm;
<a name="l00055"></a>00055 tempQueue[qindex].flags.bits.special = 1;
<a name="l00056"></a>00056 tempQueue[qindex].flags.bits.valid = 1;
<a name="l00057"></a>00057 tempQueue[qindex].tag = <a class="code" href="../../d1/d72/moc__barrier__ppu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">IMOC_BARRIER_TAG</a>;
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="comment">/* write message-envelope into queue, because transfer-size is always 16-byte,</span>
<a name="l00060"></a>00060 <span class="comment"> * memcpy is fastest method */</span>
<a name="l00061"></a>00061 memcpy((<span class="keywordtype">void</span>*) <a class="code" href="../../df/ddf/group__internal__am.html#gf9ad028ccbfa406c49a0ebd943486698" title="Effective base-address of own remote queue-entry at node &amp;#39;rank&amp;#39;.">IMOC_EA_REMOTE_QUEUE_ENTRY</a>(<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> - 1,
<a name="l00062"></a>00062 qindex), &amp;tempQueue[qindex], <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>));
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">//look up if there is data here</span>
<a name="l00065"></a>00065 sourceQueueEntry = 0;
<a name="l00066"></a>00066 <span class="keywordflow">while</span> (sourceQueueEntry == 0)
<a name="l00067"></a>00067 {
<a name="l00068"></a>00068 sourceQueueEntry = <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from &amp;quot;source&amp;quot; with specified &amp;quot;tag&amp;quot;...">IMOC_get_entry</a>(<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> - 1,
<a name="l00069"></a>00069 <a class="code" href="../../d1/d72/moc__barrier__ppu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">IMOC_BARRIER_TAG</a>, comm, 1, &amp;status);
<a name="l00070"></a>00070 }
<a name="l00071"></a>00071 sourceQueueEntry-&gt;<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#38288113f9b7adee1e444850112ff807" title="flag-union">flags</a>.<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#e51379150ad496c8844a4b9b0096120b" title="union-value">value</a> = 0;
<a name="l00072"></a>00072
<a name="l00073"></a>00073 <span class="keywordflow">return</span> 0;
<a name="l00074"></a>00074 }
<a name="l00075"></a>00075
</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,722 @@
<!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): Datatypes</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>Datatypes<br>
<small>
[<a class="el" href="../../d0/d64/group__p2p__main.html">Point-to-Point Communication</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for Datatypes:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../dc/d6e/group__p2p__datatype.png" border="0" alt="" usemap="#dc/d96/dc_2d6e_2group____p2p____datatype_map">
<map name="dc/d96/dc_2d6e_2group____p2p____datatype_map">
<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="5,5,200,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Datatypes supported by MOC.
<p>
There are the normal datatypes defined by C (char, short, int, ...) and special vector-datatypes used by the Cell Broadband Engine. For more information see "C/C++ Language Extensions for Cell Broadband Engine Architecture - Version 2.5" chapter 1.1.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>PPU &amp; SPU</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedef defining MOC_Datatype. <a href="#gb4e45f15c08578bd3fc97c0cca2a509a"></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="../../dc/d6e/group__p2p__datatype.html#g6462a2cd9ec6c0cb9445760ac396ec72">MOC_BYTE</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">MOC_Byte is a special datatype. <a href="#g6462a2cd9ec6c0cb9445760ac396ec72"></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="../../dc/d6e/group__p2p__datatype.html#g022696d5df791525793150cc3fa1404d">MOC_CHAR</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype char. <a href="#g022696d5df791525793150cc3fa1404d"></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="../../dc/d6e/group__p2p__datatype.html#g11c8f43b6a61c5d1fe0950c51b2658d7">MOC_UNSIGNED_CHAR</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned char. <a href="#g11c8f43b6a61c5d1fe0950c51b2658d7"></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="../../dc/d6e/group__p2p__datatype.html#g448c8046fc3be4e6a5937953e660ef23">MOC_SHORT</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)16+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype short. <a href="#g448c8046fc3be4e6a5937953e660ef23"></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="../../dc/d6e/group__p2p__datatype.html#g7ff42e830b5855f22684868c215b9678">MOC_UNSIGNED_SHORT</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)16+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned short. <a href="#g7ff42e830b5855f22684868c215b9678"></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="../../dc/d6e/group__p2p__datatype.html#gc928d8f53f09f8405d6de2244b506d61">MOC_INT</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype int. <a href="#gc928d8f53f09f8405d6de2244b506d61"></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="../../dc/d6e/group__p2p__datatype.html#g367725451f261222bc8035b593c1dd84">MOC_UNSIGNED</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned int. <a href="#g367725451f261222bc8035b593c1dd84"></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="../../dc/d6e/group__p2p__datatype.html#g2a011db78a35d63a6927a5713d1d8f63">MOC_LONG_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype long long. <a href="#g2a011db78a35d63a6927a5713d1d8f63"></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="../../dc/d6e/group__p2p__datatype.html#ga99c6a2d2d560a49f7a09cf4ee20f440">MOC_UNSIGNED_LONG_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned long long. <a href="#ga99c6a2d2d560a49f7a09cf4ee20f440"></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="../../dc/d6e/group__p2p__datatype.html#gae9a34cd3ac381b9b7427db7902e06ba">MOC_FLOAT</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype float. <a href="#gae9a34cd3ac381b9b7427db7902e06ba"></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="../../dc/d6e/group__p2p__datatype.html#g3ea523671eaeaf32160ddc4b447e47fa">MOC_DOUBLE</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+5)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype double. <a href="#g3ea523671eaeaf32160ddc4b447e47fa"></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="../../dc/d6e/group__p2p__datatype.html#g6e4b8858f8baa34cd254610445292e2c">MOC_VEC_UCHAR16</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector unsigned char (vec_uchar16). <a href="#g6e4b8858f8baa34cd254610445292e2c"></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="../../dc/d6e/group__p2p__datatype.html#g15fefb339c331120b7166c45a21e90d5">MOC_VEC_USHORT8</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector unsigned short (vec_ushort8). <a href="#g15fefb339c331120b7166c45a21e90d5"></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="../../dc/d6e/group__p2p__datatype.html#gcca02cda68af06c8d3523ddc1884bbaf">MOC_VEC_UINT4</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector unsigned int (vec_uint4). <a href="#gcca02cda68af06c8d3523ddc1884bbaf"></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="../../dc/d6e/group__p2p__datatype.html#g46f26a2dc0bd937a492890408eb0096a">MOC_VEC_CHAR16</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+4)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector signed char (vec_char16). <a href="#g46f26a2dc0bd937a492890408eb0096a"></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="../../dc/d6e/group__p2p__datatype.html#g7c1826e9569a0413783a3cda94701e5e">MOC_VEC_SHORT8</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector signed short (vec_short8). <a href="#g7c1826e9569a0413783a3cda94701e5e"></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="../../dc/d6e/group__p2p__datatype.html#g323f5fd7cc11fa35455060816adcdf13">MOC_VEC_INT4</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+5)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector signed int (vec_int4). <a href="#g323f5fd7cc11fa35455060816adcdf13"></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="../../dc/d6e/group__p2p__datatype.html#g257aaa00d63f4bdbe56428c8687a070a">MOC_VEC_FLOAT4</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+6)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector float (vec_float4). <a href="#g257aaa00d63f4bdbe56428c8687a070a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>PPU-only</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d6e/group__p2p__datatype.html#g38cae657eabde06ce8e851cea1239398">MOC_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype long. <a href="#g38cae657eabde06ce8e851cea1239398"></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="../../dc/d6e/group__p2p__datatype.html#gb57eeb637cbd234015a8411061e77dac">MOC_UNSIGNED_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned long. <a href="#gb57eeb637cbd234015a8411061e77dac"></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="../../dc/d6e/group__p2p__datatype.html#gdc8da17a061cafcea7b90d36154e9e51">MOC_VEC_BCHAR16</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector bool char (vec_bchar16). <a href="#gdc8da17a061cafcea7b90d36154e9e51"></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="../../dc/d6e/group__p2p__datatype.html#gd63c2823c8de31536a3e7557fb62cb84">MOC_VEC_BSHORT8</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector bool short (vec_bshort8). <a href="#gd63c2823c8de31536a3e7557fb62cb84"></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="../../dc/d6e/group__p2p__datatype.html#gae8ee669e938fa84641bac5aa2f85976">MOC_VEC_PIXEL8</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector pixel (vec_pixel8). <a href="#gae8ee669e938fa84641bac5aa2f85976"></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="../../dc/d6e/group__p2p__datatype.html#ga7577143580aabf3f4bac65352e53993">MOC_VEC_BINT4</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector bool int (vec_bint4). <a href="#ga7577143580aabf3f4bac65352e53993"></a><br></td></tr>
<tr><td colspan="2"><br><h2>SPU-only</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d6e/group__p2p__datatype.html#g38cae657eabde06ce8e851cea1239398">MOC_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype long. <a href="#g38cae657eabde06ce8e851cea1239398"></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="../../dc/d6e/group__p2p__datatype.html#gb57eeb637cbd234015a8411061e77dac">MOC_UNSIGNED_LONG</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Datatype unsigned long. <a href="#gb57eeb637cbd234015a8411061e77dac"></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="../../dc/d6e/group__p2p__datatype.html#g9116c12975ccdf0f323a56828d18fe52">MOC_VEC_ULLONG2</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector unsigned long long (vec_ullong2). <a href="#g9116c12975ccdf0f323a56828d18fe52"></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="../../dc/d6e/group__p2p__datatype.html#gdfe53f246c2b4d5e520888c43393ac6f">MOC_VEC_LLONG2</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector signed long long (vec_llong2). <a href="#gdfe53f246c2b4d5e520888c43393ac6f"></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="../../dc/d6e/group__p2p__datatype.html#g803ad689579f62bebcd84411a684e871">MOC_VEC_DOUBLE2</a>&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cell-specific Datatype vector double (vec_double2). <a href="#g803ad689579f62bebcd84411a684e871"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="g6462a2cd9ec6c0cb9445760ac396ec72"></a><!-- doxytag: member="moc_datatype.h::MOC_BYTE" ref="g6462a2cd9ec6c0cb9445760ac396ec72" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_BYTE&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
MOC_Byte is a special datatype.
<p>
It can match any datatype. It has a size of 1 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00038">38</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.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="g022696d5df791525793150cc3fa1404d"></a><!-- doxytag: member="moc_datatype.h::MOC_CHAR" ref="g022696d5df791525793150cc3fa1404d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_CHAR&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype char.
<p>
It has a size of 1 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00044">44</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g3ea523671eaeaf32160ddc4b447e47fa"></a><!-- doxytag: member="moc_datatype.h::MOC_DOUBLE" ref="g3ea523671eaeaf32160ddc4b447e47fa" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_DOUBLE&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+5) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype double.
<p>
It has a size of 8 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00098">98</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gae9a34cd3ac381b9b7427db7902e06ba"></a><!-- doxytag: member="moc_datatype.h::MOC_FLOAT" ref="gae9a34cd3ac381b9b7427db7902e06ba" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_FLOAT&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype float.
<p>
It has a size of 4 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00092">92</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gc928d8f53f09f8405d6de2244b506d61"></a><!-- doxytag: member="moc_datatype.h::MOC_INT" ref="gc928d8f53f09f8405d6de2244b506d61" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_INT&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype int.
<p>
It has a size of 4 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00068">68</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g38cae657eabde06ce8e851cea1239398"></a><!-- doxytag: member="moc_datatype_spu.h::MOC_LONG" ref="g38cae657eabde06ce8e851cea1239398" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype long.
<p>
It has a size of 4 byte. <dl class="attention" compact><dt><b>Attention:</b></dt><dd>On the PPU long has a size of 8 byte. So if you are trying to send data of type long from the PPU to a SPU or vice versa there will be an error. </dd></dl>
<p>Definition at line <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html#l00022">22</a> of file <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g38cae657eabde06ce8e851cea1239398"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_LONG" ref="g38cae657eabde06ce8e851cea1239398" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype long.
<p>
It has a size of 8 byte. <dl class="attention" compact><dt><b>Attention:</b></dt><dd>On the SPU long has a size of 4 byte. So if you are trying to send data of type long from the PPU to a SPU or vice versa there will be an error. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00021">21</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g2a011db78a35d63a6927a5713d1d8f63"></a><!-- doxytag: member="moc_datatype.h::MOC_LONG_LONG" ref="g2a011db78a35d63a6927a5713d1d8f63" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_LONG_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype long long.
<p>
It has a size of 8 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00080">80</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g448c8046fc3be4e6a5937953e660ef23"></a><!-- doxytag: member="moc_datatype.h::MOC_SHORT" ref="g448c8046fc3be4e6a5937953e660ef23" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_SHORT&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)16+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype short.
<p>
It has a size of 2 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00056">56</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g367725451f261222bc8035b593c1dd84"></a><!-- doxytag: member="moc_datatype.h::MOC_UNSIGNED" ref="g367725451f261222bc8035b593c1dd84" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned int.
<p>
It has a size of 4 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00074">74</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g11c8f43b6a61c5d1fe0950c51b2658d7"></a><!-- doxytag: member="moc_datatype.h::MOC_UNSIGNED_CHAR" ref="g11c8f43b6a61c5d1fe0950c51b2658d7" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED_CHAR&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)0+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned char.
<p>
It has a size of 1 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00050">50</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gb57eeb637cbd234015a8411061e77dac"></a><!-- doxytag: member="moc_datatype_spu.h::MOC_UNSIGNED_LONG" ref="gb57eeb637cbd234015a8411061e77dac" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)32+3) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned long.
<p>
It has a size of 4 byte. <dl class="attention" compact><dt><b>Attention:</b></dt><dd>On the SPU unsigned long has a size of 8 byte. So if you are trying to send data of type long from the PPU to a SPU or vice versa there will be an error. </dd></dl>
<p>Definition at line <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html#l00031">31</a> of file <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gb57eeb637cbd234015a8411061e77dac"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_UNSIGNED_LONG" ref="gb57eeb637cbd234015a8411061e77dac" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+3) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned long.
<p>
It has a size of 8 byte. <dl class="attention" compact><dt><b>Attention:</b></dt><dd>On the SPU unsigned long has a size of 4 byte. So if you are trying to send data of type long from the PPU to a SPU or vice versa there will be an error. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00030">30</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="ga99c6a2d2d560a49f7a09cf4ee20f440"></a><!-- doxytag: member="moc_datatype.h::MOC_UNSIGNED_LONG_LONG" ref="ga99c6a2d2d560a49f7a09cf4ee20f440" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED_LONG_LONG&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)64+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned long long.
<p>
It has a size of 8 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00086">86</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g7ff42e830b5855f22684868c215b9678"></a><!-- doxytag: member="moc_datatype.h::MOC_UNSIGNED_SHORT" ref="g7ff42e830b5855f22684868c215b9678" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_UNSIGNED_SHORT&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)16+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
C-Datatype unsigned short.
<p>
It has a size of 2 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00062">62</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gdc8da17a061cafcea7b90d36154e9e51"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_VEC_BCHAR16" ref="gdc8da17a061cafcea7b90d36154e9e51" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_BCHAR16&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector bool char (vec_bchar16).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only. Is mapped to the SPU-Datatype vector unsigned char. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00039">39</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="ga7577143580aabf3f4bac65352e53993"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_VEC_BINT4" ref="ga7577143580aabf3f4bac65352e53993" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_BINT4&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector bool int (vec_bint4).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only. Is mapped to the SPU-Datatype vector unsigned int. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00060">60</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gd63c2823c8de31536a3e7557fb62cb84"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_VEC_BSHORT8" ref="gd63c2823c8de31536a3e7557fb62cb84" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_BSHORT8&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector bool short (vec_bshort8).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only. Is mapped to the SPU-Datatype vector unsigned short. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00046">46</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g46f26a2dc0bd937a492890408eb0096a"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_CHAR16" ref="g46f26a2dc0bd937a492890408eb0096a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_CHAR16&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+4) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector signed char (vec_char16).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00123">123</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g803ad689579f62bebcd84411a684e871"></a><!-- doxytag: member="moc_datatype_spu.h::MOC_VEC_DOUBLE2" ref="g803ad689579f62bebcd84411a684e871" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_DOUBLE2&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector double (vec_double2).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>SPU-only. Is mapped to the PPU-Datatype vector bool int. </dd></dl>
<p>Definition at line <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html#l00054">54</a> of file <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g257aaa00d63f4bdbe56428c8687a070a"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_FLOAT4" ref="g257aaa00d63f4bdbe56428c8687a070a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_FLOAT4&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+6) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector float (vec_float4).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00142">142</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g323f5fd7cc11fa35455060816adcdf13"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_INT4" ref="g323f5fd7cc11fa35455060816adcdf13" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_INT4&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+5) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector signed int (vec_int4).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00135">135</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gdfe53f246c2b4d5e520888c43393ac6f"></a><!-- doxytag: member="moc_datatype_spu.h::MOC_VEC_LLONG2" ref="gdfe53f246c2b4d5e520888c43393ac6f" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_LLONG2&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector signed long long (vec_llong2).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>SPU-only. Is mapped to the PPU-Datatype vector bool short. </dd></dl>
<p>Definition at line <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html#l00047">47</a> of file <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gae8ee669e938fa84641bac5aa2f85976"></a><!-- doxytag: member="moc_datatype_ppu.h::MOC_VEC_PIXEL8" ref="gae8ee669e938fa84641bac5aa2f85976" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_PIXEL8&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector pixel (vec_pixel8).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only. Is mapped to the SPU-Datatype vector unsigned short. </dd></dl>
<p>Definition at line <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html#l00053">53</a> of file <a class="el" href="../../d9/d36/moc__datatype__ppu_8h-source.html">moc_datatype_ppu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g7c1826e9569a0413783a3cda94701e5e"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_SHORT8" ref="g7c1826e9569a0413783a3cda94701e5e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_SHORT8&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+3) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector signed short (vec_short8).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00129">129</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g6e4b8858f8baa34cd254610445292e2c"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_UCHAR16" ref="g6e4b8858f8baa34cd254610445292e2c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_UCHAR16&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector unsigned char (vec_uchar16).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00105">105</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="gcca02cda68af06c8d3523ddc1884bbaf"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_UINT4" ref="gcca02cda68af06c8d3523ddc1884bbaf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_UINT4&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+2) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector unsigned int (vec_uint4).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00117">117</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g9116c12975ccdf0f323a56828d18fe52"></a><!-- doxytag: member="moc_datatype_spu.h::MOC_VEC_ULLONG2" ref="g9116c12975ccdf0f323a56828d18fe52" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_ULLONG2&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+0) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector unsigned long long (vec_ullong2).
<p>
It has a size of 16 byte. <dl class="note" compact><dt><b>Note:</b></dt><dd>SPU-only. Is mapped to the PPU-Datatype vector bool char. </dd></dl>
<p>Definition at line <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html#l00040">40</a> of file <a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>.</p>
</div>
</div><p>
<a class="anchor" name="g15fefb339c331120b7166c45a21e90d5"></a><!-- doxytag: member="moc_datatype.h::MOC_VEC_USHORT8" ref="g15fefb339c331120b7166c45a21e90d5" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MOC_VEC_USHORT8&nbsp;&nbsp;&nbsp;((<a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a>)128+1) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Cell-specific Datatype vector unsigned short (vec_ushort8).
<p>
It has a size of 16 byte.
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00111">111</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="gb4e45f15c08578bd3fc97c0cca2a509a"></a><!-- doxytag: member="moc_datatype.h::MOC_Datatype" ref="gb4e45f15c08578bd3fc97c0cca2a509a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef uint8_t <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Typedef defining MOC_Datatype.
<p>
One byte is used to encode the Data-Type. The first four msb hold the size in byte / 2 ( if ((datatype &amp; 0xF0)&gt;&gt;4) == 0 then size = 1 else size = ((datatype &amp; 0xF0)&gt;&gt;4)*2 ) and the four lsb hold an id. The combination of id and size is used to uniquely identify a datatype (or rather a group of datatypes belonging together).
<p>Definition at line <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00032">32</a> of file <a class="el" href="../../d0/d99/moc__datatype_8h-source.html">moc_datatype.h</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:49 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,92 @@
<!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/internal/dma/imoc_dma-get_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/internal/dma/imoc_dma-get_spu.c</h1><a href="../../d5/d1c/imoc__dma-get__spu_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;spu_mfcio.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="../../d2/d42/imoc__macros_8h.html">internal/imoc_macros.h</a>&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;<a class="code" href="../../d4/dce/imoc__dma__spu_8h.html">internal/spu/imoc_dma_spu.h</a>&gt;</span>
<a name="l00007"></a>00007
<a name="l00008"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g026790f4f64135c54c4e61c08925344c">00008</a> <span class="keywordtype">int</span> <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g53d36c567e4c98e5d258a7857096e7ab" title="Internal wrapper-function for a blocking DMA-get operation.">IMOC_get_data</a>(<span class="keywordtype">void</span>* target, uint64_t source, uint32_t size)
<a name="l00009"></a>00009 {
<a name="l00010"></a>00010 uint32_t remainder_16b;
<a name="l00011"></a>00011 uint32_t remainder_16kb;
<a name="l00012"></a>00012 uint32_t offset;
<a name="l00013"></a>00013 uint32_t tag_id;
<a name="l00014"></a>00014 <span class="keywordtype">char</span> buffer[16];
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="keywordflow">if</span> ((tag_id = mfc_tag_reserve()) == MFC_TAG_INVALID)
<a name="l00017"></a>00017 {
<a name="l00018"></a>00018 <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="l00019"></a>00019 }
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="comment">/* transfers have to be multiples of 16 bytes */</span>
<a name="l00022"></a>00022 remainder_16b = size % 16;
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="comment">/* subtracting remainder means the transfer has a valid size now */</span>
<a name="l00025"></a>00025 size -= remainder_16b;
<a name="l00026"></a>00026 offset = 0;
<a name="l00027"></a>00027
<a name="l00028"></a>00028 <span class="comment">/* first case: transfer of size smaller than maximum allowed one (16kbyte) */</span>
<a name="l00029"></a>00029 <span class="keywordflow">if</span> (size &lt;= <a class="code" href="../../d1/d82/moc_8h.html#0a017736e25e8020d6ddc62e8fc96141" title="Maximum byte-count which can be transferred by one DMA-transfer.">MAX_DMA_CALL_SIZE</a>)
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 mfc_get(target, source, size, tag_id, 0, 0);
<a name="l00032"></a>00032 }
<a name="l00033"></a>00033 <span class="comment">/* second case: transfer of bigger size is simply split into parts of 16kb */</span>
<a name="l00034"></a>00034 <span class="keywordflow">else</span>
<a name="l00035"></a>00035 {
<a name="l00036"></a>00036 remainder_16kb = size % <a class="code" href="../../d1/d82/moc_8h.html#0a017736e25e8020d6ddc62e8fc96141" title="Maximum byte-count which can be transferred by one DMA-transfer.">MAX_DMA_CALL_SIZE</a>;
<a name="l00037"></a>00037 <span class="keywordflow">while</span> (offset + <a class="code" href="../../d1/d82/moc_8h.html#0a017736e25e8020d6ddc62e8fc96141" title="Maximum byte-count which can be transferred by one DMA-transfer.">MAX_DMA_CALL_SIZE</a> &lt;= size)
<a name="l00038"></a>00038 {
<a name="l00039"></a>00039 mfc_get(target + offset, source + offset, <a class="code" href="../../d1/d82/moc_8h.html#0a017736e25e8020d6ddc62e8fc96141" title="Maximum byte-count which can be transferred by one DMA-transfer.">MAX_DMA_CALL_SIZE</a>,
<a name="l00040"></a>00040 tag_id, 0, 0);
<a name="l00041"></a>00041 offset += <a class="code" href="../../d1/d82/moc_8h.html#0a017736e25e8020d6ddc62e8fc96141" title="Maximum byte-count which can be transferred by one DMA-transfer.">MAX_DMA_CALL_SIZE</a>;
<a name="l00042"></a>00042 }
<a name="l00043"></a>00043 <span class="keywordflow">if</span> (remainder_16kb &gt; 0)
<a name="l00044"></a>00044 {
<a name="l00045"></a>00045 mfc_get(target + offset, source + offset, remainder_16kb, tag_id,
<a name="l00046"></a>00046 0, 0);
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048 }
<a name="l00049"></a>00049 <span class="comment">/* if size was reduced previously the remaining bytes have to be transfered */</span>
<a name="l00050"></a>00050 <span class="keywordflow">if</span> (remainder_16b &gt; 0)
<a name="l00051"></a>00051 {
<a name="l00052"></a>00052 <span class="comment">/* minimum allowed transfer is 16bytes so transfer this size into a buffer */</span>
<a name="l00053"></a>00053 mfc_get(buffer, source + size, 16, tag_id, 0, 0);
<a name="l00054"></a>00054 <span class="comment">/* waiting for dma completion necessary */</span>
<a name="l00055"></a>00055 mfc_write_tag_mask(1 &lt;&lt; tag_id);
<a name="l00056"></a>00056 mfc_read_tag_status_all();
<a name="l00057"></a>00057 <span class="comment">/* copy only the valid bytes into the target buffer */</span>
<a name="l00058"></a>00058 memcpy(target + size, buffer, remainder_16b);
<a name="l00059"></a>00059 }
<a name="l00060"></a>00060 <span class="keywordflow">else</span>
<a name="l00061"></a>00061 {
<a name="l00062"></a>00062 <span class="comment">/* waiting for dma completion necessary */</span>
<a name="l00063"></a>00063 mfc_write_tag_mask(1 &lt;&lt; tag_id);
<a name="l00064"></a>00064 mfc_read_tag_status_all();
<a name="l00065"></a>00065 }
<a name="l00066"></a>00066
<a name="l00067"></a>00067 mfc_tag_release(tag_id);
<a name="l00068"></a>00068 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
<a name="l00069"></a>00069 }
<a name="l00070"></a>00070
</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="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">
@@ -0,0 +1 @@
cb968ff311914c8c151e4fc717786b88
Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

@@ -0,0 +1,11 @@
<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">
@@ -0,0 +1 @@
7bbe54ddea98d5d6ddba57dc3c3831c4
Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

@@ -0,0 +1,123 @@
<!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 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/communication/moc_ssend_spu.c</h1><a href="../../d3/d71/moc__ssend__spu_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;stdio.h&gt;</span>
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;spu_mfcio.h&gt;</span>
<a name="l00004"></a>00004
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;<a class="code" href="../../d0/d1d/moc__datatype__spu_8h.html">spu/moc_datatype_spu.h</a>&gt;</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;<a class="code" href="../../d9/db3/imoc_8h.html">internal/imoc.h</a>&gt;</span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;<a class="code" href="../../d2/d42/imoc__macros_8h.html">internal/imoc_macros.h</a>&gt;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;<a class="code" href="../../d4/dce/imoc__dma__spu_8h.html">internal/spu/imoc_dma_spu.h</a>&gt;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;<a class="code" href="../../d9/d00/imoc__core__spu_8h.html">internal/spu/imoc_core_spu.h</a>&gt;</span>
<a name="l00011"></a>00011
<a name="l00012"></a><a class="code" href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120">00012</a> <span class="keywordtype">int</span> <a class="code" href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120" title="Performs a blocking synchronous mode send operation.">MOC_Ssend</a>(<span class="keywordtype">void</span>* buf, <span class="keywordtype">int</span> count, <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a> datatype, <span class="keywordtype">int</span> dest, <span class="keywordtype">int</span> tag,
<a name="l00013"></a>00013 <a class="code" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767" title="Communicator-Handle.">MOC_Comm</a> comm)
<a name="l00014"></a>00014 {
<a name="l00015"></a>00015 <span class="keywordtype">int</span> queue_index, msg_id, bytecount, err;
<a name="l00016"></a>00016 <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a> queue_copy[<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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a>] <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&amp;quot;No nodes in list\n&amp;quot;);...">__attribute__</a>((__aligned__(16)));
<a name="l00017"></a>00017
<a name="l00018"></a>00018 uint32_t tag_id;
<a name="l00019"></a>00019
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (((datatype &amp; 0xF0) &gt;&gt; 4) == 0)
<a name="l00021"></a>00021 bytecount = count;
<a name="l00022"></a>00022 <span class="keywordflow">else</span>
<a name="l00023"></a>00023 bytecount = count * (((datatype &amp; 0xF0) &gt;&gt; 4) * 2);
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <a class="code" href="../../d3/d32/group__internal__tm.html#g615b65fb3c3ad16711686a178ac7d1c3" title="Tests if rank is MOC_PROC_NULL and returns with MOC_SUCCESS itself.">IMOC_TEST_PROC_NULL</a>(dest)
<a name="l00026"></a>00026 <a class="code" href="../../d3/d32/group__internal__tm.html#gf902b6e1cbe077abf0f8d02a488fec8a" title="Tests if rank is own rank and returns with MOC_SUCCESS itself.">IMOC_TEST_PROC_SELF</a>(dest)
<a name="l00027"></a>00027 <a class="code" href="../../d3/d32/group__internal__tm.html#g8026463e106a01cc8efb816d7dc1036a" title="Tests if invalid byte-count in a recv-operation.">IMOC_TEST_BYTECOUNT</a>(bytecount)
<a name="l00028"></a>00028 <span class="comment">// if there is no data, permit Null-Buffer-Pointer</span>
<a name="l00029"></a>00029 <span class="keywordflow">if</span> (bytecount != 0)
<a name="l00030"></a>00030 {
<a name="l00031"></a>00031 <a class="code" href="../../d3/d32/group__internal__tm.html#g52f61fd7f3253d10b740a9fc792052c6" title="Tests if invalid buffer-pointer.">IMOC_TEST_BUFFER</a>(buf)
<a name="l00032"></a>00032 <span class="keywordflow">if</span> (bytecount &gt; 16)
<a name="l00033"></a>00033 <a class="code" href="../../d3/d32/group__internal__tm.html#gc89a1f53869fe90c838a714621e20d88" title="Tests if address is 16-byte aligned.">IMOC_TEST_ALIGNMENT</a>(buf)
<a name="l00034"></a>00034 }
<a name="l00035"></a>00035 <a class="code" href="../../d3/d32/group__internal__tm.html#g1dfddaa8f7d9aad32b00248c7dc782d2" title="Tests if invalid rank.">IMOC_TEST_RANK</a>(dest)
<a name="l00036"></a>00036 <a class="code" href="../../d3/d32/group__internal__tm.html#g49637a9f588e1c44584d8def5c45e811" title="Tests if invalid tag in a send-operation.">IMOC_TEST_TAG_SEND</a>(tag)
<a name="l00037"></a>00037 <a class="code" href="../../d3/d32/group__internal__tm.html#gfc07f5e570f47525b80a1f3e5a36b3b3" title="Tests if invalid communicator in a send-operation.">IMOC_TEST_COMM_SEND</a>(comm)
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="keywordflow">if</span> ((tag_id = mfc_tag_reserve()) == MFC_TAG_INVALID)
<a name="l00040"></a>00040 {
<a name="l00041"></a>00041 <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="l00042"></a>00042 }
<a name="l00043"></a>00043
<a name="l00044"></a>00044 mfc_get(queue_copy, <a class="code" href="../../df/ddf/group__internal__am.html#gf02c3d971a2b5e72d22c9c16b1748c04" title="Effective base-address of own remote queue at node &amp;#39;rank&amp;#39;.">IMOC_EA_REMOTE_QUEUE</a>(dest),
<a name="l00045"></a>00045 <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>) * <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#ee1aa72cd99190cf97523a955cfa6141" title="Size of a message-queue.">queue_size</a>, tag_id, 0,
<a name="l00046"></a>00046 0);
<a name="l00047"></a>00047 mfc_write_tag_mask(1 &lt;&lt; tag_id);
<a name="l00048"></a>00048 mfc_read_tag_status_all();
<a name="l00049"></a>00049
<a name="l00050"></a>00050 err = <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g2a948cdecce651ae6cc1b0c0ddb1b750" title="Get next free entry in message-queue (a local copy of the message-queue has to be...">IMOC_getFreeEntry</a>(queue_copy, tag, comm, 0, &amp;queue_index);
<a name="l00051"></a>00051 <span class="keywordflow">if</span> (err)
<a name="l00052"></a>00052 <span class="keywordflow">return</span> err;
<a name="l00053"></a>00053
<a name="l00054"></a>00054 err = <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g409bdbea503611cf04829413d15830df" title="Get free message-ID.">IMOC_getFreeMID</a>(&amp;msg_id);
<a name="l00055"></a>00055 <span class="keywordflow">if</span> (err)
<a name="l00056"></a>00056 <span class="keywordflow">return</span> err;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="comment">/* small messages are directly sent instead of their address */</span>
<a name="l00059"></a>00059 <span class="keywordflow">if</span> (bytecount &lt;= 8)
<a name="l00060"></a>00060 {
<a name="l00061"></a>00061 <span class="comment">//printf("SPU: sending in message-envelope\n");</span>
<a name="l00062"></a>00062 queue_copy[queue_index].flags.bits.channel = <a class="code" href="../../dd/df8/group__internal__core.html#g1a3153033a1eaac0ddff04deac271947" title="Constant for moc_message_envelope_t.flags.channel.">IMOC_MESSAGE_CHANNEL_ENV</a>;
<a name="l00063"></a>00063 <span class="comment">// synchronous send waits till the message has been received (meaning</span>
<a name="l00064"></a>00064 <span class="comment">// recv has copied the message), so we need a signal-back.</span>
<a name="l00065"></a>00065 queue_copy[queue_index].flags.bits.signal_back = 1;
<a name="l00066"></a>00066 queue_copy[queue_index].flags.bits.in_mm = 0;
<a name="l00067"></a>00067 memcpy(&amp;queue_copy[queue_index].message_address, buf, bytecount);
<a name="l00068"></a>00068 }
<a name="l00069"></a>00069 <span class="keywordflow">else</span>
<a name="l00070"></a>00070 {
<a name="l00071"></a>00071 queue_copy[queue_index].flags.bits.channel = <a class="code" href="../../dd/df8/group__internal__core.html#gda23ff5baabe186f8c37c0424598c7bc" title="Constant for moc_message_envelope_t.flags.channel.">IMOC_MESSAGE_CHANNEL_DMA</a>;
<a name="l00072"></a>00072 queue_copy[queue_index].flags.bits.signal_back = 1;
<a name="l00073"></a>00073 queue_copy[queue_index].flags.bits.in_mm = 0;
<a name="l00074"></a>00074 queue_copy[queue_index].message_address = <a class="code" href="../../dd/df8/group__internal__core.html#geed5a271d50368d3cf9a858c4f57c895" title="Information each node knowns about himself and the world.">node_handle</a>.ls_base
<a name="l00075"></a>00075 + (uint32_t) buf;
<a name="l00076"></a>00076 }
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="comment">/* fill missing message-envelope-entries */</span>
<a name="l00079"></a>00079 queue_copy[queue_index].communicator = comm;
<a name="l00080"></a>00080 queue_copy[queue_index].datatype = datatype;
<a name="l00081"></a>00081 queue_copy[queue_index].id = msg_id;
<a name="l00082"></a>00082 queue_copy[queue_index].size = bytecount;
<a name="l00083"></a>00083 queue_copy[queue_index].tag = tag;
<a name="l00084"></a>00084 queue_copy[queue_index].flags.bits.collaborative = 0;
<a name="l00085"></a>00085 queue_copy[queue_index].flags.bits.special = 0;
<a name="l00086"></a>00086 queue_copy[queue_index].flags.bits.valid = 1;
<a name="l00087"></a>00087 queue_copy[queue_index].flags.bits.keep_valid = 0;
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="comment">/* fill message-status-entry */</span>
<a name="l00090"></a>00090 <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#abccbc7beefa7b1e2ccc84b8bd2b8805" title="base-address of own message-status-array">status_array_base</a>[msg_id].<a class="code" href="../../dd/df5/structmoc__message__status__struct.html#086c0d449d25774d43512b6f7fdab8ed" title="flag-union">flags</a>.<a class="code" href="../../dd/df5/structmoc__message__status__struct.html#c0bdc214525521d58f12c72874de0512" title="flag-struct">bits</a>.valid = 1;
<a name="l00091"></a>00091 <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#abccbc7beefa7b1e2ccc84b8bd2b8805" title="base-address of own message-status-array">status_array_base</a>[msg_id].<a class="code" href="../../dd/df5/structmoc__message__status__struct.html#086c0d449d25774d43512b6f7fdab8ed" title="flag-union">flags</a>.<a class="code" href="../../dd/df5/structmoc__message__status__struct.html#c0bdc214525521d58f12c72874de0512" title="flag-struct">bits</a>.outstanding = 1;
<a name="l00092"></a>00092
<a name="l00093"></a>00093 mfc_put(&amp;queue_copy[queue_index], <a class="code" href="../../df/ddf/group__internal__am.html#gf9ad028ccbfa406c49a0ebd943486698" title="Effective base-address of own remote queue-entry at node &amp;#39;rank&amp;#39;.">IMOC_EA_REMOTE_QUEUE_ENTRY</a>(dest,
<a name="l00094"></a>00094 queue_index), <span class="keyword">sizeof</span>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>), tag_id, 0, 0);
<a name="l00095"></a>00095 mfc_write_tag_mask(1 &lt;&lt; tag_id);
<a name="l00096"></a>00096 mfc_read_tag_status_all();
<a name="l00097"></a>00097 mfc_tag_release(tag_id);
<a name="l00098"></a>00098
<a name="l00099"></a>00099 <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g8675f9552168f2dd8926cad5ac00be69" title="Wait till message with message-ID mid has been received.">IMOC_waitForMessageCompletion</a>(msg_id);
<a name="l00100"></a>00100 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
<a name="l00101"></a>00101 }
</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,26 @@
<!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/internal/imoc_core_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/internal/imoc_core_spu.c</h1><a href="../../da/d67/imoc__core__spu_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="../../d9/d00/imoc__core__spu_8h.html">internal/spu/imoc_core_spu.h</a>&gt;</span>
<a name="l00002"></a>00002
<a name="l00003"></a><a class="code" href="../../da/d67/imoc__core__spu_8c.html#778478bb09824da1b673b244118aa82c">00003</a> <a class="code" href="../../df/dde/structmoc__node__handle__spu__struct.html" title="Node-handle structure.">moc_node_handle_spu_t</a> <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 name="l00004"></a>00004
</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 @@
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="48,80,173,107">
@@ -0,0 +1 @@
0cc6f5c997d9dad19f3982cef489bb8e
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 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/ppu/communication/moc_recv_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/communication/moc_recv_ppu.c File Reference</h1>
<p>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdio.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/d36/moc__datatype__ppu_8h-source.html">ppu/moc_datatype_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_recv_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../d8/d7a/moc__recv__ppu_8c__incl.png" border="0" usemap="#src/ppu/communication/moc_recv_ppu.c_map" alt=""></center>
<map name="src/ppu/communication/moc_recv_ppu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="99,155,155,181"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="ppu/moc_datatype_ppu.h" alt="" coords="543,304,711,331"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="260,229,367,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1176,80,1384,107"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="391,229,583,256"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="932,80,1124,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="68,229,185,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="399,304,468,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="735,304,825,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1247,155,1369,181"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="803,155,909,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="759,229,876,256"></map>
</div>
<p>
<a href="../../d8/dbc/moc__recv__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="../../d0/d64/group__p2p__main.html#g30c532510cffd36acd1b9b0b3edb3832">MOC_Recv</a> (void *buf, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int source, int tag, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, <a class="el" href="../../dd/d7a/structMOC__Status__struct.html">MOC_Status</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Performs a blocking standard mode receive operation. <a href="../../d0/d64/group__p2p__main.html#g30c532510cffd36acd1b9b0b3edb3832"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:18 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,4 @@
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="105,80,175,107">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="207,80,348,107">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="moc_datatype.h" alt="" coords="229,155,344,181">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="75,155,205,181">
@@ -0,0 +1 @@
a7ae4374e69090e2613f2ccf78f570b2
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,69 @@
<!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): Developer 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>Developer Documentation</h1>
<p>
<div class="dynheader">
Collaboration diagram for Developer Documentation:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../dc/dc0/group__internal__main.png" border="0" alt="" usemap="#d9/d8a/dc_2dc0_2group____internal____main_map">
<map name="d9/d8a/dc_2dc0_2group____internal____main_map">
<area shape="rect" href="../../d8/d88/group__internal__p2p__main.html" title="Internals about Point&#45;to&#45;Point Communication." alt="" coords="243,5,437,32"><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="271,56,409,83"><area shape="rect" href="../../d2/d16/group__internal__env.html" title="Internals about Startup &amp; Shutdown and Error&#45;Handling." alt="" coords="249,107,431,133"><area shape="rect" href="../../d1/d0c/group__internal__comm.html" title="At the moment user&#45;defined groups and communicators are not implemented and maybe..." alt="" coords="223,157,457,184"><area shape="rect" href="../../da/d2e/group__internal__collective.html" title="Internals about Collective Communication." alt="" coords="255,208,425,235"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This section deals with the internal design and functionality.
<p>
For correct understanding knowledge about the functionality of the Cell Broadband Engine is needed. So you should read the official CBE documentation before you continue.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Because we had only access to a playstation, we cannot guarantee correct execution on another CBE-machine than a playstation 3. </dd></dl>
<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="../../dd/df8/group__internal__core.html">Implementation-Core</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This section deals with the data-structures and the basic concepts which form the core of this implementation. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d16/group__internal__env.html">Environmental Management</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internals about Startup &amp; Shutdown and Error-Handling. <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/d0c/group__internal__comm.html">Groups, Context and Communicators</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">At the moment user-defined groups and communicators are not implemented and maybe never will be. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d88/group__internal__p2p__main.html">Point-to-Point Communication</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internals about Point-to-Point Communication. <br></td></tr>
<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d2e/group__internal__collective.html">Collective Communication</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internals about Collective Communication. <br></td></tr>
<p>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:03 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,6 @@
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="184,80,240,107">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="32,155,149,181">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="28,229,169,256">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="193,229,263,256">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="32,304,157,331">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="232,304,363,331">
@@ -0,0 +1 @@
3d5a94654e0aa76164308de2731d31e3
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

+35
View File
@@ -0,0 +1,35 @@
<area shape="rect" href="$d2/d97/moc__iprobe_8c.html" title="src/noarch/communication/moc_iprobe.c" alt="" coords="5,80,261,107">
<area shape="rect" href="$d3/dc2/moc__isend_8c.html" title="src/noarch/communication/moc_isend.c" alt="" coords="285,80,536,107">
<area shape="rect" href="$d1/d8a/moc__probe_8c.html" title="src/noarch/communication/moc_probe.c" alt="" coords="560,80,813,107">
<area shape="rect" href="$db/d55/moc__send_8c.html" title="src/noarch/communication/moc_send.c" alt="" coords="837,80,1085,107">
<area shape="rect" href="$d8/d02/moc__test_8c.html" title="src/noarch/communication/moc_test.c" alt="" coords="1109,80,1352,107">
<area shape="rect" href="$d4/dfc/moc__wait_8c.html" title="src/noarch/communication/moc_wait.c" alt="" coords="1376,80,1619,107">
<area shape="rect" href="$db/d33/imoc__get__entry_8c.html" title="src/noarch/internal/communication/imoc_get_entry.c" alt="" coords="1643,80,1965,107">
<area shape="rect" href="$df/d20/imoc__get__free__entry_8c.html" title="src/noarch/internal/communication/imoc_get_free_entry.c" alt="" coords="1989,80,2341,107">
<area shape="rect" href="$dd/d9a/imoc__get__free__mid_8c.html" title="src/noarch/internal/communication/imoc_get_free_mid.c" alt="" coords="2365,80,2709,107">
<area shape="rect" href="$db/d43/imoc__test__message_8c.html" title="src/noarch/internal/communication/imoc_test_message.c" alt="" coords="2733,80,3085,107">
<area shape="rect" href="$da/d91/imoc__wait__message_8c.html" title="src/noarch/internal/communication/imoc_wait_message.c" alt="" coords="3109,80,3461,107">
<area shape="rect" href="$d2/d7b/imoc__buffer__malloc_8c.html" title="src/noarch/internal/imoc_buffer_malloc.c" alt="" coords="3485,80,3739,107">
<area shape="rect" href="$d9/d19/moc__error__class_8c.html" title="src/noarch/system/moc_error_class.c" alt="" coords="3763,80,4003,107">
<area shape="rect" href="$d1/d72/moc__barrier__ppu_8c.html" title="src/ppu/communication/moc_barrier_ppu.c" alt="" coords="4027,80,4293,107">
<area shape="rect" href="$d9/d14/moc__bsend__ppu_8c.html" title="src/ppu/communication/moc_bsend_ppu.c" alt="" coords="4317,80,4584,107">
<area shape="rect" href="$dc/d02/moc__issend__ppu_8c.html" title="src/ppu/communication/moc_issend_ppu.c" alt="" coords="4608,80,4877,107">
<area shape="rect" href="$dc/db7/moc__recv__ppu_8c.html" title="src/ppu/communication/moc_recv_ppu.c" alt="" coords="4901,80,5155,107">
<area shape="rect" href="$d2/d00/moc__ssend__ppu_8c.html" title="src/ppu/communication/moc_ssend_ppu.c" alt="" coords="5179,80,5445,107">
<area shape="rect" href="$d3/dc6/moc__dma-iget__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;iget_ppu.c" alt="" coords="5469,80,5688,107">
<area shape="rect" href="$d8/d06/moc__dma-iput__ppu_8c.html" title="src/ppu/dma/moc_dma&#45;iput_ppu.c" alt="" coords="5712,80,5931,107">
<area shape="rect" href="$df/dac/imoc__spe__thread__ppu_8c.html" title="src/ppu/internal/imoc_spe_thread_ppu.c" alt="" coords="5955,80,6205,107">
<area shape="rect" href="$dc/dd0/moc__add__spu__thread__ppu_8c.html" title="src/ppu/system/moc_add_spu_thread_ppu.c" alt="" coords="6229,80,6507,107">
<area shape="rect" href="$de/d4d/moc__error__string__ppu_8c.html" title="src/ppu/system/moc_error_string_ppu.c" alt="" coords="6531,80,6781,107">
<area shape="rect" href="$d3/d9e/moc__finalize__ppu_8c.html" title="src/ppu/system/moc_finalize_ppu.c" alt="" coords="6805,80,7032,107">
<area shape="rect" href="$d9/d04/moc__init__ppu_8c.html" title="src/ppu/system/moc_init_ppu.c" alt="" coords="7056,80,7259,107">
<area shape="rect" href="$dc/d59/moc__barrier__spu_8c.html" title="src/spu/communication/moc_barrier_spu.c" alt="" coords="7283,80,7549,107">
<area shape="rect" href="$d6/d8c/moc__bsend__spu_8c.html" title="src/spu/communication/moc_bsend_spu.c" alt="" coords="7573,80,7840,107">
<area shape="rect" href="$de/d76/moc__issend__spu_8c.html" title="src/spu/communication/moc_issend_spu.c" alt="" coords="7864,80,8133,107">
<area shape="rect" href="$d9/dab/moc__recv__spu_8c.html" title="src/spu/communication/moc_recv_spu.c" alt="" coords="8157,80,8411,107">
<area shape="rect" href="$d3/d71/moc__ssend__spu_8c.html" title="src/spu/communication/moc_ssend_spu.c" alt="" coords="8435,80,8701,107">
<area shape="rect" href="$da/dea/moc__dma-iget__spu_8c.html" title="src/spu/dma/moc_dma&#45;iget_spu.c" alt="" coords="8725,80,8944,107">
<area shape="rect" href="$dc/de8/moc__dma-iput__spu_8c.html" title="src/spu/dma/moc_dma&#45;iput_spu.c" alt="" coords="8968,80,9187,107">
<area shape="rect" href="$d9/d79/moc__error__string__spu_8c.html" title="src/spu/system/moc_error_string_spu.c" alt="" coords="9211,80,9461,107">
<area shape="rect" href="$d8/d2f/moc__finalize__spu_8c.html" title="src/spu/system/moc_finalize_spu.c" alt="" coords="9485,80,9712,107">
<area shape="rect" href="$d4/de2/moc__init__spu_8c.html" title="src/spu/system/moc_init_spu.c" alt="" coords="9736,80,9939,107">
@@ -0,0 +1 @@
36688bd4de03ac2f5f3df935dcda75b0
Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

@@ -0,0 +1,70 @@
<!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/spu/moc.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/spu/moc.h</h1><a href="../../d0/d3a/spu_2moc_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_H_SPU</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_H_SPU</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004
<a name="l00005"></a>00005 <span class="preprocessor">#include "<a class="code" href="../../dd/d9c/moc__dma__spu_8h.html">moc_dma_spu.h</a>"</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include "<a class="code" href="../../d0/d1d/moc__datatype__spu_8h.html">moc_datatype_spu.h</a>"</span>
<a name="l00007"></a>00007 <span class="preprocessor">#include "../moc.h"</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00010"></a>00010
<a name="l00011"></a>00011
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">/**</span>
<a name="l00014"></a>00014 <span class="comment"> * \addtogroup environment_startup</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><span class="comment">/**</span>
<a name="l00018"></a>00018 <span class="comment"> * @name SPU-only</span>
<a name="l00019"></a>00019 <span class="comment"> **/</span><span class="comment"></span>
<a name="l00020"></a>00020 <span class="comment">//@{</span>
<a name="l00021"></a>00021 <span class="comment"></span><span class="comment"></span>
<a name="l00022"></a>00022 <span class="comment">/**</span>
<a name="l00023"></a>00023 <span class="comment"> * Initialize the MPI execution environment.</span>
<a name="l00024"></a>00024 <span class="comment"> * </span>
<a name="l00025"></a>00025 <span class="comment"> * \anchor moc_init_spu</span>
<a name="l00026"></a>00026 <span class="comment"> * </span>
<a name="l00027"></a>00027 <span class="comment"> * \attention SPU-only function</span>
<a name="l00028"></a>00028 <span class="comment"> * </span>
<a name="l00029"></a>00029 <span class="comment"> * \note All processes must call this routine before executing any MOC-routine.</span>
<a name="l00030"></a>00030 <span class="comment"> * </span>
<a name="l00031"></a>00031 <span class="comment"> * \todo Copying of user-defined information from main-memory to local buffer not implemented</span>
<a name="l00032"></a>00032 <span class="comment"> * </span>
<a name="l00033"></a>00033 <span class="comment"> * \param argp \b in Pointer to user-defined information in the main-memory</span>
<a name="l00034"></a>00034 <span class="comment"> * \param length \b in Length of the user-defined information in bytes</span>
<a name="l00035"></a>00035 <span class="comment"> * \param buffer \b out Buffer into which the user-defined information should be copied</span>
<a name="l00036"></a>00036 <span class="comment"> * \retval MOC_SUCCESS No error; MPI routine completed successfully.</span>
<a name="l00037"></a>00037 <span class="comment"> * \retval MOC_ERR_NO_MEMORY Insufficient Memory.</span>
<a name="l00038"></a>00038 <span class="comment"> * \retval MOC_ERR_INTERN Internal Error</span>
<a name="l00039"></a>00039 <span class="comment"> **/</span>
<a name="l00040"></a>00040 <span class="keywordtype">int</span> <a class="code" href="../../d8/d9a/group__environment__startup.html#g9a59090c9d03e89f019e8276d4013c72" title="Initialize the MPI execution environment.">MOC_Init</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> argp, <span class="keywordtype">int</span> length, <span class="keywordtype">void</span>* buffer);
<a name="l00041"></a>00041 <span class="comment"></span>
<a name="l00042"></a>00042 <span class="comment">//@}</span>
<a name="l00043"></a>00043 <span class="comment"></span><span class="comment">//@}</span>
<a name="l00044"></a>00044 <span class="comment"></span>
<a name="l00045"></a>00045
<a name="l00046"></a>00046
<a name="l00047"></a>00047 <span class="preprocessor">#endif </span><span class="comment">/*MOC_H_*/</span>
<a name="l00048"></a>00048
</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,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_add_spu_thread_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_add_spu_thread_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_add_spu_thread_ppu.c:</div>
<div class="dynsection">
<p><center><img src="../../dc/d91/moc__add__spu__thread__ppu_8c__incl.png" border="0" usemap="#src/ppu/system/moc_add_spu_thread_ppu.c_map" alt=""></center>
<map name="src/ppu/system/moc_add_spu_thread_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="../../dd/db2/moc__add__spu__thread__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#geea5b7c117adae78e954f0959fe0c447">MOC_Add_spu_thread</a> (spe_program_handle_t *phandle, void *argp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a SPU-Thread. <a href="../../d8/d9a/group__environment__startup.html#geea5b7c117adae78e954f0959fe0c447"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:27 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="209,155,265,181">
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="663,80,855,107">
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="325,229,517,256">
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="83,229,200,256">
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="179,304,320,331">
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="393,304,463,331">
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="220,379,345,405">
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="369,379,500,405">
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="981,379,1085,405">
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="648,155,755,181">
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="739,229,856,256">
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="625,304,767,331">
@@ -0,0 +1 @@
1e97bb43d561f2309dcd1a29b95a5e5e
Binary file not shown.

After

Width:  |  Height:  |  Size: 94 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/spu/dma/moc_dma-iput_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/dma/moc_dma-iput_spu.c File Reference</h1>
<p>
<code>#include &lt;spu_mfcio.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &lt;stdlib.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="../../d1/d03/moc__dma__spu_8h-source.html">spu/moc_dma_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>
<p>
<div class="dynheader">
Include dependency graph for moc_dma-iput_spu.c:</div>
<div class="dynsection">
<p><center><img src="../../d7/d60/moc__dma-iput__spu_8c__incl.png" border="0" usemap="#src/spu/dma/moc_dma-iput_spu.c_map" alt=""></center>
<map name="src/spu/dma/moc_dma-iput_spu.c_map">
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="296,80,352,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="265,155,383,181"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="457,155,564,181"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="528,80,683,107"><area shape="rect" href="../../d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="588,155,780,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="151,229,292,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="385,229,455,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="163,304,288,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="413,304,544,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="568,304,659,331"></map>
</div>
<p>
<a href="../../d7/d6a/moc__dma-iput__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="../../d9/d16/group__dma__access.html#g3ee8513f7c0ebb782a3b0d17b8135693">MOC_IPut_data</a> (void *source, uint64_t target, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, <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-put operation. <a href="../../d9/d16/group__dma__access.html#g3ee8513f7c0ebb782a3b0d17b8135693"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:35 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,344 @@
<!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): SPU-Thread 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>SPU-Thread Management<br>
<small>
[<a class="el" href="../../d6/de0/group__internal__init.html">Startup &amp; Shutdown</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for SPU-Thread Management:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../dc/df1/group__internal__spu__thread.png" border="0" alt="" usemap="#dc/d2e/dc_2df1_2group____internal____spu____thread_map">
<map name="dc/d2e/dc_2df1_2group____internal____spu____thread_map">
<area shape="rect" href="../../d6/de0/group__internal__init.html" title="Internals about the startup of the execution&#45;environment and SPU&#45;Thread&#45;Management..." alt="" coords="7,5,143,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This section deals about the creation and management of SPU-threads.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU only </dd></dl>
<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="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_struct</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SPU-Thread structure. <a href="../../d1/d8b/structmoc__spu__thread__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="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_struct</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#geea8400f468d5b1b60d5169b0725f31b">moc_spu_thread_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">SPU-Thread structure. <a href="#geea8400f468d5b1b60d5169b0725f31b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g669046500ec44affc79468b12ddaaf92">moc_spe_pthread_func</a> (void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PThread-function for creating SPU-Threads. <a href="#g669046500ec44affc79468b12ddaaf92"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g6cf68c0afe2da7b3a29ecaab8ed45961">moc_spu_thread_count</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">actual number of SPU-Threads. <a href="#g6cf68c0afe2da7b3a29ecaab8ed45961"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52">moc_ppu_thread_count</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">actual number of PPU-Threads. <a href="#gf4270da4dbf663fde50a876067ed0d52"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g8ad19e80234fb6b4d73684e47e007106">moc_spu_buffer_size</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">init buffer size <a href="#g8ad19e80234fb6b4d73684e47e007106"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g2af87be0fa5a8b93ac563c819047328a">moc_spu_queue_size</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">init message-queue size <a href="#g2af87be0fa5a8b93ac563c819047328a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e">moc_spu_thread_list</a> [MOC_SPU_THREAD_MAX]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">array of SPU-Threads. <a href="#ga5b74732b1e31ec1674ea0e5ae465c4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g6cf68c0afe2da7b3a29ecaab8ed45961">moc_spu_thread_count</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the value of currently configured SPU-Threads. <a href="#g6cf68c0afe2da7b3a29ecaab8ed45961"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52">moc_ppu_thread_count</a> = 0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the value of currently configured PPU-Threads. <a href="#gf4270da4dbf663fde50a876067ed0d52"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e">moc_spu_thread_list</a> [MOC_SPU_THREAD_MAX]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds information about the SPU-Threads. <a href="#ga5b74732b1e31ec1674ea0e5ae465c4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g8ad19e80234fb6b4d73684e47e007106">moc_spu_buffer_size</a> = MOC_BUFFER_SIZE</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html#g2af87be0fa5a8b93ac563c819047328a">moc_spu_queue_size</a> = MOC_QUEUE_SIZE</td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="geea8400f468d5b1b60d5169b0725f31b"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spu_thread_t" ref="geea8400f468d5b1b60d5169b0725f31b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_struct</a> <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
SPU-Thread structure.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU only</dd></dl>
Stores information about the SPU-Threads the managing PPU-Process needs to know. typedef of <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_struct</a>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g669046500ec44affc79468b12ddaaf92"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spe_pthread_func" ref="g669046500ec44affc79468b12ddaaf92" args="(void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void * moc_spe_pthread_func </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
PThread-function for creating SPU-Threads.
<p>
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">37</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
<p>References <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00081">moc_spu_thread_struct::argp</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00083">moc_spu_thread_struct::envp</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00076">moc_spu_thread_struct::rank</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00080">moc_spu_thread_struct::spe_entry_adress</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00078">moc_spu_thread_struct::speid</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00079">moc_spu_thread_struct::stop_info</a>.</p>
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
<p>
<div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dynsection">
<p><center><img src="../../dc/df1/group__internal__spu__thread_g669046500ec44affc79468b12ddaaf92_icgraph.png" border="0" usemap="#dc/df1/group__internal__spu__thread_g669046500ec44affc79468b12ddaaf92_icgraph_map" alt=""></center>
<map name="dc/df1/group__internal__spu__thread_g669046500ec44affc79468b12ddaaf92_icgraph_map">
<area shape="rect" href="../../d9/d04/moc__init__ppu_8c.html#9f5e3249bff688ab3258c8c5bfc7d61b" title="MOC_Init" alt="" coords="212,5,287,32"></map>
</div>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="gf4270da4dbf663fde50a876067ed0d52"></a><!-- doxytag: member="imoc_spe_thread_ppu.c::moc_ppu_thread_count" ref="gf4270da4dbf663fde50a876067ed0d52" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52">moc_ppu_thread_count</a> = 0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Holds the value of currently configured PPU-Threads.
<p>
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00024">24</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="gf4270da4dbf663fde50a876067ed0d52"></a><!-- doxytag: member="imoc_core_ppu.h::moc_ppu_thread_count" ref="gf4270da4dbf663fde50a876067ed0d52" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52">moc_ppu_thread_count</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
actual number of PPU-Threads.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU only </dd></dl>
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00106">106</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</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="../../d6/df6/imoc__dma-iget__ppu_8c-source.html#l00010">IMOC_iget_data()</a>, <a class="el" href="../../dd/d07/imoc__dma-iput__ppu_8c-source.html#l00019">IMOC_iput_data()</a>, <a class="el" href="../../db/db1/imoc__dma-put__ppu_8c-source.html#l00009">IMOC_put_data()</a>, <a class="el" href="../../d2/df9/imoc__dma-test__ppu_8c-source.html#l00009">IMOC_test_dma()</a>, <a class="el" href="../../d8/da5/imoc__dma-wait__ppu_8c-source.html#l00009">IMOC_wait_dma()</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="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</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>, <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>, and <a class="el" href="../../d4/d65/moc__translate__ea__ls__ppu_8c-source.html#l00004">MOC_Translate_EA_to_LS()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g8ad19e80234fb6b4d73684e47e007106"></a><!-- doxytag: member="imoc_spe_thread_ppu.c::moc_spu_buffer_size" ref="g8ad19e80234fb6b4d73684e47e007106" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g8ad19e80234fb6b4d73684e47e007106">moc_spu_buffer_size</a> = MOC_BUFFER_SIZE </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00033">33</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="g8ad19e80234fb6b4d73684e47e007106"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spu_buffer_size" ref="g8ad19e80234fb6b4d73684e47e007106" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g8ad19e80234fb6b4d73684e47e007106">moc_spu_buffer_size</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
init buffer size
<p>
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00111">111</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>, and <a class="el" href="../../da/d1a/moc__set__buffer__size__ppu_8c-source.html#l00003">MOC_Set_buffer_size()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g2af87be0fa5a8b93ac563c819047328a"></a><!-- doxytag: member="imoc_spe_thread_ppu.c::moc_spu_queue_size" ref="g2af87be0fa5a8b93ac563c819047328a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g2af87be0fa5a8b93ac563c819047328a">moc_spu_queue_size</a> = MOC_QUEUE_SIZE </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00035">35</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="g2af87be0fa5a8b93ac563c819047328a"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spu_queue_size" ref="g2af87be0fa5a8b93ac563c819047328a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g2af87be0fa5a8b93ac563c819047328a">moc_spu_queue_size</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
init message-queue size
<p>
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00116">116</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>, and <a class="el" href="../../df/d1a/moc__set__queue__size__ppu_8c-source.html#l00003">MOC_Set_queue_size()</a>.</p>
</div>
</div><p>
<a class="anchor" name="g6cf68c0afe2da7b3a29ecaab8ed45961"></a><!-- doxytag: member="imoc_spe_thread_ppu.c::moc_spu_thread_count" ref="g6cf68c0afe2da7b3a29ecaab8ed45961" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g6cf68c0afe2da7b3a29ecaab8ed45961">moc_spu_thread_count</a> = 0 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Holds the value of currently configured SPU-Threads.
<p>
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00019">19</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="g6cf68c0afe2da7b3a29ecaab8ed45961"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spu_thread_count" ref="g6cf68c0afe2da7b3a29ecaab8ed45961" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t <a class="el" href="../../dc/df1/group__internal__spu__thread.html#g6cf68c0afe2da7b3a29ecaab8ed45961">moc_spu_thread_count</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
actual number of SPU-Threads.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU only </dd></dl>
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00098">98</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>.</p>
<p>Referenced by <a class="el" href="../../dd/db2/moc__add__spu__thread__ppu_8c-source.html#l00011">MOC_Add_spu_thread()</a>, <a class="el" href="../../d1/d67/moc__finalize__ppu_8c-source.html#l00011">MOC_Finalize()</a>, and <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
</div>
</div><p>
<a class="anchor" name="ga5b74732b1e31ec1674ea0e5ae465c4e"></a><!-- doxytag: member="imoc_spe_thread_ppu.c::moc_spu_thread_list" ref="ga5b74732b1e31ec1674ea0e5ae465c4e" args="[MOC_SPU_THREAD_MAX]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_t</a> <a class="el" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e">moc_spu_thread_list</a>[MOC_SPU_THREAD_MAX] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Holds information about the SPU-Threads.
<p>
order of indices is equal to order of ranks.
<p>Definition at line <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00031">31</a> of file <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html">imoc_spe_thread_ppu.c</a>.</p>
</div>
</div><p>
<a class="anchor" name="ga5b74732b1e31ec1674ea0e5ae465c4e"></a><!-- doxytag: member="imoc_core_ppu.h::moc_spu_thread_list" ref="ga5b74732b1e31ec1674ea0e5ae465c4e" args="[MOC_SPU_THREAD_MAX]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_t</a> <a class="el" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e">moc_spu_thread_list</a>[MOC_SPU_THREAD_MAX] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
array of SPU-Threads.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU only </dd></dl>
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00123">123</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</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="../../d6/df6/imoc__dma-iget__ppu_8c-source.html#l00010">IMOC_iget_data()</a>, <a class="el" href="../../dd/d07/imoc__dma-iput__ppu_8c-source.html#l00019">IMOC_iput_data()</a>, <a class="el" href="../../db/db1/imoc__dma-put__ppu_8c-source.html#l00009">IMOC_put_data()</a>, <a class="el" href="../../d2/df9/imoc__dma-test__ppu_8c-source.html#l00009">IMOC_test_dma()</a>, <a class="el" href="../../d8/da5/imoc__dma-wait__ppu_8c-source.html#l00009">IMOC_wait_dma()</a>, <a class="el" href="../../dd/db2/moc__add__spu__thread__ppu_8c-source.html#l00011">MOC_Add_spu_thread()</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="../../d1/d67/moc__finalize__ppu_8c-source.html#l00011">MOC_Finalize()</a>, <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</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>, <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>, and <a class="el" href="../../d4/d65/moc__translate__ea__ls__ppu_8c-source.html#l00004">MOC_Translate_EA_to_LS()</a>.</p>
</div>
</div><p>
</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 @@
<area shape="rect" href="$d9/d04/moc__init__ppu_8c.html#9f5e3249bff688ab3258c8c5bfc7d61b" title="MOC_Init" alt="" coords="212,5,287,32">
@@ -0,0 +1 @@
9c7372553d37b2f8a184e7a9c0bca186
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB