| <h2>The <code>upc_affinitysize</code> function</h2> |
| |
| <h4>Synopsis</h4> |
| <pre> |
| #include <upc.h> |
| size_t upc_affinitysize(size_t totalsize, |
| size_t nbytes, |
| size_t threadid); |
| </pre> |
| <p> |
| <h4>Description</h4> |
| <p> |
| The <code>upc_affinitysize </code> function is a convenience function which calculates the exact size |
| of the local portion of the data in a shared object with affinity to <code>threadid</code>. |
| <p>In the case of a dynamically allocated shared object, the <code>totalsize</code> argument |
| shall be <code>nbytes*nblocks</code> and the <code>nbytes</code> argument shall be <code>nbytes</code>, |
| where <code>nblocks</code> and <code>nbytes</code> are exactly as passed to <code>upc_global_alloc</code> or |
| <code>upc_all_alloc</code> when the object was allocated. |
| <p>In the case of a statically allocated shared object with declaration: |
| <pre> |
| shared [b] t d[s]; |
| </pre> |
| the <code>totalsize</code> argument shall be <code>s * sizeof(t)</code> and the <code>nbytes</code> argument |
| shall be <code>b * sizeof(t)</code>. If the block size is indefinite, <code>nbytes</code> shall be 0. |
| <p><code>threadid</code> shall be a value in <code>0..(THREADS-1)</code>. |
| |
| |
| <p>  |
| <p>  |
| <p><a href="terms.html">Terms, definitions, and symbols</a><br> |
| <p><a href="index.html">Back to index of all UPC functions</a> |