Files
rocm-systems/docs/RuntimeAPI/html/group__Memory.html
T
Maneesh Gupta f052f43b3b Updated doxygen documentation
Change-Id: If04d1155173fba8d3e050f3259da8b3edc60e076
2016-12-19 04:04:06 +00:00

1320 lines
106 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: Memory Management</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><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><!-- top -->
<!-- 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>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><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 class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Memory Management<div class="ingroups"><a class="el" href="group__API.html">HIP API</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3d68ba64959615d4ab84f10caa12433b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga3d68ba64959615d4ab84f10caa12433b">hipPointerGetAttributes</a> (<a class="el" href="structhipPointerAttribute__t.html">hipPointerAttribute_t</a> *attributes, void *ptr)</td></tr>
<tr class="memdesc:ga3d68ba64959615d4ab84f10caa12433b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return attributes for the specified pointer. <a href="#ga3d68ba64959615d4ab84f10caa12433b">More...</a><br/></td></tr>
<tr class="separator:ga3d68ba64959615d4ab84f10caa12433b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c6fcfe80010069d2792780d00dcead2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2">hipMalloc</a> (void **ptr, size_t size)</td></tr>
<tr class="memdesc:ga4c6fcfe80010069d2792780d00dcead2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory on the default accelerator. <a href="#ga4c6fcfe80010069d2792780d00dcead2">More...</a><br/></td></tr>
<tr class="separator:ga4c6fcfe80010069d2792780d00dcead2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3d3cdf82eb0058fc9eac1f939cd9d30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gad3d3cdf82eb0058fc9eac1f939cd9d30">hipMallocHost</a> (void **ptr, size_t size) __attribute__((deprecated(&quot;use <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1">hipHostMalloc</a> instead&quot;)))</td></tr>
<tr class="memdesc:gad3d3cdf82eb0058fc9eac1f939cd9d30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate pinned host memory [Deprecated]. <a href="#gad3d3cdf82eb0058fc9eac1f939cd9d30">More...</a><br/></td></tr>
<tr class="separator:gad3d3cdf82eb0058fc9eac1f939cd9d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad40bc7d97ccc799403ef5a9a8c246e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1">hipHostMalloc</a> (void **ptr, size_t size, unsigned int flags)</td></tr>
<tr class="memdesc:gaad40bc7d97ccc799403ef5a9a8c246e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate device accessible page locked host memory. <a href="#gaad40bc7d97ccc799403ef5a9a8c246e1">More...</a><br/></td></tr>
<tr class="separator:gaad40bc7d97ccc799403ef5a9a8c246e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5ae7f11cefc7085f39ee7868e71724a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gac5ae7f11cefc7085f39ee7868e71724a">hipHostAlloc</a> (void **ptr, size_t size, unsigned int flags) __attribute__((deprecated(&quot;use <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1">hipHostMalloc</a> instead&quot;)))</td></tr>
<tr class="memdesc:gac5ae7f11cefc7085f39ee7868e71724a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate device accessible page locked host memory [Deprecated]. <a href="#gac5ae7f11cefc7085f39ee7868e71724a">More...</a><br/></td></tr>
<tr class="separator:gac5ae7f11cefc7085f39ee7868e71724a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fa7a0478020b835a24785cd6bb89725"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725">hipHostGetDevicePointer</a> (void **devPtr, void *hstPtr, unsigned int flags)</td></tr>
<tr class="memdesc:ga8fa7a0478020b835a24785cd6bb89725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Device pointer from Host Pointer allocated through hipHostMalloc. <a href="#ga8fa7a0478020b835a24785cd6bb89725">More...</a><br/></td></tr>
<tr class="separator:ga8fa7a0478020b835a24785cd6bb89725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d26915873b3e3534ceb4dc310f8709a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a">hipHostGetFlags</a> (unsigned int *flagsPtr, void *hostPtr)</td></tr>
<tr class="memdesc:ga4d26915873b3e3534ceb4dc310f8709a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return flags associated with host pointer. <a href="#ga4d26915873b3e3534ceb4dc310f8709a">More...</a><br/></td></tr>
<tr class="separator:ga4d26915873b3e3534ceb4dc310f8709a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8258f051e1a1f7385f794a15300e674"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gab8258f051e1a1f7385f794a15300e674">hipHostRegister</a> (void *hostPtr, size_t sizeBytes, unsigned int flags)</td></tr>
<tr class="memdesc:gab8258f051e1a1f7385f794a15300e674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register host memory so it can be accessed from the current device. <a href="#gab8258f051e1a1f7385f794a15300e674">More...</a><br/></td></tr>
<tr class="separator:gab8258f051e1a1f7385f794a15300e674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c9e1810b9f5858d36c4d28c91c86924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924">hipHostUnregister</a> (void *hostPtr)</td></tr>
<tr class="memdesc:ga4c9e1810b9f5858d36c4d28c91c86924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Un-register host pointer. <a href="#ga4c9e1810b9f5858d36c4d28c91c86924">More...</a><br/></td></tr>
<tr class="separator:ga4c9e1810b9f5858d36c4d28c91c86924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga805c7320498926e444616fe090c727ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga805c7320498926e444616fe090c727ee">hipMallocPitch</a> (void **ptr, size_t *pitch, size_t width, size_t height)</td></tr>
<tr class="separator:ga805c7320498926e444616fe090c727ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga740d08da65cae1441ba32f8fedb863d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1">hipFree</a> (void *ptr)</td></tr>
<tr class="memdesc:ga740d08da65cae1441ba32f8fedb863d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory allocated by the hcc hip memory allocation API. This API performs an implicit <a class="el" href="group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd" title="Waits on all active streams on current device. ">hipDeviceSynchronize()</a> call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. <a href="#ga740d08da65cae1441ba32f8fedb863d1">More...</a><br/></td></tr>
<tr class="separator:ga740d08da65cae1441ba32f8fedb863d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2164cc3d49da53052f4b83b789e90c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gad2164cc3d49da53052f4b83b789e90c9">hipFreeHost</a> (void *ptr) __attribute__((deprecated(&quot;use <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3">hipHostFree</a> instead&quot;)))</td></tr>
<tr class="memdesc:gad2164cc3d49da53052f4b83b789e90c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory allocated by the hcc hip host memory allocation API. [Deprecated]. <a href="#gad2164cc3d49da53052f4b83b789e90c9">More...</a><br/></td></tr>
<tr class="separator:gad2164cc3d49da53052f4b83b789e90c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e543f58ee4544e317cd695d6d82e0a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3">hipHostFree</a> (void *ptr)</td></tr>
<tr class="memdesc:ga2e543f58ee4544e317cd695d6d82e0a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free memory allocated by the hcc hip host memory allocation API This API performs an implicit <a class="el" href="group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd" title="Waits on all active streams on current device. ">hipDeviceSynchronize()</a> call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. <a href="#ga2e543f58ee4544e317cd695d6d82e0a3">More...</a><br/></td></tr>
<tr class="separator:ga2e543f58ee4544e317cd695d6d82e0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1a055d288302edd641c6d7416858e1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gac1a055d288302edd641c6d7416858e1e">hipMemcpy</a> (void *dst, const void *src, size_t sizeBytes, <a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a> kind)</td></tr>
<tr class="memdesc:gac1a055d288302edd641c6d7416858e1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from src to dst. <a href="#gac1a055d288302edd641c6d7416858e1e">More...</a><br/></td></tr>
<tr class="separator:gac1a055d288302edd641c6d7416858e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa415ecdd2535e1eb618ed8a31a6f03af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gaa415ecdd2535e1eb618ed8a31a6f03af">hipMemcpyHtoD</a> (hipDeviceptr_t dst, void *src, size_t sizeBytes)</td></tr>
<tr class="memdesc:gaa415ecdd2535e1eb618ed8a31a6f03af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Host to Device. <a href="#gaa415ecdd2535e1eb618ed8a31a6f03af">More...</a><br/></td></tr>
<tr class="separator:gaa415ecdd2535e1eb618ed8a31a6f03af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae61f4e35ff1b9643c6328bc45d091c3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f">hipMemcpyDtoH</a> (void *dst, hipDeviceptr_t src, size_t sizeBytes)</td></tr>
<tr class="memdesc:gae61f4e35ff1b9643c6328bc45d091c3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Device to Host. <a href="#gae61f4e35ff1b9643c6328bc45d091c3f">More...</a><br/></td></tr>
<tr class="separator:gae61f4e35ff1b9643c6328bc45d091c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga814f245b8918f173c1f2f8c1480f7f93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93">hipMemcpyDtoD</a> (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes)</td></tr>
<tr class="memdesc:ga814f245b8918f173c1f2f8c1480f7f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Device to Device. <a href="#ga814f245b8918f173c1f2f8c1480f7f93">More...</a><br/></td></tr>
<tr class="separator:ga814f245b8918f173c1f2f8c1480f7f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3e76acb34bed5e3b19b4c1822975bcd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd">hipMemcpyHtoDAsync</a> (hipDeviceptr_t dst, void *src, size_t sizeBytes, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:gae3e76acb34bed5e3b19b4c1822975bcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Host to Device asynchronously. <a href="#gae3e76acb34bed5e3b19b4c1822975bcd">More...</a><br/></td></tr>
<tr class="separator:gae3e76acb34bed5e3b19b4c1822975bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad69da1994a646b843fb1fa465dbeb623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623">hipMemcpyDtoHAsync</a> (void *dst, hipDeviceptr_t src, size_t sizeBytes, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:gad69da1994a646b843fb1fa465dbeb623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Device to Host asynchronously. <a href="#gad69da1994a646b843fb1fa465dbeb623">More...</a><br/></td></tr>
<tr class="separator:gad69da1994a646b843fb1fa465dbeb623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3bba6016cba62f0e933cdfb4c312d27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27">hipMemcpyDtoDAsync</a> (hipDeviceptr_t dst, hipDeviceptr_t src, size_t sizeBytes, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:gad3bba6016cba62f0e933cdfb4c312d27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from Device to Device asynchronously. <a href="#gad3bba6016cba62f0e933cdfb4c312d27">More...</a><br/></td></tr>
<tr class="separator:gad3bba6016cba62f0e933cdfb4c312d27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga131ac5c1ba04e186112491cb9bf964bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc">hipMemcpyToSymbol</a> (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, <a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a> kind)</td></tr>
<tr class="memdesc:ga131ac5c1ba04e186112491cb9bf964bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <code>sizeBytes</code> bytes from the memory area pointed to by <code>src</code> to the memory area pointed to by <code>offset</code> bytes from the start of symbol <code>symbol</code>. <a href="#ga131ac5c1ba04e186112491cb9bf964bc">More...</a><br/></td></tr>
<tr class="separator:ga131ac5c1ba04e186112491cb9bf964bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dd66b9e8e0e7159177b42a250fe23c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4">hipMemcpyToSymbolAsync</a> (const char *symbolName, const void *src, size_t sizeBytes, size_t offset, <a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a> kind, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:ga7dd66b9e8e0e7159177b42a250fe23c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies <code>sizeBytes</code> bytes from the memory area pointed to by <code>src</code> to the memory area pointed to by <code>offset</code> bytes from the start of symbol <code>symbol</code>. <a href="#ga7dd66b9e8e0e7159177b42a250fe23c4">More...</a><br/></td></tr>
<tr class="separator:ga7dd66b9e8e0e7159177b42a250fe23c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad55fa9f5980b711bc93c52820149ba18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gad55fa9f5980b711bc93c52820149ba18">hipMemcpyAsync</a> (void *dst, const void *src, size_t sizeBytes, <a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a> kind, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:gad55fa9f5980b711bc93c52820149ba18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from src to dst asynchronously. <a href="#gad55fa9f5980b711bc93c52820149ba18">More...</a><br/></td></tr>
<tr class="separator:gad55fa9f5980b711bc93c52820149ba18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7441e74affcce4b8b69dba996c5ebc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gac7441e74affcce4b8b69dba996c5ebc4">hipMemset</a> (void *dst, int value, size_t sizeBytes)</td></tr>
<tr class="memdesc:gac7441e74affcce4b8b69dba996c5ebc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy data from src to dst asynchronously. <a href="#gac7441e74affcce4b8b69dba996c5ebc4">More...</a><br/></td></tr>
<tr class="separator:gac7441e74affcce4b8b69dba996c5ebc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7d90e14c387e49f10db597f12915c54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#gae7d90e14c387e49f10db597f12915c54">hipMemsetAsync</a> (void *dst, int value, size_t sizeBytes, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:gae7d90e14c387e49f10db597f12915c54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value value. <a href="#gae7d90e14c387e49f10db597f12915c54">More...</a><br/></td></tr>
<tr class="separator:gae7d90e14c387e49f10db597f12915c54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga311c3e246a21590de14478b8bd063be2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2">hipMemGetInfo</a> (size_t *free, size_t *total)</td></tr>
<tr class="memdesc:ga311c3e246a21590de14478b8bd063be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query memory info. Return snapshot of free memory, and total allocatable memory on the device. <a href="#ga311c3e246a21590de14478b8bd063be2">More...</a><br/></td></tr>
<tr class="separator:ga311c3e246a21590de14478b8bd063be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2>----------------------------------------------------------------------------------------------&mdash; </h2>
<p>The following CUDA APIs are not currently supported:</p>
<ul>
<li>cudaMalloc3D</li>
<li>cudaMalloc3DArray</li>
<li>TODO - more 2D, 3D, array APIs here. </li>
</ul>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga740d08da65cae1441ba32f8fedb863d1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipFree </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Free memory allocated by the hcc hip memory allocation API. This API performs an implicit <a class="el" href="group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd" title="Waits on all active streams on current device. ">hipDeviceSynchronize()</a> call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to memory to be freed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a> </dd>
<dd>
<a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a37a93fcd2b0aed9bf52b82fa26031e6f" title="Invalid Device Pointer. ">hipErrorInvalidDevicePointer</a> (if pointer is invalid, including host pointers allocated with hipHostMalloc)</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2" title="Allocate memory on the default accelerator. ">hipMalloc</a>, <a class="el" href="group__Memory.html#ga805c7320498926e444616fe090c727ee">hipMallocPitch</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129" title="Allocate an array on the device. ">hipMallocArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ae29935073517245c69bc64790dd2747a" title="Frees an array on the device. ">hipFreeArray</a>, <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3" title="Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...">hipHostFree</a>, hipMalloc3D, hipMalloc3DArray, <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gad2164cc3d49da53052f4b83b789e90c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipFreeHost </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Free memory allocated by the hcc hip host memory allocation API. [Deprecated]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to memory to be freed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a> (if pointer is invalid, including device pointers allocated with hipMalloc)</dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>use <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3" title="Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...">hipHostFree()</a> instead </dd></dl>
</div>
</div>
<a class="anchor" id="gac5ae7f11cefc7085f39ee7868e71724a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostAlloc </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate device accessible page locked host memory [Deprecated]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ptr</td><td>Pointer to the allocated host pinned memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Requested memory size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Type of host memory allocation</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2" title="Memory allocation error. ">hipErrorMemoryAllocation</a></dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>use <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc()</a> instead </dd></dl>
</div>
</div>
<a class="anchor" id="ga2e543f58ee4544e317cd695d6d82e0a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostFree </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Free memory allocated by the hcc hip host memory allocation API This API performs an implicit <a class="el" href="group__Device.html#gaefdc2847fb1d6c3fb1354e827a191ebd" title="Waits on all active streams on current device. ">hipDeviceSynchronize()</a> call. If pointer is NULL, the hip runtime is initialized and hipSuccess is returned. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to memory to be freed </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a> (if pointer is invalid, including device pointers allocated with hipMalloc)</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2" title="Allocate memory on the default accelerator. ">hipMalloc</a>, <a class="el" href="group__Memory.html#ga805c7320498926e444616fe090c727ee">hipMallocPitch</a>, <a class="el" href="group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1" title="Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...">hipFree</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129" title="Allocate an array on the device. ">hipMallocArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ae29935073517245c69bc64790dd2747a" title="Frees an array on the device. ">hipFreeArray</a>, hipMalloc3D, hipMalloc3DArray, <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga8fa7a0478020b835a24785cd6bb89725"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostGetDevicePointer </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>devPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>hstPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get Device pointer from Host Pointer allocated through hipHostMalloc. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dstPtr</td><td>Device Pointer mapped to passed host pointer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hstPtr</td><td>Host Pointer allocated through hipHostMalloc </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Flags to be passed for extension</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2" title="Memory allocation error. ">hipErrorMemoryAllocation</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Device.html#ga6e54db382768827e84725632018307aa" title="The current device behavior is changed according the flags passed. ">hipSetDeviceFlags</a>, <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4d26915873b3e3534ceb4dc310f8709a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostGetFlags </td>
<td>(</td>
<td class="paramtype">unsigned int *&#160;</td>
<td class="paramname"><em>flagsPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>hostPtr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return flags associated with host pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">flagsPtr</td><td>Memory location to store flags </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">hostPtr</td><td>Host Pointer allocated through hipHostMalloc </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gaad40bc7d97ccc799403ef5a9a8c246e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostMalloc </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate device accessible page locked host memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ptr</td><td>Pointer to the allocated host pinned memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Requested memory size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Type of host memory allocation</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2" title="Memory allocation error. ">hipErrorMemoryAllocation</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Device.html#ga6e54db382768827e84725632018307aa" title="The current device behavior is changed according the flags passed. ">hipSetDeviceFlags</a>, <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3" title="Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...">hipHostFree</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gab8258f051e1a1f7385f794a15300e674"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostRegister </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>hostPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Register host memory so it can be accessed from the current device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">hostPtr</td><td>Pointer to host memory to be registered. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>size of the host memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags.</td><td>See below.</td></tr>
</table>
</dd>
</dl>
<p>Flags:</p>
<ul>
<li><a class="el" href="group__GlobalDefs.html#gac7c100d241ff84ad10109bb00b7b25dc" title="Flags that can be used with hipHostRegister. ">hipHostRegisterDefault</a> Memory is Mapped and Portable</li>
<li><a class="el" href="group__GlobalDefs.html#ga2db444f2315d412d3c7ba80ec6049583" title="Memory is considered registered by all contexts. HIP only supports one context so this is always assu...">hipHostRegisterPortable</a> Memory is considered registered by all contexts. HIP only supports one context so this is always assumed true.</li>
<li><a class="el" href="group__GlobalDefs.html#gacfa4edcfcb39fc61bff6bdecb14d7618" title="Map the allocation into the address space for the current device. The device pointer can be obtained ...">hipHostRegisterMapped</a> Map the allocation into the address space for the current device. The device pointer can be obtained with <a class="el" href="group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725" title="Get Device pointer from Host Pointer allocated through hipHostMalloc. ">hipHostGetDevicePointer</a>.</li>
</ul>
<p>After registering the memory, use <a class="el" href="group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725" title="Get Device pointer from Host Pointer allocated through hipHostMalloc. ">hipHostGetDevicePointer</a> to obtain the mapped device pointer. On many systems, the mapped device pointer will have a different value than the mapped host pointer. Applications must use the device pointer in device code, and the host pointer in device code.</p>
<p>On some systems, registered memory is pinned. On some systems, registered memory may not be actually be pinned but uses OS or hardware facilities to all GPU access to the host memory.</p>
<p>Developers are strongly encouraged to register memory blocks which are aligned to the host cache-line size. (typically 64-bytes but can be obtains from the CPUID instruction).</p>
<p>If registering non-aligned pointers, the application must take care when register pointers from the same cache line on different devices. HIP's coarse-grained synchronization model does not guarantee correct results if different devices write to different parts of the same cache block - typically one of the writes will "win" and overwrite data from the other registered memory region.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2" title="Memory allocation error. ">hipErrorMemoryAllocation</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#ga4c9e1810b9f5858d36c4d28c91c86924" title="Un-register host pointer. ">hipHostUnregister</a>, <a class="el" href="group__Memory.html#ga4d26915873b3e3534ceb4dc310f8709a" title="Return flags associated with host pointer. ">hipHostGetFlags</a>, <a class="el" href="group__Memory.html#ga8fa7a0478020b835a24785cd6bb89725" title="Get Device pointer from Host Pointer allocated through hipHostMalloc. ">hipHostGetDevicePointer</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4c9e1810b9f5858d36c4d28c91c86924"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipHostUnregister </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>hostPtr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Un-register host pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">hostPtr</td><td>Host pointer previously registered with <a class="el" href="group__Memory.html#gab8258f051e1a1f7385f794a15300e674" title="Register host memory so it can be accessed from the current device. ">hipHostRegister</a> </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#gab8258f051e1a1f7385f794a15300e674" title="Register host memory so it can be accessed from the current device. ">hipHostRegister</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ga4c6fcfe80010069d2792780d00dcead2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMalloc </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate memory on the default accelerator. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ptr</td><td>Pointer to the allocated memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Requested memory size</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#ga805c7320498926e444616fe090c727ee">hipMallocPitch</a>, <a class="el" href="group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1" title="Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...">hipFree</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129" title="Allocate an array on the device. ">hipMallocArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ae29935073517245c69bc64790dd2747a" title="Frees an array on the device. ">hipFreeArray</a>, hipMalloc3D, hipMalloc3DArray, <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3" title="Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...">hipHostFree</a>, <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gad3d3cdf82eb0058fc9eac1f939cd9d30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMallocHost </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate pinned host memory [Deprecated]. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ptr</td><td>Pointer to the allocated host pinned memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Requested memory size</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a8293288a10109874749afe2562db09f2" title="Memory allocation error. ">hipErrorMemoryAllocation</a></dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc()</a> instead </dd></dl>
</div>
</div>
<a class="anchor" id="ga805c7320498926e444616fe090c727ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMallocPitch </td>
<td>(</td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>pitch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>height</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocates at least width (in bytes) * height bytes of linear memory Padding may occur to ensure alighnment requirements are met for the given row The change in width size due to padding will be returned in *pitch. Currently the alignment is set to 128 bytes</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">ptr</td><td>Pointer to the allocated device memory </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pitch</td><td>Pitch for allocation (in bytes) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>Requested pitched allocation width (in bytes) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Requested pitched allocation height </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Error code</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#ga4c6fcfe80010069d2792780d00dcead2" title="Allocate memory on the default accelerator. ">hipMalloc</a>, <a class="el" href="group__Memory.html#ga740d08da65cae1441ba32f8fedb863d1" title="Free memory allocated by the hcc hip memory allocation API. This API performs an implicit hipDeviceSy...">hipFree</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#aea2f071ae2e4a0847f6aa42d1ef56129" title="Allocate an array on the device. ">hipMallocArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ae29935073517245c69bc64790dd2747a" title="Frees an array on the device. ">hipFreeArray</a>, <a class="el" href="group__Memory.html#ga2e543f58ee4544e317cd695d6d82e0a3" title="Free memory allocated by the hcc hip host memory allocation API This API performs an implicit hipDevi...">hipHostFree</a>, hipMalloc3D, hipMalloc3DArray, <a class="el" href="group__Memory.html#gaad40bc7d97ccc799403ef5a9a8c246e1" title="Allocate device accessible page locked host memory. ">hipHostMalloc</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gac1a055d288302edd641c6d7416858e1e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpy </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a>&#160;</td>
<td class="paramname"><em>kind</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from src to dst. </p>
<p>It supports memory from host to device, device to host, device to device and host to host The src and dst must not overlap.</p>
<p>For hipMemcpy, the copy is always performed by the current device (set by hipSetDevice). For multi-gpu or peer-to-peer configurations, it is recommended to set the current device to the device where the src data is physically located. For optimal peer-to-peer copies, the copy device must be able to access the src and dst pointers (by calling hipDeviceEnablePeerAccess with copy agent as the current device and src/dest as the peerDevice argument. if this is not done, the hipMemcpy will still work, but will perform the copy using a staging buffer on the host.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">copyType</td><td>Memory copy type </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree, #hipErrorUnknowni</dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gad55fa9f5980b711bc93c52820149ba18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyAsync </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a>&#160;</td>
<td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from src to dst asynchronously. </p>
<dl class="section warning"><dt>Warning</dt><dd>If host or dest are not pinned, the memory copy will be performed synchronously. For best performance, use hipHostMalloc to allocate host memory that is transferred asynchronously.</dd>
<dd>
on HCC hipMemcpyAsync does not support overlapped H2D and D2H copies. For hipMemcpy, the copy is always performed by the device associated with the specified stream.</dd></dl>
<p>For multi-gpu or peer-to-peer configurations, it is recommended to use a stream which is a attached to the device where the src data is physically located. For optimal peer-to-peer copies, the copy device must be able to access the src and dst pointers (by calling hipDeviceEnablePeerAccess with copy agent as the current device and src/dest as the peerDevice argument. if this is not done, the hipMemcpy will still work, but will perform the copy using a staging buffer on the host.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">accelerator_view</td><td>Accelerator view which the copy is being enqueued </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073" title="Unknown error. ">hipErrorUnknown</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#gac1a055d288302edd641c6d7416858e1e" title="Copy data from src to dst. ">hipMemcpy</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a2e631f0b6757b47b74cdaa2911784be9" title="Copies data between host and device. ">hipMemcpyToArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ab08b0bd6cdbb57e79df40ef1cd0374e0" title="Copies data between host and device. ">hipMemcpy2DToArray</a>, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, <a class="el" href="group__Memory.html#ga131ac5c1ba04e186112491cb9bf964bc" title="Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...">hipMemcpyToSymbol</a>, hipMemcpyFromSymbol, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, <a class="el" href="group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4" title="Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...">hipMemcpyToSymbolAsync</a>, hipMemcpyFromSymbolAsync </dd></dl>
</div>
</div>
<a class="anchor" id="ga814f245b8918f173c1f2f8c1480f7f93"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyDtoD </td>
<td>(</td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Device to Device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gad3bba6016cba62f0e933cdfb4c312d27"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyDtoDAsync </td>
<td>(</td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Device to Device asynchronously. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gae61f4e35ff1b9643c6328bc45d091c3f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyDtoH </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Device to Host. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gad69da1994a646b843fb1fa465dbeb623"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyDtoHAsync </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Device to Host asynchronously. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gaa415ecdd2535e1eb618ed8a31a6f03af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyHtoD </td>
<td>(</td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Host to Device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="gae3e76acb34bed5e3b19b4c1822975bcd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyHtoDAsync </td>
<td>(</td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from Host to Device asynchronously. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, #hipErrorDeInitialized, #hipErrorNotInitialized, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594ad9d895f7f4dbf63a4586b2aab593c9fe" title="Produced when input context is invalid. ">hipErrorInvalidContext</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd>hipArrayCreate, hipArrayDestroy, hipArrayGetDescriptor, hipMemAlloc, hipMemAllocHost, hipMemAllocPitch, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, hipMemcpy2DAsync, hipMemcpy2DUnaligned, hipMemcpyAtoA, hipMemcpyAtoD, hipMemcpyAtoH, hipMemcpyAtoHAsync, hipMemcpyDtoA, <a class="el" href="group__Memory.html#ga814f245b8918f173c1f2f8c1480f7f93" title="Copy data from Device to Device. ">hipMemcpyDtoD</a>, <a class="el" href="group__Memory.html#gad3bba6016cba62f0e933cdfb4c312d27" title="Copy data from Device to Device asynchronously. ">hipMemcpyDtoDAsync</a>, <a class="el" href="group__Memory.html#gae61f4e35ff1b9643c6328bc45d091c3f" title="Copy data from Device to Host. ">hipMemcpyDtoH</a>, <a class="el" href="group__Memory.html#gad69da1994a646b843fb1fa465dbeb623" title="Copy data from Device to Host asynchronously. ">hipMemcpyDtoHAsync</a>, hipMemcpyHtoA, hipMemcpyHtoAAsync, <a class="el" href="group__Memory.html#gae3e76acb34bed5e3b19b4c1822975bcd" title="Copy data from Host to Device asynchronously. ">hipMemcpyHtoDAsync</a>, hipMemFree, hipMemFreeHost, <a class="el" href="group__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38" title="Get information on memory allocations. ">hipMemGetAddressRange</a>, <a class="el" href="group__Memory.html#ga311c3e246a21590de14478b8bd063be2" title="Query memory info. Return snapshot of free memory, and total allocatable memory on the device...">hipMemGetInfo</a>, hipMemHostAlloc, hipMemHostGetDevicePointer </dd></dl>
</div>
</div>
<a class="anchor" id="ga131ac5c1ba04e186112491cb9bf964bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyToSymbol </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>symbolName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a>&#160;</td>
<td class="paramname"><em>kind</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copies <code>sizeBytes</code> bytes from the memory area pointed to by <code>src</code> to the memory area pointed to by <code>offset</code> bytes from the start of symbol <code>symbol</code>. </p>
<p>The memory areas may not overlap. Symbol can either be a variable that resides in global or constant memory space, or it can be a character string, naming a variable that resides in global or constant memory space. Kind can be either hipMemcpyHostToDevice or hipMemcpyDeviceToDevice TODO: cudaErrorInvalidSymbol and cudaErrorInvalidMemcpyDirection is not supported, use hipErrorUnknown for now.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">symbolName</td><td>- Symbol destination on device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>- Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>- Data size in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>- Offset from start of symbol in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">kind</td><td>- Type of transfer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073" title="Unknown error. ">hipErrorUnknown</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#gac1a055d288302edd641c6d7416858e1e" title="Copy data from src to dst. ">hipMemcpy</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a2e631f0b6757b47b74cdaa2911784be9" title="Copies data between host and device. ">hipMemcpyToArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ab08b0bd6cdbb57e79df40ef1cd0374e0" title="Copies data between host and device. ">hipMemcpy2DToArray</a>, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, <a class="el" href="group__Memory.html#gad55fa9f5980b711bc93c52820149ba18" title="Copy data from src to dst asynchronously. ">hipMemcpyAsync</a>, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, <a class="el" href="group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4" title="Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...">hipMemcpyToSymbolAsync</a>, hipMemcpyFromSymbolAsync </dd></dl>
</div>
</div>
<a class="anchor" id="ga7dd66b9e8e0e7159177b42a250fe23c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemcpyToSymbolAsync </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>symbolName</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__GlobalDefs.html#ga232e222db36b1fc672ba98054d036a18">hipMemcpyKind</a>&#160;</td>
<td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copies <code>sizeBytes</code> bytes from the memory area pointed to by <code>src</code> to the memory area pointed to by <code>offset</code> bytes from the start of symbol <code>symbol</code>. </p>
<p>The memory areas may not overlap. Symbol can either be a variable that resides in global or constant memory space, or it can be a character string, naming a variable that resides in global or constant memory space. Kind can be either hipMemcpyHostToDevice or hipMemcpyDeviceToDevice <a class="el" href="group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4" title="Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...">hipMemcpyToSymbolAsync()</a> is asynchronous with respect to the host, so the call may return before copy is complete. TODO: cudaErrorInvalidSymbol and cudaErrorInvalidMemcpyDirection is not supported, use hipErrorUnknown for now.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">symbolName</td><td>- Symbol destination on device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>- Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>- Data size in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>- Offset from start of symbol in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">kind</td><td>- Type of transfer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aa74e64c5b2f5fb0d6a92681f5b234073" title="Unknown error. ">hipErrorUnknown</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Memory.html#gac1a055d288302edd641c6d7416858e1e" title="Copy data from src to dst. ">hipMemcpy</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a8af4597ff0cd17247d8a857c4d8bfa8a" title="Copies data between host and device. ">hipMemcpy2D</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#a2e631f0b6757b47b74cdaa2911784be9" title="Copies data between host and device. ">hipMemcpyToArray</a>, <a class="el" href="hcc__detail_2hip__texture_8h.html#ab08b0bd6cdbb57e79df40ef1cd0374e0" title="Copies data between host and device. ">hipMemcpy2DToArray</a>, hipMemcpyFromArray, hipMemcpy2DFromArray, hipMemcpyArrayToArray, hipMemcpy2DArrayToArray, hipMemcpyFromSymbol, <a class="el" href="group__Memory.html#gad55fa9f5980b711bc93c52820149ba18" title="Copy data from src to dst asynchronously. ">hipMemcpyAsync</a>, hipMemcpy2DAsync, hipMemcpyToArrayAsync, hipMemcpy2DToArrayAsync, hipMemcpyFromArrayAsync, hipMemcpy2DFromArrayAsync, <a class="el" href="group__Memory.html#ga7dd66b9e8e0e7159177b42a250fe23c4" title="Copies sizeBytes bytes from the memory area pointed to by src to the memory area pointed to by offset...">hipMemcpyToSymbolAsync</a>, hipMemcpyFromSymbolAsync </dd></dl>
</div>
</div>
<a class="anchor" id="ga311c3e246a21590de14478b8bd063be2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemGetInfo </td>
<td>(</td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>free</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>total</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Query memory info. Return snapshot of free memory, and total allocatable memory on the device. </p>
<p>Returns in *free a snapshot of the current free memory. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d" title="DeviceID must be in range 0...#compute-devices. ">hipErrorInvalidDevice</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>On HCC, the free memory only accounts for memory allocated by this process and may be optimistic. </dd></dl>
</div>
</div>
<a class="anchor" id="gac7441e74affcce4b8b69dba996c5ebc4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemset </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy data from src to dst asynchronously. </p>
<p>It supports memory from host to device, device to host, device to device and host to host.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Data being copy to </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>Data being copy from </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>Data size in bytes </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">accelerator_view</td><td>Accelerator view which the copy is being enqueued </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree </dd></dl>
</div>
</div>
<a class="anchor" id="gae7d90e14c387e49f10db597f12915c54"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipMemsetAsync </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classihipStream__t.html">hipStream_t</a>&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value value. </p>
<p><a class="el" href="group__Memory.html#gae7d90e14c387e49f10db597f12915c54" title="Fills the first sizeBytes bytes of the memory area pointed to by dev with the constant byte value val...">hipMemsetAsync()</a> is asynchronous with respect to the host, so the call may return before the memset is complete. The operation can optionally be associated to a stream by passing a non-zero stream argument. If stream is non-zero, the operation may overlap with operations in other streams.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>Pointer to device memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>- Value to set for each byte of specified memory </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>- Size in bytes to set </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>- Stream identifier </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a>, #hipErrorMemoryFree </dd></dl>
</div>
</div>
<a class="anchor" id="ga3d68ba64959615d4ab84f10caa12433b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__GlobalDefs.html#gadf5010f6e140a53ecbdf949e73e87594">hipError_t</a> hipPointerGetAttributes </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structhipPointerAttribute__t.html">hipPointerAttribute_t</a> *&#160;</td>
<td class="paramname"><em>attributes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return attributes for the specified pointer. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">attributes</td><td>for the specified pointer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pointer</td><td>to get attributes for</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594aadfbdb847b149723c684ebd764556063" title="Successful completion. ">hipSuccess</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d" title="DeviceID must be in range 0...#compute-devices. ">hipErrorInvalidDevice</a>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a1e8215fe1108a508bad3944bce7b4d83" title="One or more of the parameters passed to the API call is NULL or not in an acceptable range...">hipErrorInvalidValue</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Device.html#ga8555d5c76d88c50ddbf54ae70b568394" title="Return number of compute-capable devices. ">hipGetDeviceCount</a>, <a class="el" href="group__Device.html#ga7e0e2e8c5f78e3c7449764657c254e0a" title="Return the default device id for the calling host thread. ">hipGetDevice</a>, <a class="el" href="group__Device.html#ga43c1e7f15925eeb762195ccb5e063eae" title="Set default device to be used for subsequent hip API calls from this thread. ">hipSetDevice</a>, <a class="el" href="group__Device.html#gaf1e365e1d17cf40644d1470de4817c8e" title="Device which matches hipDeviceProp_t is returned. ">hipChooseDevice</a> </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Dec 19 2016 04:03:44 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>