Initial commit.
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -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 @@
|
||||
5274436481629d64277090c0566d7794
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,45 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/noarch/communication/moc_send_recv.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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/noarch/communication/moc_send_recv.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_send_recv.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/dcb/moc__send__recv_8c__incl.png" border="0" usemap="#src/noarch/communication/moc_send_recv.c_map" alt=""></center>
|
||||
<map name="src/noarch/communication/moc_send_recv.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="../../db/da3/moc__send__recv_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516">MOC_Sendrecv</a> (void *sendbuf, int sendcount, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> sendtype, int dest, int sendtag, void *recvbuf, int recvcount, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> recvtype, int source, int recvtag, <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"> </td><td class="mdescRight">Execute a blocking send and receive operation. <a href="../../d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:08 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,12 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="176,155,232,181">
|
||||
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="732,229,839,256">
|
||||
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="524,80,716,107">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="49,229,167,256">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="69,304,211,331">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="400,304,469,331">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="139,379,264,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="339,379,469,405">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="649,304,740,331">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="401,155,508,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="343,229,460,256">
|
||||
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="235,304,376,331">
|
||||
@@ -0,0 +1 @@
|
||||
8b6c84c2ba947728c97bce67b28abd0c
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,195 @@
|
||||
<!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/internal/imoc_core.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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>include/internal/imoc_core.h</h1><a href="../../d7/d3d/imoc__core_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_INTERNAL_CORE_</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_INTERNAL_CORE_</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00006"></a>00006
|
||||
<a name="l00007"></a>00007 <span class="comment"></span>
|
||||
<a name="l00008"></a>00008 <span class="comment">/**</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * \addtogroup internal_core</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * </span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * This section deals with the data-structures and the basic concepts which </span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * form the core of this implementation.</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * </span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * \section icore_struct Data-Structures</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * </span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * Basically there are four data-structures. \ref moc_message_envelope_struct</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> * holds meta-information about a message and \ref moc_message_status_struct holds</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * information about used buffer-space and provide means for a receiving proccess</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * to send some information back to the sending process. </span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * </span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * \ref moc_process_struct stores information every node needs to know about the </span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * other nodes to successfully communicate with them.</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> * </span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * The forth data-structure (actually there are two) \ref moc_node_handle_ppu_struct</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * respectively \ref moc_node_handle_spu_struct holds information a node know about </span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * itself and the execution environment.</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * </span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * \section core_conc Concepts</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * </span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> * Every node has (N-1) queues for incoming messages, where N is the overall number</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> * of node. Each queue is exclusively used by a specific remote node to write </span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * meta-data about the message to be send into it (queue-entries are of type \ref</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> * moc_message_envelope_struct). Because there are several independend queues and no</span>
|
||||
<a name="l00034"></a>00034 <span class="comment"> * global time is available, an exact order of all incoming messages cannot be guaranteed.</span>
|
||||
<a name="l00035"></a>00035 <span class="comment"> * Corrent ordering can only be guaranteed for messages from the same source-node.</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> * The queues are implemented in form of a big array which is divided in (N-1) equally </span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> * sized pieces.</span>
|
||||
<a name="l00038"></a>00038 <span class="comment"> * </span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> * Furthermore every node has an array of size (N-1)*m where m is the size of a</span>
|
||||
<a name="l00040"></a>00040 <span class="comment"> * message-queue (entries are of type \ref moc_message_status_struct). </span>
|
||||
<a name="l00041"></a>00041 <span class="comment"> * This array is used for buffer-management and to report the status of a message</span>
|
||||
<a name="l00042"></a>00042 <span class="comment"> * back to the sender.</span>
|
||||
<a name="l00043"></a>00043 <span class="comment"> * Every message currently under progress has a message-id which is unique in respect </span>
|
||||
<a name="l00044"></a>00044 <span class="comment"> * to the sending-node. This message-id is equal to the index of the corresponding</span>
|
||||
<a name="l00045"></a>00045 <span class="comment"> * entry of the status-array.</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> * </span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> * In order to communicate with other nodes every node also keeps a list of all nodes</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> * in the execution environment (entries are of type \ref moc_process_struct).</span>
|
||||
<a name="l00049"></a>00049 <span class="comment"> * </span>
|
||||
<a name="l00050"></a>00050 <span class="comment"> * Pointers to the own arrays and some further information a node needs to know (e.g.</span>
|
||||
<a name="l00051"></a>00051 <span class="comment"> * own rank) is stored in the globally accessible variable \ref node_handle.</span>
|
||||
<a name="l00052"></a>00052 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00053"></a>00053 <span class="comment">//@{</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"></span><span class="comment">/**</span>
|
||||
<a name="l00055"></a>00055 <span class="comment"> * @name PPU & SPU</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00057"></a>00057 <span class="comment">//@{</span>
|
||||
<a name="l00058"></a>00058 <span class="comment"></span>
|
||||
<a name="l00059"></a>00059 <span class="comment"></span>
|
||||
<a name="l00060"></a>00060 <span class="comment">/**</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"> * Default size of the message-queues.</span>
|
||||
<a name="l00062"></a>00062 <span class="comment"> **/</span>
|
||||
<a name="l00063"></a><a class="code" href="../../dd/df8/group__internal__core.html#g081d07bc934f7112abc3c792b8941e0e">00063</a> <span class="preprocessor">#define MOC_QUEUE_SIZE 4</span>
|
||||
<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00065"></a>00065 <span class="comment">/**</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> * Default size of the buffers used for buffered communication.</span>
|
||||
<a name="l00067"></a>00067 <span class="comment"> **/</span>
|
||||
<a name="l00068"></a><a class="code" href="../../dd/df8/group__internal__core.html#g5a64c26720f2d3569ed03dd9d0547b5a">00068</a> <span class="preprocessor">#define MOC_BUFFER_SIZE 2048</span>
|
||||
<a name="l00069"></a>00069 <span class="preprocessor"></span>
|
||||
<a name="l00070"></a>00070 <span class="comment"></span>
|
||||
<a name="l00071"></a>00071 <span class="comment">/**</span>
|
||||
<a name="l00072"></a>00072 <span class="comment"> * Message-envelope structure.</span>
|
||||
<a name="l00073"></a>00073 <span class="comment"> * </span>
|
||||
<a name="l00074"></a>00074 <span class="comment"> * Is used to store meta-data about the message in the message-queues of the receiving process.</span>
|
||||
<a name="l00075"></a>00075 <span class="comment"> **/</span>
|
||||
<a name="l00076"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html">00076</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_struct</a>
|
||||
<a name="l00077"></a>00077 {
|
||||
<a name="l00078"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#8e4a31624fc7e1d66e972d570ba0207c">00078</a> uint8_t <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#8e4a31624fc7e1d66e972d570ba0207c" title="Message-ID.">id</a>; <span class="comment">/**< Message-ID. Also index of message-status-array*/</span>
|
||||
<a name="l00079"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#75502fafc90d03a3b101e5c43c8c1727">00079</a> uint8_t <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#75502fafc90d03a3b101e5c43c8c1727" title="Message-tag.">tag</a>; <span class="comment">/**< Message-tag*/</span>
|
||||
<a name="l00080"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#84160292a4e38f9f72a2937e8a0205ad">00080</a> uint8_t <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#84160292a4e38f9f72a2937e8a0205ad" title="Communicator of message.">communicator</a>; <span class="comment">/**< Communicator of message*/</span>
|
||||
<a name="l00081"></a>00081 <span class="keyword">union</span>
|
||||
<a name="l00082"></a>00082 {
|
||||
<a name="l00083"></a>00083 <span class="keyword">struct </span>
|
||||
<a name="l00084"></a>00084 {
|
||||
<a name="l00085"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#9e7c103634313d354c874a2834a39116">00085</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#9e7c103634313d354c874a2834a39116" title="Is the message valid?">valid</a> : 1; <span class="comment">/**< Is the message valid? */</span>
|
||||
<a name="l00086"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#e0f658191798e4c75db62b62b58519ec">00086</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#e0f658191798e4c75db62b62b58519ec" title="Should the status be reported back to the sending process.">signal_back</a> : 1; <span class="comment">/**< Should the status be reported back to the</span>
|
||||
<a name="l00087"></a>00087 <span class="comment"> sending process */</span>
|
||||
<a name="l00088"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#02b00a7d895aeabbffedaaa5b6f124d2">00088</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#02b00a7d895aeabbffedaaa5b6f124d2" title="Is this message a special message?">special</a> : 1; <span class="comment">/**< Is this message a special message? */</span>
|
||||
<a name="l00089"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#906f21b8d1ace463dbd7ed8588f97816">00089</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#906f21b8d1ace463dbd7ed8588f97816" title="Is this message part of a collaborative communication?">collaborative</a> : 1; <span class="comment">/**< Is this message part of a collaborative </span>
|
||||
<a name="l00090"></a>00090 <span class="comment"> communication? */</span>
|
||||
<a name="l00091"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#864efa93a60cf1c26bc3d66e3dfe41f3">00091</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#864efa93a60cf1c26bc3d66e3dfe41f3" title="Which channel is used to transport the message?">channel</a> : 2; <span class="comment">/**< Which channel is used to transport the message? */</span>
|
||||
<a name="l00092"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#cf9b1b3acf1c9d1a5532251d48108ab5">00092</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#cf9b1b3acf1c9d1a5532251d48108ab5" title="Are the data in Main-Memory?">in_mm</a> : 1; <span class="comment">/**< Are the data in Main-Memory? */</span>
|
||||
<a name="l00093"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#48557404e43ae6091da6d92b9964e451">00093</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#48557404e43ae6091da6d92b9964e451" title="Should the message-status-entry be invalidated?">keep_valid</a> : 1; <span class="comment">/**< Should the message-status-entry be invalidated? */</span>
|
||||
<a name="l00094"></a>00094 } <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&quot;No nodes in list\n&quot;);...">__attribute__</a>((__packed__)) <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#5538e79854840d3caf08b90b5409e16b" title="flag-struct">bits</a>; <span class="comment">/**< flag-struct */</span>
|
||||
<a name="l00095"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#e51379150ad496c8844a4b9b0096120b">00095</a> uint8_t <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#e51379150ad496c8844a4b9b0096120b" title="union-value">value</a>; <span class="comment">/**< union-value */</span>
|
||||
<a name="l00096"></a>00096 } <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#38288113f9b7adee1e444850112ff807" title="flag-union">flags</a>; <span class="comment">/**< flag-union */</span>
|
||||
<a name="l00097"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#33c0974607df68bb2dcb47c8cad3a909">00097</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#33c0974607df68bb2dcb47c8cad3a909" title="Message-size in byte.">size</a> : 24; <span class="comment">/**< Message-size in byte*/</span>
|
||||
<a name="l00098"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#d378e074ce754a4db919128cede7dae3">00098</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#d378e074ce754a4db919128cede7dae3" title="Data-type of message-entries.">datatype</a> : 8; <span class="comment">/**< Data-type of message-entries */</span>
|
||||
<a name="l00099"></a><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#1e4384284a652a24abc1cf65fc47d665">00099</a> uint64_t <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#1e4384284a652a24abc1cf65fc47d665" title="Effective address of message-data.">message_address</a>; <span class="comment">/**< Effective address of message-data*/</span>
|
||||
<a name="l00100"></a>00100 } <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&quot;No nodes in list\n&quot;);...">__attribute__</a>((__packed__)) <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>;
|
||||
<a name="l00101"></a>00101
|
||||
<a name="l00102"></a>00102 <span class="comment"></span>
|
||||
<a name="l00103"></a>00103 <span class="comment">/**</span>
|
||||
<a name="l00104"></a>00104 <span class="comment"> * Constant for moc_message_envelope_t.flags.channel.</span>
|
||||
<a name="l00105"></a>00105 <span class="comment"> * </span>
|
||||
<a name="l00106"></a>00106 <span class="comment"> * Message is transported via a DMA-Call.</span>
|
||||
<a name="l00107"></a>00107 <span class="comment"> **/</span>
|
||||
<a name="l00108"></a><a class="code" href="../../dd/df8/group__internal__core.html#gda23ff5baabe186f8c37c0424598c7bc">00108</a> <span class="preprocessor">#define IMOC_MESSAGE_CHANNEL_DMA 0</span>
|
||||
<a name="l00109"></a>00109 <span class="preprocessor"></span>
|
||||
<a name="l00110"></a>00110 <span class="comment"></span>
|
||||
<a name="l00111"></a>00111 <span class="comment">/**</span>
|
||||
<a name="l00112"></a>00112 <span class="comment"> * Constant for moc_message_envelope_t.flags.channel.</span>
|
||||
<a name="l00113"></a>00113 <span class="comment"> * </span>
|
||||
<a name="l00114"></a>00114 <span class="comment"> * Message is embedded in message-envelope.</span>
|
||||
<a name="l00115"></a>00115 <span class="comment"> **/</span>
|
||||
<a name="l00116"></a><a class="code" href="../../dd/df8/group__internal__core.html#g1a3153033a1eaac0ddff04deac271947">00116</a> <span class="preprocessor">#define IMOC_MESSAGE_CHANNEL_ENV 1</span>
|
||||
<a name="l00117"></a>00117 <span class="preprocessor"></span>
|
||||
<a name="l00118"></a>00118 <span class="comment"></span>
|
||||
<a name="l00119"></a>00119 <span class="comment">/**</span>
|
||||
<a name="l00120"></a>00120 <span class="comment"> * Message-status structure.</span>
|
||||
<a name="l00121"></a>00121 <span class="comment"> * </span>
|
||||
<a name="l00122"></a>00122 <span class="comment"> * Is used to store information about the message-status and the buffer used in the</span>
|
||||
<a name="l00123"></a>00123 <span class="comment"> * message-status-array.</span>
|
||||
<a name="l00124"></a>00124 <span class="comment"> **/</span>
|
||||
<a name="l00125"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html">00125</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../dd/df5/structmoc__message__status__struct.html" title="Message-status structure.">moc_message_status_struct</a>
|
||||
<a name="l00126"></a>00126 {
|
||||
<a name="l00127"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#e8c63164c741fbe8af05ab10225f910e">00127</a> uint32_t buffer_offset; <span class="comment">/**< allocated buffer-offset from buffer-base */</span>
|
||||
<a name="l00128"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#e2130ff455b57d82f77116fca11deb33">00128</a> uint32_t message_size; <span class="comment">/**< size of message in byte */</span>
|
||||
<a name="l00129"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#d6888b570d01a9f1dfc41e621904d72c">00129</a> uint32_t error_value; <span class="comment">/**< optional error-code of message */</span>
|
||||
<a name="l00130"></a>00130 <span class="keyword">union</span>
|
||||
<a name="l00131"></a>00131 {
|
||||
<a name="l00132"></a>00132 <span class="keyword">struct</span>
|
||||
<a name="l00133"></a>00133 {
|
||||
<a name="l00134"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#f46ac6349e9244afe9841afed2ec9192">00134</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#9e7c103634313d354c874a2834a39116" title="Is the message valid?">valid</a> : 1; <span class="comment">/**< Is this entry valid? */</span>
|
||||
<a name="l00135"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#ac36e005c019f7811b14588ccc8b6ae9">00135</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> outstanding : 1; <span class="comment">/**< Message is not yet received? */</span>
|
||||
<a name="l00136"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#88a312a8474fb4ad31bb79be8e2704e8">00136</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> buffer_used : 1; <span class="comment">/**< Is Bufferspace used? */</span>
|
||||
<a name="l00137"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#7b336d0c92a22d73f5e7585dc7b28a49">00137</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> reserved : 5; <span class="comment">/**< reserved */</span>
|
||||
<a name="l00138"></a>00138 } <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&quot;No nodes in list\n&quot;);...">__attribute__</a>((__packed__)) bits; <span class="comment">/**< flag-struct */</span>
|
||||
<a name="l00139"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#d6c989ccbfc4a74a8c3982a1098c3d78">00139</a> uint8_t value; <span class="comment">/**< union-value */</span>
|
||||
<a name="l00140"></a>00140 } <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#38288113f9b7adee1e444850112ff807" title="flag-union">flags</a>; <span class="comment">/**< flag-union */</span>
|
||||
<a name="l00141"></a><a class="code" href="../../dd/df5/structmoc__message__status__struct.html#5216df4edcee08127bf6e4147b1a0aef">00141</a> uint8_t reserved[3]; <span class="comment">/**< reserved */</span>
|
||||
<a name="l00142"></a>00142 } <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&quot;No nodes in list\n&quot;);...">__attribute__</a>((__packed__)) <a class="code" href="../../dd/df5/structmoc__message__status__struct.html" title="Message-status structure.">moc_message_status_t</a>;
|
||||
<a name="l00143"></a>00143
|
||||
<a name="l00144"></a>00144 <span class="comment"></span>
|
||||
<a name="l00145"></a>00145 <span class="comment">/**</span>
|
||||
<a name="l00146"></a>00146 <span class="comment"> * Constant for moc_process_struct.type.</span>
|
||||
<a name="l00147"></a>00147 <span class="comment"> **/</span>
|
||||
<a name="l00148"></a><a class="code" href="../../dd/df8/group__internal__core.html#ge8939a6190d1b74b2526d480e434894d">00148</a> <span class="preprocessor">#define MOC_PPU_PROCESS 0</span>
|
||||
<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00150"></a>00150 <span class="comment">/**</span>
|
||||
<a name="l00151"></a>00151 <span class="comment"> * Constant for moc_process_struct.type.</span>
|
||||
<a name="l00152"></a>00152 <span class="comment"> **/</span>
|
||||
<a name="l00153"></a><a class="code" href="../../dd/df8/group__internal__core.html#gde1178e17b18360542f46e09a4f3fce0">00153</a> <span class="preprocessor">#define MOC_SPU_PROCESS 1</span>
|
||||
<a name="l00154"></a>00154 <span class="preprocessor"></span>
|
||||
<a name="l00155"></a>00155 <span class="comment"></span>
|
||||
<a name="l00156"></a>00156 <span class="comment">/**</span>
|
||||
<a name="l00157"></a>00157 <span class="comment"> * Process-information structure.</span>
|
||||
<a name="l00158"></a>00158 <span class="comment"> * </span>
|
||||
<a name="l00159"></a>00159 <span class="comment"> * Stores information about a MOC-Process. This information is used for communication</span>
|
||||
<a name="l00160"></a>00160 <span class="comment"> * between the processes.</span>
|
||||
<a name="l00161"></a>00161 <span class="comment"> */</span>
|
||||
<a name="l00162"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html">00162</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../d0/db8/structmoc__process__struct.html" title="Process-information structure.">moc_process_struct</a>
|
||||
<a name="l00163"></a>00163 {
|
||||
<a name="l00164"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html#9fa234bed220e0a3daa5b110a036e72e">00164</a> uint8_t type; <span class="comment">/**< Process-type (SPU or PPU) */</span>
|
||||
<a name="l00165"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html#3214c8e3b36c00b159209bbaf277e53d">00165</a> uint8_t reserved[7]; <span class="comment">/**< reserved */</span>
|
||||
<a name="l00166"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html#9aefc9d4ee29f7c0ca1dff18cb41713c">00166</a> uint64_t inbox_queue_base; <span class="comment">/**< effective base-address of message-queues */</span>
|
||||
<a name="l00167"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html#6331f5f40bddc0b08409a3599af9b8c8">00167</a> uint64_t stat_array_base; <span class="comment">/**< effective base-address of message-status-array */</span>
|
||||
<a name="l00168"></a><a class="code" href="../../d0/db8/structmoc__process__struct.html#a8eea33631234dc3eccf859a3d3de40e">00168</a> uint64_t ps_base; <span class="comment">/**< effective base-address of problem-state (Signals, mailboxes, ...)*/</span>
|
||||
<a name="l00169"></a>00169 } <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf(&quot;No nodes in list\n&quot;);...">__attribute__</a>((__packed__)) <a class="code" href="../../d0/db8/structmoc__process__struct.html" title="Process-information structure.">moc_process_t</a>;
|
||||
<a name="l00170"></a>00170 <span class="comment"></span>
|
||||
<a name="l00171"></a>00171 <span class="comment">//@}</span>
|
||||
<a name="l00172"></a>00172 <span class="comment"></span><span class="comment">//@}</span>
|
||||
<a name="l00173"></a>00173 <span class="comment"></span><span class="preprocessor">#endif </span><span class="comment">/*MOC_INTERNAL_CORE_*/</span>
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by
|
||||
<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>
|
||||
+1
@@ -0,0 +1 @@
|
||||
d009a550ac13e8c21064d9609ebaf42e
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1,8 @@
|
||||
<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="345,155,463,181">
|
||||
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="477,80,632,107">
|
||||
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="487,155,679,181">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="195,229,336,256">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="365,229,435,256">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="195,304,320,331">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="395,304,525,331">
|
||||
@@ -0,0 +1 @@
|
||||
a4c64c8c32921c734a3614da3342cadb
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
@@ -0,0 +1,38 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/noarch/communication/moc_probe.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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>src/noarch/communication/moc_probe.c</h1><a href="../../d1/d8a/moc__probe_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 <<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <<a class="code" href="../../d9/db3/imoc_8h.html">internal/imoc.h</a>></span>
|
||||
<a name="l00003"></a>00003
|
||||
<a name="l00004"></a><a class="code" href="../../d0/d64/group__p2p__main.html#g39ceb4e6f08da2cd3dac3e93bb6e3ee1">00004</a> <span class="keywordtype">int</span> <a class="code" href="../../d0/d64/group__p2p__main.html#g39ceb4e6f08da2cd3dac3e93bb6e3ee1" title="Waits till a message is received and returns information without actually receiving...">MOC_Probe</a>(<span class="keywordtype">int</span> source, <span class="keywordtype">int</span> tag, <a class="code" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767" title="Communicator-Handle.">MOC_Comm</a> comm, <a class="code" href="../../dd/d7a/structMOC__Status__struct.html" title="Structure holding information about a received message.">MOC_Status</a> *status)
|
||||
<a name="l00005"></a>00005 {
|
||||
<a name="l00006"></a>00006 <a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>* message;
|
||||
<a name="l00007"></a>00007 status-><a class="code" href="../../dd/d7a/structMOC__Status__struct.html#1a3fde58aca11d3b901c890916371661" title="message-source">MOC_SOURCE</a> = source;
|
||||
<a name="l00008"></a>00008 status-><a class="code" href="../../dd/d7a/structMOC__Status__struct.html#3d3497f7a93c00e6800da9500e52daf2" title="error-code">MOC_ERROR</a> = 0;
|
||||
<a name="l00009"></a>00009 <span class="keywordflow">while</span> (0 == (message = <a class="code" href="../../d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from &quot;source&quot; with specified &quot;tag&quot;...">IMOC_get_entry</a>(source, tag, comm, 0, status)))
|
||||
<a name="l00010"></a>00010 ;
|
||||
<a name="l00011"></a>00011 status-><a class="code" href="../../dd/d7a/structMOC__Status__struct.html#ae670a7f91ed4d4326bfda4f17ee14f0" title="message-tag">MOC_TAG</a> = message-><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#75502fafc90d03a3b101e5c43c8c1727" title="Message-tag.">tag</a>;
|
||||
<a name="l00012"></a>00012 status-><a class="code" href="../../dd/d7a/structMOC__Status__struct.html#872c34c85569926730eebe10e47af384" title="message-size in byte (internal-variable)">message_size</a> = message-><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#33c0974607df68bb2dcb47c8cad3a909" title="Message-size in byte.">size</a>;
|
||||
<a name="l00013"></a>00013 status-><a class="code" href="../../dd/d7a/structMOC__Status__struct.html#c84605b34d90e4fde486028fa8b00853" title="message-ID (internal-variable)">mid</a> = message-><a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#8e4a31624fc7e1d66e972d570ba0207c" title="Message-ID.">id</a>;
|
||||
<a name="l00014"></a>00014 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00015"></a>00015 }
|
||||
<a name="l00016"></a>00016
|
||||
</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
|
||||
<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,82 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): include/spu/moc_datatype_spu.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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>include/spu/moc_datatype_spu.h</h1><a href="../../d0/d1d/moc__datatype__spu_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_DATATYPE_SPU_H_</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_DATATYPE_SPU_H_</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include "../moc_datatype.h"</span><span class="comment"></span>
|
||||
<a name="l00005"></a>00005 <span class="comment">/**</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> * \addtogroup p2p_datatype</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00008"></a>00008 <span class="comment">//@{</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"></span><span class="comment">/**</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * @name SPU-only</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<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"></span>
|
||||
<a name="l00015"></a>00015 <span class="comment">/**</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * C-Datatype long.</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> * It has a size of 4 byte.</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> * \attention On the PPU long has a size of 8 byte. So if</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * you are trying to send data of type long from the PPU to a</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * SPU or vice versa there will be an error.</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> **/</span>
|
||||
<a name="l00022"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g38cae657eabde06ce8e851cea1239398">00022</a> <span class="preprocessor">#define MOC_LONG ((MOC_Datatype)32+2)</span>
|
||||
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00024"></a>00024 <span class="comment">/**</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * C-Datatype unsigned long.</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * It has a size of 4 byte.</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * \attention On the SPU unsigned long has a size of 8 byte. So if</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * you are trying to send data of type long from the PPU to a</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * SPU or vice versa there will be an error.</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> **/</span>
|
||||
<a name="l00031"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb57eeb637cbd234015a8411061e77dac">00031</a> <span class="preprocessor">#define MOC_UNSIGNED_LONG ((MOC_Datatype)32+3)</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor"></span>
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034 <span class="comment"></span>
|
||||
<a name="l00035"></a>00035 <span class="comment">/**</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> * Cell-specific Datatype vector unsigned long long (vec_ullong2).</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00038"></a>00038 <span class="comment"> * \note SPU-only. Is mapped to the PPU-Datatype vector bool char.</span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> **/</span>
|
||||
<a name="l00040"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g9116c12975ccdf0f323a56828d18fe52">00040</a> <span class="preprocessor">#define MOC_VEC_ULLONG2 ((MOC_Datatype)128+0)</span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00042"></a>00042 <span class="comment">/**</span>
|
||||
<a name="l00043"></a>00043 <span class="comment"> * Cell-specific Datatype vector signed long long (vec_llong2).</span>
|
||||
<a name="l00044"></a>00044 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00045"></a>00045 <span class="comment"> * \note SPU-only. Is mapped to the PPU-Datatype vector bool short.</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> **/</span>
|
||||
<a name="l00047"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gdfe53f246c2b4d5e520888c43393ac6f">00047</a> <span class="preprocessor">#define MOC_VEC_LLONG2 ((MOC_Datatype)128+1)</span>
|
||||
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00049"></a>00049 <span class="comment">/**</span>
|
||||
<a name="l00050"></a>00050 <span class="comment"> * Cell-specific Datatype vector double (vec_double2).</span>
|
||||
<a name="l00051"></a>00051 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00052"></a>00052 <span class="comment"> * \note SPU-only. Is mapped to the PPU-Datatype vector bool int.</span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> **/</span>
|
||||
<a name="l00054"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g803ad689579f62bebcd84411a684e871">00054</a> <span class="preprocessor">#define MOC_VEC_DOUBLE2 ((MOC_Datatype)128+2)</span>
|
||||
<a name="l00055"></a>00055 <span class="preprocessor"></span>
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00057"></a>00057 <span class="comment"></span>
|
||||
<a name="l00058"></a>00058 <span class="comment">//@}</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"></span><span class="comment">//@}</span>
|
||||
<a name="l00060"></a>00060 <span class="comment"></span><span class="preprocessor">#endif </span><span class="comment">/*MOC_DATATYPE_SPU_H_*/</span>
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:47 2009 for MPI On Cell (Documentation) by
|
||||
<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,11 @@
|
||||
<area shape="rect" href="$d3/dc2/moc__isend_8c.html" title="src/noarch/communication/moc_isend.c" alt="" coords="5,80,256,107">
|
||||
<area shape="rect" href="$db/d55/moc__send_8c.html" title="src/noarch/communication/moc_send.c" alt="" coords="280,80,528,107">
|
||||
<area shape="rect" href="$d1/d72/moc__barrier__ppu_8c.html" title="src/ppu/communication/moc_barrier_ppu.c" alt="" coords="552,80,819,107">
|
||||
<area shape="rect" href="$d9/d14/moc__bsend__ppu_8c.html" title="src/ppu/communication/moc_bsend_ppu.c" alt="" coords="843,80,1109,107">
|
||||
<area shape="rect" href="$dc/d02/moc__issend__ppu_8c.html" title="src/ppu/communication/moc_issend_ppu.c" alt="" coords="1133,80,1403,107">
|
||||
<area shape="rect" href="$dc/db7/moc__recv__ppu_8c.html" title="src/ppu/communication/moc_recv_ppu.c" alt="" coords="1427,80,1680,107">
|
||||
<area shape="rect" href="$d2/d00/moc__ssend__ppu_8c.html" title="src/ppu/communication/moc_ssend_ppu.c" alt="" coords="1704,80,1971,107">
|
||||
<area shape="rect" href="$d3/dc6/moc__dma-iget__ppu_8c.html" title="src/ppu/dma/moc_dma-iget_ppu.c" alt="" coords="1995,80,2213,107">
|
||||
<area shape="rect" href="$d3/dfa/moc__dma-put__ppu_8c.html" title="src/ppu/dma/moc_dma-put_ppu.c" alt="" coords="2237,80,2453,107">
|
||||
<area shape="rect" href="$d1/da6/imoc__dma-iget__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma-iget_ppu.c" alt="" coords="2477,80,2744,107">
|
||||
<area shape="rect" href="$d3/d8f/imoc__dma-put__ppu_8c.html" title="src/ppu/internal/dma/imoc_dma-put_ppu.c" alt="" coords="2768,80,3032,107">
|
||||
@@ -0,0 +1 @@
|
||||
a933e07ccaef2140e7aa5e39b94f0a58
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 41 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/communication/moc_bsend_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/spu/communication/moc_bsend_spu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <stdio.h></code><br>
|
||||
<code>#include <string.h></code><br>
|
||||
<code>#include <spu_mfcio.h></code><br>
|
||||
<code>#include <<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../d0/d87/imoc__macros_8h-source.html">internal/imoc_macros.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../d4/d95/imoc__dma__spu_8h-source.html">internal/spu/imoc_dma_spu.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../db/dd9/imoc__core__spu_8h-source.html">internal/spu/imoc_core_spu.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_bsend_spu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d4/df7/moc__bsend__spu_8c__incl.png" border="0" usemap="#src/spu/communication/moc_bsend_spu.c_map" alt=""></center>
|
||||
<map name="src/spu/communication/moc_bsend_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="572,155,679,181"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="421,80,576,107"><area shape="rect" href="../../d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="356,155,548,181"><area shape="rect" href="../../d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="703,155,895,181"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="164,155,281,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="91,229,232,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="307,229,376,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="107,304,232,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="357,304,488,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="613,229,704,256"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d9/d63/moc__bsend__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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b">MOC_Bsend</a> (void *buf, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int dest, int tag, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Performs a blocking buffered mode send operation. <a href="../../de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:33 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/noarch/communication/moc_bcast.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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/noarch/communication/moc_bcast.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_bcast.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../dc/d92/moc__bcast_8c__incl.png" border="0" usemap="#src/noarch/communication/moc_bcast.c_map" alt=""></center>
|
||||
<map name="src/noarch/communication/moc_bcast.c_map">
|
||||
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="156,155,212,181"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="389,80,581,107"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="125,229,243,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="17,304,159,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="315,304,384,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="439,379,564,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="284,379,415,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="689,379,793,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="489,155,596,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="464,229,581,256"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="491,304,632,331"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../da/d19/moc__bcast_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dc2/group__broadcast.html#gfd25e9a19a1ad4032fdf3703531167d6">MOC_Bcast</a> (void *buffer, int count, <a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> datatype, int root, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Broadcasts a message from the process with rank "root" to all other processes of the group. <a href="../../db/dc2/group__broadcast.html#gfd25e9a19a1ad4032fdf3703531167d6"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:06 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/spu/internal/dma/imoc_dma-test_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>src/spu/internal/dma/imoc_dma-test_spu.c</h1><a href="../../d1/dc4/imoc__dma-test__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 <string.h></span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <free_align.h></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include <spu_mfcio.h></span>
|
||||
<a name="l00005"></a>00005
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include <<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00007"></a>00007 <span class="preprocessor">#include <<a class="code" href="../../d4/dce/imoc__dma__spu_8h.html">internal/spu/imoc_dma_spu.h</a>></span>
|
||||
<a name="l00008"></a>00008
|
||||
<a name="l00009"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#gdc3d91a083a9dc3aa539aee4d56616f0">00009</a> <span class="keywordtype">int</span> <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#gdc3d91a083a9dc3aa539aee4d56616f0" title="Tests if a IMOC_iget_data or IMOC_iput_data is completed.">IMOC_test_dma</a>(<a class="code" href="../../d4/da3/structimoc__dma__request__struct.html">imoc_dma_request</a>* request, <span class="keywordtype">int</span> *flag)
|
||||
<a name="l00010"></a>00010 {
|
||||
<a name="l00011"></a>00011 uint32_t ret;
|
||||
<a name="l00012"></a>00012 mfc_write_tag_mask(1 << request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#93345f8438f78d7a0309b4b0b0670476">tag_id</a>);
|
||||
<a name="l00013"></a>00013 mfc_write_tag_update(MFC_TAG_UPDATE_IMMEDIATE);
|
||||
<a name="l00014"></a>00014 ret = mfc_read_tag_status();
|
||||
<a name="l00015"></a>00015
|
||||
<a name="l00016"></a>00016 <span class="keywordflow">if</span> ((ret & (1 << request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#93345f8438f78d7a0309b4b0b0670476">tag_id</a>)) == 0) <span class="comment">// dma transfer not finished</span>
|
||||
<a name="l00017"></a>00017 *flag = 0;
|
||||
<a name="l00018"></a>00018 <span class="keywordflow">else</span> <span class="comment">// dma transfer finished</span>
|
||||
<a name="l00019"></a>00019 {
|
||||
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#e9940544a153813fd1284eaa8883a1f2">remainder</a> != 0) <span class="comment">// check if buffer was used and copy back data from there to target</span>
|
||||
<a name="l00021"></a>00021 {
|
||||
<a name="l00022"></a>00022 memcpy(request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#aab928f79935740e686706a1296b01a9">target</a> + request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#8322ab9ff0dbd0be788bf765f3e85e94">size</a>, request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#efdb405d93fc52fbe483551e3bbaafac">buffer</a>,
|
||||
<a name="l00023"></a>00023 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#e9940544a153813fd1284eaa8883a1f2">remainder</a>);
|
||||
<a name="l00024"></a>00024 free(request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#efdb405d93fc52fbe483551e3bbaafac">buffer</a>);
|
||||
<a name="l00025"></a>00025 }
|
||||
<a name="l00026"></a>00026 mfc_tag_release(request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#93345f8438f78d7a0309b4b0b0670476">tag_id</a>);
|
||||
<a name="l00027"></a>00027 *flag = 1;
|
||||
<a name="l00028"></a>00028 }
|
||||
<a name="l00029"></a>00029
|
||||
<a name="l00030"></a>00030 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
|
||||
<a name="l00031"></a>00031 }
|
||||
</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
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/spu/dma/moc_translate_ls_ea_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/spu/dma/moc_translate_ls_ea_spu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="../../d1/d03/moc__dma__spu_8h-source.html">spu/moc_dma_spu.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../db/dd9/imoc__core__spu_8h-source.html">internal/spu/imoc_core_spu.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_translate_ls_ea_spu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d9/da9/moc__translate__ls__ea__spu_8c__incl.png" border="0" usemap="#src/spu/dma/moc_translate_ls_ea_spu.c_map" alt=""></center>
|
||||
<map name="src/spu/dma/moc_translate_ls_ea_spu.c_map">
|
||||
<area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="spu/moc_dma_spu.h" alt="" coords="59,80,200,107"><area shape="rect" href="../../d9/d00/imoc__core__spu_8h.html" title="internal/spu/imoc_core_spu.h" alt="" coords="229,80,421,107"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="23,155,164,181"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="188,155,257,181"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="27,229,152,256"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="227,229,357,256"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="381,229,485,256"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d7/d57/moc__translate__ls__ea__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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d16/group__dma__access.html#g1ee1f004fff19c3338f2de9d96471693">MOC_Translate_LS_to_EA</a> (void *ls, uint64_t *ea)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Translates a local-store address of the calling SPU into the corresponding effective-address. <a href="../../d9/d16/group__dma__access.html#g1ee1f004fff19c3338f2de9d96471693"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:37 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,58 @@
|
||||
<!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): Startup & Shutdown</title>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.5.6 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="../../main.html"><span>Main Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Startup & Shutdown<br>
|
||||
<small>
|
||||
[<a class="el" href="../../d2/d16/group__internal__env.html">Environmental Management</a>]</small>
|
||||
</h1>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Startup & Shutdown:</div>
|
||||
<div class="dynsection">
|
||||
<center><table><tr><td><img src="../../d6/de0/group__internal__init.png" border="0" alt="" usemap="#de/dcf/d6_2de0_2group____internal____init_map">
|
||||
<map name="de/dcf/d6_2de0_2group____internal____init_map">
|
||||
<area shape="rect" href="../../d2/d16/group__internal__env.html" title="Internals about Startup & Shutdown and Error-Handling." alt="" coords="5,5,187,32"><area shape="rect" href="../../dc/df1/group__internal__spu__thread.html" title="This section deals about the creation and management of SPU-threads." alt="" coords="421,5,592,32"></map></td></tr></table></center>
|
||||
</div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Internals about the startup of the execution-environment and SPU-Thread-Management.
|
||||
<p>
|
||||
<h2><a class="anchor" name="iinit_start">
|
||||
Startup</a></h2>
|
||||
The PPU-Process creates for every SPU-thread an own thread using the pthread-library (see <a class="el" href="../../dc/df1/group__internal__spu__thread.html">SPU-Thread Management</a>). The rank of each prozess, the overall process count, the sizes of message-queue and buffer-space and the effective base address of the buffer is send to each SPU-thread via mailbox-messages. The SPU-threads then send the memory-addresses of their message-queues and status-arrays back to the PPU-process which writes this data into the prozess-list. After all SPU-Threads have reported back to the PPU-process the effective address of the PPU's process-list ist distributed among the SPU-processes which then copy the process-list via DMA in their local storages.<h2><a class="anchor" name="iinit_shut">
|
||||
Shutdown</a></h2>
|
||||
<h3><a class="anchor" name="iinit_shut_ppu">
|
||||
PPU</a></h3>
|
||||
The PPU-process waits till all SPU-threads have signalled that they are also executing the finalize-function. After that a signal is send back to each SPU-Thread that they can now stop execution. Then local ressources are freed and the finalize-function returns.<h3><a class="anchor" name="iinit_shut_spu">
|
||||
SPU</a></h3>
|
||||
A mailbox-message is send to the PPU to signal that the SPU-process is now executing the finalize-function. After that the SPU-process is waiting till a mailbox-message from the PPU-process is received. Then local ressources are freed and the finalize-function returns.
|
||||
<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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html">SPU-Thread Management</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">This section deals about the creation and management of SPU-threads. <br></td></tr>
|
||||
|
||||
<p>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:05 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/ppu/dma/moc_dma-wait_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/ppu/dma/moc_dma-wait_ppu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">internal/ppu/imoc_core_ppu.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../de/de1/imoc__dma__ppu_8h-source.html">internal/ppu/imoc_dma_ppu.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../d8/df3/moc__dma__ppu_8h-source.html">ppu/moc_dma_ppu.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_dma-wait_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d8/d93/moc__dma-wait__ppu_8c__incl.png" border="0" usemap="#src/ppu/dma/moc_dma-wait_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/dma/moc_dma-wait_ppu.c_map">
|
||||
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="149,155,205,181"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="745,80,937,107"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="532,229,649,256"><area shape="rect" href="../../de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="265,229,457,256"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="23,229,140,256"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="91,304,232,331"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="371,304,440,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="483,379,608,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="277,379,408,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="948,379,1052,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="652,155,759,181"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="559,304,700,331"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d4/df9/moc__dma-wait__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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d16/group__dma__access.html#g0ba7b00fbebaabb8b39737a7c13efc67">MOC_Wait_data</a> (<a class="el" href="../../db/d17/structmoc__request__struct.html">MOC_Request</a> *request)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Waits till a MOC_IGet_data or IMOC_IPut_data is completed. <a href="../../d9/d16/group__dma__access.html#g0ba7b00fbebaabb8b39737a7c13efc67"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:22 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,118 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/ppu/internal/dma/imoc_dma-iget_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>src/ppu/internal/dma/imoc_dma-iget_ppu.c</h1><a href="../../d1/da6/imoc__dma-iget__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 <malloc_align.h></span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00003"></a>00003
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include <<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#include <<a class="code" href="../../db/d62/moc__dma__ppu_8h.html">ppu/moc_dma_ppu.h</a>></span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include <<a class="code" href="../../d8/d98/imoc__macros__ppu_8h.html">internal/ppu/imoc_macros_ppu.h</a>></span>
|
||||
<a name="l00007"></a>00007 <span class="preprocessor">#include <<a class="code" href="../../de/df9/imoc__dma__ppu_8h.html">internal/ppu/imoc_dma_ppu.h</a>></span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor">#include <<a class="code" href="../../d6/d09/imoc__core__ppu_8h.html">internal/ppu/imoc_core_ppu.h</a>></span>
|
||||
<a name="l00009"></a>00009
|
||||
<a name="l00010"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g0c76eeaa08ac299e19dc2758d4142cd9">00010</a> <span class="keywordtype">int</span> <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g0c76eeaa08ac299e19dc2758d4142cd9" title="Internal wrapper-function for a non-blocking DMA-get operation.">IMOC_iget_data</a>(<span class="keywordtype">void</span>* target, uint64_t source, uint32_t size, uint32_t dest,
|
||||
<a name="l00011"></a>00011 <a class="code" href="../../d4/da3/structimoc__dma__request__struct.html">imoc_dma_request</a>* request)
|
||||
<a name="l00012"></a>00012 {
|
||||
<a name="l00013"></a>00013 uint32_t remainder_16b;
|
||||
<a name="l00014"></a>00014 uint32_t remainder_16kb;
|
||||
<a name="l00015"></a>00015 uint32_t offset;
|
||||
<a name="l00016"></a>00016 <span class="keywordtype">int</span> err;
|
||||
<a name="l00017"></a>00017 <span class="keywordtype">int</span> tag_id;
|
||||
<a name="l00018"></a>00018
|
||||
<a name="l00019"></a>00019 <span class="keywordflow">if</span> ((tag_id = <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g29d3bf9879af70f97d63e774a5aa4d33" title="Reserves a tag on the ppu, for communication with a given spu.">moc_tag_reserve</a>(dest - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>)) < 0)
|
||||
<a name="l00020"></a>00020 {
|
||||
<a name="l00021"></a>00021 <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="l00022"></a>00022 }
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024 <span class="comment">/* transfers have to be multiples of 16 bytes */</span>
|
||||
<a name="l00025"></a>00025 remainder_16b = size % 16;
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#e9940544a153813fd1284eaa8883a1f2">remainder</a> = 0;
|
||||
<a name="l00028"></a>00028 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#8322ab9ff0dbd0be788bf765f3e85e94">size</a> = size;
|
||||
<a name="l00029"></a>00029 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#aab928f79935740e686706a1296b01a9">target</a> = target;
|
||||
<a name="l00030"></a>00030 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#f81a1887a3f1aa7f965e1fb15e2220de">dest</a> = dest;
|
||||
<a name="l00031"></a>00031 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#93345f8438f78d7a0309b4b0b0670476">tag_id</a> = tag_id;
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033 <span class="comment">/* subtracting remainder means the transfer has a valid size now */</span>
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a>00035 size -= remainder_16b;
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 offset = 0;
|
||||
<a name="l00038"></a>00038
|
||||
<a name="l00039"></a>00039 <span class="comment">/* first case: transfer of size smaller than maximum allowed one (16kbyte) */</span>
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041 <span class="keywordflow">if</span> (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="l00042"></a>00042 {
|
||||
<a name="l00043"></a>00043 err = spe_mfcio_put(
|
||||
<a name="l00044"></a>00044 <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[dest - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].speid, source,
|
||||
<a name="l00045"></a>00045 target, size, tag_id, 0, 0);
|
||||
<a name="l00046"></a>00046
|
||||
<a name="l00047"></a>00047 <span class="keywordflow">if</span> (err)
|
||||
<a name="l00048"></a>00048 <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="l00049"></a>00049 }
|
||||
<a name="l00050"></a>00050
|
||||
<a name="l00051"></a>00051 <span class="comment">/* second case: transfer of bigger size is simply split into parts of 16kb */</span>
|
||||
<a name="l00052"></a>00052 <span class="keywordflow">else</span>
|
||||
<a name="l00053"></a>00053 {
|
||||
<a name="l00054"></a>00054 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="l00055"></a>00055 <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> <= size)
|
||||
<a name="l00056"></a>00056 {
|
||||
<a name="l00057"></a>00057 err = spe_mfcio_put(
|
||||
<a name="l00058"></a>00058 <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[dest - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].speid,
|
||||
<a name="l00059"></a>00059 source + offset, target + 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="l00060"></a>00060 tag_id, 0, 0);
|
||||
<a name="l00061"></a>00061
|
||||
<a name="l00062"></a>00062 <span class="keywordflow">if</span> (err)
|
||||
<a name="l00063"></a>00063 <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="l00064"></a>00064
|
||||
<a name="l00065"></a>00065 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="l00066"></a>00066 }
|
||||
<a name="l00067"></a>00067
|
||||
<a name="l00068"></a>00068 <span class="keywordflow">if</span> (remainder_16kb > 0)
|
||||
<a name="l00069"></a>00069 {
|
||||
<a name="l00070"></a>00070 err = spe_mfcio_put(
|
||||
<a name="l00071"></a>00071 <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[dest - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].speid,
|
||||
<a name="l00072"></a>00072 source + offset, target + offset, remainder_16kb, tag_id,
|
||||
<a name="l00073"></a>00073 0, 0);
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00075"></a>00075 <span class="keywordflow">if</span> (err)
|
||||
<a name="l00076"></a>00076 <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="l00077"></a>00077 }
|
||||
<a name="l00078"></a>00078 }
|
||||
<a name="l00079"></a>00079
|
||||
<a name="l00080"></a>00080 <span class="comment">/* if size was reduced previously the remaining bytes have to be transfered */</span>
|
||||
<a name="l00081"></a>00081 <span class="keywordflow">if</span> (remainder_16b > 0)
|
||||
<a name="l00082"></a>00082 {
|
||||
<a name="l00083"></a>00083 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#efdb405d93fc52fbe483551e3bbaafac">buffer</a> = (<span class="keywordtype">char</span>*) _malloc_align(16 * <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>), 4);
|
||||
<a name="l00084"></a>00084 <span class="comment">/* minimum allowed transfer is 16bytes so transfer this size into a buffer */</span>
|
||||
<a name="l00085"></a>00085 err = spe_mfcio_put(
|
||||
<a name="l00086"></a>00086 <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[dest - <a class="code" href="../../dc/df1/group__internal__spu__thread.html#gf4270da4dbf663fde50a876067ed0d52" title="actual number of PPU-Threads.">moc_ppu_thread_count</a>].speid, source
|
||||
<a name="l00087"></a>00087 + size, request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#efdb405d93fc52fbe483551e3bbaafac">buffer</a>, 16, tag_id, 0, 0);
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00089"></a>00089 <span class="keywordflow">if</span> (err)
|
||||
<a name="l00090"></a>00090 <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="l00091"></a>00091 }
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00093"></a>00093 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
|
||||
<a name="l00094"></a>00094
|
||||
<a name="l00095"></a>00095 }
|
||||
<a name="l00096"></a>00096
|
||||
</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
|
||||
<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,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_wtick_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 Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>src/ppu/system/moc_wtick_ppu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="../../dc/dcb/spu_2moc_8h-source.html">moc.h</a>></code><br>
|
||||
<code>#include <time.h></code><br>
|
||||
<code>#include <sys/time.h></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_wtick_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d7/d70/moc__wtick__ppu_8c__incl.png" border="0" usemap="#src/ppu/system/moc_wtick_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/system/moc_wtick_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="../../d8/d3b/moc__wtick__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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be">MOC_Wtick</a> (void)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the resolution of Moc_Wtime in seconds. <a href="../../d8/da6/group__environment__timer.html#gc846a7a21aeafdc5e960e91cb7d602be"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:31 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user