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

405 righe
27 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: Device Memory Access</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="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Device Memory Access<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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga898bad8d5d67a63d7264d9038e02306a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga898bad8d5d67a63d7264d9038e02306a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>USE_PEER_NON_UNIFIED</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga898bad8d5d67a63d7264d9038e02306a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga0a1c9ccd775758d9d7d5b5a1f525b719"><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__PeerToPeer.html#ga0a1c9ccd775758d9d7d5b5a1f525b719">hipDeviceCanAccessPeer</a> (int *canAccessPeer, int deviceId, int peerDeviceId)</td></tr>
<tr class="memdesc:ga0a1c9ccd775758d9d7d5b5a1f525b719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if a device can access a peer's memory. <a href="#ga0a1c9ccd775758d9d7d5b5a1f525b719">More...</a><br/></td></tr>
<tr class="separator:ga0a1c9ccd775758d9d7d5b5a1f525b719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0caca59034134d7a7bb893cc1caa653e"><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__PeerToPeer.html#ga0caca59034134d7a7bb893cc1caa653e">hipDeviceEnablePeerAccess</a> (int peerDeviceId, unsigned int flags)</td></tr>
<tr class="memdesc:ga0caca59034134d7a7bb893cc1caa653e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable direct access from current device's virtual address space to memory allocations physically located on a peer device. <a href="#ga0caca59034134d7a7bb893cc1caa653e">More...</a><br/></td></tr>
<tr class="separator:ga0caca59034134d7a7bb893cc1caa653e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85030c72824fb60aaddc7374ab60481b"><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__PeerToPeer.html#ga85030c72824fb60aaddc7374ab60481b">hipDeviceDisablePeerAccess</a> (int peerDeviceId)</td></tr>
<tr class="memdesc:ga85030c72824fb60aaddc7374ab60481b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable direct access from current device's virtual address space to memory allocations physically located on a peer device. <a href="#ga85030c72824fb60aaddc7374ab60481b">More...</a><br/></td></tr>
<tr class="separator:ga85030c72824fb60aaddc7374ab60481b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7d9132f6e3d102e9b512020e5654f38"><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__PeerToPeer.html#gac7d9132f6e3d102e9b512020e5654f38">hipMemGetAddressRange</a> (hipDeviceptr_t *pbase, size_t *psize, hipDeviceptr_t dptr)</td></tr>
<tr class="memdesc:gac7d9132f6e3d102e9b512020e5654f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information on memory allocations. <a href="#gac7d9132f6e3d102e9b512020e5654f38">More...</a><br/></td></tr>
<tr class="separator:gac7d9132f6e3d102e9b512020e5654f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5512f45e25c08052667c8ffe7162333b"><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__PeerToPeer.html#ga5512f45e25c08052667c8ffe7162333b">hipMemcpyPeer</a> (void *dst, int dstDeviceId, const void *src, int srcDeviceId, size_t sizeBytes)</td></tr>
<tr class="memdesc:ga5512f45e25c08052667c8ffe7162333b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies memory from one device to memory on another device. <a href="#ga5512f45e25c08052667c8ffe7162333b">More...</a><br/></td></tr>
<tr class="separator:ga5512f45e25c08052667c8ffe7162333b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga216f951370c931d22e80c089ab724ed9"><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__PeerToPeer.html#ga216f951370c931d22e80c089ab724ed9">hipMemcpyPeerAsync</a> (void *dst, int dstDevice, const void *src, int srcDevice, size_t sizeBytes, <a class="el" href="classihipStream__t.html">hipStream_t</a> stream)</td></tr>
<tr class="memdesc:ga216f951370c931d22e80c089ab724ed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies memory from one device to memory on another device. <a href="#ga216f951370c931d22e80c089ab724ed9">More...</a><br/></td></tr>
<tr class="separator:ga216f951370c931d22e80c089ab724ed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2>----------------------------------------------------------------------------------------------&mdash; </h2>
<dl class="section warning"><dt>Warning</dt><dd>PeerToPeer support is experimental. </dd></dl>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga0a1c9ccd775758d9d7d5b5a1f525b719"></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> hipDeviceCanAccessPeer </td>
<td>(</td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>canAccessPeer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>deviceId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>peerDeviceId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Determine if a device can access a peer's memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">canAccessPeer</td><td>Returns the peer access capability (0 or 1) </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">device</td><td>- device from where memory may be accessed. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">peerDevice</td><td>- device where memory is physically located</td></tr>
</table>
</dd>
</dl>
<p>Returns "1" in <code>canAccessPeer</code> if the specified <code>device</code> is capable of directly accessing memory physically located on peerDevice , or "0" if not.</p>
<p>Returns "0" in <code>canAccessPeer</code> if deviceId == peerDeviceId, and both are valid devices : a device is not a peer of itself.</p>
<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#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d" title="DeviceID must be in range 0...#compute-devices. ">hipErrorInvalidDevice</a> if deviceId or peerDeviceId are not valid devices </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>PeerToPeer support is experimental. </dd></dl>
</div>
</div>
<a class="anchor" id="ga85030c72824fb60aaddc7374ab60481b"></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> hipDeviceDisablePeerAccess </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>peerDeviceId</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Disable direct access from current device's virtual address space to memory allocations physically located on a peer device. </p>
<p>Returns hipErrorPeerAccessNotEnabled if direct access to memory on peerDevice has not yet been enabled from the current device.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">peerDeviceId</td><td></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#ggadf5010f6e140a53ecbdf949e73e87594a2ee0bf2e64840f253e4a1b12bbaf2d09" title="Peer access was never enabled from the current device. ">hipErrorPeerAccessNotEnabled</a> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>PeerToPeer support is experimental. </dd></dl>
</div>
</div>
<a class="anchor" id="ga0caca59034134d7a7bb893cc1caa653e"></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> hipDeviceEnablePeerAccess </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>peerDeviceId</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>Enable direct access from current device's virtual address space to memory allocations physically located on a peer device. </p>
<p>Memory which already allocated on peer device will be mapped into the address space of the current device. In addition, all future memory allocations on peerDeviceId will be mapped into the address space of the current device when the memory is allocated. The peer memory remains accessible from the current device until a call to hipDeviceDisablePeerAccess or hipDeviceReset.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">peerDeviceId</td><td></td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Returns <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>, </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a5399c146f91246f8b77abcd4ea30e7ac" title="Peer access was already enabled from the current device. ">hipErrorPeerAccessAlreadyEnabled</a> if peer access is already enabled for this device. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>PeerToPeer support is experimental. </dd></dl>
</div>
</div>
<a class="anchor" id="ga5512f45e25c08052667c8ffe7162333b"></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> hipMemcpyPeer </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>dstDeviceId</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">int&#160;</td>
<td class="paramname"><em>srcDeviceId</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>Copies memory from one device to memory on another device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>- Destination device pointer. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dstDeviceId</td><td>- Destination device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>- Source device pointer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">srcDeviceId</td><td>- Source device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>- Size of memory copy 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>, <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#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d" title="DeviceID must be in range 0...#compute-devices. ">hipErrorInvalidDevice</a> </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>PeerToPeer support is experimental. </dd></dl>
</div>
</div>
<a class="anchor" id="ga216f951370c931d22e80c089ab724ed9"></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> hipMemcpyPeerAsync </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>dstDevice</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">int&#160;</td>
<td class="paramname"><em>srcDevice</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>Copies memory from one device to memory on another device. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">dst</td><td>- Destination device pointer. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dstDevice</td><td>- Destination device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src</td><td>- Source device pointer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">srcDevice</td><td>- Source device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">sizeBytes</td><td>- Size of memory copy in bytes </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>, <a class="el" href="group__GlobalDefs.html#ggadf5010f6e140a53ecbdf949e73e87594a07ab9b704ea693c1781a52741c60cd0d" title="DeviceID must be in range 0...#compute-devices. ">hipErrorInvalidDevice</a> </dd></dl>
</div>
</div>
<a class="anchor" id="gac7d9132f6e3d102e9b512020e5654f38"></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> hipMemGetAddressRange </td>
<td>(</td>
<td class="paramtype">hipDeviceptr_t *&#160;</td>
<td class="paramname"><em>pbase</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">hipDeviceptr_t&#160;</td>
<td class="paramname"><em>dptr</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get information on memory allocations. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">pbase</td><td>- BAse pointer address </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">psize</td><td>- Size of allocation </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dptr-</td><td>Device Pointer</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#ggadf5010f6e140a53ecbdf949e73e87594a37a93fcd2b0aed9bf52b82fa26031e6f" title="Invalid Device Pointer. ">hipErrorInvalidDevicePointer</a></dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__Context.html#gab6dbcff5c5b1249a5ac5cf39ae9d08bc" title="Create a context and set it as current/ default context. ">hipCtxCreate</a>, <a class="el" href="group__Context.html#ga9a65fe43238ef303a6d97826c05fd14e" title="Destroy a HIP context. ">hipCtxDestroy</a>, <a class="el" href="group__Context.html#ga12a7a993e10f775fbf61a0b14288ed1b" title="Return flags used for creating default context. ">hipCtxGetFlags</a>, <a class="el" href="group__Context.html#ga2cc4ea5a6b78d9d7990a88a7863467d4" title="Pop the current/default context and return the popped context. ">hipCtxPopCurrent</a>, <a class="el" href="group__Context.html#ga741786101d348fdbfa1f64546860357a" title="Get the handle of the current/ default context. ">hipCtxGetCurrent</a>, <a class="el" href="group__Context.html#ga834a192f70c2bfc0269c309436776feb" title="Set the passed context as current/default. ">hipCtxSetCurrent</a>, <a class="el" href="group__Context.html#ga9c9d92f29d68cacdea4c062c97e50a8a" title="Push the context to be set as current/ default context. ">hipCtxPushCurrent</a>, <a class="el" href="group__Context.html#ga7eacc656f1d1b6f5a683bea31be67a2f" title="Set L1/Shared cache partition. ">hipCtxSetCacheConfig</a>, <a class="el" href="group__Context.html#gad45cd968e8e3dcfd24ef050cab2f41c8" title="Blocks until the default context has completed all preceding requested tasks. ">hipCtxSynchronize</a>, <a class="el" href="group__Context.html#ga8aa32cf64272da929f23ecbafefefcee" title="Get the handle of the device associated with current/default context. ">hipCtxGetDevice</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>