Dosyalar
rocm-systems/docs/RuntimeAPI/html/hcc__detail_2hip__runtime_8h.html
T
2016-01-26 20:14:33 -06:00

396 satır
38 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>HIP: Heterogenous-computing Interface for Portability: /home/fpadmin/ben/HIP6/include/hcc_detail/hip_runtime.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">HIP: Heterogenous-computing Interface for Portability
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_6d8604cb65fa6b83549668eb0ce09cac.html">hcc_detail</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">hip_runtime.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;cstring&gt;</code><br/>
<code>#include &lt;cmath&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;stddef.h&gt;</code><br/>
<code>#include &lt;hip_runtime_api.h&gt;</code><br/>
<code>#include &lt;hc.hpp&gt;</code><br/>
<code>#include &lt;grid_launch.h&gt;</code><br/>
<code>#include &lt;hcc_detail/hip_texture.h&gt;</code><br/>
<code>#include &lt;hcc_detail/host_defines.h&gt;</code><br/>
</div>
<p><a href="hcc__detail_2hip__runtime_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a3b04412e00a9dd149c9078eb4c0bf99a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b04412e00a9dd149c9078eb4c0bf99a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CUDA_SUCCESS</b>&#160;&#160;&#160;<a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063">hipSuccess</a></td></tr>
<tr class="separator:a3b04412e00a9dd149c9078eb4c0bf99a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21df7e40dc66a8a36e64137a13e353ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21df7e40dc66a8a36e64137a13e353ef"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipLaunchParm</b>&#160;&#160;&#160;grid_launch_parm</td></tr>
<tr class="separator:a21df7e40dc66a8a36e64137a13e353ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb562e3bed8b94569dcea678bf603897"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb562e3bed8b94569dcea678bf603897"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__HIP_DEVICE_COMPILE__</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:abb562e3bed8b94569dcea678bf603897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2407876ca5fb977d67f41601ee951770"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2407876ca5fb977d67f41601ee951770"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__launch_bounds__</b>(requiredMaxThreadsPerBlock, minBlocksPerMultiprocessor)</td></tr>
<tr class="separator:a2407876ca5fb977d67f41601ee951770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33f6338b5bbb294b41e5c35a8d0f5bf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33f6338b5bbb294b41e5c35a8d0f5bf3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>clock_t</b>&#160;&#160;&#160;long long int</td></tr>
<tr class="separator:a33f6338b5bbb294b41e5c35a8d0f5bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48f5f9da77c5fab1fbcf0205bb347d89"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hcc__detail_2hip__runtime_8h.html#a48f5f9da77c5fab1fbcf0205bb347d89">hipThreadIdx_x</a>&#160;&#160;&#160;(amp_get_local_id(2))</td></tr>
<tr class="separator:a48f5f9da77c5fab1fbcf0205bb347d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a939ddbdeda33c3a6bfafc7704a4ade88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a939ddbdeda33c3a6bfafc7704a4ade88"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipThreadIdx_y</b>&#160;&#160;&#160;(amp_get_local_id(1))</td></tr>
<tr class="separator:a939ddbdeda33c3a6bfafc7704a4ade88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc16a17315622c7ef9a53c4e10e6daa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8bc16a17315622c7ef9a53c4e10e6daa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipThreadIdx_z</b>&#160;&#160;&#160;(amp_get_local_id(0))</td></tr>
<tr class="separator:a8bc16a17315622c7ef9a53c4e10e6daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6baf7aebe9f49c5dd47e7093c24e22a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6baf7aebe9f49c5dd47e7093c24e22a3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockIdx_x</b>&#160;&#160;&#160;(hc_get_group_id(2))</td></tr>
<tr class="separator:a6baf7aebe9f49c5dd47e7093c24e22a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6e9de3b58078117ef362536694447c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6e9de3b58078117ef362536694447c2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockIdx_y</b>&#160;&#160;&#160;(hc_get_group_id(1))</td></tr>
<tr class="separator:ad6e9de3b58078117ef362536694447c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a233db23a587aeb436aa3e9dc3a4cef58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a233db23a587aeb436aa3e9dc3a4cef58"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockIdx_z</b>&#160;&#160;&#160;(hc_get_group_id(0))</td></tr>
<tr class="separator:a233db23a587aeb436aa3e9dc3a4cef58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b71966ad0958fda5d8ff9499967871c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b71966ad0958fda5d8ff9499967871c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockDim_x</b>&#160;&#160;&#160;(amp_get_local_size(2))</td></tr>
<tr class="separator:a4b71966ad0958fda5d8ff9499967871c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c1dac32644f94056d5db33d5a09fc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51c1dac32644f94056d5db33d5a09fc0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockDim_y</b>&#160;&#160;&#160;(amp_get_local_size(1))</td></tr>
<tr class="separator:a51c1dac32644f94056d5db33d5a09fc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b9c4603c1426502ff8148c1e2e61bd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b9c4603c1426502ff8148c1e2e61bd7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipBlockDim_z</b>&#160;&#160;&#160;(amp_get_local_size(0))</td></tr>
<tr class="separator:a1b9c4603c1426502ff8148c1e2e61bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300eb57008240b0a0acb3edb412c8646"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a300eb57008240b0a0acb3edb412c8646"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipGridDim_x</b>&#160;&#160;&#160;(hc_get_num_groups(2))</td></tr>
<tr class="separator:a300eb57008240b0a0acb3edb412c8646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a396ec40c093b35af1340a645e1ec2614"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a396ec40c093b35af1340a645e1ec2614"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipGridDim_y</b>&#160;&#160;&#160;(hc_get_num_groups(1))</td></tr>
<tr class="separator:a396ec40c093b35af1340a645e1ec2614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e9947dbaa1343a5515541570580979c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e9947dbaa1343a5515541570580979c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>hipGridDim_z</b>&#160;&#160;&#160;(hc_get_num_groups(0))</td></tr>
<tr class="separator:a6e9947dbaa1343a5515541570580979c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d71a6ed991854dbafa20f282905c262"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d71a6ed991854dbafa20f282905c262"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>__syncthreads</b>()&#160;&#160;&#160;hc_barrier(CLK_LOCAL_MEM_FENCE)</td></tr>
<tr class="separator:a1d71a6ed991854dbafa20f282905c262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae4bd590189ae294b70ee4f3d3de5dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ae4bd590189ae294b70ee4f3d3de5dc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>HIP_KERNEL_NAME</b>(...)&#160;&#160;&#160;__VA_ARGS__</td></tr>
<tr class="separator:a1ae4bd590189ae294b70ee4f3d3de5dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad55ac6a8f4c288efbe4af7f44bc93653"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>KERNELBEGIN</b></td></tr>
<tr class="separator:ad55ac6a8f4c288efbe4af7f44bc93653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6895918192432884ae3ceb90f5f5364d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><b>KERNELEND</b></td></tr>
<tr class="separator:a6895918192432884ae3ceb90f5f5364d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa30ebddcc0f3436c44ddfbe700dcd35a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa30ebddcc0f3436c44ddfbe700dcd35a"></a>
__device__ long long int&#160;</td><td class="memItemRight" valign="bottom"><b>clock64</b> ()</td></tr>
<tr class="separator:aa30ebddcc0f3436c44ddfbe700dcd35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbdee7d7e8ea8f9f8d02f89eba4c221b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbdee7d7e8ea8f9f8d02f89eba4c221b"></a>
__device__ clock_t&#160;</td><td class="memItemRight" valign="bottom"><b>clock</b> ()</td></tr>
<tr class="separator:adbdee7d7e8ea8f9f8d02f89eba4c221b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcc0d8e2df65334ca8e3765bd5a0bb7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcc0d8e2df65334ca8e3765bd5a0bb7f"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAdd</b> (int *address, int val)</td></tr>
<tr class="separator:abcc0d8e2df65334ca8e3765bd5a0bb7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f03cbc6840e02b83f6db2788b898950"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f03cbc6840e02b83f6db2788b898950"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAdd</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a5f03cbc6840e02b83f6db2788b898950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95ba309520dda78d7f4b83f05129ed4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95ba309520dda78d7f4b83f05129ed4a"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAdd</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:a95ba309520dda78d7f4b83f05129ed4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403a0e10baf201afaf4df1b153f3096c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a403a0e10baf201afaf4df1b153f3096c"></a>
__device__ float&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAdd</b> (float *address, float val)</td></tr>
<tr class="separator:a403a0e10baf201afaf4df1b153f3096c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a953b38768ed03f5838a12927326ba2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a953b38768ed03f5838a12927326ba2"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicSub</b> (int *address, int val)</td></tr>
<tr class="separator:a6a953b38768ed03f5838a12927326ba2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87bdfe4beba8e821ec0e41e931f62ddf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87bdfe4beba8e821ec0e41e931f62ddf"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicSub</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a87bdfe4beba8e821ec0e41e931f62ddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea70a585c1821977e4849f9f54fcc55b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea70a585c1821977e4849f9f54fcc55b"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicExch</b> (int *address, int val)</td></tr>
<tr class="separator:aea70a585c1821977e4849f9f54fcc55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dda360556f0e26a0245a3cf63475dea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9dda360556f0e26a0245a3cf63475dea"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicExch</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a9dda360556f0e26a0245a3cf63475dea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e9d497590858bd2cc8eca3d116fde8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e9d497590858bd2cc8eca3d116fde8c"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicExch</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:a4e9d497590858bd2cc8eca3d116fde8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8aeb4c9d879d5284f89728e52a0d4b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8aeb4c9d879d5284f89728e52a0d4b0"></a>
__device__ float&#160;</td><td class="memItemRight" valign="bottom"><b>atomicExch</b> (float *address, float val)</td></tr>
<tr class="separator:aa8aeb4c9d879d5284f89728e52a0d4b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab89a742ea3fd1295fae921f405eb2e80"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab89a742ea3fd1295fae921f405eb2e80"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMin</b> (int *address, int val)</td></tr>
<tr class="separator:ab89a742ea3fd1295fae921f405eb2e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a792731eaec99030e34af6a665471d264"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a792731eaec99030e34af6a665471d264"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMin</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a792731eaec99030e34af6a665471d264"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b78da10f82fe39e791dc8a81a78744"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2b78da10f82fe39e791dc8a81a78744"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMin</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:ae2b78da10f82fe39e791dc8a81a78744"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb5c691375fa437cb0b229ebb9306eb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb5c691375fa437cb0b229ebb9306eb1"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMax</b> (int *address, int val)</td></tr>
<tr class="separator:afb5c691375fa437cb0b229ebb9306eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88dd6082b39d6031b6e85e686fc1a74a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88dd6082b39d6031b6e85e686fc1a74a"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMax</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a88dd6082b39d6031b6e85e686fc1a74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c22b5463ad7822e5162fc1d29510e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23c22b5463ad7822e5162fc1d29510e1"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicMax</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:a23c22b5463ad7822e5162fc1d29510e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2b92bdd3e4b8ef98bc0f6f1102379db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2b92bdd3e4b8ef98bc0f6f1102379db"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicInc</b> (unsigned int *address)</td></tr>
<tr class="separator:ab2b92bdd3e4b8ef98bc0f6f1102379db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a907309293d109ecdfa9a435775684358"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a907309293d109ecdfa9a435775684358"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicDec</b> (unsigned int *address)</td></tr>
<tr class="separator:a907309293d109ecdfa9a435775684358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a438c18227b61ddc3869a8746b2d9dc30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a438c18227b61ddc3869a8746b2d9dc30"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicCAS</b> (int *address, int compare, int val)</td></tr>
<tr class="separator:a438c18227b61ddc3869a8746b2d9dc30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2107704c0b1c805b96ae83d90c147c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2107704c0b1c805b96ae83d90c147c9"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicCAS</b> (unsigned int *address, unsigned int compare, unsigned int val)</td></tr>
<tr class="separator:ac2107704c0b1c805b96ae83d90c147c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a276d6117ae1d0aeaafdbc7621ff80a7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a276d6117ae1d0aeaafdbc7621ff80a7d"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicCAS</b> (unsigned long long int *address, unsigned long long int compare, unsigned long long int val)</td></tr>
<tr class="separator:a276d6117ae1d0aeaafdbc7621ff80a7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a217f6df4cc18e92a708ff289fbadd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97a217f6df4cc18e92a708ff289fbadd"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAnd</b> (int *address, int val)</td></tr>
<tr class="separator:a97a217f6df4cc18e92a708ff289fbadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14f267ed65079758f76d2d7caf7dcee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae14f267ed65079758f76d2d7caf7dcee"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAnd</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:ae14f267ed65079758f76d2d7caf7dcee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c55cc1835a436310c157a9ab427d4a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77c55cc1835a436310c157a9ab427d4a"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicAnd</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:a77c55cc1835a436310c157a9ab427d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad966a1cfff343d367b5940b329a5d324"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad966a1cfff343d367b5940b329a5d324"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicOr</b> (int *address, int val)</td></tr>
<tr class="separator:ad966a1cfff343d367b5940b329a5d324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a897b415a5e2e8222c778b71f8716607f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a897b415a5e2e8222c778b71f8716607f"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicOr</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:a897b415a5e2e8222c778b71f8716607f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6375f57ca6be98a6ec4d0837c58d385"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6375f57ca6be98a6ec4d0837c58d385"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicOr</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:aa6375f57ca6be98a6ec4d0837c58d385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a234c564af604bc23de85c9d3f48da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a02a234c564af604bc23de85c9d3f48da"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicXor</b> (int *address, int val)</td></tr>
<tr class="separator:a02a234c564af604bc23de85c9d3f48da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3fa0a3baa5b7faaab4cdfa0bfcbc084"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3fa0a3baa5b7faaab4cdfa0bfcbc084"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicXor</b> (unsigned int *address, unsigned int val)</td></tr>
<tr class="separator:aa3fa0a3baa5b7faaab4cdfa0bfcbc084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f45bfdc2aa11e7969dcb39f5c0e06ef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f45bfdc2aa11e7969dcb39f5c0e06ef"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>atomicXor</b> (unsigned long long int *address, unsigned long long int val)</td></tr>
<tr class="separator:a0f45bfdc2aa11e7969dcb39f5c0e06ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf9c743fcdf623f951d68de66618b91"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bf9c743fcdf623f951d68de66618b91"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__popc</b> (unsigned int input)</td></tr>
<tr class="separator:a5bf9c743fcdf623f951d68de66618b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30d8c96e7c4c672625d9d80422317a7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac30d8c96e7c4c672625d9d80422317a7"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__popcll</b> (unsigned long long int input)</td></tr>
<tr class="separator:ac30d8c96e7c4c672625d9d80422317a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fb14ee01f4c19bee7ae596db54fd610"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2fb14ee01f4c19bee7ae596db54fd610"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__clz</b> (unsigned int input)</td></tr>
<tr class="separator:a2fb14ee01f4c19bee7ae596db54fd610"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb00ca5e6898a401c6520bf810a25067"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb00ca5e6898a401c6520bf810a25067"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__clzll</b> (unsigned long long int input)</td></tr>
<tr class="separator:afb00ca5e6898a401c6520bf810a25067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0942fde627a6113a5cabe86506588a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0942fde627a6113a5cabe86506588a6"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__clz</b> (int input)</td></tr>
<tr class="separator:ab0942fde627a6113a5cabe86506588a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed84645864b7996c7759106e6fe4d2d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed84645864b7996c7759106e6fe4d2d3"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__clzll</b> (long long int input)</td></tr>
<tr class="separator:aed84645864b7996c7759106e6fe4d2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1b089e42f5c969c5f80aa72f3419496"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1b089e42f5c969c5f80aa72f3419496"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__ffs</b> (unsigned int input)</td></tr>
<tr class="separator:ae1b089e42f5c969c5f80aa72f3419496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1bc368fb13eecb10b990e43ad9f8b19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1bc368fb13eecb10b990e43ad9f8b19"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__ffsll</b> (unsigned long long int input)</td></tr>
<tr class="separator:af1bc368fb13eecb10b990e43ad9f8b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f15db7be18704007ca3cb2358edfcaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f15db7be18704007ca3cb2358edfcaf"></a>
__device__ unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>__brev</b> (unsigned int input)</td></tr>
<tr class="separator:a3f15db7be18704007ca3cb2358edfcaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0e3f49364e6c05a75cf92d5844bcf61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0e3f49364e6c05a75cf92d5844bcf61"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>__brevll</b> (unsigned long long int input)</td></tr>
<tr class="separator:ab0e3f49364e6c05a75cf92d5844bcf61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab428e0e248df106b2df05c3f4f28917a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab428e0e248df106b2df05c3f4f28917a"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>__all</b> (int input)</td></tr>
<tr class="separator:ab428e0e248df106b2df05c3f4f28917a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d1a67823b169ce8f39da14cd3c3eb38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d1a67823b169ce8f39da14cd3c3eb38"></a>
__device__ int&#160;</td><td class="memItemRight" valign="bottom"><b>__any</b> (int input)</td></tr>
<tr class="separator:a3d1a67823b169ce8f39da14cd3c3eb38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2230562f67a1e7e3393026372f6e31f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2230562f67a1e7e3393026372f6e31f"></a>
__device__ unsigned long long int&#160;</td><td class="memItemRight" valign="bottom"><b>__ballot</b> (int input)</td></tr>
<tr class="separator:aa2230562f67a1e7e3393026372f6e31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a48fa8b9d8b693778a249dad1ed747249"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48fa8b9d8b693778a249dad1ed747249"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>warpSize</b></td></tr>
<tr class="separator:a48fa8b9d8b693778a249dad1ed747249"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e1c85dbb250f1acfb484c1be1f3b28a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1e1c85dbb250f1acfb484c1be1f3b28a"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HIP-ENV.html#ga1e1c85dbb250f1acfb484c1be1f3b28a">HIP_PRINT_ENV</a></td></tr>
<tr class="memdesc:ga1e1c85dbb250f1acfb484c1be1f3b28a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print all HIP-related environment variables. <br/></td></tr>
<tr class="separator:ga1e1c85dbb250f1acfb484c1be1f3b28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae9c541f3e25b8f002762337a03fec28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaae9c541f3e25b8f002762337a03fec28"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28">HIP_TRACE_API</a></td></tr>
<tr class="memdesc:gaae9c541f3e25b8f002762337a03fec28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace HIP APIs. <br/></td></tr>
<tr class="separator:gaae9c541f3e25b8f002762337a03fec28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8049b329f2663b4572d81e7a9aa8a155"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8049b329f2663b4572d81e7a9aa8a155"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155">HIP_LAUNCH_BLOCKING</a></td></tr>
<tr class="memdesc:ga8049b329f2663b4572d81e7a9aa8a155"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make all HIP APIs host-synchronous. <br/></td></tr>
<tr class="separator:ga8049b329f2663b4572d81e7a9aa8a155"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a48f5f9da77c5fab1fbcf0205bb347d89"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define hipThreadIdx_x&#160;&#160;&#160;(amp_get_local_id(2))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Kernel launching </p>
</div>
</div>
<a class="anchor" id="ad55ac6a8f4c288efbe4af7f44bc93653"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KERNELBEGIN</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">hc::extent&lt;3&gt; ext(lp.gridDim.x, lp.gridDim.y, lp.gridDim.z);\</div>
<div class="line"> auto __hipExtTile = ext.tile(lp.groupDim.x, lp.groupDim.y, lp.groupDim.z);\</div>
<div class="line"> __hipExtTile.set_dynamic_group_segment_size(lp.groupMemBytes);\</div>
<div class="line"> \</div>
<div class="line"> hc::completion_future cf = \</div>
<div class="line"> hc::parallel_for_each (\</div>
<div class="line"> *lp.av,\</div>
<div class="line"> __hipExtTile,\</div>
<div class="line"> [=] (hc::tiled_index&lt;3&gt; __hipIdx) <span class="keyword">mutable</span> [[hc]] \</div>
<div class="line"> {</div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a6895918192432884ae3ceb90f5f5364d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define KERNELEND</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">}); \</div>
<div class="line"> if (<a class="code" href="group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155">HIP_LAUNCH_BLOCKING</a>) {\</div>
<div class="line"> if (<a class="code" href="group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28">HIP_TRACE_API</a>) {\</div>
<div class="line"> fprintf(stderr, <span class="stringliteral">&quot;hiptrace1: HIP_LAUNCH_BLOCKING ...\n&quot;</span>);\</div>
<div class="line"> }\</div>
<div class="line"> cf.wait(); \</div>
<div class="line"> if (<a class="code" href="group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28">HIP_TRACE_API</a>) {\</div>
<div class="line"> fprintf(stderr, <span class="stringliteral">&quot;hiptrace1: ...completed.\n&quot;</span>);\</div>
<div class="line"> }\</div>
<div class="line"> }</div>
<div class="ttc" id="group__HIP-ENV_html_gaae9c541f3e25b8f002762337a03fec28"><div class="ttname"><a href="group__HIP-ENV.html#gaae9c541f3e25b8f002762337a03fec28">HIP_TRACE_API</a></div><div class="ttdeci">int HIP_TRACE_API</div><div class="ttdoc">Trace HIP APIs. </div><div class="ttdef"><b>Definition:</b> hip_hcc.cpp:57</div></div>
<div class="ttc" id="group__HIP-ENV_html_ga8049b329f2663b4572d81e7a9aa8a155"><div class="ttname"><a href="group__HIP-ENV.html#ga8049b329f2663b4572d81e7a9aa8a155">HIP_LAUNCH_BLOCKING</a></div><div class="ttdeci">int HIP_LAUNCH_BLOCKING</div><div class="ttdoc">Make all HIP APIs host-synchronous. </div><div class="ttdef"><b>Definition:</b> hip_hcc.cpp:58</div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jan 25 2016 16:05:53 for HIP: Heterogenous-computing Interface for Portability by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>