Files
MPIonCell/documentation/developer/html/d8/d9a/group__environment__startup.html
2017-10-26 19:57:24 +02:00

407 lines
24 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="../../de/d1b/group__environment__main.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="../../d8/d9a/group__environment__startup.png" border="0" alt="" usemap="#df/df9/d8_2d9a_2group____environment____startup_map">
<map name="df/df9/d8_2d9a_2group____environment____startup_map">
<area shape="rect" href="../../de/d1b/group__environment__main.html" title="This chapter discusses routines for getting and, where appropriate, setting various..." alt="" coords="5,5,187,32"></map></td></tr></table></center>
</div>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Functions to start and terminate the MOC-execution environment.
<p>
To be able to communicate with other processes every MOC-process needs to setup his MOC-Environment before any MOC-function can be called (there are some exceptions though).<p>
The PPU-process has a special role, because he is the one who starts the SPU-processes. SPU-processes can be added to the MOC-environment by calling <a class="el" href="../../d8/d9a/group__environment__startup.html#geea5b7c117adae78e954f0959fe0c447">MOC_Add_spu_thread</a> with the appropriate SPU-thread-handle (This implementation only supports the embedded binary concept where the SPU-binary is embedded into the PPU-binary and accessed via a handle). The order of calling determines the rank of the SPU-processes. To get the number of total and available SPUs the functions <a class="el" href="../../d8/d9a/group__environment__startup.html#g66028682d3c25b76e25ca57655d47625">MOC_Get_avail_spu_count</a> and <a class="el" href="../../d8/d9a/group__environment__startup.html#g58c038d9978a55d6f346102dfef9acc7">MOC_Get_max_spu_count</a> can be used.<p>
The buffer-size and the size of the message-queues can be set before calling <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a> on the PPU using <a class="el" href="../../d8/d9a/group__environment__startup.html#g0ac2f7a8d9b93b8da0408a5307f0c925">MOC_Set_buffer_size</a> and <a class="el" href="../../d8/d9a/group__environment__startup.html#g3e83e7a629951e6788a682aad654baf8">MOC_Set_queue_size</a>.<p>
MOC_Init only returns after all processes have called this function and have set up their environment.<p>
If the MOC-environment isn't needed anymore, <a class="el" href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8">MOC_Finalize</a> should be called by all MOC-processes. MOC_Finalize only returns after all MOC-processes have called this functions and have shutdown their environments.
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>PPU &amp; SPU</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g0fd366b8b49db32818786c773c4919b8">MOC_Finalize</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminates MPI execution environment. <a href="#g0fd366b8b49db32818786c773c4919b8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>PPU-only</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g66028682d3c25b76e25ca57655d47625">MOC_Get_avail_spu_count</a> (int *count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of available SPUs. <a href="#g66028682d3c25b76e25ca57655d47625"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g58c038d9978a55d6f346102dfef9acc7">MOC_Get_max_spu_count</a> (int *count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of SPUs. <a href="#g58c038d9978a55d6f346102dfef9acc7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#geea5b7c117adae78e954f0959fe0c447">MOC_Add_spu_thread</a> (spe_program_handle_t *phandle, void *argp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a SPU-Thread. <a href="#geea5b7c117adae78e954f0959fe0c447"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g0ac2f7a8d9b93b8da0408a5307f0c925">MOC_Set_buffer_size</a> (uint32_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the buffer used for buffered communication. <a href="#g0ac2f7a8d9b93b8da0408a5307f0c925"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g3e83e7a629951e6788a682aad654baf8">MOC_Set_queue_size</a> (uint8_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the message-queues. <a href="#g3e83e7a629951e6788a682aad654baf8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g9a59090c9d03e89f019e8276d4013c72">MOC_Init</a> (int *argc, char ***argv)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the MPI execution environment. <a href="#g9a59090c9d03e89f019e8276d4013c72"></a><br></td></tr>
<tr><td colspan="2"><br><h2>SPU-only</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d9a/group__environment__startup.html#g4d96c98b95bd1a0f6ed8c1e5e6f6c873">MOC_Init</a> (unsigned long long argp, int length, void *buffer)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the MPI execution environment. <a href="#g4d96c98b95bd1a0f6ed8c1e5e6f6c873"></a><br></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="geea5b7c117adae78e954f0959fe0c447"></a><!-- doxytag: member="moc.h::MOC_Add_spu_thread" ref="geea5b7c117adae78e954f0959fe0c447" args="(spe_program_handle_t *phandle, void *argp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Add_spu_thread </td>
<td>(</td>
<td class="paramtype">spe_program_handle_t *&nbsp;</td>
<td class="paramname"> <em>phandle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>argp</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Adds a SPU-Thread.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Must be called before calling <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a><p>
The order of executions defines the order of the ranks of the SPU-Threads</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>phandle</em>&nbsp;</td><td><b>in</b> Handle of the SPE-Program </td></tr>
<tr><td valign="top"></td><td valign="top"><em>argp</em>&nbsp;</td><td><b>in</b> Pointer to some user-defined information in the main-memory </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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_BUFFER_OVERFLOW</em>&nbsp;</td><td>A Buffer-Overflow occured. Mosst likely you tried to add more SPU-threads than defined by <a class="el" href="../../db/dae/ppu_2moc_8h.html#a6aacc64a745d563ed72610e08ceb3ef">MOC_SPU_THREAD_MAX</a>. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_INTERN</em>&nbsp;</td><td>Internal Error </td></tr>
</table>
</dl>
<p>Definition at line <a class="el" href="../../dd/db2/moc__add__spu__thread__ppu_8c-source.html#l00011">11</a> of file <a class="el" href="../../dd/db2/moc__add__spu__thread__ppu_8c-source.html">moc_add_spu_thread_ppu.c</a>.</p>
<p>References <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00081">moc_spu_thread_struct::argp</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00062">MOC_ERR_BUFFER_OVERFLOW</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00047">MOC_ERR_INTERN</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00098">moc_spu_thread_count</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00123">moc_spu_thread_list</a>, <a class="el" href="../../d9/df9/ppu_2moc_8h-source.html#l00017">MOC_SPU_THREAD_MAX</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00080">moc_spu_thread_struct::spe_entry_adress</a>.</p>
</div>
</div><p>
<a class="anchor" name="g0fd366b8b49db32818786c773c4919b8"></a><!-- doxytag: member="moc.h::MOC_Finalize" ref="g0fd366b8b49db32818786c773c4919b8" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Finalize </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Terminates MPI execution environment.
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>All processes must call this routine before exiting.</dd></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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
</table>
</dl>
<p>Definition at line <a class="el" href="../../d1/d67/moc__finalize__ppu_8c-source.html#l00011">11</a> of file <a class="el" href="../../d1/d67/moc__finalize__ppu_8c-source.html">moc_finalize_ppu.c</a>.</p>
<p>References <a class="el" href="../../d7/d1f/imoc__buffer__malloc_8c-source.html#l00020">bmalloc_first_node</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00037">moc_node_handle_ppu_struct::buffer_base</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00035">moc_node_handle_ppu_struct::message_queue_base</a>, <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00047">MOC_ERR_INTERN</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00040">moc_node_handle_ppu_struct::moc_process_list</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00098">moc_spu_thread_count</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00123">moc_spu_thread_list</a>, <a class="el" href="../../d4/d9b/imoc_8h-source.html#l00182">moc_internal_buffer_node_struct::next_node</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00052">node_handle</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00032">moc_node_handle_ppu_struct::rank</a>, <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00039">moc_node_handle_ppu_struct::signal_area</a>, and <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00036">moc_node_handle_ppu_struct::status_array_base</a>.</p>
</div>
</div><p>
<a class="anchor" name="g66028682d3c25b76e25ca57655d47625"></a><!-- doxytag: member="moc.h::MOC_Get_avail_spu_count" ref="g66028682d3c25b76e25ca57655d47625" args="(int *count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Get_avail_spu_count </td>
<td>(</td>
<td class="paramtype">int *&nbsp;</td>
<td class="paramname"> <em>count</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the number of available SPUs.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Must be called before <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a><p>
This function should return the count of free SPUs. But this doesn't really works. To get the available SPU-count the function spe_cpu_info_get() from libspe2 with SPE_COUNT_USABLE_SPES-flag is used. However this function can only detect if a SPU-thread is used by the calling function. There seems to be no means to detect SPU-thread used by other applications.</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>count</em>&nbsp;</td><td><b>out</b> number of available SPUs </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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>error-code </td></tr>
</table>
</dl>
<p>Definition at line <a class="el" href="../../d3/dfa/moc__get__avail__spu__ppu_8c-source.html#l00004">4</a> of file <a class="el" href="../../d3/dfa/moc__get__avail__spu__ppu_8c-source.html">moc_get_avail_spu_ppu.c</a>.</p>
<p>References <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00047">MOC_ERR_INTERN</a>.</p>
</div>
</div><p>
<a class="anchor" name="g58c038d9978a55d6f346102dfef9acc7"></a><!-- doxytag: member="moc.h::MOC_Get_max_spu_count" ref="g58c038d9978a55d6f346102dfef9acc7" args="(int *count)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Get_max_spu_count </td>
<td>(</td>
<td class="paramtype">int *&nbsp;</td>
<td class="paramname"> <em>count</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the number of SPUs.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Must be called before <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a></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>count</em>&nbsp;</td><td><b>out</b> SPU-count </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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>error-code </td></tr>
</table>
</dl>
<p>Definition at line <a class="el" href="../../de/d0b/moc__get__max__spu__ppu_8c-source.html#l00004">4</a> of file <a class="el" href="../../de/d0b/moc__get__max__spu__ppu_8c-source.html">moc_get_max_spu_ppu.c</a>.</p>
<p>References <a class="el" href="../../d3/d95/moc__error__codes_8h-source.html#l00047">MOC_ERR_INTERN</a>.</p>
</div>
</div><p>
<a class="anchor" name="g4d96c98b95bd1a0f6ed8c1e5e6f6c873"></a><!-- doxytag: member="moc.h::MOC_Init" ref="g4d96c98b95bd1a0f6ed8c1e5e6f6c873" args="(unsigned long long argp, int length, void *buffer)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Init </td>
<td>(</td>
<td class="paramtype">unsigned long long&nbsp;</td>
<td class="paramname"> <em>argp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>buffer</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initialize the MPI execution environment.
<p>
<a class="anchor" name="moc_init_spu"></a><p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>SPU-only function</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>All processes must call this routine before executing any MOC-routine.</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>argp</em>&nbsp;</td><td><b>in</b> Pointer to user-defined information in the main-memory </td></tr>
<tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td><b>in</b> Length of the user-defined information in bytes </td></tr>
<tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td><b>out</b> Buffer into which the user-defined information should be copied </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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_NO_MEMORY</em>&nbsp;</td><td>Insufficient Memory. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_INTERN</em>&nbsp;</td><td>Internal Error </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g9a59090c9d03e89f019e8276d4013c72"></a><!-- doxytag: member="moc.h::MOC_Init" ref="g9a59090c9d03e89f019e8276d4013c72" args="(int *argc, char ***argv)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Init </td>
<td>(</td>
<td class="paramtype">int *&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char ***&nbsp;</td>
<td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Initialize the MPI execution environment.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only function</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>All processes must call this routine before executing any MOC-routine.</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>argc</em>&nbsp;</td><td><b>in</b> Pointer to the number of arguments </td></tr>
<tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td><b>in</b> Pointer to the argument vector </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>&nbsp;</td><td>No error; MPI routine completed successfully. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_NO_MEMORY</em>&nbsp;</td><td>Insufficient Memory. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MOC_ERR_INTERN</em>&nbsp;</td><td>Internal Error </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g0ac2f7a8d9b93b8da0408a5307f0c925"></a><!-- doxytag: member="moc.h::MOC_Set_buffer_size" ref="g0ac2f7a8d9b93b8da0408a5307f0c925" args="(uint32_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Set_buffer_size </td>
<td>(</td>
<td class="paramtype">uint32_t&nbsp;</td>
<td class="paramname"> <em>size</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Sets the size of the buffer used for buffered communication.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Must be called before <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a></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>size</em>&nbsp;</td><td>buffer-size </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if success, otherwise error-code </dd></dl>
<p>Definition at line <a class="el" href="../../da/d1a/moc__set__buffer__size__ppu_8c-source.html#l00003">3</a> of file <a class="el" href="../../da/d1a/moc__set__buffer__size__ppu_8c-source.html">moc_set_buffer_size_ppu.c</a>.</p>
<p>References <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00111">moc_spu_buffer_size</a>.</p>
</div>
</div><p>
<a class="anchor" name="g3e83e7a629951e6788a682aad654baf8"></a><!-- doxytag: member="moc.h::MOC_Set_queue_size" ref="g3e83e7a629951e6788a682aad654baf8" args="(uint8_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MOC_Set_queue_size </td>
<td>(</td>
<td class="paramtype">uint8_t&nbsp;</td>
<td class="paramname"> <em>size</em> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Sets the size of the message-queues.
<p>
<dl class="attention" compact><dt><b>Attention:</b></dt><dd>PPU-only</dd></dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Must be called before <a class="el" href="../../d4/de2/moc__init__spu_8c.html#ee36daffc6d5276cabe2b44afeb35ece">MOC_Init</a></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>size</em>&nbsp;</td><td>queue-size </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if success, otherwise error-code </dd></dl>
<p>Definition at line <a class="el" href="../../df/d1a/moc__set__queue__size__ppu_8c-source.html#l00003">3</a> of file <a class="el" href="../../df/d1a/moc__set__queue__size__ppu_8c-source.html">moc_set_queue_size_ppu.c</a>.</p>
<p>References <a class="el" href="../../db/d45/imoc__core__ppu_8h-source.html#l00116">moc_spu_queue_size</a>.</p>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 13:50:44 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>