Files
2017-10-26 19:57:24 +02:00

59 lines
4.0 KiB
HTML
Executable File

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPI On Cell (Documentation): Startup &amp; Shutdown</title>
<link href="../../doxygen.css" rel="stylesheet" type="text/css">
<link href="../../tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="../../main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Startup &amp; Shutdown<br>
<small>
[<a class="el" href="../../d2/d16/group__internal__env.html">Environmental Management</a>]</small>
</h1>
<p>
<div class="dynheader">
Collaboration diagram for Startup &amp; Shutdown:</div>
<div class="dynsection">
<center><table><tr><td><img src="../../d6/de0/group__internal__init.png" border="0" alt="" usemap="#de/dcf/d6_2de0_2group____internal____init_map">
<map name="de/dcf/d6_2de0_2group____internal____init_map">
<area shape="rect" href="../../d2/d16/group__internal__env.html" title="Internals about Startup &amp; Shutdown and Error&#45;Handling." alt="" coords="5,5,187,32"><area shape="rect" href="../../dc/df1/group__internal__spu__thread.html" title="This section deals about the creation and management of SPU&#45;threads." alt="" coords="421,5,592,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Internals about the startup of the execution-environment and SPU-Thread-Management.
<p>
<h2><a class="anchor" name="iinit_start">
Startup</a></h2>
The PPU-Process creates for every SPU-thread an own thread using the pthread-library (see <a class="el" href="../../dc/df1/group__internal__spu__thread.html">SPU-Thread Management</a>). The rank of each prozess, the overall process count, the sizes of message-queue and buffer-space and the effective base address of the buffer is send to each SPU-thread via mailbox-messages. The SPU-threads then send the memory-addresses of their message-queues and status-arrays back to the PPU-process which writes this data into the prozess-list. After all SPU-Threads have reported back to the PPU-process the effective address of the PPU's process-list ist distributed among the SPU-processes which then copy the process-list via DMA in their local storages.<h2><a class="anchor" name="iinit_shut">
Shutdown</a></h2>
<h3><a class="anchor" name="iinit_shut_ppu">
PPU</a></h3>
The PPU-process waits till all SPU-threads have signalled that they are also executing the finalize-function. After that a signal is send back to each SPU-Thread that they can now stop execution. Then local ressources are freed and the finalize-function returns.<h3><a class="anchor" name="iinit_shut_spu">
SPU</a></h3>
A mailbox-message is send to the PPU to signal that the SPU-process is now executing the finalize-function. After that the SPU-process is waiting till a mailbox-message from the PPU-process is received. Then local ressources are freed and the finalize-function returns.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df1/group__internal__spu__thread.html">SPU-Thread Management</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This section deals about the creation and management of SPU-threads. <br></td></tr>
<p>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:51:05 2009 for MPI On Cell (Documentation) by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="../../doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>