Initial commit.
@@ -0,0 +1,18 @@
|
||||
|
||||
|
||||
|
||||
########################################################################
|
||||
# Target
|
||||
########################################################################
|
||||
|
||||
DIRS = src/spu src/ppu
|
||||
|
||||
########################################################################
|
||||
# buildutils/make.footer
|
||||
########################################################################
|
||||
|
||||
ifdef CELL_TOP
|
||||
include $(CELL_TOP)/buildutils/make.footer
|
||||
else
|
||||
include /opt/cell/sdk/buildutils/make.footer
|
||||
endif
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
doc_all: doc_enduser doc_full doc_web
|
||||
|
||||
doc_developer:
|
||||
doxygen documentation/doxygen_developer.config
|
||||
|
||||
doc_enduser:
|
||||
doxygen documentation/doxygen_enduser.config
|
||||
|
||||
|
||||
########################################################################
|
||||
# Target
|
||||
########################################################################
|
||||
|
||||
DIRS = src/spu src/ppu
|
||||
|
||||
########################################################################
|
||||
# buildutils/make.footer
|
||||
########################################################################
|
||||
|
||||
ifdef CELL_TOP
|
||||
include $(CELL_TOP)/buildutils/make.footer
|
||||
else
|
||||
include /opt/cell/sdk/buildutils/make.footer
|
||||
endif
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
# MOC - MPI On Cell
|
||||
|
||||
|
||||
The idea of this project is to implement a message passing library for work on the Cell BE.
|
||||
The main idea behind such an implementation would be to help the programmer by adding an
|
||||
layer of abstraction between the very low level libraries by IBM and give him the
|
||||
possibility to work with an interface he is more familiar with. To achieve this we decided
|
||||
to try to keep very closely to the standard provided by the Message Passing Interface (MPI),
|
||||
so that programmers knowing how to write MPI programmers can easily work with our library.
|
||||
Because of the very special nature of the Cell, it might not be possible to keep 100% true
|
||||
to the standard, but we try to introduce changes only when absolutely necessary and of
|
||||
great benefit, because of some specialties of the Cell's hardware.
|
||||
|
||||
For more information take a look into the documentation located in the directory 'document'.
|
||||
|
||||
|
||||
|
||||
## Basic Setup
|
||||
|
||||
To be able to compile this library at least Cell SDK 3.0 ( Cell SDK 3.1 would be better)
|
||||
is needed. If the SDK is correctly installed, a simple 'make' should do the job (buildutils
|
||||
provided by the Cell SDK is used).
|
||||
If using Cell SDK 3.0 and the spu-timer-library is selected as time-source on the
|
||||
SPU, the path to the header-files of the spu-timer-library has to be added. Just uncomment
|
||||
the appropriate entry in src/spu/Makefile.
|
||||
|
||||
|
||||
|
||||
## Basic Usage
|
||||
|
||||
An application using this library has to add the moc_ppu-library and the spe2-library when
|
||||
linking the PPU-executable.
|
||||
To link the SPU-executable the moc_spu-library is needed and also the sputimer-library when
|
||||
it is selected as time-source and Cell SDK 3.0 is used.
|
||||
@@ -0,0 +1,44 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): Data Structures</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 class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="dd/dfe/structerror__strings__struct.html">error_strings_struct</a></td><td class="indexvalue">Error-Strings structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="d4/da3/structimoc__dma__request__struct.html">imoc_dma_request_struct</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="d9/d89/structimoc__issend__request__struct.html">imoc_issend_request_struct</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="dd/dc0/structmoc__internal__buffer__node__struct.html">moc_internal_buffer_node_struct</a></td><td class="indexvalue">Node of linked list holding information about allocated buffer-space </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="df/dd4/structmoc__message__envelope__struct.html">moc_message_envelope_struct</a></td><td class="indexvalue">Message-envelope structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="dd/df5/structmoc__message__status__struct.html">moc_message_status_struct</a></td><td class="indexvalue">Message-status structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="d8/d93/structmoc__node__handle__ppu__struct.html">moc_node_handle_ppu_struct</a></td><td class="indexvalue">Node-handle structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="df/dde/structmoc__node__handle__spu__struct.html">moc_node_handle_spu_struct</a></td><td class="indexvalue">Node-handle structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="d0/db8/structmoc__process__struct.html">moc_process_struct</a></td><td class="indexvalue">Process-information structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="db/d17/structmoc__request__struct.html">moc_request_struct</a></td><td class="indexvalue">Communication-Request (Handle) </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="d1/d8b/structmoc__spu__thread__struct.html">moc_spu_thread_struct</a></td><td class="indexvalue">SPU-Thread structure </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="dd/d7a/structMOC__Status__struct.html">MOC_Status_struct</a></td><td class="indexvalue">Structure holding information about a received message </td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:17 2009 for MPI On Cell (Documentation) by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,28 @@
|
||||
<!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): Summary & Conclusions</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 class="navpath"><a class="el" href="main.html">MPI On Cell</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1><a class="anchor" name="conclusion">Summary & Conclusions </a></h1>MPI wasn't designed for the Cell Broadband Engine. A common MPI-node has one or more normal CPUs and several GBytes of RAM. The Cell Broadband Engine features a normal CPU (the PPU) and several special processing units with only a very limited amount of memory. The SPUs support only one thread per SPU and a complex handling of system-calls is needed. Because of this there are several restrictions in implementing MPI on the Cell Broadband Engine.<p>
|
||||
Nevertheless MPI on Cell makes sense. It greatly simlifies programming on the Cell Broadband Engine, features a public API which is well known and widely used and message passing operations are generally easier to use than DMA (DMA needs memory-addresses and explicit synchronization, whereas MPI only needs the ranks of participating processes and features implicit synchronization).<p>
|
||||
But message parsing operations cannot replace DMA. Both methods of communication have their advantages and disadvantages and they complement one another. So this library additionally features some easy to use DMA operations, if someone wants to gain maximum performance. Using DMA alltogether with send-recv especially speeds up application with a lot of communication going on between SPUs and PPU. </div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:43 2009 for MPI On Cell (Documentation) by
|
||||
<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,3 @@
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../../moc.h" alt="" coords="139,80,219,107">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="moc_datatype.h" alt="" coords="156,155,271,181">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="295,155,425,181">
|
||||
@@ -0,0 +1 @@
|
||||
d7663ff62e467c7ce813fac164b10ed4
|
||||
|
After Width: | Height: | Size: 13 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-test_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-test_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-test_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../db/d7f/moc__dma-test__ppu_8c__incl.png" border="0" usemap="#src/ppu/dma/moc_dma-test_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/dma/moc_dma-test_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="../../d7/dc5/moc__dma-test__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#g342d07658aae4252a2e2cd6a8cc185dd">MOC_Test_data</a> (<a class="el" href="../../db/d17/structmoc__request__struct.html">MOC_Request</a> *request, int *flag)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if a MOC_IGet_data or IMOC_IPut_data is completed. <a href="../../d9/d16/group__dma__access.html#g342d07658aae4252a2e2cd6a8cc185dd"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:21 2009 for MPI On Cell (Documentation) by
|
||||
<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,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 @@
|
||||
f1c5b7115e1a242852dce3e6c29a4af2
|
||||
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,10 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="208,80,264,107">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="177,155,295,181">
|
||||
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="369,155,476,181">
|
||||
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="440,80,595,107">
|
||||
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="500,155,692,181">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="63,229,204,256">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="297,229,367,256">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="75,304,200,331">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="325,304,456,331">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="480,304,571,331">
|
||||
@@ -0,0 +1 @@
|
||||
7f65a65e380200f5fd875f69288651db
|
||||
|
After Width: | Height: | Size: 55 KiB |
@@ -0,0 +1 @@
|
||||
04bcda5ae7b865fecf3d12067d4b4b8e
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,12 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="176,155,232,181">
|
||||
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="732,229,839,256">
|
||||
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="524,80,716,107">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="49,229,167,256">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="69,304,211,331">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="400,304,469,331">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="139,379,264,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="339,379,469,405">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="649,304,740,331">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="401,155,508,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="343,229,460,256">
|
||||
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="235,304,376,331">
|
||||
@@ -0,0 +1 @@
|
||||
783e08a8acf0458a2ee24a90b0776ce3
|
||||
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,49 @@
|
||||
<!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 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>include/spu/moc.h File Reference</h1>
|
||||
<p>
|
||||
<code>#include "<a class="el" href="../../d1/d03/moc__dma__spu_8h-source.html">moc_dma_spu.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="../../d6/d82/moc__datatype__spu_8h-source.html">moc_datatype_spu.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="../../d7/de1/moc_8h-source.html">../moc.h</a>"</code><br>
|
||||
<code>#include <stdint.h></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc.h:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d3/d40/spu_2moc_8h__incl.png" border="0" usemap="#include/spu/moc.h_map" alt=""></center>
|
||||
<map name="include/spu/moc.h_map">
|
||||
<area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="32,80,149,107"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="28,155,169,181"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="193,155,263,181"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="32,229,157,256"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="232,229,363,256"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../dc/dcb/spu_2moc_8h-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 colspan="2"><div class="groupHeader">SPU-only</div></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g4d96c98b95bd1a0f6ed8c1e5e6f6c873">MOC_Init</a> (unsigned long long argp, int length, void *buffer)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize the MPI execution environment. <a href="../../d8/d9a/group__environment__startup.html#g4d96c98b95bd1a0f6ed8c1e5e6f6c873"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:49:58 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,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 @@
|
||||
d7e3cf1a7a31a34f73e79c5127c7eb19
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -0,0 +1,63 @@
|
||||
<!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-tags_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-tags_ppu.c</h1><a href="../../d0/dba/imoc__dma-tags__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 <stdint.h></span>
|
||||
<a name="l00002"></a>00002
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00004"></a>00004 <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="l00005"></a>00005 <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="l00006"></a>00006
|
||||
<a name="l00007"></a>00007 <span class="comment">/*</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * Methods for PPE tag reservation system needed for IGet and IPut. Per SPE the PPE can reserve Tags 0-14. Tag 15 is used by</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * blocking Get and Put, and more tags are not allowed on the PPE</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> */</span>
|
||||
<a name="l00011"></a>00011
|
||||
<a name="l00012"></a><a class="code" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">00012</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a>[8];
|
||||
<a name="l00013"></a>00013
|
||||
<a name="l00014"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#g29d3bf9879af70f97d63e774a5aa4d33">00014</a> <span class="keywordtype">int</span> <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>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> speid)
|
||||
<a name="l00015"></a>00015 {
|
||||
<a name="l00016"></a>00016 <span class="keywordflow">if</span> (speid > 8)
|
||||
<a name="l00017"></a>00017 <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="l00018"></a>00018 <span class="keywordtype">int</span> i;
|
||||
<a name="l00019"></a>00019 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> bit_tag = 1;
|
||||
<a name="l00020"></a>00020 <span class="keywordflow">for</span> (i = 0; i < 15; i++)
|
||||
<a name="l00021"></a>00021 {
|
||||
<a name="l00022"></a>00022 <span class="comment">// if last position is a zero the number is even</span>
|
||||
<a name="l00023"></a>00023 <span class="keywordflow">if</span> ((<a class="code" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a>[speid] >> i) % 2 == 0)
|
||||
<a name="l00024"></a>00024 {
|
||||
<a name="l00025"></a>00025 <a class="code" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a>[speid] |= bit_tag << i; <span class="comment">// set the bit found to 1</span>
|
||||
<a name="l00026"></a>00026 <span class="keywordflow">return</span> i;
|
||||
<a name="l00027"></a>00027 }
|
||||
<a name="l00028"></a>00028 }
|
||||
<a name="l00029"></a>00029 <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="l00030"></a>00030 }
|
||||
<a name="l00031"></a>00031
|
||||
<a name="l00032"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#gf465203c58c5a8066a7ef3ee91b15cec">00032</a> <span class="keywordtype">int</span> <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#gf465203c58c5a8066a7ef3ee91b15cec" title="Releases a reserved tag.">moc_tag_release</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> speid, <span class="keywordtype">int</span> tag)
|
||||
<a name="l00033"></a>00033 {
|
||||
<a name="l00034"></a>00034 <span class="keywordflow">if</span> ((speid > 8) || (tag < 0) || (tag > 14))
|
||||
<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 <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> bit_tag = 1;
|
||||
<a name="l00037"></a>00037 bit_tag = bit_tag << tag; <span class="comment">// translate the tag X to the bitmask with a 1 on only the Xth position</span>
|
||||
<a name="l00038"></a>00038 bit_tag = ~bit_tag; <span class="comment">// invert it so the position can be removed by bitwise AND</span>
|
||||
<a name="l00039"></a>00039 <a class="code" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a>[speid] &= bit_tag;
|
||||
<a name="l00040"></a>00040 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
|
||||
<a name="l00041"></a>00041 }
|
||||
</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,85 @@
|
||||
<!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-iput_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-iput_spu.c</h1><a href="../../d8/d30/imoc__dma-iput__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 <spu_mfcio.h></span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#include <<a class="code" href="../../d0/d3a/spu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include <<a class="code" href="../../dd/d9c/moc__dma__spu_8h.html">spu/moc_dma_spu.h</a>></span>
|
||||
<a name="l00007"></a>00007 <span class="preprocessor">#include <<a class="code" href="../../d2/d42/imoc__macros_8h.html">internal/imoc_macros.h</a>></span>
|
||||
<a name="l00008"></a>00008 <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="l00009"></a>00009
|
||||
<a name="l00010"></a><a class="code" href="../../d2/de2/group__internal__p2p__dma.html#ga362f58242dfec61a0a9efb4f3c7ffcb">00010</a> <span class="keywordtype">int</span> <a class="code" href="../../d2/de2/group__internal__p2p__dma.html#gc181bb2e3eb058990534c71355af3443" title="Internal wrapper-function for a non-blocking DMA-put operation.">IMOC_iput_data</a>(<span class="keywordtype">void</span>* source, uint64_t target, uint32_t size,
|
||||
<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 uint32_t tag_id;
|
||||
<a name="l00017"></a>00017
|
||||
<a name="l00018"></a>00018 <span class="keywordflow">if</span> ((tag_id = mfc_tag_reserve()) == MFC_TAG_INVALID)
|
||||
<a name="l00019"></a>00019 {
|
||||
<a name="l00020"></a>00020 <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="l00021"></a>00021 }
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a>00023 <span class="comment">/* transfers have to be multiples of 16 bytes */</span>
|
||||
<a name="l00024"></a>00024 remainder_16b = size % 16;
|
||||
<a name="l00025"></a>00025
|
||||
<a name="l00026"></a>00026 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#e9940544a153813fd1284eaa8883a1f2">remainder</a> = 0;
|
||||
<a name="l00027"></a>00027 request-><a class="code" href="../../d4/da3/structimoc__dma__request__struct.html#93345f8438f78d7a0309b4b0b0670476">tag_id</a> = tag_id;
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/* subtracting remainder means the transfer has a valid size now */</span>
|
||||
<a name="l00030"></a>00030 size -= remainder_16b;
|
||||
<a name="l00031"></a>00031 offset = 0;
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033 <span class="comment">/* first case: transfer of size smaller than maximum allowed one (16kbyte) */</span>
|
||||
<a name="l00034"></a>00034 <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="l00035"></a>00035 {
|
||||
<a name="l00036"></a>00036 mfc_put(source, target, size, tag_id, 0, 0);
|
||||
<a name="l00037"></a>00037 }
|
||||
<a name="l00038"></a>00038 <span class="comment">/* second case: transfer of bigger size is simply split into parts of 16kb */</span>
|
||||
<a name="l00039"></a>00039 <span class="keywordflow">else</span>
|
||||
<a name="l00040"></a>00040 {
|
||||
<a name="l00041"></a>00041 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="l00042"></a>00042 <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="l00043"></a>00043 {
|
||||
<a name="l00044"></a>00044 mfc_put(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="l00045"></a>00045 tag_id, 0, 0);
|
||||
<a name="l00046"></a>00046 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="l00047"></a>00047 }
|
||||
<a name="l00048"></a>00048 <span class="keywordflow">if</span> (remainder_16kb > 0)
|
||||
<a name="l00049"></a>00049 {
|
||||
<a name="l00050"></a>00050 mfc_put(source + offset, target + offset, remainder_16kb, tag_id,
|
||||
<a name="l00051"></a>00051 0, 0);
|
||||
<a name="l00052"></a>00052 }
|
||||
<a name="l00053"></a>00053 }
|
||||
<a name="l00054"></a>00054 <span class="comment">/* if size was reduced previously the remaining bytes have to be transfered */</span>
|
||||
<a name="l00055"></a>00055 <span class="keywordflow">if</span> (remainder_16b > 0)
|
||||
<a name="l00056"></a>00056 {
|
||||
<a name="l00057"></a>00057 <span class="comment">/* minimum allowed transfer is 16bytes so transfer this size */</span>
|
||||
<a name="l00058"></a>00058 mfc_put(source + size, target + size, 16, tag_id, 0, 0);
|
||||
<a name="l00059"></a>00059 }
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g8a73ed6676bcf0c0607d98482ca1aca4" title="No error.">MOC_SUCCESS</a>;
|
||||
<a name="l00062"></a>00062 }
|
||||
<a name="l00063"></a>00063
|
||||
</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,465 @@
|
||||
<!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): Point-to-Point Communication</title>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.5.6 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="../../main.html"><span>Main Page</span></a></li>
|
||||
<li><a href="../../modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Point-to-Point Communication<br>
|
||||
<small>
|
||||
[<a class="el" href="../../d3/d9e/group__end__user.html">End-User Documentation</a>]</small>
|
||||
</h1>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Point-to-Point Communication:</div>
|
||||
<div class="dynsection">
|
||||
<center><table><tr><td><img src="../../d0/d64/group__p2p__main.png" border="0" alt="" usemap="#da/d52/d0_2d64_2group____p2p____main_map">
|
||||
<map name="da/d52/d0_2d64_2group____p2p____main_map">
|
||||
<area shape="rect" href="../../d2/ded/group__p2p__sendrecv.html" title="The send-receive operations combine in one call the sending of a message to one destination..." alt="" coords="511,5,609,32"><area shape="rect" href="../../da/df0/group__p2p__status.html" title="Receiving operations return a status-object holding information about the message..." alt="" coords="509,56,611,83"><area shape="rect" href="../../d5/dc2/group__p2p__synch.html" title="Direct blocking sending of messages without any intermediate buffer." alt="" coords="464,107,656,133"><area shape="rect" href="../../dc/d6e/group__p2p__datatype.html" title="Datatypes supported by MOC." alt="" coords="520,157,600,184"><area shape="rect" href="../../de/d84/group__p2p__buffered.html" title="Blocking sending of messages with the use of an intermediate buffer." alt="" coords="479,208,641,235"><area shape="rect" href="../../d7/d62/group__p2p__imm.html" title="Non-blocking sending and receiving messages." alt="" coords="464,259,656,285"><area shape="rect" href="../../d3/d9e/group__end__user.html" title="This section describes the public API provided by the MOC-library." alt="" coords="7,132,172,159"></map></td></tr></table></center>
|
||||
</div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Sending and receiving of messages by processes is the basic MPI communication mechanism.
|
||||
<p>
|
||||
The basic point-to-point communication operations are send and receive.<p>
|
||||
<a class="el" href="../../d0/d64/group__p2p__main.html#g23e0afbe55bc4c86cb738c3361623a4c">MOC_Send</a> uses either buffered or synchronous send depending on the message-size (Short messages are transmitted using buffered send and long messages are transmitted using synchronous send).<p>
|
||||
<a class="el" href="../../d0/d64/group__p2p__main.html#g30c532510cffd36acd1b9b0b3edb3832">MOC_Recv</a> receives all messages irrespective wether buffered or synchronous communication is used.<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>Because there are separate message-queues for each remote process and no distinct global ordering of messages, there may be some situation where a message from a process may never be received. This may occur when MOC_Recv, MOC_Probe and MOC_IProbe are used with MOC_ANY_SOURCE, because then there is the possibility that new messages are received before a specific message from a process with a higher rank than the other senders. This may also occur with lower possibility when using MOC_ANY_TAG between messages from the same sender but with other tags. </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/df0/group__p2p__status.html">Return Status</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Receiving operations return a status-object holding information about the message. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d6e/group__p2p__datatype.html">Datatypes</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Datatypes supported by MOC. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/dc2/group__p2p__synch.html">Synchronous Communication</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Direct blocking sending of messages without any intermediate buffer. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d84/group__p2p__buffered.html">Buffered Communication</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Blocking sending of messages with the use of an intermediate buffer. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/ded/group__p2p__sendrecv.html">Send-Receive</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The send-receive operations combine in one call the sending of a message to one destination and the receiving of another message, from another process. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d62/group__p2p__imm.html">Non-Blocking Communication</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Non-blocking sending and receiving messages. <br></td></tr>
|
||||
|
||||
<p>
|
||||
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d64/group__p2p__main.html#g1efd7c092411ed106006e6a75a1de78b">MOC_SEND_TRESHOLD</a> 4096</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Indicates, at which message-size <a class="el" href="../../d0/d64/group__p2p__main.html#g23e0afbe55bc4c86cb738c3361623a4c">MOC_Send</a> switches to synchronous send. <a href="#g1efd7c092411ed106006e6a75a1de78b"></a><br></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="../../d0/d64/group__p2p__main.html#g23e0afbe55bc4c86cb738c3361623a4c">MOC_Send</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 standard mode send operation. <a href="#g23e0afbe55bc4c86cb738c3361623a4c"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </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"> </td><td class="mdescRight">Performs a blocking standard mode receive operation. <a href="#g30c532510cffd36acd1b9b0b3edb3832"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d64/group__p2p__main.html#g39ceb4e6f08da2cd3dac3e93bb6e3ee1">MOC_Probe</a> (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"> </td><td class="mdescRight">Waits till a message is received and returns information without actually receiving the message. <a href="#g39ceb4e6f08da2cd3dac3e93bb6e3ee1"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d64/group__p2p__main.html#g0bc7e537cd866537357a01a12a115a84">MOC_Iprobe</a> (int source, int tag, <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, int *flag, <a class="el" href="../../dd/d7a/structMOC__Status__struct.html">MOC_Status</a> *status)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if a message is available and returns information without actually receiving the message. <a href="#g0bc7e537cd866537357a01a12a115a84"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Define Documentation</h2>
|
||||
<a class="anchor" name="g1efd7c092411ed106006e6a75a1de78b"></a><!-- doxytag: member="moc.h::MOC_SEND_TRESHOLD" ref="g1efd7c092411ed106006e6a75a1de78b" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MOC_SEND_TRESHOLD 4096 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Indicates, at which message-size <a class="el" href="../../d0/d64/group__p2p__main.html#g23e0afbe55bc4c86cb738c3361623a4c">MOC_Send</a> switches to synchronous send.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d7/de1/moc_8h-source.html#l00374">374</a> of file <a class="el" href="../../d7/de1/moc_8h-source.html">moc.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../d5/d4e/moc__isend_8c-source.html#l00018">MOC_ISend()</a>, and <a class="el" href="../../dd/d4a/moc__send_8c-source.html#l00019">MOC_Send()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="g0bc7e537cd866537357a01a12a115a84"></a><!-- doxytag: member="moc.h::MOC_Iprobe" ref="g0bc7e537cd866537357a01a12a115a84" args="(int source, int tag, MOC_Comm comm, int *flag, MOC_Status *status)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Iprobe </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>source</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>tag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int * </td>
|
||||
<td class="paramname"> <em>flag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../dd/d7a/structMOC__Status__struct.html">MOC_Status</a> * </td>
|
||||
<td class="paramname"> <em>status</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Tests if a message is available and returns information without actually receiving the message.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>source</em> </td><td><b>in</b> source of message </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>tag</em> </td><td><b>in</b> message-tag </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> communicator </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td><b>out</b> boolean value telling if a message is available </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td><b>out</b> status-object holding information about message </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>error-code </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../da/d3c/moc__iprobe_8c-source.html#l00005">5</a> of file <a class="el" href="../../da/d3c/moc__iprobe_8c-source.html">moc_iprobe.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00078">moc_message_envelope_struct::id</a>, <a class="el" href="../../de/dbb/imoc__get__entry_8c-source.html#l00013">IMOC_get_entry()</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00230">MOC_Status_struct::message_size</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00231">MOC_Status_struct::mid</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00229">MOC_Status_struct::MOC_ERROR</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00227">MOC_Status_struct::MOC_SOURCE</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00228">MOC_Status_struct::MOC_TAG</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00097">moc_message_envelope_struct::size</a>, and <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00079">moc_message_envelope_struct::tag</a>.</p>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g0bc7e537cd866537357a01a12a115a84_cgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g0bc7e537cd866537357a01a12a115a84_cgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g0bc7e537cd866537357a01a12a115a84_cgraph_map">
|
||||
<area shape="rect" href="../../d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="148,5,263,32"></map>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g39ceb4e6f08da2cd3dac3e93bb6e3ee1"></a><!-- doxytag: member="moc.h::MOC_Probe" ref="g39ceb4e6f08da2cd3dac3e93bb6e3ee1" args="(int source, int tag, MOC_Comm comm, MOC_Status *status)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Probe </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>source</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>tag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../dd/d7a/structMOC__Status__struct.html">MOC_Status</a> * </td>
|
||||
<td class="paramname"> <em>status</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Waits till a message is received and returns information without actually receiving the message.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>source</em> </td><td><b>in</b> source of message </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>tag</em> </td><td><b>in</b> message-tag </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> communicator </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td><b>out</b> status-object holding information about message </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>error-code </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d6/d74/moc__probe_8c-source.html#l00004">4</a> of file <a class="el" href="../../d6/d74/moc__probe_8c-source.html">moc_probe.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00078">moc_message_envelope_struct::id</a>, <a class="el" href="../../de/dbb/imoc__get__entry_8c-source.html#l00013">IMOC_get_entry()</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00230">MOC_Status_struct::message_size</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00231">MOC_Status_struct::mid</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00229">MOC_Status_struct::MOC_ERROR</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00227">MOC_Status_struct::MOC_SOURCE</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00228">MOC_Status_struct::MOC_TAG</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00097">moc_message_envelope_struct::size</a>, and <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00079">moc_message_envelope_struct::tag</a>.</p>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g39ceb4e6f08da2cd3dac3e93bb6e3ee1_cgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g39ceb4e6f08da2cd3dac3e93bb6e3ee1_cgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g39ceb4e6f08da2cd3dac3e93bb6e3ee1_cgraph_map">
|
||||
<area shape="rect" href="../../d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="148,5,263,32"></map>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g30c532510cffd36acd1b9b0b3edb3832"></a><!-- doxytag: member="moc.h::MOC_Recv" ref="g30c532510cffd36acd1b9b0b3edb3832" args="(void *buf, int count, MOC_Datatype datatype, int source, int tag, MOC_Comm comm, MOC_Status *status)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Recv </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>buf</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>count</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> </td>
|
||||
<td class="paramname"> <em>datatype</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>source</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>tag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../dd/d7a/structMOC__Status__struct.html">MOC_Status</a> * </td>
|
||||
<td class="paramname"> <em>status</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Performs a blocking standard mode receive operation.
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>This routine blocks until the message is received.</dd></dl>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td><b>inout</b> Buffer into which data should be stored </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td><b>in</b> Number of elements in receive buffer (not equal to actual byte-value) </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>datatype</em> </td><td><b>in</b> Datatype of each receive buffer element </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>source</em> </td><td><b>in</b> Rank of source </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>tag</em> </td><td><b>in</b> Tag of message </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> Communicator of message </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>status</em> </td><td><b>inout</b> Object holding status-information (has to be allocated by user) </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>error-code </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">11</a> of file <a class="el" href="../../d8/dbc/moc__recv__ppu_8c-source.html">moc_recv_ppu.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html#l00056">__attribute__()</a>, <a class="el" href="../../df/dd4/structmoc__message__envelope__struct.html#5538e79854840d3caf08b90b5409e16b">moc_message_envelope_struct::bits</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00098">moc_message_envelope_struct::datatype</a>, <a class="el" href="../../df/dd4/structmoc__message__envelope__struct.html#38288113f9b7adee1e444850112ff807">moc_message_envelope_struct::flags</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00078">moc_message_envelope_struct::id</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00049">IMOC_EA_REMOTE_STATUS_ENTRY</a>, <a class="el" href="../../d7/df2/imoc__dma-get__ppu_8c-source.html#l00009">IMOC_get_data()</a>, <a class="el" href="../../de/dbb/imoc__get__entry_8c-source.html#l00013">IMOC_get_entry()</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00108">IMOC_MESSAGE_CHANNEL_DMA</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00116">IMOC_MESSAGE_CHANNEL_ENV</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00135">IMOC_TEST_ALIGNMENT</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00116">IMOC_TEST_BUFFER</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00109">IMOC_TEST_BYTECOUNT</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00074">IMOC_TEST_COMM_RECV</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00122">IMOC_TEST_PROC_NULL</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00128">IMOC_TEST_PROC_SELF</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00102">IMOC_TEST_RANK_RECV</a>, <a class="el" href="../../d0/d87/imoc__macros_8h-source.html#l00088">IMOC_TEST_TAG_RECV</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00086">moc_spu_thread_struct::ls_base</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00099">moc_message_envelope_struct::message_address</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00230">MOC_Status_struct::message_size</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00231">MOC_Status_struct::mid</a>, <a class="el" href="../../d0/d99/moc__datatype_8h-source.html#l00038">MOC_BYTE</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00047">MOC_ERR_INTERN</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00033">MOC_ERR_TYPE</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00229">MOC_Status_struct::MOC_ERROR</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00106">moc_ppu_thread_count</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00227">MOC_Status_struct::MOC_SOURCE</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00123">moc_spu_thread_list</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00228">MOC_Status_struct::MOC_TAG</a>, <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00097">moc_message_envelope_struct::size</a>, and <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00095">moc_message_envelope_struct::value</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../da/d19/moc__bcast_8c-source.html#l00009">MOC_Bcast()</a>, <a class="el" href="../../db/da3/moc__send__recv_8c-source.html#l00003">MOC_Sendrecv()</a>, and <a class="el" href="../../d9/d96/moc__send__recv__replace_8c-source.html#l00003">MOC_Sendrecv_replace()</a>.</p>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_cgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_cgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_cgraph_map">
|
||||
<area shape="rect" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\\n");..." alt="" coords="307,5,403,32"><area shape="rect" href="../../d2/de2/group__internal__p2p__dma.html#g53d36c567e4c98e5d258a7857096e7ab" title="Internal wrapper-function for a blocking DMA-get operation." alt="" coords="144,31,256,57"><area shape="rect" href="../../d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="143,81,257,108"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the caller graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_icgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_icgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g30c532510cffd36acd1b9b0b3edb3832_icgraph_map">
|
||||
<area shape="rect" href="../../db/dc2/group__broadcast.html#gfd25e9a19a1ad4032fdf3703531167d6" title="Broadcasts a message from the process with rank "root" to all other processes..." alt="" coords="176,5,267,32"><area shape="rect" href="../../d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516" title="Execute a blocking send and receive operation." alt="" coords="165,56,277,83"><area shape="rect" href="../../d2/ded/group__p2p__sendrecv.html#g1e5b32eaefd61f863f89778dcbbb70a2" title="Execute a blocking send and receive." alt="" coords="141,107,301,133"></map>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g23e0afbe55bc4c86cb738c3361623a4c"></a><!-- doxytag: member="moc.h::MOC_Send" ref="g23e0afbe55bc4c86cb738c3361623a4c" args="(void *buf, int count, MOC_Datatype datatype, int dest, int tag, MOC_Comm comm)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Send </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>buf</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>count</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">MOC_Datatype</a> </td>
|
||||
<td class="paramname"> <em>datatype</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>dest</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>tag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Performs a blocking standard mode send operation.
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>This routine may block until the message is received.</dd></dl>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td><b>in</b> Pointer to buffer where data is stored </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>count</em> </td><td><b>in</b> Number of elements to be send (not equal to actual byte-value) </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>datatype</em> </td><td><b>in</b> Type of elements to be send </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td><b>in</b> Rank of receiving process </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>tag</em> </td><td><b>in</b> Tag of message </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> communicator of message </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>...</em> </td><td>error-code </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../dd/d4a/moc__send_8c-source.html#l00019">19</a> of file <a class="el" href="../../dd/d4a/moc__send_8c-source.html">moc_send.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../d2/db6/moc__bsend__ppu_8c-source.html#l00010">MOC_Bsend()</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00374">MOC_SEND_TRESHOLD</a>, and <a class="el" href="../../d4/db6/moc__ssend__ppu_8c-source.html#l00010">MOC_Ssend()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../db/da3/moc__send__recv_8c-source.html#l00003">MOC_Sendrecv()</a>, and <a class="el" href="../../d9/d96/moc__send__recv__replace_8c-source.html#l00003">MOC_Sendrecv_replace()</a>.</p>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_cgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_cgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_cgraph_map">
|
||||
<area shape="rect" href="../../de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="141,157,237,184"><area shape="rect" href="../../d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120" title="Performs a blocking synchronous mode send operation." alt="" coords="141,107,237,133"><area shape="rect" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\\n");..." alt="" coords="348,56,444,83"><area shape="rect" href="../../d3/dd3/group__internal__p2p__bmalloc.html#g5295b372d853993b2e6cfb6912a0ee41" title="Allocate buffer-space." alt="" coords="343,208,449,235"><area shape="rect" 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..." alt="" coords="328,107,464,133"><area shape="rect" href="../../d8/d88/group__internal__p2p__main.html#g409bdbea503611cf04829413d15830df" title="Get free message-ID." alt="" coords="332,157,460,184"><area shape="rect" href="../../d2/de2/group__internal__p2p__dma.html#gb48c58191a7cf4d3e502d1c7a6c0ab9c" title="Internal wrapper-function for a blocking DMA-put operation." alt="" coords="340,259,452,285"><area shape="rect" href="../../d8/d88/group__internal__p2p__main.html#g8675f9552168f2dd8926cad5ac00be69" title="Wait till message with message-ID mid has been received." alt="" coords="285,5,507,32"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Here is the caller graph for this function:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_icgraph.png" border="0" usemap="#d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_icgraph_map" alt=""></center>
|
||||
<map name="d0/d64/group__p2p__main_g23e0afbe55bc4c86cb738c3361623a4c_icgraph_map">
|
||||
<area shape="rect" href="../../d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516" title="Execute a blocking send and receive operation." alt="" coords="165,5,277,32"><area shape="rect" href="../../d2/ded/group__p2p__sendrecv.html#g1e5b32eaefd61f863f89778dcbbb70a2" title="Execute a blocking send and receive." alt="" coords="141,56,301,83"></map>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:48 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>
|
||||
|
After Width: | Height: | Size: 19 KiB |
@@ -0,0 +1 @@
|
||||
<area shape="rect" href="$d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="148,5,263,32">
|
||||
@@ -0,0 +1 @@
|
||||
fd34f01d6a8f98624433a82598387889
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1,8 @@
|
||||
<area shape="rect" href="$de/d84/group__p2p__buffered.html#g307bf844e1416c7c021e4a3468209d0b" title="Performs a blocking buffered mode send operation." alt="" coords="141,157,237,184">
|
||||
<area shape="rect" href="$d5/dc2/group__p2p__synch.html#g46cb2ff2b5a0601165978598932d6120" title="Performs a blocking synchronous mode send operation." alt="" coords="141,107,237,133">
|
||||
<area shape="rect" href="$d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\\n");..." alt="" coords="348,56,444,83">
|
||||
<area shape="rect" href="$d3/dd3/group__internal__p2p__bmalloc.html#g5295b372d853993b2e6cfb6912a0ee41" title="Allocate buffer-space." alt="" coords="343,208,449,235">
|
||||
<area shape="rect" 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..." alt="" coords="328,107,464,133">
|
||||
<area shape="rect" href="$d8/d88/group__internal__p2p__main.html#g409bdbea503611cf04829413d15830df" title="Get free message-ID." alt="" coords="332,157,460,184">
|
||||
<area shape="rect" href="$d2/de2/group__internal__p2p__dma.html#gb48c58191a7cf4d3e502d1c7a6c0ab9c" title="Internal wrapper-function for a blocking DMA-put operation." alt="" coords="340,259,452,285">
|
||||
<area shape="rect" href="$d8/d88/group__internal__p2p__main.html#g8675f9552168f2dd8926cad5ac00be69" title="Wait till message with message-ID mid has been received." alt="" coords="285,5,507,32">
|
||||
@@ -0,0 +1 @@
|
||||
e6125c06c561393cdfea4720ef1f9439
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,2 @@
|
||||
<area shape="rect" href="$d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516" title="Execute a blocking send and receive operation." alt="" coords="165,5,277,32">
|
||||
<area shape="rect" href="$d2/ded/group__p2p__sendrecv.html#g1e5b32eaefd61f863f89778dcbbb70a2" title="Execute a blocking send and receive." alt="" coords="141,56,301,83">
|
||||
@@ -0,0 +1 @@
|
||||
efbc291e43ab69c23c75573d0ff1425a
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,3 @@
|
||||
<area shape="rect" href="$d3/dd3/group__internal__p2p__bmalloc.html#gad8750c7ba3d6da9c137c2c462d2c531" title="void bmalloc_print_nodes() { if (!bmalloc_first_node) printf("No nodes in list\\n");..." alt="" coords="307,5,403,32">
|
||||
<area shape="rect" href="$d2/de2/group__internal__p2p__dma.html#g53d36c567e4c98e5d258a7857096e7ab" title="Internal wrapper-function for a blocking DMA-get operation." alt="" coords="144,31,256,57">
|
||||
<area shape="rect" href="$d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="143,81,257,108">
|
||||
@@ -0,0 +1 @@
|
||||
491d115c8e8ce30ce707f1813ed295b3
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
@@ -0,0 +1,3 @@
|
||||
<area shape="rect" href="$db/dc2/group__broadcast.html#gfd25e9a19a1ad4032fdf3703531167d6" title="Broadcasts a message from the process with rank "root" to all other processes..." alt="" coords="176,5,267,32">
|
||||
<area shape="rect" href="$d2/ded/group__p2p__sendrecv.html#g70885aadac98497e169267e74abee516" title="Execute a blocking send and receive operation." alt="" coords="165,56,277,83">
|
||||
<area shape="rect" href="$d2/ded/group__p2p__sendrecv.html#g1e5b32eaefd61f863f89778dcbbb70a2" title="Execute a blocking send and receive." alt="" coords="141,107,301,133">
|
||||
@@ -0,0 +1 @@
|
||||
d0319d325b405a1f1d56457a30650cdd
|
||||
|
After Width: | Height: | Size: 6.8 KiB |
@@ -0,0 +1 @@
|
||||
<area shape="rect" href="$d8/d88/group__internal__p2p__main.html#g8980da77fa506e9a6d503c8c6eba68e2" title="Get the next valid message-envelope from "source" with specified "tag"..." alt="" coords="148,5,263,32">
|
||||
@@ -0,0 +1 @@
|
||||
f67694c219f42597e6d63ac5f14f8f76
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
||||
a29a8f0e6f1cedd21aa86adc9307ddbd
|
||||
|
After Width: | Height: | Size: 9.3 KiB |
@@ -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/ppu/internal/imoc_core_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/imoc_core_ppu.c</h1><a href="../../df/d69/imoc__core__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 <<a class="code" href="../../d6/d09/imoc__core__ppu_8h.html">internal/ppu/imoc_core_ppu.h</a>></span>
|
||||
<a name="l00002"></a>00002
|
||||
<a name="l00003"></a><a class="code" href="../../df/d69/imoc__core__ppu_8c.html#eed5a271d50368d3cf9a858c4f57c895">00003</a> <a class="code" href="../../d8/d93/structmoc__node__handle__ppu__struct.html" title="Node-handle structure.">moc_node_handle_ppu_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
|
||||
<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,163 @@
|
||||
<!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_macros.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_macros.h</h1><a href="../../d2/d42/imoc__macros_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_ADDRESS_MACROS_H_</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_INTERNAL_ADDRESS_MACROS_H_</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00004"></a>00004 <span class="comment">/**</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * \addtogroup internal_am</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00007"></a>00007 <span class="comment">//@{</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"></span><span class="comment">/**</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * @name PPU & SPU</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00011"></a>00011 <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"> * Effective base-address of own remote queue at node 'rank'.</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> *</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> * Address is of type uint64_t</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> **/</span>
|
||||
<a name="l00019"></a><a class="code" href="../../df/ddf/group__internal__am.html#gf02c3d971a2b5e72d22c9c16b1748c04">00019</a> <span class="preprocessor">#define IMOC_EA_REMOTE_QUEUE(proc) ( (proc > node_handle.rank) ? node_handle.moc_process_list[proc].inbox_queue_base+sizeof(moc_message_envelope_t)*node_handle.queue_size*node_handle.rank : node_handle.moc_process_list[proc].inbox_queue_base+sizeof(moc_message_envelope_t)*node_handle.queue_size*(node_handle.rank-1) )</span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00021"></a>00021 <span class="comment">/**</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * Effective Base-Address of local queue responsible for node 'rank'.</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> *</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * Address is of type moc_message_envelope_t*</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> **/</span>
|
||||
<a name="l00026"></a><a class="code" href="../../df/ddf/group__internal__am.html#gf7dce8bc9c6659f94b3431225de2e595">00026</a> <span class="preprocessor">#define IMOC_LOCAL_QUEUE(proc) ( (proc < node_handle.rank) ? node_handle.message_queue_base+node_handle.queue_size*(proc) : node_handle.message_queue_base+node_handle.queue_size*(proc-1) )</span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor"></span>
|
||||
<a name="l00028"></a>00028 <span class="comment"></span>
|
||||
<a name="l00029"></a>00029 <span class="comment">/**</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> * Effective base-address of own remote queue-entry at node 'rank'.</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> *</span>
|
||||
<a name="l00032"></a>00032 <span class="comment"> * Address is of type uint64_t</span>
|
||||
<a name="l00033"></a>00033 <span class="comment"> **/</span>
|
||||
<a name="l00034"></a><a class="code" href="../../df/ddf/group__internal__am.html#gf9ad028ccbfa406c49a0ebd943486698">00034</a> <span class="preprocessor">#define IMOC_EA_REMOTE_QUEUE_ENTRY(proc, index) ( (proc > node_handle.rank) ? node_handle.moc_process_list[proc].inbox_queue_base+sizeof(moc_message_envelope_t)*node_handle.queue_size*node_handle.rank+sizeof(moc_message_envelope_t)*(index) : node_handle.moc_process_list[proc].inbox_queue_base+sizeof(moc_message_envelope_t)*node_handle.queue_size*(node_handle.rank-1)+sizeof(moc_message_envelope_t)*(index) )</span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00036"></a>00036 <span class="comment">/**</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> * Effective Base-Address of local queue-entry responsible for node 'rank'.</span>
|
||||
<a name="l00038"></a>00038 <span class="comment"> *</span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> * Address is of type moc_message_envelope_t*</span>
|
||||
<a name="l00040"></a>00040 <span class="comment"> **/</span>
|
||||
<a name="l00041"></a><a class="code" href="../../df/ddf/group__internal__am.html#gff30b49c33a20273c4353dc945a8d870">00041</a> <span class="preprocessor">#define IMOC_LOCAL_QUEUE_ENTRY(proc, index) ( (proc < node_handle.rank) ? node_handle.message_queue_base+node_handle.queue_size*(proc)+(index) : node_handle.message_queue_base+node_handle.queue_size*(proc-1)+(index) )</span>
|
||||
<a name="l00042"></a>00042 <span class="preprocessor"></span>
|
||||
<a name="l00043"></a>00043 <span class="comment"></span>
|
||||
<a name="l00044"></a>00044 <span class="comment">/**</span>
|
||||
<a name="l00045"></a>00045 <span class="comment"> * Effective Address of remote status-array entry at node 'rank'.</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> *</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> * Address is of type uint64_t</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> **/</span>
|
||||
<a name="l00049"></a><a class="code" href="../../df/ddf/group__internal__am.html#g55e4226e422d3dbf1a1ee6a871c09da7">00049</a> <span class="preprocessor">#define IMOC_EA_REMOTE_STATUS_ENTRY(id, rank) ( node_handle.moc_process_list[rank].stat_array_base+sizeof(moc_message_status_t)*(id) )</span>
|
||||
<a name="l00050"></a>00050 <span class="preprocessor"></span>
|
||||
<a name="l00051"></a>00051 <span class="comment"></span>
|
||||
<a name="l00052"></a>00052 <span class="comment">//@}</span>
|
||||
<a name="l00053"></a>00053 <span class="comment"></span><span class="comment">//@}</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"></span>
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056 <span class="comment"></span>
|
||||
<a name="l00057"></a>00057 <span class="comment">/**</span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> * \addtogroup internal_tm</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00060"></a>00060 <span class="comment">//@{</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"></span>
|
||||
<a name="l00062"></a>00062 <span class="comment"></span>
|
||||
<a name="l00063"></a>00063 <span class="comment">/**</span>
|
||||
<a name="l00064"></a>00064 <span class="comment"> * Tests if invalid communicator in a send-operation.</span>
|
||||
<a name="l00065"></a>00065 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> **/</span>
|
||||
<a name="l00067"></a><a class="code" href="../../d3/d32/group__internal__tm.html#gfc07f5e570f47525b80a1f3e5a36b3b3">00067</a> <span class="preprocessor">#define IMOC_TEST_COMM_SEND(comm) if ( (comm) != MOC_COMM_WORLD && (comm) != MOC_COMM_SELF ) \</span>
|
||||
<a name="l00068"></a>00068 <span class="preprocessor"> { return MOC_ERR_COMM; }</span>
|
||||
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00070"></a>00070 <span class="comment">/**</span>
|
||||
<a name="l00071"></a>00071 <span class="comment"> * Tests if invalid communicator in a recv-operation.</span>
|
||||
<a name="l00072"></a>00072 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00073"></a>00073 <span class="comment"> **/</span>
|
||||
<a name="l00074"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g7e5044180aa40d4a5a41108f88559871">00074</a> <span class="preprocessor">#define IMOC_TEST_COMM_RECV(comm) if ( (comm) != MOC_COMM_WORLD && (comm) != MOC_COMM_SELF ) \</span>
|
||||
<a name="l00075"></a>00075 <span class="preprocessor"> { return MOC_ERR_COMM; }</span>
|
||||
<a name="l00076"></a>00076 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00077"></a>00077 <span class="comment">/**</span>
|
||||
<a name="l00078"></a>00078 <span class="comment"> * Tests if invalid tag in a send-operation.</span>
|
||||
<a name="l00079"></a>00079 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00080"></a>00080 <span class="comment"> **/</span>
|
||||
<a name="l00081"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g49637a9f588e1c44584d8def5c45e811">00081</a> <span class="preprocessor">#define IMOC_TEST_TAG_SEND(tag) if ( (tag) > 255 || (tag) < 0 ) \</span>
|
||||
<a name="l00082"></a>00082 <span class="preprocessor"> { return MOC_ERR_TAG; }</span>
|
||||
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00084"></a>00084 <span class="comment">/**</span>
|
||||
<a name="l00085"></a>00085 <span class="comment"> * Tests if invalid tag in a recv-operation.</span>
|
||||
<a name="l00086"></a>00086 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00087"></a>00087 <span class="comment"> **/</span>
|
||||
<a name="l00088"></a><a class="code" href="../../d3/d32/group__internal__tm.html#ge0070a22959ddde28816cc5676687b1d">00088</a> <span class="preprocessor">#define IMOC_TEST_TAG_RECV(tag) if ( (tag)!=MOC_ANY_TAG && ((tag) > 255 || (tag) < 0) ) \</span>
|
||||
<a name="l00089"></a>00089 <span class="preprocessor"> { return MOC_ERR_TAG; }</span>
|
||||
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00091"></a>00091 <span class="comment">/**</span>
|
||||
<a name="l00092"></a>00092 <span class="comment"> * Tests if invalid rank.</span>
|
||||
<a name="l00093"></a>00093 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00094"></a>00094 <span class="comment"> **/</span>
|
||||
<a name="l00095"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g1dfddaa8f7d9aad32b00248c7dc782d2">00095</a> <span class="preprocessor">#define IMOC_TEST_RANK(rank) if ( (rank) < 0 || (rank) >= node_handle.comm_size ) \</span>
|
||||
<a name="l00096"></a>00096 <span class="preprocessor"> { return MOC_ERR_RANK; }</span>
|
||||
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00098"></a>00098 <span class="comment">/**</span>
|
||||
<a name="l00099"></a>00099 <span class="comment"> * Tests if invalid rank in a recv-operation.</span>
|
||||
<a name="l00100"></a>00100 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00101"></a>00101 <span class="comment"> **/</span>
|
||||
<a name="l00102"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g796b45379e44e6ad2d1895ac56d80d3c">00102</a> <span class="preprocessor">#define IMOC_TEST_RANK_RECV(rank) if ( rank != MOC_ANY_SOURCE && ((rank) < 0 || (rank) >= node_handle.comm_size) ) \</span>
|
||||
<a name="l00103"></a>00103 <span class="preprocessor"> { return MOC_ERR_RANK; }</span>
|
||||
<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00105"></a>00105 <span class="comment">/**</span>
|
||||
<a name="l00106"></a>00106 <span class="comment"> * Tests if invalid byte-count in a recv-operation.</span>
|
||||
<a name="l00107"></a>00107 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00108"></a>00108 <span class="comment"> **/</span>
|
||||
<a name="l00109"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g8026463e106a01cc8efb816d7dc1036a">00109</a> <span class="preprocessor">#define IMOC_TEST_BYTECOUNT(count) if ( (count) < 0 || (count) > MAX_MOC_MESSAGE_SIZE ) \</span>
|
||||
<a name="l00110"></a>00110 <span class="preprocessor"> { return MOC_ERR_COUNT; }</span>
|
||||
<a name="l00111"></a>00111 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00112"></a>00112 <span class="comment">/**</span>
|
||||
<a name="l00113"></a>00113 <span class="comment"> * Tests if invalid buffer-pointer.</span>
|
||||
<a name="l00114"></a>00114 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00115"></a>00115 <span class="comment"> **/</span>
|
||||
<a name="l00116"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g52f61fd7f3253d10b740a9fc792052c6">00116</a> <span class="preprocessor">#define IMOC_TEST_BUFFER(buf) if ( (buf) == 0 ) \</span>
|
||||
<a name="l00117"></a>00117 <span class="preprocessor"> { return MOC_ERR_BUFFER; }</span>
|
||||
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00119"></a>00119 <span class="comment">/**</span>
|
||||
<a name="l00120"></a>00120 <span class="comment"> * Tests if rank is MOC_PROC_NULL and returns with MOC_SUCCESS itself.</span>
|
||||
<a name="l00121"></a>00121 <span class="comment"> **/</span>
|
||||
<a name="l00122"></a><a class="code" href="../../d3/d32/group__internal__tm.html#g615b65fb3c3ad16711686a178ac7d1c3">00122</a> <span class="preprocessor">#define IMOC_TEST_PROC_NULL(rank) if ((rank) == MOC_PROC_NULL ) \</span>
|
||||
<a name="l00123"></a>00123 <span class="preprocessor"> { return MOC_SUCCESS; }</span>
|
||||
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00125"></a>00125 <span class="comment">/**</span>
|
||||
<a name="l00126"></a>00126 <span class="comment"> * Tests if rank is own rank and returns with MOC_SUCCESS itself.</span>
|
||||
<a name="l00127"></a>00127 <span class="comment"> **/</span>
|
||||
<a name="l00128"></a><a class="code" href="../../d3/d32/group__internal__tm.html#gf902b6e1cbe077abf0f8d02a488fec8a">00128</a> <span class="preprocessor">#define IMOC_TEST_PROC_SELF(proc) if ( (proc) == node_handle.rank ) \</span>
|
||||
<a name="l00129"></a>00129 <span class="preprocessor"> { return MOC_SUCCESS; }</span>
|
||||
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00131"></a>00131 <span class="comment">/**</span>
|
||||
<a name="l00132"></a>00132 <span class="comment"> * Tests if address is 16-byte aligned.</span>
|
||||
<a name="l00133"></a>00133 <span class="comment"> * Calls return with appropriate error-code itself.</span>
|
||||
<a name="l00134"></a>00134 <span class="comment"> **/</span>
|
||||
<a name="l00135"></a><a class="code" href="../../d3/d32/group__internal__tm.html#gc89a1f53869fe90c838a714621e20d88">00135</a> <span class="preprocessor">#define IMOC_TEST_ALIGNMENT(address) if ( ((unsigned long)(address)) % 16 != 0 ) \</span>
|
||||
<a name="l00136"></a>00136 <span class="preprocessor"> { return MOC_ERR_BAD_ALIGNMENT; }</span>
|
||||
<a name="l00137"></a>00137 <span class="preprocessor"></span><span class="comment">//@}</span>
|
||||
<a name="l00138"></a>00138 <span class="comment"></span>
|
||||
<a name="l00139"></a>00139
|
||||
<a name="l00140"></a>00140
|
||||
<a name="l00141"></a>00141 <span class="preprocessor">#endif </span><span class="comment">/*MOC_INTERNAL_ADDRESS_MACROS_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,171 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): include/moc_datatype.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/moc_datatype.h</h1><a href="../../d5/d94/moc__datatype_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_H_</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_DATATYPE_H_</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00005"></a>00005
|
||||
<a name="l00006"></a>00006 <span class="comment"></span>
|
||||
<a name="l00007"></a>00007 <span class="comment">/**</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> * \addtogroup p2p_datatype</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> *</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * Datatypes supported by MOC.</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> *</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * There are the normal datatypes defined by C (char, short, int, ...) and special</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * vector-datatypes used by the Cell Broadband Engine. For more information see</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * "C/C++ Language Extensions for Cell Broadband Engine Architecture - Version 2.5"</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * chapter 1.1.</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00017"></a>00017 <span class="comment">//@{</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"></span><span class="comment">/**</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * @name PPU & SPU</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00021"></a>00021 <span class="comment">//@{</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"></span><span class="comment"></span>
|
||||
<a name="l00023"></a>00023 <span class="comment">/**</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * Typedef defining MOC_Datatype.</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> *</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * One byte is used to encode the Data-Type. The first four msb hold the</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * size in byte / 2 ( if ((datatype & 0xF0)>>4) == 0 then size = 1 else</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * size = ((datatype & 0xF0)>>4)*2 ) and the four lsb hold an id. The</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * combination of id and size is used to uniquely identify</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> * a datatype (or rather a group of datatypes belonging together).</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> **/</span>
|
||||
<a name="l00032"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a">00032</a> <span class="keyword">typedef</span> uint8_t <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a>;
|
||||
<a name="l00033"></a>00033 <span class="comment"></span>
|
||||
<a name="l00034"></a>00034 <span class="comment">/**</span>
|
||||
<a name="l00035"></a>00035 <span class="comment"> * MOC_Byte is a special datatype. It can match any datatype.</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> * It has a size of 1 byte.</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> **/</span>
|
||||
<a name="l00038"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g6462a2cd9ec6c0cb9445760ac396ec72">00038</a> <span class="preprocessor">#define MOC_BYTE ((MOC_Datatype)0+0)</span>
|
||||
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00040"></a>00040 <span class="comment">/**</span>
|
||||
<a name="l00041"></a>00041 <span class="comment"> * C-Datatype char.</span>
|
||||
<a name="l00042"></a>00042 <span class="comment"> * It has a size of 1 byte.</span>
|
||||
<a name="l00043"></a>00043 <span class="comment"> **/</span>
|
||||
<a name="l00044"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g022696d5df791525793150cc3fa1404d">00044</a> <span class="preprocessor">#define MOC_CHAR ((MOC_Datatype)0+1)</span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00046"></a>00046 <span class="comment">/**</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> * C-Datatype unsigned char.</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> * It has a size of 1 byte.</span>
|
||||
<a name="l00049"></a>00049 <span class="comment"> **/</span>
|
||||
<a name="l00050"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g11c8f43b6a61c5d1fe0950c51b2658d7">00050</a> <span class="preprocessor">#define MOC_UNSIGNED_CHAR ((MOC_Datatype)0+2)</span>
|
||||
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00052"></a>00052 <span class="comment">/**</span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> * C-Datatype short.</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"> * It has a size of 2 byte.</span>
|
||||
<a name="l00055"></a>00055 <span class="comment"> **/</span>
|
||||
<a name="l00056"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g448c8046fc3be4e6a5937953e660ef23">00056</a> <span class="preprocessor">#define MOC_SHORT ((MOC_Datatype)16+0)</span>
|
||||
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00058"></a>00058 <span class="comment">/**</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> * C-Datatype unsigned short.</span>
|
||||
<a name="l00060"></a>00060 <span class="comment"> * It has a size of 2 byte.</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"> **/</span>
|
||||
<a name="l00062"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g7ff42e830b5855f22684868c215b9678">00062</a> <span class="preprocessor">#define MOC_UNSIGNED_SHORT ((MOC_Datatype)16+1)</span>
|
||||
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00064"></a>00064 <span class="comment">/**</span>
|
||||
<a name="l00065"></a>00065 <span class="comment"> * C-Datatype int.</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> * It has a size of 4 byte.</span>
|
||||
<a name="l00067"></a>00067 <span class="comment"> **/</span>
|
||||
<a name="l00068"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gc928d8f53f09f8405d6de2244b506d61">00068</a> <span class="preprocessor">#define MOC_INT ((MOC_Datatype)32+0)</span>
|
||||
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00070"></a>00070 <span class="comment">/**</span>
|
||||
<a name="l00071"></a>00071 <span class="comment"> * C-Datatype unsigned int.</span>
|
||||
<a name="l00072"></a>00072 <span class="comment"> * It has a size of 4 byte.</span>
|
||||
<a name="l00073"></a>00073 <span class="comment"> **/</span>
|
||||
<a name="l00074"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g367725451f261222bc8035b593c1dd84">00074</a> <span class="preprocessor">#define MOC_UNSIGNED ((MOC_Datatype)32+1)</span>
|
||||
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00076"></a>00076 <span class="comment">/**</span>
|
||||
<a name="l00077"></a>00077 <span class="comment"> * C-Datatype long long.</span>
|
||||
<a name="l00078"></a>00078 <span class="comment"> * It has a size of 8 byte.</span>
|
||||
<a name="l00079"></a>00079 <span class="comment"> **/</span>
|
||||
<a name="l00080"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g2a011db78a35d63a6927a5713d1d8f63">00080</a> <span class="preprocessor">#define MOC_LONG_LONG ((MOC_Datatype)64+0)</span>
|
||||
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00082"></a>00082 <span class="comment">/**</span>
|
||||
<a name="l00083"></a>00083 <span class="comment"> * C-Datatype unsigned long long.</span>
|
||||
<a name="l00084"></a>00084 <span class="comment"> * It has a size of 8 byte.</span>
|
||||
<a name="l00085"></a>00085 <span class="comment"> **/</span>
|
||||
<a name="l00086"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#ga99c6a2d2d560a49f7a09cf4ee20f440">00086</a> <span class="preprocessor">#define MOC_UNSIGNED_LONG_LONG ((MOC_Datatype)64+1)</span>
|
||||
<a name="l00087"></a>00087 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00088"></a>00088 <span class="comment">/**</span>
|
||||
<a name="l00089"></a>00089 <span class="comment"> * C-Datatype float.</span>
|
||||
<a name="l00090"></a>00090 <span class="comment"> * It has a size of 4 byte.</span>
|
||||
<a name="l00091"></a>00091 <span class="comment"> **/</span>
|
||||
<a name="l00092"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gae9a34cd3ac381b9b7427db7902e06ba">00092</a> <span class="preprocessor">#define MOC_FLOAT ((MOC_Datatype)32+2)</span>
|
||||
<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00094"></a>00094 <span class="comment">/**</span>
|
||||
<a name="l00095"></a>00095 <span class="comment"> * C-Datatype double.</span>
|
||||
<a name="l00096"></a>00096 <span class="comment"> * It has a size of 8 byte.</span>
|
||||
<a name="l00097"></a>00097 <span class="comment"> **/</span>
|
||||
<a name="l00098"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g3ea523671eaeaf32160ddc4b447e47fa">00098</a> <span class="preprocessor">#define MOC_DOUBLE ((MOC_Datatype)64+5)</span>
|
||||
<a name="l00099"></a>00099 <span class="preprocessor"></span>
|
||||
<a name="l00100"></a>00100 <span class="comment"></span>
|
||||
<a name="l00101"></a>00101 <span class="comment">/**</span>
|
||||
<a name="l00102"></a>00102 <span class="comment"> * Cell-specific Datatype vector unsigned char (vec_uchar16).</span>
|
||||
<a name="l00103"></a>00103 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00104"></a>00104 <span class="comment"> **/</span>
|
||||
<a name="l00105"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g6e4b8858f8baa34cd254610445292e2c">00105</a> <span class="preprocessor">#define MOC_VEC_UCHAR16 ((MOC_Datatype)128+0)</span>
|
||||
<a name="l00106"></a>00106 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00107"></a>00107 <span class="comment">/**</span>
|
||||
<a name="l00108"></a>00108 <span class="comment"> * Cell-specific Datatype vector unsigned short (vec_ushort8).</span>
|
||||
<a name="l00109"></a>00109 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00110"></a>00110 <span class="comment"> **/</span>
|
||||
<a name="l00111"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g15fefb339c331120b7166c45a21e90d5">00111</a> <span class="preprocessor">#define MOC_VEC_USHORT8 ((MOC_Datatype)128+1)</span>
|
||||
<a name="l00112"></a>00112 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00113"></a>00113 <span class="comment">/**</span>
|
||||
<a name="l00114"></a>00114 <span class="comment"> * Cell-specific Datatype vector unsigned int (vec_uint4).</span>
|
||||
<a name="l00115"></a>00115 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00116"></a>00116 <span class="comment"> **/</span>
|
||||
<a name="l00117"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#gcca02cda68af06c8d3523ddc1884bbaf">00117</a> <span class="preprocessor">#define MOC_VEC_UINT4 ((MOC_Datatype)128+2)</span>
|
||||
<a name="l00118"></a>00118 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00119"></a>00119 <span class="comment">/**</span>
|
||||
<a name="l00120"></a>00120 <span class="comment"> * Cell-specific Datatype vector signed char (vec_char16).</span>
|
||||
<a name="l00121"></a>00121 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00122"></a>00122 <span class="comment"> **/</span>
|
||||
<a name="l00123"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g46f26a2dc0bd937a492890408eb0096a">00123</a> <span class="preprocessor">#define MOC_VEC_CHAR16 ((MOC_Datatype)128+4)</span>
|
||||
<a name="l00124"></a>00124 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00125"></a>00125 <span class="comment">/**</span>
|
||||
<a name="l00126"></a>00126 <span class="comment"> * Cell-specific Datatype vector signed short (vec_short8).</span>
|
||||
<a name="l00127"></a>00127 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00128"></a>00128 <span class="comment"> **/</span>
|
||||
<a name="l00129"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g7c1826e9569a0413783a3cda94701e5e">00129</a> <span class="preprocessor">#define MOC_VEC_SHORT8 ((MOC_Datatype)128+3)</span>
|
||||
<a name="l00130"></a>00130 <span class="preprocessor"></span><span class="comment"></span>
|
||||
<a name="l00131"></a>00131 <span class="comment">/**</span>
|
||||
<a name="l00132"></a>00132 <span class="comment"> * Cell-specific Datatype vector signed int (vec_int4).</span>
|
||||
<a name="l00133"></a>00133 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00134"></a>00134 <span class="comment"> **/</span>
|
||||
<a name="l00135"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g323f5fd7cc11fa35455060816adcdf13">00135</a> <span class="preprocessor">#define MOC_VEC_INT4 ((MOC_Datatype)128+5)</span>
|
||||
<a name="l00136"></a>00136 <span class="preprocessor"></span>
|
||||
<a name="l00137"></a>00137 <span class="comment"></span>
|
||||
<a name="l00138"></a>00138 <span class="comment">/**</span>
|
||||
<a name="l00139"></a>00139 <span class="comment"> * Cell-specific Datatype vector float (vec_float4).</span>
|
||||
<a name="l00140"></a>00140 <span class="comment"> * It has a size of 16 byte.</span>
|
||||
<a name="l00141"></a>00141 <span class="comment"> **/</span>
|
||||
<a name="l00142"></a><a class="code" href="../../dc/d6e/group__p2p__datatype.html#g257aaa00d63f4bdbe56428c8687a070a">00142</a> <span class="preprocessor">#define MOC_VEC_FLOAT4 ((MOC_Datatype)128+6)</span>
|
||||
<a name="l00143"></a>00143 <span class="preprocessor"></span>
|
||||
<a name="l00144"></a>00144
|
||||
<a name="l00145"></a>00145
|
||||
<a name="l00146"></a>00146 <span class="comment"></span>
|
||||
<a name="l00147"></a>00147 <span class="comment">//@}</span>
|
||||
<a name="l00148"></a>00148 <span class="comment"></span><span class="comment">//@}</span>
|
||||
<a name="l00149"></a>00149 <span class="comment"></span><span class="preprocessor">#endif </span><span class="comment">/*MOC_DATATYPE_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,14 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="144,155,200,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="657,229,799,256">
|
||||
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="260,229,367,256">
|
||||
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="1057,80,1212,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="841,80,1033,107">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="17,229,135,256">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="101,304,243,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="317,379,443,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="517,379,648,405">
|
||||
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="543,304,684,331">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="708,304,799,331">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="788,155,895,181">
|
||||
@@ -0,0 +1 @@
|
||||
2dc3b73d960ab0a0d9a20fcb069dd70b
|
||||
|
After Width: | Height: | Size: 109 KiB |
@@ -0,0 +1,170 @@
|
||||
<!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): moc_process_struct Struct 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 class="current"><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>moc_process_struct Struct Reference<br>
|
||||
<small>
|
||||
[<a class="el" href="../../dd/df8/group__internal__core.html">Implementation-Core</a>]</small>
|
||||
</h1><!-- doxytag: class="moc_process_struct" --><code>#include <<a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>></code>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for moc_process_struct:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d0/d65/structmoc__process__struct__coll__graph.png" border="0" usemap="#df/d6e/moc__process__struct__coll__map" alt="Collaboration graph"></center>
|
||||
<center><font size="2">[<a target="top" href="../../graph_legend.html">legend</a>]</font></center></div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Process-information structure.
|
||||
<p>
|
||||
Stores information about a MOC-Process. This information is used for communication between the processes.
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00162">162</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db8/structmoc__process__struct.html#9fa234bed220e0a3daa5b110a036e72e">type</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Process-type (SPU or PPU). <a href="#9fa234bed220e0a3daa5b110a036e72e"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db8/structmoc__process__struct.html#3214c8e3b36c00b159209bbaf277e53d">reserved</a> [7]</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">reserved <a href="#3214c8e3b36c00b159209bbaf277e53d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db8/structmoc__process__struct.html#9aefc9d4ee29f7c0ca1dff18cb41713c">inbox_queue_base</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">effective base-address of message-queues <a href="#9aefc9d4ee29f7c0ca1dff18cb41713c"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db8/structmoc__process__struct.html#6331f5f40bddc0b08409a3599af9b8c8">stat_array_base</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">effective base-address of message-status-array <a href="#6331f5f40bddc0b08409a3599af9b8c8"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/db8/structmoc__process__struct.html#a8eea33631234dc3eccf859a3d3de40e">ps_base</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">effective base-address of problem-state (Signals, mailboxes, . <a href="#a8eea33631234dc3eccf859a3d3de40e"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Field Documentation</h2>
|
||||
<a class="anchor" name="9fa234bed220e0a3daa5b110a036e72e"></a><!-- doxytag: member="moc_process_struct::type" ref="9fa234bed220e0a3daa5b110a036e72e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t <a class="el" href="../../d0/db8/structmoc__process__struct.html#9fa234bed220e0a3daa5b110a036e72e">moc_process_struct::type</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Process-type (SPU or PPU).
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00164">164</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="3214c8e3b36c00b159209bbaf277e53d"></a><!-- doxytag: member="moc_process_struct::reserved" ref="3214c8e3b36c00b159209bbaf277e53d" args="[7]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t <a class="el" href="../../d0/db8/structmoc__process__struct.html#3214c8e3b36c00b159209bbaf277e53d">moc_process_struct::reserved</a>[7] </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
reserved
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00165">165</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="9aefc9d4ee29f7c0ca1dff18cb41713c"></a><!-- doxytag: member="moc_process_struct::inbox_queue_base" ref="9aefc9d4ee29f7c0ca1dff18cb41713c" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t <a class="el" href="../../d0/db8/structmoc__process__struct.html#9aefc9d4ee29f7c0ca1dff18cb41713c">moc_process_struct::inbox_queue_base</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
effective base-address of message-queues
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00166">166</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="6331f5f40bddc0b08409a3599af9b8c8"></a><!-- doxytag: member="moc_process_struct::stat_array_base" ref="6331f5f40bddc0b08409a3599af9b8c8" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t <a class="el" href="../../d0/db8/structmoc__process__struct.html#6331f5f40bddc0b08409a3599af9b8c8">moc_process_struct::stat_array_base</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
effective base-address of message-status-array
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00167">167</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a8eea33631234dc3eccf859a3d3de40e"></a><!-- doxytag: member="moc_process_struct::ps_base" ref="a8eea33631234dc3eccf859a3d3de40e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t <a class="el" href="../../d0/db8/structmoc__process__struct.html#a8eea33631234dc3eccf859a3d3de40e">moc_process_struct::ps_base</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
effective base-address of problem-state (Signals, mailboxes, .
|
||||
<p>
|
||||
..)
|
||||
<p>Definition at line <a class="el" href="../../d6/d2c/imoc__core_8h-source.html#l00168">168</a> of file <a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dd/dcb/moc__init__ppu_8c-source.html#l00011">MOC_Init()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>include/internal/<a class="el" href="../../d6/d2c/imoc__core_8h-source.html">imoc_core.h</a></ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:21 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,74 @@
|
||||
<!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-tags_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/internal/dma/imoc_dma-tags_ppu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <stdint.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="../../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>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for imoc_dma-tags_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../dc/ddb/imoc__dma-tags__ppu_8c__incl.png" border="0" usemap="#src/ppu/internal/dma/imoc_dma-tags_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/internal/dma/imoc_dma-tags_ppu.c_map">
|
||||
<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"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d0/d43/imoc__dma-tags__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="../../d2/de2/group__internal__p2p__dma.html#g29d3bf9879af70f97d63e774a5aa4d33">moc_tag_reserve</a> (unsigned int speid)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Reserves a tag on the ppu, for communication with a given spu. <a href="../../d2/de2/group__internal__p2p__dma.html#g29d3bf9879af70f97d63e774a5aa4d33"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/de2/group__internal__p2p__dma.html#gf465203c58c5a8066a7ef3ee91b15cec">moc_tag_release</a> (unsigned int speid, int tag)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Releases a reserved tag. <a href="../../d2/de2/group__internal__p2p__dma.html#gf465203c58c5a8066a7ef3ee91b15cec"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned short </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a> [8]</td></tr>
|
||||
|
||||
</table>
|
||||
<hr><h2>Variable Documentation</h2>
|
||||
<a class="anchor" name="cf3af1b7d35fd283c6038a63e44d80cf"></a><!-- doxytag: member="imoc_dma-tags_ppu.c::tags" ref="cf3af1b7d35fd283c6038a63e44d80cf" args="[8]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">unsigned short <a class="el" href="../../d0/dba/imoc__dma-tags__ppu_8c.html#cf3af1b7d35fd283c6038a63e44d80cf">tags</a>[8]<code> [static]</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d0/d43/imoc__dma-tags__ppu_8c-source.html#l00012">12</a> of file <a class="el" href="../../d0/d43/imoc__dma-tags__ppu_8c-source.html">imoc_dma-tags_ppu.c</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../d0/d43/imoc__dma-tags__ppu_8c-source.html#l00032">moc_tag_release()</a>, and <a class="el" href="../../d0/d43/imoc__dma-tags__ppu_8c-source.html#l00014">moc_tag_reserve()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:25 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,13 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="164,155,220,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="592,229,733,256">
|
||||
<area shape="rect" href="$d2/d42/imoc__macros_8h.html" title="internal/imoc_macros.h" alt="" coords="461,80,616,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="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="836,80,1028,107">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="133,229,251,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="337,304,407,331">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="411,379,536,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="256,379,387,405">
|
||||
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="661,304,803,331">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="877,379,981,405">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="739,155,845,181">
|
||||
@@ -0,0 +1 @@
|
||||
cad94990205de8fa36d0e303f48f44bb
|
||||
|
After Width: | Height: | Size: 91 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 @@
|
||||
6a8ea46bc3dce4379e963da8dc3d0376
|
||||
|
After Width: | Height: | Size: 28 KiB |
@@ -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 @@
|
||||
45928cb93d8a1636172e47ed28663823
|
||||
|
After Width: | Height: | Size: 4.3 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/spu/system/moc_wtime_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/system/moc_wtime_spu.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_wtime_spu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d7/d6e/moc__wtime__spu_8c__incl.png" border="0" usemap="#src/spu/system/moc_wtime_spu.c_map" alt=""></center>
|
||||
<map name="src/spu/system/moc_wtime_spu.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="../../d3/df5/moc__wtime__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">double </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"> </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:43 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,139 @@
|
||||
<!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_dma_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_dma_spu.h</h1><a href="../../dd/d9c/moc__dma__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_DATA_TRANSFER_SPU_H_</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define MOC_DATA_TRANSFER_SPU_H_</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#include "<a class="code" href="../../d0/d1d/moc__datatype__spu_8h.html">moc_datatype_spu.h</a>"</span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include "../moc.h"</span>
|
||||
<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 dma_access</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00011"></a>00011 <span class="comment">//@{</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"></span><span class="comment">/**</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> * @name SPU-only</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> **/</span><span class="comment"></span>
|
||||
<a name="l00015"></a>00015 <span class="comment">//@{</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"></span>
|
||||
<a name="l00017"></a>00017 <span class="comment"></span>
|
||||
<a name="l00018"></a>00018 <span class="comment">/**</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * Wrapper-function for a blocking DMA-get operation.</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * Data can be of any size, constraints of low-level DMA-functions</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> * are dealt by this function.</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> * However data-addresses have to be at least 16-byte aligned.</span>
|
||||
<a name="l00023"></a>00023 <span class="comment"> *</span>
|
||||
<a name="l00024"></a>00024 <span class="comment"> * @param target \b out pointer to buffer</span>
|
||||
<a name="l00025"></a>00025 <span class="comment"> * @param source \b in ea-address of data</span>
|
||||
<a name="l00026"></a>00026 <span class="comment"> * @param count \b in size of data in byte</span>
|
||||
<a name="l00027"></a>00027 <span class="comment"> * @param datatype \b in Type of Elements</span>
|
||||
<a name="l00028"></a>00028 <span class="comment"> * @retval MOC_SUCCESS No error; MPI routine completed successfully.</span>
|
||||
<a name="l00029"></a>00029 <span class="comment"> * @retval ... error-code</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> **/</span>
|
||||
<a name="l00031"></a>00031 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g3716465d42f20379bbf65002ecd9e448" title="Wrapper-function for a blocking DMA-get operation.">MOC_Get_data</a>(<span class="keywordtype">void</span>* target, uint64_t source, <span class="keywordtype">int</span> count,
|
||||
<a name="l00032"></a>00032 <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a> datatype);
|
||||
<a name="l00033"></a>00033 <span class="comment"></span>
|
||||
<a name="l00034"></a>00034 <span class="comment">/**</span>
|
||||
<a name="l00035"></a>00035 <span class="comment"> * Wrapper-function for a blocking DMA-put operation.</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> * Data-size should be a multiple of 16 because of low-level constraints, but</span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> * there is no upper limit of transfer-size.</span>
|
||||
<a name="l00038"></a>00038 <span class="comment"> * Data-addresses have to be at least 16-byte aligned.</span>
|
||||
<a name="l00039"></a>00039 <span class="comment"> *</span>
|
||||
<a name="l00040"></a>00040 <span class="comment"> * @param source \b in pointer to data</span>
|
||||
<a name="l00041"></a>00041 <span class="comment"> * @param target \b in ea-address of buffer</span>
|
||||
<a name="l00042"></a>00042 <span class="comment"> * @param count \b in size of data in byte</span>
|
||||
<a name="l00043"></a>00043 <span class="comment"> * @param datatype \b in Type of Elements</span>
|
||||
<a name="l00044"></a>00044 <span class="comment"> * @retval MOC_SUCCESS No error; MPI routine completed successfully.</span>
|
||||
<a name="l00045"></a>00045 <span class="comment"> * @retval ... error-code</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> **/</span>
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#ge07f4b35da50be472772f9d3a426669e" title="Wrapper-function for a blocking DMA-put operation.">MOC_Put_data</a>(<span class="keywordtype">void</span>* source, uint64_t target, <span class="keywordtype">int</span> count,
|
||||
<a name="l00048"></a>00048 <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a> datatype);
|
||||
<a name="l00049"></a>00049 <span class="comment"></span>
|
||||
<a name="l00050"></a>00050 <span class="comment">/**</span>
|
||||
<a name="l00051"></a>00051 <span class="comment"> * Wrapper-function for a non-blocking DMA-get operation.</span>
|
||||
<a name="l00052"></a>00052 <span class="comment"> * Data can be of any size, constraints of low-level DMA-functions</span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> * are dealt by this function.</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"> * However data-addresses have to be at least 16-byte aligned.</span>
|
||||
<a name="l00055"></a>00055 <span class="comment"> * Operation-completion can be derived with MOC_Test and MOC_Wait.</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"> *</span>
|
||||
<a name="l00057"></a>00057 <span class="comment"> * @param target \b out pointer to buffer</span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> * @param source \b in ea-address of data</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> * @param count \b in size of data in byte</span>
|
||||
<a name="l00060"></a>00060 <span class="comment"> * @param datatype \b in Type of Elements</span>
|
||||
<a name="l00061"></a>00061 <span class="comment"> * @param request \b out communication request (handle)</span>
|
||||
<a name="l00062"></a>00062 <span class="comment"> * @retval MOC_SUCCESS No error; MPI routine completed successfully.</span>
|
||||
<a name="l00063"></a>00063 <span class="comment"> * @retval ... error-code</span>
|
||||
<a name="l00064"></a>00064 <span class="comment"> **/</span>
|
||||
<a name="l00065"></a>00065 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g08f0af30f2e0e6840ec2be5ca93fd14f" title="Wrapper-function for a non-blocking DMA-get operation.">MOC_IGet_data</a>(<span class="keywordtype">void</span>* target, uint64_t source, <span class="keywordtype">int</span> count,
|
||||
<a name="l00066"></a>00066 <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a> datatype, <a class="code" href="../../db/d17/structmoc__request__struct.html" title="Communication-Request (Handle).">MOC_Request</a> *request);
|
||||
<a name="l00067"></a>00067 <span class="comment"></span>
|
||||
<a name="l00068"></a>00068 <span class="comment">/**</span>
|
||||
<a name="l00069"></a>00069 <span class="comment"> * Wrapper-function for a non-blocking DMA-put operation.</span>
|
||||
<a name="l00070"></a>00070 <span class="comment"> * Data-size should be a multiple of 16 because of low-level constraints, but</span>
|
||||
<a name="l00071"></a>00071 <span class="comment"> * there is no upper limit of transfer-size.</span>
|
||||
<a name="l00072"></a>00072 <span class="comment"> * Data-addresses have to be at least 16-byte aligned.</span>
|
||||
<a name="l00073"></a>00073 <span class="comment"> * Operation-completion can be derived with MOC_Test and MOC_Wait.</span>
|
||||
<a name="l00074"></a>00074 <span class="comment"> *</span>
|
||||
<a name="l00075"></a>00075 <span class="comment"> * @param source \b in pointer to data</span>
|
||||
<a name="l00076"></a>00076 <span class="comment"> * @param target \b in ea-address of buffer</span>
|
||||
<a name="l00077"></a>00077 <span class="comment"> * @param count \b in size of data in byte</span>
|
||||
<a name="l00078"></a>00078 <span class="comment"> * @param datatype \b in Type of Elements</span>
|
||||
<a name="l00079"></a>00079 <span class="comment"> * @param request \b out communication request (handle)</span>
|
||||
<a name="l00080"></a>00080 <span class="comment"> * @retval MOC_SUCCESS No error; MPI routine completed successfully.</span>
|
||||
<a name="l00081"></a>00081 <span class="comment"> * @retval ... error-code</span>
|
||||
<a name="l00082"></a>00082 <span class="comment"> **/</span>
|
||||
<a name="l00083"></a>00083 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g1fd9a141352dd4344e20f1bde778d265" title="Wrapper-function for a non-blocking DMA-put operation.">MOC_IPut_data</a>(<span class="keywordtype">void</span>* source, uint64_t target, <span class="keywordtype">int</span> count,
|
||||
<a name="l00084"></a>00084 <a class="code" href="../../dc/d6e/group__p2p__datatype.html#gb4e45f15c08578bd3fc97c0cca2a509a" title="Typedef defining MOC_Datatype.">MOC_Datatype</a> datatype, <a class="code" href="../../db/d17/structmoc__request__struct.html" title="Communication-Request (Handle).">MOC_Request</a> *request);
|
||||
<a name="l00085"></a>00085 <span class="comment"></span>
|
||||
<a name="l00086"></a>00086 <span class="comment">/**</span>
|
||||
<a name="l00087"></a>00087 <span class="comment"> * Translates a local-store address of the calling SPU into the corresponding</span>
|
||||
<a name="l00088"></a>00088 <span class="comment"> * effective-address.</span>
|
||||
<a name="l00089"></a>00089 <span class="comment"> *</span>
|
||||
<a name="l00090"></a>00090 <span class="comment"> * @param ls \b in local-store address</span>
|
||||
<a name="l00091"></a>00091 <span class="comment"> * @param ea \b out effective-address</span>
|
||||
<a name="l00092"></a>00092 <span class="comment"> **/</span>
|
||||
<a name="l00093"></a>00093 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g1ee1f004fff19c3338f2de9d96471693" title="Translates a local-store address of the calling SPU into the corresponding effective-address...">MOC_Translate_LS_to_EA</a>(<span class="keywordtype">void</span>* ls, uint64_t* ea);
|
||||
<a name="l00094"></a>00094 <span class="comment"></span>
|
||||
<a name="l00095"></a>00095 <span class="comment">//@}</span>
|
||||
<a name="l00096"></a>00096 <span class="comment"></span>
|
||||
<a name="l00097"></a>00097 <span class="comment"></span>
|
||||
<a name="l00098"></a>00098 <span class="comment">/**</span>
|
||||
<a name="l00099"></a>00099 <span class="comment"> * Tests if a MOC_IGet_data or IMOC_IPut_data is completed.</span>
|
||||
<a name="l00100"></a>00100 <span class="comment"> *</span>
|
||||
<a name="l00101"></a>00101 <span class="comment"> * @param request \b in request-handle</span>
|
||||
<a name="l00102"></a>00102 <span class="comment"> * @param flag \b out true if operation is completed</span>
|
||||
<a name="l00103"></a>00103 <span class="comment"> * @return 0 when success otherwise error-code</span>
|
||||
<a name="l00104"></a>00104 <span class="comment"> **/</span>
|
||||
<a name="l00105"></a>00105 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g342d07658aae4252a2e2cd6a8cc185dd" title="Tests if a MOC_IGet_data or IMOC_IPut_data is completed.">MOC_Test_data</a>(<a class="code" href="../../db/d17/structmoc__request__struct.html" title="Communication-Request (Handle).">MOC_Request</a>* request, <span class="keywordtype">int</span> *flag);
|
||||
<a name="l00106"></a>00106 <span class="comment"></span>
|
||||
<a name="l00107"></a>00107 <span class="comment">/**</span>
|
||||
<a name="l00108"></a>00108 <span class="comment"> * Waits till a MOC_IGet_data or IMOC_IPut_data is completed.</span>
|
||||
<a name="l00109"></a>00109 <span class="comment"> *</span>
|
||||
<a name="l00110"></a>00110 <span class="comment"> * @param request \b in request-handle</span>
|
||||
<a name="l00111"></a>00111 <span class="comment"> * @return 0 when success otherwise error-code</span>
|
||||
<a name="l00112"></a>00112 <span class="comment"> **/</span>
|
||||
<a name="l00113"></a>00113 <span class="keywordtype">int</span> <a class="code" href="../../d9/d16/group__dma__access.html#g0ba7b00fbebaabb8b39737a7c13efc67" title="Waits till a MOC_IGet_data or IMOC_IPut_data is completed.">MOC_Wait_data</a>(<a class="code" href="../../db/d17/structmoc__request__struct.html" title="Communication-Request (Handle).">MOC_Request</a>* request);
|
||||
<a name="l00114"></a>00114 <span class="comment"></span>
|
||||
<a name="l00115"></a>00115 <span class="comment">//@}</span>
|
||||
<a name="l00116"></a>00116 <span class="comment"></span><span class="preprocessor">#endif </span><span class="comment">/*MOC_DATA_TRANSFER_SPU_H_*/</span>
|
||||
<a name="l00117"></a>00117
|
||||
</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,42 @@
|
||||
<!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): Groups, Context and Communicators</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>Groups, Context and Communicators<br>
|
||||
<small>
|
||||
[<a class="el" href="../../dc/dc0/group__internal__main.html">Developer Documentation</a>]</small>
|
||||
</h1>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Groups, Context and Communicators:</div>
|
||||
<div class="dynsection">
|
||||
<center><table><tr><td><img src="../../d1/d0c/group__internal__comm.png" border="0" alt="" usemap="#d5/da7/d1_2d0c_2group____internal____comm_map">
|
||||
<map name="d5/da7/d1_2d0c_2group____internal____comm_map">
|
||||
<area shape="rect" href="../../dc/dc0/group__internal__main.html" title="This section deals with the internal design and functionality." alt="" coords="5,5,173,32"></map></td></tr></table></center>
|
||||
</div>
|
||||
At the moment user-defined groups and communicators are not implemented and maybe never will be. Nevertheless user-defined groups and communicators have been taken into consideration while making the software-design (e.g. reserved field for communicator in message-envelope). So it should be not too hard to implement groups and communicators. However a lot of things concerning communicators are hardcoded (e.g. parameter checks).<p>
|
||||
To save memory only one byte is used to encode the communicator. So if one day user-defined communicators are implemented there are only 256 possible communicators.
|
||||
<p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:07 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>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,7 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="207,80,263,107">
|
||||
<area shape="rect" href="$d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="320,155,512,181">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="128,155,245,181">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="20,229,161,256">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="257,229,327,256">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="36,304,161,331">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="236,304,367,331">
|
||||
@@ -0,0 +1 @@
|
||||
802afd9abc7cf52920baaa76bb325a4d
|
||||
|
After Width: | Height: | Size: 49 KiB |
@@ -0,0 +1,61 @@
|
||||
<!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/internal/communication/imoc_get_free_entry.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/internal/communication/imoc_get_free_entry.c</h1><a href="../../df/d20/imoc__get__free__entry_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 <span class="preprocessor">#ifdef __SPU__</span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor"></span><span class="preprocessor">#include <<a class="code" href="../../d9/d00/imoc__core__spu_8h.html">internal/spu/imoc_core_spu.h</a>></span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#else</span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor"></span><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="l00007"></a>00007 <span class="preprocessor">#endif</span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor"></span>
|
||||
<a name="l00009"></a><a class="code" href="../../d8/d88/group__internal__p2p__main.html#g2a948cdecce651ae6cc1b0c0ddb1b750">00009</a> <span class="keywordtype">int</span> <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>(<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html" title="Message-envelope structure.">moc_message_envelope_t</a>* pqueue, uint8_t tag,
|
||||
<a name="l00010"></a>00010 <a class="code" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767" title="Communicator-Handle.">MOC_Comm</a> comm, <span class="keywordtype">int</span> isSpecial, <span class="keywordtype">int</span>* index)
|
||||
<a name="l00011"></a>00011 {
|
||||
<a name="l00012"></a>00012 <span class="keywordtype">int</span> t, temp = -1;
|
||||
<a name="l00013"></a>00013 <span class="keywordflow">for</span> (t = <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> - 1; t >= 0; t--)
|
||||
<a name="l00014"></a>00014 {
|
||||
<a name="l00015"></a>00015 <span class="keywordflow">if</span> (!pqueue[t].flags.<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#5538e79854840d3caf08b90b5409e16b" title="flag-struct">bits</a>.valid)
|
||||
<a name="l00016"></a>00016 temp = t;
|
||||
<a name="l00017"></a>00017 <span class="keywordflow">else</span>
|
||||
<a name="l00018"></a>00018 <span class="keywordflow">if</span> (!isSpecial)
|
||||
<a name="l00019"></a>00019 {
|
||||
<a name="l00020"></a>00020 <span class="keywordflow">if</span> (pqueue[t].tag == tag && pqueue[t].communicator == comm
|
||||
<a name="l00021"></a>00021 && !pqueue[t].flags.<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#5538e79854840d3caf08b90b5409e16b" title="flag-struct">bits</a>.special)
|
||||
<a name="l00022"></a>00022 <span class="keywordflow">break</span>;
|
||||
<a name="l00023"></a>00023 }
|
||||
<a name="l00024"></a>00024 <span class="keywordflow">else</span>
|
||||
<a name="l00025"></a>00025 {
|
||||
<a name="l00026"></a>00026 <span class="keywordflow">if</span> (pqueue[t].flags.<a class="code" href="../../df/dd4/structmoc__message__envelope__struct.html#5538e79854840d3caf08b90b5409e16b" title="flag-struct">bits</a>.special)
|
||||
<a name="l00027"></a>00027 <span class="keywordflow">break</span>;
|
||||
<a name="l00028"></a>00028 }
|
||||
<a name="l00029"></a>00029 }
|
||||
<a name="l00030"></a>00030 <span class="keywordflow">if</span> (temp >= 0)
|
||||
<a name="l00031"></a>00031 {
|
||||
<a name="l00032"></a>00032 *index = temp;
|
||||
<a name="l00033"></a>00033 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00034"></a>00034 }
|
||||
<a name="l00035"></a>00035 <span class="keywordflow">else</span>
|
||||
<a name="l00036"></a>00036 <span class="keywordflow">return</span> <a class="code" href="../../d8/da1/group__environment__error.html#g5a536510d86dbad4f4bacf1dc3f08c47" title="No further messages possible.">MOC_ERR_MESSAGE_EXHAUSTED</a>;
|
||||
<a name="l00037"></a>00037 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00038"></a>00038 }
|
||||
<a name="l00039"></a>00039
|
||||
</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,13 @@
|
||||
<area shape="rect" href="$d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="329,155,385,181">
|
||||
<area shape="rect" href="$d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="21,229,128,256">
|
||||
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="497,80,689,107">
|
||||
<area shape="rect" href="$de/df9/imoc__dma__ppu_8h.html" title="internal/ppu/imoc_dma_ppu.h" alt="" coords="885,229,1077,256">
|
||||
<area shape="rect" href="$dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="203,229,320,256">
|
||||
<area shape="rect" href="$d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="232,304,373,331">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="397,304,467,331">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="387,379,512,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="232,379,363,405">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="67,304,157,331">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="597,155,704,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="496,229,613,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 @@
|
||||
cc73b895177eff784457871f0bad4374
|
||||
|
After Width: | Height: | Size: 98 KiB |
@@ -0,0 +1,8 @@
|
||||
<area shape="rect" href="$d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="331,80,523,107">
|
||||
<area shape="rect" href="$d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="464,229,568,256">
|
||||
<area shape="rect" href="$db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="179,155,285,181">
|
||||
<area shape="rect" href="$db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="125,229,243,256">
|
||||
<area shape="rect" href="$d1/d82/moc_8h.html" title="../moc.h" alt="" coords="77,304,147,331">
|
||||
<area shape="rect" href="$d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="247,304,388,331">
|
||||
<area shape="rect" href="$d5/d94/moc__datatype_8h.html" title="moc_datatype.h" alt="" coords="201,379,316,405">
|
||||
<area shape="rect" href="$df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="47,379,177,405">
|
||||
@@ -0,0 +1 @@
|
||||
6ca26acba7f3b701f6536a899da03001
|
||||
|
After Width: | Height: | Size: 46 KiB |
@@ -0,0 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/ppu/system/moc_finalize_ppu.c 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/system/moc_finalize_ppu.c</h1><a href="../../d3/d9e/moc__finalize__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 <free_align.h></span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <stdlib.h></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#include <string.h></span>
|
||||
<a name="l00005"></a>00005
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include <<a class="code" href="../../db/dae/ppu_2moc_8h.html">moc.h</a>></span>
|
||||
<a name="l00007"></a>00007 <span class="preprocessor">#include <<a class="code" href="../../db/dae/ppu_2moc_8h.html">ppu/moc.h</a>></span>
|
||||
<a name="l00008"></a>00008 <span class="preprocessor">#include <<a class="code" href="../../d9/db3/imoc_8h.html">internal/imoc.h</a>></span>
|
||||
<a name="l00009"></a>00009 <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="l00010"></a>00010
|
||||
<a name="l00011"></a><a class="code" href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8">00011</a> <span class="keywordtype">int</span> <a class="code" href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8" title="Terminates MPI execution environment.">MOC_Finalize</a>()
|
||||
<a name="l00012"></a>00012 {
|
||||
<a name="l00013"></a>00013 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i;
|
||||
<a name="l00014"></a>00014 <span class="keyword">extern</span> <a class="code" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html" title="Node of linked list holding information about allocated buffer-space.">moc_internal_buffer_node_t</a>* <a class="code" href="../../d3/dd3/group__internal__p2p__bmalloc.html#gaf9be7d34fe367a9244d50dde82777ed" title="Pointer to first entry of linked-list.">bmalloc_first_node</a>;
|
||||
<a name="l00015"></a>00015 <span class="comment">/* wait till all SPU-threads are finished */</span>
|
||||
<a name="l00016"></a>00016 <span class="keywordflow">for</span> (i = 0; i < <a class="code" href="../../dc/df1/group__internal__spu__thread.html#g6cf68c0afe2da7b3a29ecaab8ed45961" title="actual number of SPU-Threads.">moc_spu_thread_count</a>; i++)
|
||||
<a name="l00017"></a>00017 {
|
||||
<a name="l00018"></a>00018 <span class="keywordflow">while</span> (spe_out_mbox_status(<a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[i].speid) < 1)
|
||||
<a name="l00019"></a>00019 ;
|
||||
<a name="l00020"></a>00020 }
|
||||
<a name="l00021"></a>00021 <span class="keywordflow">for</span> (i = 0; i < moc_spu_thread_count; i++)
|
||||
<a name="l00022"></a>00022 {
|
||||
<a name="l00023"></a>00023 <span class="keywordflow">if</span> (spe_in_mbox_write(<a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[i].speid, &i, 1,
|
||||
<a name="l00024"></a>00024 SPE_MBOX_ALL_BLOCKING) != 1)
|
||||
<a name="l00025"></a>00025 <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="l00026"></a>00026 _free_align((<span class="keywordtype">void</span>*) <a class="code" href="../../dc/df1/group__internal__spu__thread.html#ga5b74732b1e31ec1674ea0e5ae465c4e" title="array of SPU-Threads.">moc_spu_thread_list</a>[i].buffer_base);
|
||||
<a name="l00027"></a>00027 }
|
||||
<a name="l00028"></a>00028 <span class="comment">/* free local resources */</span>
|
||||
<a name="l00029"></a>00029 _free_align((<span class="keywordtype">void</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#58ca7dd0e2874d0317038dbb0c279b82" title="base-address of own message-queues">message_queue_base</a>);
|
||||
<a name="l00030"></a>00030 _free_align((<span class="keywordtype">void</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#abccbc7beefa7b1e2ccc84b8bd2b8805" title="base-address of own message-status-array">status_array_base</a>);
|
||||
<a name="l00031"></a>00031 _free_align((<span class="keywordtype">void</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#ee118aad604058291438923545af37db" title="base-address of own buffer">buffer_base</a>);
|
||||
<a name="l00032"></a>00032 _free_align((<span class="keywordtype">void</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#3d13ba21e187a05cb548b6b3ae39ffe7" title="address of own signal-area">signal_area</a>);
|
||||
<a name="l00033"></a>00033 _free_align((<span class="keywordtype">void</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#528d5743c1b49553cc9b812a211afa53" title="list of all other MOC-processes (index is rank of process)">moc_process_list</a>);
|
||||
<a name="l00034"></a>00034 <span class="keywordflow">while</span> (bmalloc_first_node)
|
||||
<a name="l00035"></a>00035 {
|
||||
<a name="l00036"></a>00036 <a class="code" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html" title="Node of linked list holding information about allocated buffer-space.">moc_internal_buffer_node_t</a>* temp = bmalloc_first_node;
|
||||
<a name="l00037"></a>00037 bmalloc_first_node = bmalloc_first_node-><a class="code" href="../../dd/dc0/structmoc__internal__buffer__node__struct.html#289260f38a9ad908733278bc674b3679" title="Pointer to next entry.">next_node</a>;
|
||||
<a name="l00038"></a>00038 free(temp);
|
||||
<a name="l00039"></a>00039 }
|
||||
<a name="l00040"></a>00040 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00041"></a>00041 }
|
||||
<a name="l00042"></a>00042
|
||||
</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,73 @@
|
||||
<!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 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/communication/moc_barrier_ppu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <stdio.h></code><br>
|
||||
<code>#include <string.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="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_ppu.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_barrier_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../db/d02/moc__barrier__ppu_8c__incl.png" border="0" usemap="#src/ppu/communication/moc_barrier_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/communication/moc_barrier_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="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="776,229,883,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="875,80,1083,107"><area shape="rect" href="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="576,80,768,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="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="233,379,359,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="433,379,564,405"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="693,304,784,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="957,155,1080,181"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="444,155,551,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="moc_dma_ppu.h" alt="" coords="437,229,555,256"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="233,304,375,331"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../dc/d5d/moc__barrier__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>Defines</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d72/moc__barrier__ppu_8c.html#8a4118b9364b4bb700441e9e9dd9c3ab">IMOC_BARRIER_TAG</a> 1</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#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"> </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_ppu.c::IMOC_BARRIER_TAG" ref="8a4118b9364b4bb700441e9e9dd9c3ab" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define IMOC_BARRIER_TAG 1 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html#l00009">9</a> of file <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html">moc_barrier_ppu.c</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html#l00011">MOC_Barrier()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:16 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/noarch/communication/moc_probe.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_probe.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="../../d4/d9b/imoc_8h-source.html">internal/imoc.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for moc_probe.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d4/df9/moc__probe_8c__incl.png" border="0" usemap="#src/noarch/communication/moc_probe.c_map" alt=""></center>
|
||||
<map name="src/noarch/communication/moc_probe.c_map">
|
||||
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="193,80,249,107"><area shape="rect" href="../../d9/db3/imoc_8h.html" title="internal/imoc.h" alt="" coords="348,155,455,181"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="67,155,184,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="72,229,213,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="237,229,307,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="72,304,197,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="272,304,403,331"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="imoc_core.h" alt="" coords="477,304,568,331"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d6/d74/moc__probe_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="../../d0/d64/group__p2p__main.html#g39ceb4e6f08da2cd3dac3e93bb6e3ee1">MOC_Probe</a> (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"> </td><td class="mdescRight">Waits till a message is received and returns information without actually receiving the message. <a href="../../d0/d64/group__p2p__main.html#g39ceb4e6f08da2cd3dac3e93bb6e3ee1"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:07 2009 for MPI On Cell (Documentation) by
|
||||
<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,339 @@
|
||||
<!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): moc_spu_thread_struct Struct 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 class="current"><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="../../functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>moc_spu_thread_struct Struct Reference<br>
|
||||
<small>
|
||||
[<a class="el" href="../../dc/df1/group__internal__spu__thread.html">SPU-Thread Management</a>]</small>
|
||||
</h1><!-- doxytag: class="moc_spu_thread_struct" --><code>#include <<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>></code>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for moc_spu_thread_struct:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d5/dcb/structmoc__spu__thread__struct__coll__graph.png" border="0" usemap="#d5/df6/moc__spu__thread__struct__coll__map" alt="Collaboration graph"></center>
|
||||
<center><font size="2">[<a target="top" href="../../graph_legend.html">legend</a>]</font></center></div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
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.
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00074">74</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>.</p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#610f1390167566df9b451401c0bb8667">rank</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">rank of SPU-thread <a href="#610f1390167566df9b451401c0bb8667"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">pthread_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#47d2a05a8c7370dabb7653124bafd539">pthread</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">PThread-handle <. <a href="#47d2a05a8c7370dabb7653124bafd539"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">spe_context_ptr_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#61d6807e3bab9b37ef07b0543e33574e">speid</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">SPE-Context. <a href="#61d6807e3bab9b37ef07b0543e33574e"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">spe_stop_info_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#ef9a368d969bbfc92bee4076b1576b34">stop_info</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Error-Information. <a href="#ef9a368d969bbfc92bee4076b1576b34"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#4d3f668b79c172907febb25dbe2813ea">spe_entry_adress</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Spe-entry-address. <a href="#4d3f668b79c172907febb25dbe2813ea"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a7f667cf56fc5e3cd906caa8aab765cc">argp</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">effective address of user-defined information in main-memory <a href="#a7f667cf56fc5e3cd906caa8aab765cc"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#603a62c8b05bb561c467e34acbcff2b5">envp</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to environment information. <a href="#603a62c8b05bb561c467e34acbcff2b5"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a65e6d8f5252b43a69951b57305ebcbf">buffer_base</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">base-address of the SPU-Thread's buffer <a href="#a65e6d8f5252b43a69951b57305ebcbf"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#67de0b34d22a702f8d06c0c26e01cc46">buffer_size</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">size of the SPU-Thread's buffer <a href="#67de0b34d22a702f8d06c0c26e01cc46"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a1af310737612cbf58480cbb172e33c4">ls_base</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Effective Basis-Address of SPU's local-storage. <a href="#a1af310737612cbf58480cbb172e33c4"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#0813ce58844b7a7d6df0341e5e1c1b17">queue_base_in_ls</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Address of message-queue in SPU's local-storage. <a href="#0813ce58844b7a7d6df0341e5e1c1b17"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#93433bc21fa8fc6b7f65251a5cf33eb1">status_base_in_ls</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Address of status-array in SPU's local-storage. <a href="#93433bc21fa8fc6b7f65251a5cf33eb1"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Field Documentation</h2>
|
||||
<a class="anchor" name="610f1390167566df9b451401c0bb8667"></a><!-- doxytag: member="moc_spu_thread_struct::rank" ref="610f1390167566df9b451401c0bb8667" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint8_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#610f1390167566df9b451401c0bb8667">moc_spu_thread_struct::rank</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
rank of SPU-thread
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00076">76</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="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="47d2a05a8c7370dabb7653124bafd539"></a><!-- doxytag: member="moc_spu_thread_struct::pthread" ref="47d2a05a8c7370dabb7653124bafd539" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">pthread_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#47d2a05a8c7370dabb7653124bafd539">moc_spu_thread_struct::pthread</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
PThread-handle <.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00077">77</a> of file <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="61d6807e3bab9b37ef07b0543e33574e"></a><!-- doxytag: member="moc_spu_thread_struct::speid" ref="61d6807e3bab9b37ef07b0543e33574e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">spe_context_ptr_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#61d6807e3bab9b37ef07b0543e33574e">moc_spu_thread_struct::speid</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
SPE-Context.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00078">78</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="../../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>, and <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="ef9a368d969bbfc92bee4076b1576b34"></a><!-- doxytag: member="moc_spu_thread_struct::stop_info" ref="ef9a368d969bbfc92bee4076b1576b34" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">spe_stop_info_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#ef9a368d969bbfc92bee4076b1576b34">moc_spu_thread_struct::stop_info</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Error-Information.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00079">79</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="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="4d3f668b79c172907febb25dbe2813ea"></a><!-- doxytag: member="moc_spu_thread_struct::spe_entry_adress" ref="4d3f668b79c172907febb25dbe2813ea" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#4d3f668b79c172907febb25dbe2813ea">moc_spu_thread_struct::spe_entry_adress</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Spe-entry-address.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00080">80</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>, and <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a7f667cf56fc5e3cd906caa8aab765cc"></a><!-- doxytag: member="moc_spu_thread_struct::argp" ref="a7f667cf56fc5e3cd906caa8aab765cc" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void* <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a7f667cf56fc5e3cd906caa8aab765cc">moc_spu_thread_struct::argp</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
effective address of user-defined information in main-memory
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00081">81</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>, and <a class="el" href="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="603a62c8b05bb561c467e34acbcff2b5"></a><!-- doxytag: member="moc_spu_thread_struct::envp" ref="603a62c8b05bb561c467e34acbcff2b5" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void* <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#603a62c8b05bb561c467e34acbcff2b5">moc_spu_thread_struct::envp</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Pointer to environment information.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00083">83</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="../../d9/df3/imoc__spe__thread__ppu_8c-source.html#l00037">moc_spe_pthread_func()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a65e6d8f5252b43a69951b57305ebcbf"></a><!-- doxytag: member="moc_spu_thread_struct::buffer_base" ref="a65e6d8f5252b43a69951b57305ebcbf" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void* <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a65e6d8f5252b43a69951b57305ebcbf">moc_spu_thread_struct::buffer_base</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
base-address of the SPU-Thread's buffer
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00084">84</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>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="67de0b34d22a702f8d06c0c26e01cc46"></a><!-- doxytag: member="moc_spu_thread_struct::buffer_size" ref="67de0b34d22a702f8d06c0c26e01cc46" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#67de0b34d22a702f8d06c0c26e01cc46">moc_spu_thread_struct::buffer_size</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
size of the SPU-Thread's buffer
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00085">85</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>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="a1af310737612cbf58480cbb172e33c4"></a><!-- doxytag: member="moc_spu_thread_struct::ls_base" ref="a1af310737612cbf58480cbb172e33c4" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#a1af310737612cbf58480cbb172e33c4">moc_spu_thread_struct::ls_base</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Effective Basis-Address of SPU's local-storage.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00086">86</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="../../d8/dbc/moc__recv__ppu_8c-source.html#l00011">MOC_Recv()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0813ce58844b7a7d6df0341e5e1c1b17"></a><!-- doxytag: member="moc_spu_thread_struct::queue_base_in_ls" ref="0813ce58844b7a7d6df0341e5e1c1b17" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#0813ce58844b7a7d6df0341e5e1c1b17">moc_spu_thread_struct::queue_base_in_ls</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Address of message-queue in SPU's local-storage.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00087">87</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>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="93433bc21fa8fc6b7f65251a5cf33eb1"></a><!-- doxytag: member="moc_spu_thread_struct::status_base_in_ls" ref="93433bc21fa8fc6b7f65251a5cf33eb1" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t <a class="el" href="../../d1/d8b/structmoc__spu__thread__struct.html#93433bc21fa8fc6b7f65251a5cf33eb1">moc_spu_thread_struct::status_base_in_ls</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Address of status-array in SPU's local-storage.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00088">88</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>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>include/internal/ppu/<a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html">imoc_core_ppu.h</a></ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51: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,16 @@
|
||||
<area shape="rect" href="$d6/d8c/moc__bsend__spu_8c.html" title="src/spu/communication/moc_bsend_spu.c" alt="" coords="5,80,272,107">
|
||||
<area shape="rect" href="$de/d76/moc__issend__spu_8c.html" title="src/spu/communication/moc_issend_spu.c" alt="" coords="296,80,565,107">
|
||||
<area shape="rect" href="$d9/dab/moc__recv__spu_8c.html" title="src/spu/communication/moc_recv_spu.c" alt="" coords="589,80,843,107">
|
||||
<area shape="rect" href="$d3/d71/moc__ssend__spu_8c.html" title="src/spu/communication/moc_ssend_spu.c" alt="" coords="867,80,1133,107">
|
||||
<area shape="rect" href="$d8/d91/moc__dma-get__spu_8c.html" title="src/spu/dma/moc_dma-get_spu.c" alt="" coords="1157,80,1373,107">
|
||||
<area shape="rect" href="$da/dea/moc__dma-iget__spu_8c.html" title="src/spu/dma/moc_dma-iget_spu.c" alt="" coords="1397,80,1616,107">
|
||||
<area shape="rect" href="$dc/de8/moc__dma-iput__spu_8c.html" title="src/spu/dma/moc_dma-iput_spu.c" alt="" coords="1640,80,1859,107">
|
||||
<area shape="rect" href="$df/ddc/moc__dma-put__spu_8c.html" title="src/spu/dma/moc_dma-put_spu.c" alt="" coords="1883,80,2099,107">
|
||||
<area shape="rect" href="$d8/d15/moc__dma-test__spu_8c.html" title="src/spu/dma/moc_dma-test_spu.c" alt="" coords="2123,80,2341,107">
|
||||
<area shape="rect" href="$d2/d14/moc__dma-wait__spu_8c.html" title="src/spu/dma/moc_dma-wait_spu.c" alt="" coords="2365,80,2584,107">
|
||||
<area shape="rect" href="$d5/d1c/imoc__dma-get__spu_8c.html" title="src/spu/internal/dma/imoc_dma-get_spu.c" alt="" coords="2608,80,2872,107">
|
||||
<area shape="rect" href="$d7/daf/imoc__dma-iget__spu_8c.html" title="src/spu/internal/dma/imoc_dma-iget_spu.c" alt="" coords="2896,80,3163,107">
|
||||
<area shape="rect" href="$d8/d30/imoc__dma-iput__spu_8c.html" title="src/spu/internal/dma/imoc_dma-iput_spu.c" alt="" coords="3187,80,3453,107">
|
||||
<area shape="rect" href="$da/db1/imoc__dma-put__spu_8c.html" title="src/spu/internal/dma/imoc_dma-put_spu.c" alt="" coords="3477,80,3741,107">
|
||||
<area shape="rect" href="$d1/dc4/imoc__dma-test__spu_8c.html" title="src/spu/internal/dma/imoc_dma-test_spu.c" alt="" coords="3765,80,4032,107">
|
||||
<area shape="rect" href="$db/d38/imoc__dma-wait__spu_8c.html" title="src/spu/internal/dma/imoc_dma-wait_spu.c" alt="" coords="4056,80,4325,107">
|
||||
@@ -0,0 +1 @@
|
||||
027979004a69944348e326e53400f660
|
||||
|
After Width: | Height: | Size: 69 KiB |
@@ -0,0 +1,168 @@
|
||||
<!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): Error-Handling</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>Error-Handling<br>
|
||||
<small>
|
||||
[<a class="el" href="../../d2/d16/group__internal__env.html">Environmental Management</a>]</small>
|
||||
</h1>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Error-Handling:</div>
|
||||
<div class="dynsection">
|
||||
<center><table><tr><td><img src="../../d1/d97/group__internal__error.png" border="0" alt="" usemap="#d1/d82/d1_2d97_2group____internal____error_map">
|
||||
<map name="d1/d82/d1_2d97_2group____internal____error_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"></map></td></tr></table></center>
|
||||
</div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
This section deals with error-messages.
|
||||
<p>
|
||||
An array of type <a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_struct</a> stores error-messages and their corresponding error-codes. <a class="el" href="../../d8/da1/group__environment__error.html#ge79331149c12155246d206d5bb7a7729">MOC_Error_string</a> searches this list for a given error-code and returns the error-message.
|
||||
<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 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_struct</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Error-Strings structure. <a href="../../dd/dfe/structerror__strings__struct.html#_details">More...</a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>PPU-only</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538">error_strings</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">stores the error-messages <a href="#g340b21d20b2ad476fb8d2203a5c6e538"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d97/group__internal__error.html#g4cc5a2e835e688e15548969e56cbc61e">ERROR_STRINGS_COUNT</a> 28</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">error-message count <a href="#g4cc5a2e835e688e15548969e56cbc61e"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>SPU-only</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538">error_strings</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">stores the error-messages <a href="#g340b21d20b2ad476fb8d2203a5c6e538"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d97/group__internal__error.html#g4cc5a2e835e688e15548969e56cbc61e">ERROR_STRINGS_COUNT</a> 28</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">error-message count <a href="#g4cc5a2e835e688e15548969e56cbc61e"></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 <a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d97/group__internal__error.html#ge9fa9b7c1e456a3a0d1bc4d760b2d631">error_strings_t</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Error-Strings structure. <a href="#ge9fa9b7c1e456a3a0d1bc4d760b2d631"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Define Documentation</h2>
|
||||
<a class="anchor" name="g4cc5a2e835e688e15548969e56cbc61e"></a><!-- doxytag: member="moc_error_string_spu.c::ERROR_STRINGS_COUNT" ref="g4cc5a2e835e688e15548969e56cbc61e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define ERROR_STRINGS_COUNT 28 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
error-message count
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>SPU-only </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../da/d50/moc__error__string__spu_8c-source.html#l00061">61</a> of file <a class="el" href="../../da/d50/moc__error__string__spu_8c-source.html">moc_error_string_spu.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g4cc5a2e835e688e15548969e56cbc61e"></a><!-- doxytag: member="moc_error_string_ppu.c::ERROR_STRINGS_COUNT" ref="g4cc5a2e835e688e15548969e56cbc61e" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define ERROR_STRINGS_COUNT 28 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
error-message count
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d3/d68/moc__error__string__ppu_8c-source.html#l00062">62</a> of file <a class="el" href="../../d3/d68/moc__error__string__ppu_8c-source.html">moc_error_string_ppu.c</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../d3/d68/moc__error__string__ppu_8c-source.html#l00068">MOC_Error_string()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Typedef Documentation</h2>
|
||||
<a class="anchor" name="ge9fa9b7c1e456a3a0d1bc4d760b2d631"></a><!-- doxytag: member="imoc.h::error_strings_t" ref="ge9fa9b7c1e456a3a0d1bc4d760b2d631" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef struct <a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_struct</a> <a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_t</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Error-Strings structure.
|
||||
<p>
|
||||
stores the error-string to a given error-code typedef for <a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_struct</a>
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Variable Documentation</h2>
|
||||
<a class="anchor" name="g340b21d20b2ad476fb8d2203a5c6e538"></a><!-- doxytag: member="moc_error_string_spu.c::error_strings" ref="g340b21d20b2ad476fb8d2203a5c6e538" args="[]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_t</a> <a class="el" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538">error_strings</a>[] </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
stores the error-messages
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>SPU-only </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../da/d50/moc__error__string__spu_8c-source.html#l00022">22</a> of file <a class="el" href="../../da/d50/moc__error__string__spu_8c-source.html">moc_error_string_spu.c</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g340b21d20b2ad476fb8d2203a5c6e538"></a><!-- doxytag: member="moc_error_string_ppu.c::error_strings" ref="g340b21d20b2ad476fb8d2203a5c6e538" args="[]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../dd/dfe/structerror__strings__struct.html">error_strings_t</a> <a class="el" href="../../d1/d97/group__internal__error.html#g340b21d20b2ad476fb8d2203a5c6e538">error_strings</a>[] </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
stores the error-messages
|
||||
<p>
|
||||
<dl class="note" compact><dt><b>Note:</b></dt><dd>PPU-only </dd></dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d3/d68/moc__error__string__ppu_8c-source.html#l00022">22</a> of file <a class="el" href="../../d3/d68/moc__error__string__ppu_8c-source.html">moc_error_string_ppu.c</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
|
||||
<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>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -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/internal/dma/imoc_dma-iget_ppu.c File Reference</title>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.5.6 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="../../main.html"><span>Main 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/internal/dma/imoc_dma-iget_ppu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <malloc_align.h></code><br>
|
||||
<code>#include <string.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="../../d8/df3/moc__dma__ppu_8h-source.html">ppu/moc_dma_ppu.h</a>></code><br>
|
||||
<code>#include <<a class="el" href="../../db/db7/imoc__macros__ppu_8h-source.html">internal/ppu/imoc_macros_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="../../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 imoc_dma-iget_ppu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../da/d83/imoc__dma-iget__ppu_8c__incl.png" border="0" usemap="#src/ppu/internal/dma/imoc_dma-iget_ppu.c_map" alt=""></center>
|
||||
<map name="src/ppu/internal/dma/imoc_dma-iget_ppu.c_map">
|
||||
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="209,155,265,181"><area shape="rect" href="../../db/d62/moc__dma__ppu_8h.html" title="ppu/moc_dma_ppu.h" alt="" coords="592,229,733,256"><area shape="rect" href="../../d8/d98/imoc__macros__ppu_8h.html" title="internal/ppu/imoc_macros_ppu.h" alt="" coords="1064,80,1272,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="../../d6/d09/imoc__core__ppu_8h.html" title="internal/ppu/imoc_core_ppu.h" alt="" coords="824,80,1016,107"><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="365,304,435,331"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="237,379,363,405"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="387,379,517,405"><area shape="rect" href="../../d8/de2/moc__datatype__ppu_8h.html" title="moc_datatype_ppu.h" alt="" coords="643,304,784,331"><area shape="rect" href="../../d2/d42/imoc__macros_8h.html" title="../imoc_macros.h" alt="" coords="1132,155,1255,181"><area shape="rect" href="../../d7/d3d/imoc__core_8h.html" title="../imoc_core.h" alt="" coords="1024,379,1128,405"><area shape="rect" href="../../db/dae/ppu_2moc_8h.html" title="../../ppu/moc.h" alt="" coords="733,155,840,181"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d6/df6/imoc__dma-iget__ppu_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/de2/group__internal__p2p__dma.html#g0c76eeaa08ac299e19dc2758d4142cd9">IMOC_iget_data</a> (void *target, uint64_t source, uint32_t size, uint32_t dest, <a class="el" href="../../d4/da3/structimoc__dma__request__struct.html">imoc_dma_request</a> *request)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal wrapper-function for a non-blocking DMA-get operation. <a href="../../d2/de2/group__internal__p2p__dma.html#g0c76eeaa08ac299e19dc2758d4142cd9"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:23 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,50 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||
<title>MPI On Cell (Documentation): src/spu/internal/dma/imoc_dma-test_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/internal/dma/imoc_dma-test_spu.c File Reference</h1>
|
||||
<p>
|
||||
<code>#include <string.h></code><br>
|
||||
<code>#include <stdint.h></code><br>
|
||||
<code>#include <free_align.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/d95/imoc__dma__spu_8h-source.html">internal/spu/imoc_dma_spu.h</a>></code><br>
|
||||
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Include dependency graph for imoc_dma-test_spu.c:</div>
|
||||
<div class="dynsection">
|
||||
<p><center><img src="../../d1/d24/imoc__dma-test__spu_8c__incl.png" border="0" usemap="#src/spu/internal/dma/imoc_dma-test_spu.c_map" alt=""></center>
|
||||
<map name="src/spu/internal/dma/imoc_dma-test_spu.c_map">
|
||||
<area shape="rect" href="../../d0/d3a/spu_2moc_8h.html" title="moc.h" alt="" coords="207,80,263,107"><area shape="rect" href="../../d4/dce/imoc__dma__spu_8h.html" title="internal/spu/imoc_dma_spu.h" alt="" coords="320,155,512,181"><area shape="rect" href="../../dd/d9c/moc__dma__spu_8h.html" title="moc_dma_spu.h" alt="" coords="128,155,245,181"><area shape="rect" href="../../d0/d1d/moc__datatype__spu_8h.html" title="moc_datatype_spu.h" alt="" coords="20,229,161,256"><area shape="rect" href="../../d1/d82/moc_8h.html" title="../moc.h" alt="" coords="257,229,327,256"><area shape="rect" href="../../d5/d94/moc__datatype_8h.html" title="../moc_datatype.h" alt="" coords="36,304,161,331"><area shape="rect" href="../../df/d5c/moc__error__codes_8h.html" title="moc_error_codes.h" alt="" coords="236,304,367,331"></map>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<a href="../../d6/dca/imoc__dma-test__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="../../d2/de2/group__internal__p2p__dma.html#gdc3d91a083a9dc3aa539aee4d56616f0">IMOC_test_dma</a> (<a class="el" href="../../d4/da3/structimoc__dma__request__struct.html">imoc_dma_request</a> *request, int *flag)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Tests if a IMOC_iget_data or IMOC_iput_data is completed. <a href="../../d2/de2/group__internal__p2p__dma.html#gdc3d91a083a9dc3aa539aee4d56616f0"></a><br></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:39 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 @@
|
||||
eb2248d6682a8df8145c58910bbdc969
|
||||
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,242 @@
|
||||
<!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): Communicator 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 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>Communicator Management<br>
|
||||
<small>
|
||||
[<a class="el" href="../../d1/df0/group__comm__main.html">Groups, Context and Communicators</a>]</small>
|
||||
</h1>
|
||||
<p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Communicator Management:</div>
|
||||
<div class="dynsection">
|
||||
<center><table><tr><td><img src="../../d1/dd1/group__comm__mgt.png" border="0" alt="" usemap="#dc/d90/d1_2dd1_2group____comm____mgt_map">
|
||||
<map name="dc/d90/d1_2dd1_2group____comm____mgt_map">
|
||||
<area shape="rect" href="../../d1/df0/group__comm__main.html" title="The MOC communicator specifies a group of processes inside which a communication..." alt="" coords="7,5,241,32"></map></td></tr></table></center>
|
||||
</div>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Funktions for managing communicators.
|
||||
<p>
|
||||
Because of reasons already stated (see <a class="el" href="../../d1/df0/group__comm__main.html">Groups, Context and Communicators</a>) there is no support for user-defined communicators. So this section is limited to functions which return the size of a specific communicator or the rank of the calling process.
|
||||
<p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#gcae012270d1813b9153b8cbc78a5c84d">MOC_COMM_NULL</a> 0</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies a null communicator. <a href="#gcae012270d1813b9153b8cbc78a5c84d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g14e1cb53b99b5e239d4cc6a8d370ad94">MOC_COMM_WORLD</a> 1</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies a constant that contains all of the processes. <a href="#g14e1cb53b99b5e239d4cc6a8d370ad94"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#gf8c5dfb6bb79027948fe63f4cf6504eb">MOC_COMM_SELF</a> 2</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies a constant that contains only the calling process. <a href="#gf8c5dfb6bb79027948fe63f4cf6504eb"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Communicator-Handle. <a href="#g3d2b8a9af65bff5f79d02bda13616767"></a><br></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="../../d1/dd1/group__comm__mgt.html#gbadd556e16667ac8ee86af72299e4915">MOC_Comm_rank</a> (<a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, int *rank)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines the rank of the calling process in the communicator. <a href="#gbadd556e16667ac8ee86af72299e4915"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g36ac8a2d969216d52418aedd77a5829e">MOC_Comm_size</a> (<a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> comm, int *size)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Determines the size of the group associated with a communictor. <a href="#g36ac8a2d969216d52418aedd77a5829e"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><h2>Define Documentation</h2>
|
||||
<a class="anchor" name="gcae012270d1813b9153b8cbc78a5c84d"></a><!-- doxytag: member="moc.h::MOC_COMM_NULL" ref="gcae012270d1813b9153b8cbc78a5c84d" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MOC_COMM_NULL 0 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Specifies a null communicator.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d7/de1/moc_8h-source.html#l00291">291</a> of file <a class="el" href="../../d7/de1/moc_8h-source.html">moc.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="gf8c5dfb6bb79027948fe63f4cf6504eb"></a><!-- doxytag: member="moc.h::MOC_COMM_SELF" ref="gf8c5dfb6bb79027948fe63f4cf6504eb" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MOC_COMM_SELF 2 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Specifies a constant that contains only the calling process.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d7/de1/moc_8h-source.html#l00301">301</a> of file <a class="el" href="../../d7/de1/moc_8h-source.html">moc.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html#l00011">MOC_Barrier()</a>, <a class="el" href="../../da/d19/moc__bcast_8c-source.html#l00009">MOC_Bcast()</a>, <a class="el" href="../../d9/dd3/moc__comm__rank_8c-source.html#l00008">MOC_Comm_rank()</a>, and <a class="el" href="../../d8/d65/moc__comm__size_8c-source.html#l00008">MOC_Comm_size()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g14e1cb53b99b5e239d4cc6a8d370ad94"></a><!-- doxytag: member="moc.h::MOC_COMM_WORLD" ref="g14e1cb53b99b5e239d4cc6a8d370ad94" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MOC_COMM_WORLD 1 </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Specifies a constant that contains all of the processes.
|
||||
<p>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d7/de1/moc_8h-source.html#l00296">296</a> of file <a class="el" href="../../d7/de1/moc_8h-source.html">moc.h</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="../../dc/d5d/moc__barrier__ppu_8c-source.html#l00011">MOC_Barrier()</a>, <a class="el" href="../../d9/dd3/moc__comm__rank_8c-source.html#l00008">MOC_Comm_rank()</a>, and <a class="el" href="../../d8/d65/moc__comm__size_8c-source.html#l00008">MOC_Comm_size()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Typedef Documentation</h2>
|
||||
<a class="anchor" name="g3d2b8a9af65bff5f79d02bda13616767"></a><!-- doxytag: member="moc.h::MOC_Comm" ref="g3d2b8a9af65bff5f79d02bda13616767" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">typedef int <a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Communicator-Handle.
|
||||
<p>
|
||||
Masks the actual type which is used to encode the communicator. Char is used and therefore the maximum number of possible communicators is limited to 256. But because there are three predefined communicators (MPI_COMM_NULL, MPI_COMM_WORLD and MPI_COMM_SELF) only 253 user-defined communicators are possible.
|
||||
<p>Definition at line <a class="el" href="../../d7/de1/moc_8h-source.html#l00286">286</a> of file <a class="el" href="../../d7/de1/moc_8h-source.html">moc.h</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="gbadd556e16667ac8ee86af72299e4915"></a><!-- doxytag: member="moc.h::MOC_Comm_rank" ref="gbadd556e16667ac8ee86af72299e4915" args="(MOC_Comm comm, int *rank)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Comm_rank </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int * </td>
|
||||
<td class="paramname"> <em>rank</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Determines the rank of the calling process in the communicator.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> commicator-handle </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>rank</em> </td><td><b>out</b> rank of the calling process in group of comm </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_COMM</em> </td><td>Invalid communicator. A common error is to use a null communicator in a call. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d9/dd3/moc__comm__rank_8c-source.html#l00008">8</a> of file <a class="el" href="../../d9/dd3/moc__comm__rank_8c-source.html">moc_comm_rank.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../d7/de1/moc_8h-source.html#l00301">MOC_COMM_SELF</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00296">MOC_COMM_WORLD</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00035">MOC_ERR_COMM</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00052">node_handle</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00032">moc_node_handle_ppu_struct::rank</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="g36ac8a2d969216d52418aedd77a5829e"></a><!-- doxytag: member="moc.h::MOC_Comm_size" ref="g36ac8a2d969216d52418aedd77a5829e" args="(MOC_Comm comm, int *size)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int MOC_Comm_size </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dd1/group__comm__mgt.html#g3d2b8a9af65bff5f79d02bda13616767">MOC_Comm</a> </td>
|
||||
<td class="paramname"> <em>comm</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int * </td>
|
||||
<td class="paramname"> <em>size</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Determines the size of the group associated with a communictor.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>comm</em> </td><td><b>in</b> commicator-handle </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>size</em> </td><td><b>out</b> number of processes in the group of comm </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Return values:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_SUCCESS</em> </td><td>No error; MPI routine completed successfully. </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_COMM</em> </td><td>Invalid communicator. A common error is to use a null communicator in a call. </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>Definition at line <a class="el" href="../../d8/d65/moc__comm__size_8c-source.html#l00008">8</a> of file <a class="el" href="../../d8/d65/moc__comm__size_8c-source.html">moc_comm_size.c</a>.</p>
|
||||
|
||||
<p>References <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00033">moc_node_handle_ppu_struct::comm_size</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00301">MOC_COMM_SELF</a>, <a class="el" href="../../d7/de1/moc_8h-source.html#l00296">MOC_COMM_WORLD</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00035">MOC_ERR_COMM</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00052">node_handle</a>.</p>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:02 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>
|
||||