blob: 0d60768bc3c0e7059440ba70e86b04bcf3bd6be9 [file] [log] [blame]
<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: /work/mxnet/3rdparty/dlpack/include/dlpack/dlpack.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></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 id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_b5280357cca7875cb502638eb1a4cba4.html">dlpack</a></li><li class="navelem"><a class="el" href="dir_b1d908114d8ebbc38638e264020b35ad.html">include</a></li><li class="navelem"><a class="el" href="dir_ce848aa1e39277cfe327eb3478a56068.html">dlpack</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">dlpack.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The common header of DLPack.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for dlpack.h:</div>
<div class="dyncontent">
<div class="center"><img src="dlpack_8h__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8h" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8h" id="_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="dlpack_8h__dep__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8hdep" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8hdep" id="_2work_2mxnet_23rdparty_2dlpack_2include_2dlpack_2dlpack_8hdep">
<area shape="rect" id="node2" href="c__runtime__api_8h.html" title="/work/mxnet/include\l/mxnet/runtime/c_runtime_api.h" alt="" coords="701,109,931,151"/>
<area shape="rect" id="node25" href="tensor__blob_8h.html" title="TBlob class that holds common representation of arbirary dimension tensor, can be used to transformed..." alt="" coords="1893,839,2053,880"/>
<area shape="rect" id="node3" href="packed__func_8h.html" title="Type&#45;erased function used across MXNET API. " alt="" coords="299,1017,474,1073"/>
<area shape="rect" id="node6" href="object_8h.html" title="A managed object in MXNet runtime. " alt="" coords="339,199,517,240"/>
<area shape="rect" id="node29" href="include_2mxnet_2node_2node_8h.html" title="/work/mxnet/include\l/mxnet/node/node.h" alt="" coords="547,377,701,419"/>
<area shape="rect" id="node33" href="data__type_8h.html" title="/work/mxnet/include\l/mxnet/runtime/data\l_type.h" alt="" coords="315,467,471,523"/>
<area shape="rect" id="node4" href="include_2mxnet_2runtime_2registry_8h.html" title="/work/mxnet/include\l/mxnet/runtime/registry.h" alt="" coords="293,1121,480,1163"/>
<area shape="rect" id="node5" href="api__registry_8h.html" title="This file contains utilities related to the MXNet&#39;s global function registry. " alt="" coords="307,1211,466,1252"/>
<area shape="rect" id="node7" href="include_2mxnet_2tuple_8h.html" title="Data structure Tuple and TShape to store dynamic sized shapes. " alt="" coords="675,660,829,701"/>
<area shape="rect" id="node26" href="ffi__helper_8h.html" title="/work/mxnet/include\l/mxnet/runtime/ffi_helper.h" alt="" coords="93,474,291,515"/>
<area shape="rect" id="node27" href="expr_8h.html" title="Base expr nodes in MXNet. " alt="" coords="435,571,589,612"/>
<area shape="rect" id="node31" href="runtime_2container_8h.html" title="/work/mxnet/include\l/mxnet/runtime/container.h" alt="" coords="42,377,241,419"/>
<area shape="rect" id="node32" href="include_2mxnet_2runtime_2memory_8h.html" title="Runtime memory management. " alt="" coords="179,288,371,329"/>
<area shape="rect" id="node8" href="include_2mxnet_2base_8h.html" title="/work/mxnet/include\l/mxnet/base.h" alt="" coords="1200,749,1355,791"/>
<area shape="rect" id="node9" href="engine_8h.html" title="Engine that schedules all the operations according to dependency. " alt="" coords="1384,839,1539,880"/>
<area shape="rect" id="node10" href="include_2mxnet_2ndarray_8h.html" title="/work/mxnet/include\l/mxnet/ndarray.h" alt="" coords="1613,928,1768,969"/>
<area shape="rect" id="node11" href="include_2mxnet_2executor_8h.html" title="/work/mxnet/include\l/mxnet/executor.h" alt="" coords="1093,1211,1248,1252"/>
<area shape="rect" id="node12" href="include_2mxnet_2op__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/op_attr_types.h" alt="" coords="1363,1025,1536,1066"/>
<area shape="rect" id="node13" href="include_2mxnet_2operator_8h.html" title="/work/mxnet/include\l/mxnet/operator.h" alt="" coords="1093,1121,1248,1163"/>
<area shape="rect" id="node14" href="operator__util_8h.html" title="Utility functions and registries to help quickly build new operators. [Deprecated] Use the register f..." alt="" coords="891,1211,1058,1252"/>
<area shape="rect" id="node19" href="include_2mxnet_2io_8h.html" title="/work/mxnet/include\l/mxnet/io.h" alt="" coords="1891,1025,2045,1066"/>
<area shape="rect" id="node21" href="resource_8h.html" title="Global resource allocation handling. " alt="" coords="1133,928,1288,969"/>
<area shape="rect" id="node22" href="storage_8h.html" title="Storage manager across multiple devices. " alt="" coords="1613,839,1768,880"/>
<area shape="rect" id="node23" href="random__generator_8h.html" title="Parallel random number generator. " alt="" coords="1107,839,1309,880"/>
<area shape="rect" id="node24" href="rtc_8h.html" title="/work/mxnet/include\l/mxnet/rtc.h" alt="" coords="776,839,931,880"/>
<area shape="rect" id="node17" href="utils_8h.html" title="Basic utilility functions. " alt="" coords="1471,1300,1659,1341"/>
<area shape="rect" id="node16" href="imperative_8h.html" title="/work/mxnet/include\l/mxnet/imperative.h" alt="" coords="1613,1211,1768,1252"/>
<area shape="rect" id="node20" href="include_2mxnet_2kvstore_8h.html" title="/work/mxnet/include\l/mxnet/kvstore.h" alt="" coords="1611,1025,1765,1066"/>
<area shape="rect" id="node15" href="include_2mxnet_2graph__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/graph_attr_types.h" alt="" coords="1468,1121,1663,1163"/>
<area shape="rect" id="node18" href="exec__utils_8h.html" title="Common utility functions for executors. " alt="" coords="1471,1389,1659,1431"/>
<area shape="rect" id="node28" href="expr__operator_8h.html" title="Common operators defined for Expr. " alt="" coords="425,660,599,701"/>
<area shape="rect" id="node30" href="node_2container_8h.html" title="/work/mxnet/include\l/mxnet/node/container.h" alt="" coords="598,474,778,515"/>
</map>
</div>
</div>
<p><a href="dlpack_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDLContext.html">DLContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A Device context for Tensor and operator. <a href="structDLContext.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDLDataType.html">DLDataType</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The data type the tensor can hold. <a href="structDLDataType.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDLTensor.html">DLTensor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plain C Tensor object, does not manage memory. <a href="structDLTensor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDLManagedTensor.html">DLManagedTensor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">C Tensor object, manage memory of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a>. This data structure is intended to facilitate the borrowing of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a> by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn't need the tensor, it should call the deleter to notify the host that the resource is no longer needed. <a href="structDLManagedTensor.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a673d5372271f4182a2fb5315c2e335b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#a673d5372271f4182a2fb5315c2e335b4">DLPACK_EXTERN_C</a></td></tr>
<tr class="separator:a673d5372271f4182a2fb5315c2e335b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a493a8fe63f179b98d4e7a1728659a808"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#a493a8fe63f179b98d4e7a1728659a808">DLPACK_VERSION</a>&#160;&#160;&#160;020</td></tr>
<tr class="memdesc:a493a8fe63f179b98d4e7a1728659a808"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current version of dlpack. <a href="#a493a8fe63f179b98d4e7a1728659a808">More...</a><br /></td></tr>
<tr class="separator:a493a8fe63f179b98d4e7a1728659a808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57157a7cb94036d48d0444fd14ab6cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#ad57157a7cb94036d48d0444fd14ab6cf">DLPACK_DLL</a></td></tr>
<tr class="memdesc:ad57157a7cb94036d48d0444fd14ab6cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">DLPACK_DLL prefix for windows. <a href="#ad57157a7cb94036d48d0444fd14ab6cf">More...</a><br /></td></tr>
<tr class="separator:ad57157a7cb94036d48d0444fd14ab6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a927ecc672891526a594bf5ef5ca25994"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structDLManagedTensor.html">DLManagedTensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#a927ecc672891526a594bf5ef5ca25994">DLManagedTensor</a></td></tr>
<tr class="memdesc:a927ecc672891526a594bf5ef5ca25994"><td class="mdescLeft">&#160;</td><td class="mdescRight">C Tensor object, manage memory of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a>. This data structure is intended to facilitate the borrowing of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a> by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn't need the tensor, it should call the deleter to notify the host that the resource is no longer needed. <a href="#a927ecc672891526a594bf5ef5ca25994">More...</a><br /></td></tr>
<tr class="separator:a927ecc672891526a594bf5ef5ca25994"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a49db572e18d84c47738fc746568fb573"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573">DLDeviceType</a> { <br />
&#160;&#160;<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573ab736fabc9e37c2acf3b09b88fdc65c9e">kDLCPU</a> = 1,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573ae04bfdcc919948d170b2ba26da09e680">kDLGPU</a> = 2,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573a61cf710df30b59b43a5e34e37ecd1973">kDLCPUPinned</a> = 3,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573a71b2f851779936d824bf2c235ed94a8d">kDLOpenCL</a> = 4,
<br />
&#160;&#160;<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573a31aefcffd60630580d74bf055c2c3ba0">kDLVulkan</a> = 7,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573a36ced4bf0304d68b5c633ddba5633e66">kDLMetal</a> = 8,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573af063bf37ea24c1839d3a78703c2468e7">kDLVPI</a> = 9,
<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573adeeb5e6f50f4309676e49f7a12512171">kDLROCM</a> = 10,
<br />
&#160;&#160;<a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573aea5cdddfa3ac11130048ad8e2a012363">kDLExtDev</a> = 12,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573ab736fabc9e37c2acf3b09b88fdc65c9e">kDLCPU</a> = 1,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573ae04bfdcc919948d170b2ba26da09e680">kDLGPU</a> = 2,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573a61cf710df30b59b43a5e34e37ecd1973">kDLCPUPinned</a> = 3,
<br />
&#160;&#160;<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573a71b2f851779936d824bf2c235ed94a8d">kDLOpenCL</a> = 4,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573a31aefcffd60630580d74bf055c2c3ba0">kDLVulkan</a> = 7,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573a36ced4bf0304d68b5c633ddba5633e66">kDLMetal</a> = 8,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573af063bf37ea24c1839d3a78703c2468e7">kDLVPI</a> = 9,
<br />
&#160;&#160;<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573adeeb5e6f50f4309676e49f7a12512171">kDLROCM</a> = 10,
<a class="el" href="lib__api_8h.html#a49db572e18d84c47738fc746568fb573aea5cdddfa3ac11130048ad8e2a012363">kDLExtDev</a> = 12
<br />
}<tr class="memdesc:a49db572e18d84c47738fc746568fb573"><td class="mdescLeft">&#160;</td><td class="mdescRight">The device type in <a class="el" href="structDLContext.html" title="A Device context for Tensor and operator. ">DLContext</a>. <a href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a49db572e18d84c47738fc746568fb573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a5dbaa5fb67f4845a973c09a7f2ec50"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50">DLDataTypeCode</a> { <br />
&#160;&#160;<a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50a291cf38955be5c45c3aa50cea13c5e6e">kDLInt</a> = 0U,
<a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50aa19211076c5ae99e281ea430a25b102a">kDLUInt</a> = 1U,
<a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50a8bd73646a2aa8465201b59ab7d1a83e0">kDLFloat</a> = 2U,
<a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50a6a739f1b3ce2f8978da99a5ac4a887a6">kDLBfloat</a> = 4U,
<br />
&#160;&#160;<a class="el" href="lib__api_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50a291cf38955be5c45c3aa50cea13c5e6e">kDLInt</a> = 0U,
<a class="el" href="lib__api_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50aa19211076c5ae99e281ea430a25b102a">kDLUInt</a> = 1U,
<a class="el" href="lib__api_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50a8bd73646a2aa8465201b59ab7d1a83e0">kDLFloat</a> = 2U
<br />
}<tr class="memdesc:a2a5dbaa5fb67f4845a973c09a7f2ec50"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type code options <a class="el" href="structDLDataType.html" title="The data type the tensor can hold. ">DLDataType</a>. <a href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a2a5dbaa5fb67f4845a973c09a7f2ec50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The common header of DLPack. </p>
<p>Copyright (c) 2017 by Contributors </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ad57157a7cb94036d48d0444fd14ab6cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad57157a7cb94036d48d0444fd14ab6cf">&#9670;&nbsp;</a></span>DLPACK_DLL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DLPACK_DLL</td>
</tr>
</table>
</div><div class="memdoc">
<p>DLPACK_DLL prefix for windows. </p>
</div>
</div>
<a id="a673d5372271f4182a2fb5315c2e335b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a673d5372271f4182a2fb5315c2e335b4">&#9670;&nbsp;</a></span>DLPACK_EXTERN_C</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DLPACK_EXTERN_C</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a493a8fe63f179b98d4e7a1728659a808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a493a8fe63f179b98d4e7a1728659a808">&#9670;&nbsp;</a></span>DLPACK_VERSION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DLPACK_VERSION&#160;&#160;&#160;020</td>
</tr>
</table>
</div><div class="memdoc">
<p>The current version of dlpack. </p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a927ecc672891526a594bf5ef5ca25994"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a927ecc672891526a594bf5ef5ca25994">&#9670;&nbsp;</a></span>DLManagedTensor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structDLManagedTensor.html">DLManagedTensor</a> <a class="el" href="structDLManagedTensor.html">DLManagedTensor</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>C Tensor object, manage memory of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a>. This data structure is intended to facilitate the borrowing of <a class="el" href="structDLTensor.html" title="Plain C Tensor object, does not manage memory. ">DLTensor</a> by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn't need the tensor, it should call the deleter to notify the host that the resource is no longer needed. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a2a5dbaa5fb67f4845a973c09a7f2ec50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a5dbaa5fb67f4845a973c09a7f2ec50">&#9670;&nbsp;</a></span>DLDataTypeCode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50">DLDataTypeCode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The type code options <a class="el" href="structDLDataType.html" title="The data type the tensor can hold. ">DLDataType</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50a291cf38955be5c45c3aa50cea13c5e6e"></a>kDLInt&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50aa19211076c5ae99e281ea430a25b102a"></a>kDLUInt&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50a8bd73646a2aa8465201b59ab7d1a83e0"></a>kDLFloat&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50a6a739f1b3ce2f8978da99a5ac4a887a6"></a>kDLBfloat&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50a291cf38955be5c45c3aa50cea13c5e6e"></a>kDLInt&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50aa19211076c5ae99e281ea430a25b102a"></a>kDLUInt&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a2a5dbaa5fb67f4845a973c09a7f2ec50a8bd73646a2aa8465201b59ab7d1a83e0"></a>kDLFloat&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a49db572e18d84c47738fc746568fb573"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49db572e18d84c47738fc746568fb573">&#9670;&nbsp;</a></span>DLDeviceType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573">DLDeviceType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The device type in <a class="el" href="structDLContext.html" title="A Device context for Tensor and operator. ">DLContext</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573ab736fabc9e37c2acf3b09b88fdc65c9e"></a>kDLCPU&#160;</td><td class="fielddoc"><p>CPU device. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573ae04bfdcc919948d170b2ba26da09e680"></a>kDLGPU&#160;</td><td class="fielddoc"><p>CUDA GPU device. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a61cf710df30b59b43a5e34e37ecd1973"></a>kDLCPUPinned&#160;</td><td class="fielddoc"><p>Pinned CUDA GPU device by cudaMallocHost. </p>
<dl class="section note"><dt>Note</dt><dd>kDLCPUPinned = kDLCPU | kDLGPU </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a71b2f851779936d824bf2c235ed94a8d"></a>kDLOpenCL&#160;</td><td class="fielddoc"><p>OpenCL devices. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a31aefcffd60630580d74bf055c2c3ba0"></a>kDLVulkan&#160;</td><td class="fielddoc"><p>Vulkan buffer for next generation graphics. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a36ced4bf0304d68b5c633ddba5633e66"></a>kDLMetal&#160;</td><td class="fielddoc"><p>Metal for Apple GPU. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573af063bf37ea24c1839d3a78703c2468e7"></a>kDLVPI&#160;</td><td class="fielddoc"><p>Verilog simulator buffer. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573adeeb5e6f50f4309676e49f7a12512171"></a>kDLROCM&#160;</td><td class="fielddoc"><p>ROCm GPUs for AMD GPUs. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573aea5cdddfa3ac11130048ad8e2a012363"></a>kDLExtDev&#160;</td><td class="fielddoc"><p>Reserved extension device type, used for quickly test extension device The semantics can differ depending on the implementation. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573ab736fabc9e37c2acf3b09b88fdc65c9e"></a>kDLCPU&#160;</td><td class="fielddoc"><p>CPU device. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573ae04bfdcc919948d170b2ba26da09e680"></a>kDLGPU&#160;</td><td class="fielddoc"><p>CUDA GPU device. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a61cf710df30b59b43a5e34e37ecd1973"></a>kDLCPUPinned&#160;</td><td class="fielddoc"><p>Pinned CUDA GPU device by cudaMallocHost. </p>
<dl class="section note"><dt>Note</dt><dd>kDLCPUPinned = kDLCPU | kDLGPU </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a71b2f851779936d824bf2c235ed94a8d"></a>kDLOpenCL&#160;</td><td class="fielddoc"><p>OpenCL devices. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a31aefcffd60630580d74bf055c2c3ba0"></a>kDLVulkan&#160;</td><td class="fielddoc"><p>Vulkan buffer for next generation graphics. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573a36ced4bf0304d68b5c633ddba5633e66"></a>kDLMetal&#160;</td><td class="fielddoc"><p>Metal for Apple GPU. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573af063bf37ea24c1839d3a78703c2468e7"></a>kDLVPI&#160;</td><td class="fielddoc"><p>Verilog simulator buffer. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573adeeb5e6f50f4309676e49f7a12512171"></a>kDLROCM&#160;</td><td class="fielddoc"><p>ROCm GPUs for AMD GPUs. </p>
</td></tr>
<tr><td class="fieldname"><a id="a49db572e18d84c47738fc746568fb573aea5cdddfa3ac11130048ad8e2a012363"></a>kDLExtDev&#160;</td><td class="fielddoc"><p>Reserved extension device type, used for quickly test extension device The semantics can differ depending on the implementation. </p>
</td></tr>
</table>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:42 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>