blob: 11b82b052dd5b41dcaf4e55f091abfc2b64bf77c [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: /work/mxnet/include/mxnet/lib_api.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.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1143c7affb9ebd026cb6818dd282def7.html">mxnet</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">lib_api.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>APIs to interact with libraries This API specifies function prototypes to register custom ops, partitioner, and passes for library authors See example/extension/lib_custom_op/README.md See example/extension/lib_subgraph/README.md See example/extension/lib_pass/README.md.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
<code>#include &lt;unordered_set&gt;</code><br />
<code>#include &lt;unordered_map&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;utility&gt;</code><br />
<code>#include &lt;stdexcept&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;random&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
<code>#include &lt;stddef.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for lib_api.h:</div>
<div class="dyncontent">
<div class="center"><img src="lib__api_8h__incl.png" border="0" usemap="#_2work_2mxnet_2include_2mxnet_2lib__api_8h" alt=""/></div>
<!-- MAP 0 -->
</div>
</div>
<p><a href="lib__api_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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1MXerrorMsgs.html">mxnet::ext::MXerrorMsgs</a></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="structmxnet_1_1ext_1_1MXContext.html">mxnet::ext::MXContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structmxnet_1_1Context.html" title="Context information about the execution environment.">Context</a> info passing from MXNet <a class="el" href="structmxnet_1_1OpContext.html" title="All the possible information needed by Operator. This is the superset of RunContext....">OpContext</a> dev_type is string repr of supported context, currently only "cpu" and "gpu" dev_id is the device index where the tensor locates. <a href="structmxnet_1_1ext_1_1MXContext.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="structmxnet_1_1ext_1_1MXSparse.html">mxnet::ext::MXSparse</a></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="structmxnet_1_1ext_1_1MXTensor.html">mxnet::ext::MXTensor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tensor data structure used by custom operator. <a href="structmxnet_1_1ext_1_1MXTensor.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1PassResource.html">mxnet::ext::PassResource</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1OpResource.html">mxnet::ext::OpResource</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">provide resource APIs memory allocation mechanism to Forward/Backward functions <a href="classmxnet_1_1ext_1_1OpResource.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="structmxnet_1_1ext_1_1JsonVal.html">mxnet::ext::JsonVal</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">definition of JSON objects <a href="structmxnet_1_1ext_1_1JsonVal.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="structmxnet_1_1ext_1_1NodeEntry.html">mxnet::ext::NodeEntry</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1Node.html">mxnet::ext::Node</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1Graph.html">mxnet::ext::Graph</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomOpSelector.html">mxnet::ext::CustomOpSelector</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomStatefulOp.html">mxnet::ext::CustomStatefulOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class for library authors creating stateful op custom library should override Forward and destructor, and has an option to implement Backward. <a href="classmxnet_1_1ext_1_1CustomStatefulOp.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomOp.html">mxnet::ext::CustomOp</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class to hold custom operator registration. <a href="classmxnet_1_1ext_1_1CustomOp.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomPass.html">mxnet::ext::CustomPass</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class for graph passes. <a href="classmxnet_1_1ext_1_1CustomPass.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomPartitioner.html">mxnet::ext::CustomPartitioner</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract class for subgraph property. <a href="classmxnet_1_1ext_1_1CustomPartitioner.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1Registry.html">mxnet::ext::Registry&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmxnet_1_1ext_1_1Registry.html" title="Registry class to registers things (ops, properties) Singleton class.">Registry</a> class to registers things (ops, properties) Singleton class. <a href="classmxnet_1_1ext_1_1Registry.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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmxnet_1_1ext_1_1CustomStatefulOpWrapper.html">mxnet::ext::CustomStatefulOpWrapper</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">StatefulOp wrapper class to pass to backend OpState. <a href="classmxnet_1_1ext_1_1CustomStatefulOpWrapper.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="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemxnet"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet.html">mxnet</a></td></tr>
<tr class="memdesc:namespacemxnet"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace of mxnet <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemxnet_1_1ext"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html">mxnet::ext</a></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:aae1f2ee7f9331ffbd79db3708fd193ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aae1f2ee7f9331ffbd79db3708fd193ed">MX_LIBRARY_VERSION</a>&#160;&#160;&#160;11</td></tr>
<tr class="separator:aae1f2ee7f9331ffbd79db3708fd193ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb30ec605ba828f085c28799b89383ad"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#acb30ec605ba828f085c28799b89383ad">PRIVATE_SYMBOL</a>&#160;&#160;&#160;__attribute__((visibility(&quot;hidden&quot;)))</td></tr>
<tr class="memdesc:acb30ec605ba828f085c28799b89383ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">For loading multiple custom op libraries in Linux, exporting same symbol multiple times may lead to undefined behaviour, so we need to set symbol visibility to hidden see <a href="https://labjack.com/news/simple-cpp-symbol-visibility-demo">https://labjack.com/news/simple-cpp-symbol-visibility-demo</a> for details. <a href="lib__api_8h.html#acb30ec605ba828f085c28799b89383ad">More...</a><br /></td></tr>
<tr class="separator:acb30ec605ba828f085c28799b89383ad"><td class="memSeparator" colspan="2">&#160;</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="lib__api_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="lib__api_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="lib__api_8h.html#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="lib__api_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="lib__api_8h.html#ad57157a7cb94036d48d0444fd14ab6cf">More...</a><br /></td></tr>
<tr class="separator:ad57157a7cb94036d48d0444fd14ab6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a481a7e516c02ab43e5b0e0016cb7997f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a481a7e516c02ab43e5b0e0016cb7997f">MX_ERROR_MSG</a>&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1MXerrorMsgs.html#a6da046f33093c9274b12f8bf6cdba61e">mxnet::ext::MXerrorMsgs::get</a>()-&gt;add(__FILE__, __LINE__)</td></tr>
<tr class="separator:a481a7e516c02ab43e5b0e0016cb7997f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bab156d26b9eface536d0c5d03d9b52"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a3bab156d26b9eface536d0c5d03d9b52">MX_NUM_CPU_RANDOM_STATES</a>&#160;&#160;&#160;1024</td></tr>
<tr class="memdesc:a3bab156d26b9eface536d0c5d03d9b52"><td class="mdescLeft">&#160;</td><td class="mdescRight">MXNet initialized random states for each device, used for parallelism. <a href="lib__api_8h.html#a3bab156d26b9eface536d0c5d03d9b52">More...</a><br /></td></tr>
<tr class="separator:a3bab156d26b9eface536d0c5d03d9b52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ac2ed4c5f2ee26d5c748aee108e3cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aa0ac2ed4c5f2ee26d5c748aee108e3cd">MX_NUM_GPU_RANDOM_STATES</a>&#160;&#160;&#160;32768</td></tr>
<tr class="separator:aa0ac2ed4c5f2ee26d5c748aee108e3cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f044e03093ffae2626b35fa17f610d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ab5f044e03093ffae2626b35fa17f610d">MX_STR_SUBGRAPH_SYM_JSON</a>&#160;&#160;&#160;&quot;subgraph_sym_json&quot;</td></tr>
<tr class="memdesc:ab5f044e03093ffae2626b35fa17f610d"><td class="mdescLeft">&#160;</td><td class="mdescRight">attribute key to help passing serialized subgraph through subgraph op attribute <a href="lib__api_8h.html#ab5f044e03093ffae2626b35fa17f610d">More...</a><br /></td></tr>
<tr class="separator:ab5f044e03093ffae2626b35fa17f610d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73b8e3f85f6f0aba1c0fd0917773b24f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a73b8e3f85f6f0aba1c0fd0917773b24f">MX_STR_DTYPE</a>&#160;&#160;&#160;&quot;__ext_dtype__&quot;</td></tr>
<tr class="memdesc:a73b8e3f85f6f0aba1c0fd0917773b24f"><td class="mdescLeft">&#160;</td><td class="mdescRight">dtype attribute key for ops after type propagation <a href="lib__api_8h.html#a73b8e3f85f6f0aba1c0fd0917773b24f">More...</a><br /></td></tr>
<tr class="separator:a73b8e3f85f6f0aba1c0fd0917773b24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab031cafe8f2e358de3c1cadc57a346f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ab031cafe8f2e358de3c1cadc57a346f3">MX_STR_SHAPE</a>&#160;&#160;&#160;&quot;__ext_shape__&quot;</td></tr>
<tr class="memdesc:ab031cafe8f2e358de3c1cadc57a346f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">shape attribute key for ops after shape propagation <a href="lib__api_8h.html#ab031cafe8f2e358de3c1cadc57a346f3">More...</a><br /></td></tr>
<tr class="separator:ab031cafe8f2e358de3c1cadc57a346f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633f26064a8c0d69aa833175a66daa2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a633f26064a8c0d69aa833175a66daa2e">MX_STR_EXTRA_INPUTS</a>&#160;&#160;&#160;&quot;__ext_extra_inputs__&quot;</td></tr>
<tr class="memdesc:a633f26064a8c0d69aa833175a66daa2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">extra input attribute key for ops <a href="lib__api_8h.html#a633f26064a8c0d69aa833175a66daa2e">More...</a><br /></td></tr>
<tr class="separator:a633f26064a8c0d69aa833175a66daa2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac745a1b1f09e730abf98f51d2e513103"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac745a1b1f09e730abf98f51d2e513103">MX_STR_CONCAT_</a>(__a, __b)&#160;&#160;&#160;__a##__b</td></tr>
<tr class="memdesc:ac745a1b1f09e730abf98f51d2e513103"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to help with string concat Annoyingly, the concat_ and concat macros are necessary to be able to use <b>COUNTER</b> in an identifier name. <a href="lib__api_8h.html#ac745a1b1f09e730abf98f51d2e513103">More...</a><br /></td></tr>
<tr class="separator:ac745a1b1f09e730abf98f51d2e513103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad900a5506445a60d8e5ebd5079b0324f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ad900a5506445a60d8e5ebd5079b0324f">MX_STR_CONCAT</a>(__a, __b)&#160;&#160;&#160;<a class="el" href="lib__api_8h.html#ac745a1b1f09e730abf98f51d2e513103">MX_STR_CONCAT_</a>(__a, __b)</td></tr>
<tr class="separator:ad900a5506445a60d8e5ebd5079b0324f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a5ee382299049479eaadc1f87d9dffb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a8a5ee382299049479eaadc1f87d9dffb">MX_STRINGIFY</a>(x)&#160;&#160;&#160;#x</td></tr>
<tr class="memdesc:a8a5ee382299049479eaadc1f87d9dffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert a token to a string <a href="lib__api_8h.html#a8a5ee382299049479eaadc1f87d9dffb">More...</a><br /></td></tr>
<tr class="separator:a8a5ee382299049479eaadc1f87d9dffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac281c11d1b738cf6f4d44d1d6d2a41f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac281c11d1b738cf6f4d44d1d6d2a41f5">MX_TOSTRING</a>(x)&#160;&#160;&#160;<a class="el" href="lib__api_8h.html#a8a5ee382299049479eaadc1f87d9dffb">MX_STRINGIFY</a>(x)</td></tr>
<tr class="separator:ac281c11d1b738cf6f4d44d1d6d2a41f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a412e972cba005076b3475796cd1ffbf6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a412e972cba005076b3475796cd1ffbf6">MX_REGISTER_NAME_</a>(Name)&#160;&#160;&#160;MXNet##_CustomOp##_##Name</td></tr>
<tr class="memdesc:a412e972cba005076b3475796cd1ffbf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">declare a variable with custom name <a href="lib__api_8h.html#a412e972cba005076b3475796cd1ffbf6">More...</a><br /></td></tr>
<tr class="separator:a412e972cba005076b3475796cd1ffbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6fd8259cfbba7e57a637c862dac3ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aff6fd8259cfbba7e57a637c862dac3ca">MX_REGISTER_DEF_</a>(Name)&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomOp.html">mxnet::ext::CustomOp</a> <a class="el" href="lib__api_8h.html#a412e972cba005076b3475796cd1ffbf6">MX_REGISTER_NAME_</a>(Name)</td></tr>
<tr class="separator:aff6fd8259cfbba7e57a637c862dac3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94176fcbf0773036ac1e43e4b4dde51f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a94176fcbf0773036ac1e43e4b4dde51f">MX_REGISTER_PROP_NAME_</a>(Name)&#160;&#160;&#160;MXNet##_CustomSubProp##_##Name</td></tr>
<tr class="separator:a94176fcbf0773036ac1e43e4b4dde51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e2f91e3c9f64ceffdfdb55f36354e91"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a2e2f91e3c9f64ceffdfdb55f36354e91">MX_REGISTER_PROP_DEF_</a>(Name)&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomPartitioner.html">mxnet::ext::CustomPartitioner</a> <a class="el" href="lib__api_8h.html#a94176fcbf0773036ac1e43e4b4dde51f">MX_REGISTER_PROP_NAME_</a>(Name)</td></tr>
<tr class="separator:a2e2f91e3c9f64ceffdfdb55f36354e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35d87ac322fe13c4c98a97d4c44c95e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a35d87ac322fe13c4c98a97d4c44c95e2">MX_REGISTER_PASS_NAME_</a>(Name)&#160;&#160;&#160;MXNet##_CustomPass##_##Name</td></tr>
<tr class="separator:a35d87ac322fe13c4c98a97d4c44c95e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a6ec114cb6f848ec8170c9df3475d59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a4a6ec114cb6f848ec8170c9df3475d59">MX_REGISTER_PASS_DEF_</a>(Name)&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomPass.html">mxnet::ext::CustomPass</a> <a class="el" href="lib__api_8h.html#a35d87ac322fe13c4c98a97d4c44c95e2">MX_REGISTER_PASS_NAME_</a>(Name)</td></tr>
<tr class="separator:a4a6ec114cb6f848ec8170c9df3475d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb165f6d1b3c2f0d4edfb5667a8b3638"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#abb165f6d1b3c2f0d4edfb5667a8b3638">REGISTER_OP</a>(Name)</td></tr>
<tr class="memdesc:abb165f6d1b3c2f0d4edfb5667a8b3638"><td class="mdescLeft">&#160;</td><td class="mdescRight">assign a var to a value <a href="lib__api_8h.html#abb165f6d1b3c2f0d4edfb5667a8b3638">More...</a><br /></td></tr>
<tr class="separator:abb165f6d1b3c2f0d4edfb5667a8b3638"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93f481366195b39d8e4ea3bbec2a1b04"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a93f481366195b39d8e4ea3bbec2a1b04">REGISTER_PARTITIONER</a>(Name)</td></tr>
<tr class="separator:a93f481366195b39d8e4ea3bbec2a1b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d14ed170244c036e1ff8a3531e89c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ab9d14ed170244c036e1ff8a3531e89c6">REGISTER_PASS</a>(Name)</td></tr>
<tr class="separator:ab9d14ed170244c036e1ff8a3531e89c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac39728fb75d241b62d4ed9261b7ddca3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac39728fb75d241b62d4ed9261b7ddca3">MXLIB_OPREGSIZE_STR</a>&#160;&#160;&#160;&quot;_opRegSize&quot;</td></tr>
<tr class="memdesc:ac39728fb75d241b62d4ed9261b7ddca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Following are the C type APIs implemented in the external library Each API has a #define string that is used to lookup the function in the library Followed by the function declaration. <a href="lib__api_8h.html#ac39728fb75d241b62d4ed9261b7ddca3">More...</a><br /></td></tr>
<tr class="separator:ac39728fb75d241b62d4ed9261b7ddca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addceae596034e042d887954af8499f06"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#addceae596034e042d887954af8499f06">MXLIB_OPREGGET_STR</a>&#160;&#160;&#160;&quot;_opRegGet&quot;</td></tr>
<tr class="separator:addceae596034e042d887954af8499f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9581ed05ac3aefc194698100cc54e5a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aa9581ed05ac3aefc194698100cc54e5a">MXLIB_OPCALLFREE_STR</a>&#160;&#160;&#160;&quot;_opCallFree&quot;</td></tr>
<tr class="separator:aa9581ed05ac3aefc194698100cc54e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ff60ae5ae2081aac9715da91f38845e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a6ff60ae5ae2081aac9715da91f38845e">MXLIB_OPCALLPARSEATTRS_STR</a>&#160;&#160;&#160;&quot;_opCallParseAttrs&quot;</td></tr>
<tr class="separator:a6ff60ae5ae2081aac9715da91f38845e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21fd9c191ceab0d17561f4523ad6d23"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac21fd9c191ceab0d17561f4523ad6d23">MXLIB_OPCALLINFERSHAPE_STR</a>&#160;&#160;&#160;&quot;_opCallInferShape&quot;</td></tr>
<tr class="separator:ac21fd9c191ceab0d17561f4523ad6d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dfca2084c7df461862458f77a8f6244"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a7dfca2084c7df461862458f77a8f6244">MXLIB_OPCALLINFERTYPE_STR</a>&#160;&#160;&#160;&quot;_opCallInferType&quot;</td></tr>
<tr class="separator:a7dfca2084c7df461862458f77a8f6244"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95494016bf876dcb3ec4ae0b3c5f6941"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a95494016bf876dcb3ec4ae0b3c5f6941">MXLIB_OPCALLINFERSTYPE_STR</a>&#160;&#160;&#160;&quot;_opCallInferSType&quot;</td></tr>
<tr class="separator:a95494016bf876dcb3ec4ae0b3c5f6941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a906b409889769dcb9ed23c68becf93e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a906b409889769dcb9ed23c68becf93e3">MXLIB_OPCALLFCOMP_STR</a>&#160;&#160;&#160;&quot;_opCallFCompute&quot;</td></tr>
<tr class="separator:a906b409889769dcb9ed23c68becf93e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf2577efc9a9eed8d27d6ca0af98abe1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#abf2577efc9a9eed8d27d6ca0af98abe1">MXLIB_OPCALLMUTATEINPUTS_STR</a>&#160;&#160;&#160;&quot;_opCallMutateInputs&quot;</td></tr>
<tr class="separator:abf2577efc9a9eed8d27d6ca0af98abe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a950d395e618360e1d9c4c5b1fedb018d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a950d395e618360e1d9c4c5b1fedb018d">MXLIB_OPCALLCREATEOPSTATE_STR</a>&#160;&#160;&#160;&quot;_opCallCreateOpState&quot;</td></tr>
<tr class="separator:a950d395e618360e1d9c4c5b1fedb018d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1724ab7121cfa78fda47b146eed0e9a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a1724ab7121cfa78fda47b146eed0e9a9">MXLIB_OPCALLDESTROYOPSTATE_STR</a>&#160;&#160;&#160;&quot;_opCallDestroyOpState&quot;</td></tr>
<tr class="separator:a1724ab7121cfa78fda47b146eed0e9a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad10be40f94357f8913f99288ccae5bea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ad10be40f94357f8913f99288ccae5bea">MXLIB_OPCALLFSTATEFULCOMP_STR</a>&#160;&#160;&#160;&quot;_opCallFStatefulCompute&quot;</td></tr>
<tr class="separator:ad10be40f94357f8913f99288ccae5bea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16de6fee0cb7e09e2e3c0885b44d646d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a16de6fee0cb7e09e2e3c0885b44d646d">MXLIB_PARTREGSIZE_STR</a>&#160;&#160;&#160;&quot;_partRegSize&quot;</td></tr>
<tr class="separator:a16de6fee0cb7e09e2e3c0885b44d646d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96ebb8de1ce9d8f8a493e262b477f0b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a96ebb8de1ce9d8f8a493e262b477f0b7">MXLIB_PARTREGGETCOUNT_STR</a>&#160;&#160;&#160;&quot;_partRegGetCount&quot;</td></tr>
<tr class="separator:a96ebb8de1ce9d8f8a493e262b477f0b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76dda0c1c4d6eafc6ac80a72527ec556"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a76dda0c1c4d6eafc6ac80a72527ec556">MXLIB_PARTREGGET_STR</a>&#160;&#160;&#160;&quot;_partRegGet&quot;</td></tr>
<tr class="separator:a76dda0c1c4d6eafc6ac80a72527ec556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e8e351e67da4f1822042c0d01e8bbf4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a7e8e351e67da4f1822042c0d01e8bbf4">MXLIB_PARTCALLSUPPORTEDOPS_STR</a>&#160;&#160;&#160;&quot;_partCallSupportedOps&quot;</td></tr>
<tr class="separator:a7e8e351e67da4f1822042c0d01e8bbf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2136a3986fc3a229cb426f41d0dfe3c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a2136a3986fc3a229cb426f41d0dfe3c8">MXLIB_PARTCALLCREATESELECTOR_STR</a>&#160;&#160;&#160;&quot;_partCallCreateSelector&quot;</td></tr>
<tr class="separator:a2136a3986fc3a229cb426f41d0dfe3c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acca6909f1ef0b0a4e7dc4815dd75255a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#acca6909f1ef0b0a4e7dc4815dd75255a">MXLIB_PARTCALLSELECT_STR</a>&#160;&#160;&#160;&quot;_partCallSelect&quot;</td></tr>
<tr class="separator:acca6909f1ef0b0a4e7dc4815dd75255a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b9b257f62fcfa8e55af189fe7d88cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a84b9b257f62fcfa8e55af189fe7d88cb">MXLIB_PARTCALLSELECTINPUT_STR</a>&#160;&#160;&#160;&quot;_partCallSelectInput&quot;</td></tr>
<tr class="separator:a84b9b257f62fcfa8e55af189fe7d88cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf23d7995f4c8617b136c6c311405b35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#abf23d7995f4c8617b136c6c311405b35">MXLIB_PARTCALLSELECTOUTPUT_STR</a>&#160;&#160;&#160;&quot;_partCallSelectOutput&quot;</td></tr>
<tr class="separator:abf23d7995f4c8617b136c6c311405b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43d2f7d1ca8f2b248630ef95b3eb5e9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ad43d2f7d1ca8f2b248630ef95b3eb5e9">MXLIB_PARTCALLFILTER_STR</a>&#160;&#160;&#160;&quot;_partCallFilter&quot;</td></tr>
<tr class="separator:ad43d2f7d1ca8f2b248630ef95b3eb5e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae39d5c24d804a90a045483fe5d87b2c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ae39d5c24d804a90a045483fe5d87b2c2">MXLIB_PARTCALLRESET_STR</a>&#160;&#160;&#160;&quot;_partCallReset&quot;</td></tr>
<tr class="separator:ae39d5c24d804a90a045483fe5d87b2c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebf42394c4714072d81f4612a9d425fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aebf42394c4714072d81f4612a9d425fe">MXLIB_PARTCALLREVIEWSUBGRAPH_STR</a>&#160;&#160;&#160;&quot;_partCallReviewSubgraph&quot;</td></tr>
<tr class="separator:aebf42394c4714072d81f4612a9d425fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec8627b92e8212d9e3368619e8361a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a6ec8627b92e8212d9e3368619e8361a4">MXLIB_PASSREGSIZE_STR</a>&#160;&#160;&#160;&quot;_passRegSize&quot;</td></tr>
<tr class="separator:a6ec8627b92e8212d9e3368619e8361a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a303c810b43b30121a5f24ed880d53d09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a303c810b43b30121a5f24ed880d53d09">MXLIB_PASSREGGET_STR</a>&#160;&#160;&#160;&quot;_passRegGet&quot;</td></tr>
<tr class="separator:a303c810b43b30121a5f24ed880d53d09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ebc06cae18b2b72e41789d816734540"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a5ebc06cae18b2b72e41789d816734540">MXLIB_PASSCALLGRAPHPASS_STR</a>&#160;&#160;&#160;&quot;_passCallGraphPass&quot;</td></tr>
<tr class="separator:a5ebc06cae18b2b72e41789d816734540"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5405711bcd25d56b2fc2a3fd827ea3c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ad5405711bcd25d56b2fc2a3fd827ea3c">MXLIB_INITIALIZE_STR</a>&#160;&#160;&#160;&quot;initialize&quot;</td></tr>
<tr class="separator:ad5405711bcd25d56b2fc2a3fd827ea3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13594d09f1287481f1b7b6b695d6c1d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a13594d09f1287481f1b7b6b695d6c1d8">MXLIB_OPVERSION_STR</a>&#160;&#160;&#160;&quot;_opVersion&quot;</td></tr>
<tr class="separator:a13594d09f1287481f1b7b6b695d6c1d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbae445517e023b3f8f81b1999171ae5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#abbae445517e023b3f8f81b1999171ae5">MXLIB_MSGSIZE_STR</a>&#160;&#160;&#160;&quot;_msgSize&quot;</td></tr>
<tr class="separator:abbae445517e023b3f8f81b1999171ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12e8d84f980811cd9a90e5e4506d2011"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a12e8d84f980811cd9a90e5e4506d2011">MXLIB_MSGGET_STR</a>&#160;&#160;&#160;&quot;_msgGet&quot;</td></tr>
<tr class="separator:a12e8d84f980811cd9a90e5e4506d2011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a561ade7c8fd77c6882e937514f5b1e05"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;&#160;&#160;int</td></tr>
<tr class="separator:a561ade7c8fd77c6882e937514f5b1e05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a140a8dac396de476f9ed0c6a093cf4fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;&#160;&#160;void</td></tr>
<tr class="separator:a140a8dac396de476f9ed0c6a093cf4fa"><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:a6047dc7436d917e950612a84fd912760"><td class="memItemLeft" align="right" valign="top">typedef void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a>) (void *, int)</td></tr>
<tr class="memdesc:a6047dc7436d917e950612a84fd912760"><td class="mdescLeft">&#160;</td><td class="mdescRight">resource malloc function to allocate memory inside Forward/Backward functions <a href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">More...</a><br /></td></tr>
<tr class="separator:a6047dc7436d917e950612a84fd912760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4128a869e7ed8d1ed7c04037d752300e"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">mxnet::ext::sparse_malloc_t</a>) (void *, int, int, int, void **, int64_t **, int64_t **)</td></tr>
<tr class="memdesc:a4128a869e7ed8d1ed7c04037d752300e"><td class="mdescLeft">&#160;</td><td class="mdescRight">sparse alloc function to allocate memory inside Forward/Backward functions <a href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">More...</a><br /></td></tr>
<tr class="separator:a4128a869e7ed8d1ed7c04037d752300e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a645677b0c72cbb9849069f61c3f45917"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a645677b0c72cbb9849069f61c3f45917">mxnet::ext::nd_malloc_t</a>) (const void *_ndarray_alloc, const int64_t *shapes, int num_shapes, const char *dev_str, int dev_id, int dtype, const char *name, int isArg, void **data)</td></tr>
<tr class="memdesc:a645677b0c72cbb9849069f61c3f45917"><td class="mdescLeft">&#160;</td><td class="mdescRight">resource malloc function to allocate ndarrays for graph passes <a href="namespacemxnet_1_1ext.html#a645677b0c72cbb9849069f61c3f45917">More...</a><br /></td></tr>
<tr class="separator:a645677b0c72cbb9849069f61c3f45917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebb5b6454e5e75b03cafa3ccebf6f752"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#aebb5b6454e5e75b03cafa3ccebf6f752">mxnet::ext::mx_stream_t</a></td></tr>
<tr class="memdesc:aebb5b6454e5e75b03cafa3ccebf6f752"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPU stream pointer, is void* when not compiled with CUDA. <a href="namespacemxnet_1_1ext.html#aebb5b6454e5e75b03cafa3ccebf6f752">More...</a><br /></td></tr>
<tr class="separator:aebb5b6454e5e75b03cafa3ccebf6f752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f6f2a2bef8d1c2ca135ed4137673a13"><td class="memItemLeft" align="right" valign="top">typedef void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a8f6f2a2bef8d1c2ca135ed4137673a13">mxnet::ext::mx_gpu_rand_t</a></td></tr>
<tr class="separator:a8f6f2a2bef8d1c2ca135ed4137673a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbae2c4272b5ac64651bffbf8f000dd8"><td class="memItemLeft" align="right" valign="top">typedef std::mt19937&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#acbae2c4272b5ac64651bffbf8f000dd8">mxnet::ext::mx_cpu_rand_t</a></td></tr>
<tr class="separator:acbae2c4272b5ac64651bffbf8f000dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa2624f2a3ccf55f7dd53578896b4603"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, std::vector&lt; MXTensor &gt; *inputs, std::vector&lt; MXTensor &gt; *outputs, const OpResource &amp;res)</td></tr>
<tr class="memdesc:afa2624f2a3ccf55f7dd53578896b4603"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom <a class="el" href="classmxnet_1_1Operator.html" title="Operator interface. Operator defines basic operation unit of optimized computation graph in mxnet....">Operator</a> function templates. <a href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">More...</a><br /></td></tr>
<tr class="separator:afa2624f2a3ccf55f7dd53578896b4603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963277b3eebf164f5103a44ae9acdbfc"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, int *num_inputs, int *num_outputs)</td></tr>
<tr class="separator:a963277b3eebf164f5103a44ae9acdbfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d159349f953d943811338e60b331869"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, std::vector&lt; int &gt; *in_types, std::vector&lt; int &gt; *out_types)</td></tr>
<tr class="separator:a6d159349f953d943811338e60b331869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af05bbe0926a318bb3674c8db6d18039a"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, std::vector&lt; int &gt; *in_storage_types, std::vector&lt; int &gt; *out_storage_types)</td></tr>
<tr class="separator:af05bbe0926a318bb3674c8db6d18039a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bf4c32f0c8f5da90619bf0b1f567ef9"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, std::vector&lt; std::vector&lt; unsigned int &gt; &gt; *in_shapes, std::vector&lt; std::vector&lt; unsigned int &gt; &gt; *out_shapes)</td></tr>
<tr class="separator:a0bf4c32f0c8f5da90619bf0b1f567ef9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5578d0e77b2548b8d384ba6df66484"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, std::vector&lt; int &gt; *input_indices)</td></tr>
<tr class="separator:abe5578d0e77b2548b8d384ba6df66484"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a559767743debbc2b39b203185ca67923"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a>) (const std::unordered_map&lt; std::string, std::string &gt; &amp;attributes, const MXContext &amp;ctx, const std::vector&lt; std::vector&lt; unsigned int &gt; &gt; &amp;in_shapes, const std::vector&lt; int &gt; in_types, CustomStatefulOp **)</td></tr>
<tr class="separator:a559767743debbc2b39b203185ca67923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f1c47db9eeec676f4b003ed01a622d"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">mxnet::ext::graphPass_t</a>) (<a class="el" href="classmxnet_1_1ext_1_1Graph.html">mxnet::ext::Graph</a> *graph, const std::unordered_map&lt; std::string, std::string &gt; &amp;options)</td></tr>
<tr class="memdesc:a08f1c47db9eeec676f4b003ed01a622d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom Pass Create function template. <a href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">More...</a><br /></td></tr>
<tr class="separator:a08f1c47db9eeec676f4b003ed01a622d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a497cf9a31d84c5ab6e7d41f5cf4789ab"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">mxnet::ext::supportedOps_t</a>) (const <a class="el" href="classmxnet_1_1ext_1_1Graph.html">mxnet::ext::Graph</a> *graph, std::vector&lt; int &gt; *ids, const std::unordered_map&lt; std::string, std::string &gt; &amp;options)</td></tr>
<tr class="memdesc:a497cf9a31d84c5ab6e7d41f5cf4789ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Custom Subgraph Create function template. <a href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">More...</a><br /></td></tr>
<tr class="separator:a497cf9a31d84c5ab6e7d41f5cf4789ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afab0ffe74ed0a370ee02a8af00084659"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#afab0ffe74ed0a370ee02a8af00084659">mxnet::ext::createSelector_t</a>) (const <a class="el" href="classmxnet_1_1ext_1_1Graph.html">mxnet::ext::Graph</a> *graph, CustomOpSelector **sel_inst, const std::unordered_map&lt; std::string, std::string &gt; &amp;options)</td></tr>
<tr class="separator:afab0ffe74ed0a370ee02a8af00084659"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18a96fba494d035a7bc60beb30a07fae"><td class="memItemLeft" align="right" valign="top">typedef MXReturnValue(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a18a96fba494d035a7bc60beb30a07fae">mxnet::ext::reviewSubgraph_t</a>) (const <a class="el" href="classmxnet_1_1ext_1_1Graph.html">mxnet::ext::Graph</a> *subgraph, int subgraph_id, bool *accept, const std::unordered_map&lt; std::string, std::string &gt; &amp;options, std::unordered_map&lt; std::string, std::string &gt; *attrs)</td></tr>
<tr class="separator:a18a96fba494d035a7bc60beb30a07fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb7af175432173dec6120674a1f07a4"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a6fb7af175432173dec6120674a1f07a4">mxnet::ext::opRegSize_t</a>) (void)</td></tr>
<tr class="separator:a6fb7af175432173dec6120674a1f07a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b027e352f8fd55d9639398807614bd"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a10b027e352f8fd55d9639398807614bd">mxnet::ext::opRegGet_t</a>) (int idx, const char **name, int *isSGop, const char ***forward_ctx, <a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **forward_fp, int *forward_count, const char ***backward_ctx, <a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **backward_fp, int *backward_count, const char ***create_op_ctx, <a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a> **create_op_fp, int *create_op_count, <a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a> *parse, <a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a> *type, <a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a> *stype, <a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a> *shape, <a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a> *mutate)</td></tr>
<tr class="separator:a10b027e352f8fd55d9639398807614bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff50c6302fa056352a7838a7c0fba79c"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#aff50c6302fa056352a7838a7c0fba79c">mxnet::ext::opCallFree_t</a>) (void *ptr)</td></tr>
<tr class="separator:aff50c6302fa056352a7838a7c0fba79c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3c274938c9da1e44e9897639af5c0d4"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ac3c274938c9da1e44e9897639af5c0d4">mxnet::ext::opCallParseAttrs_t</a>) (parseAttrs_t parseAttrs, const char *const *keys, const char *const *vals, int num, int *num_in, int *num_out)</td></tr>
<tr class="separator:ac3c274938c9da1e44e9897639af5c0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade42ac66b3d7c1e063d0f71eda6394a3"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ade42ac66b3d7c1e063d0f71eda6394a3">mxnet::ext::opCallInferShape_t</a>) (inferShape_t inferShape, const char *const *keys, const char *const *vals, int num, unsigned int **inshapes, int *indims, int num_in, unsigned int ***mod_inshapes, int **mod_indims, unsigned int ***outshapes, int **outdims, int num_out)</td></tr>
<tr class="separator:ade42ac66b3d7c1e063d0f71eda6394a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d9994f1542d34fce1eeabda3a8ad85"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a08d9994f1542d34fce1eeabda3a8ad85">mxnet::ext::opCallInferType_t</a>) (inferType_t inferType, const char *const *keys, const char *const *vals, int num, int *intypes, int num_in, int *outtypes, int num_out)</td></tr>
<tr class="separator:a08d9994f1542d34fce1eeabda3a8ad85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5f9488dd6bdbea94a72c42382c2b6c8"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ae5f9488dd6bdbea94a72c42382c2b6c8">mxnet::ext::opCallInferSType_t</a>) (inferSType_t inferSType, const char *const *keys, const char *const *vals, int num, int *intypes, int num_in, int *outtypes, int num_out)</td></tr>
<tr class="separator:ae5f9488dd6bdbea94a72c42382c2b6c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af447080bf199456379fd14d68804c1c7"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#af447080bf199456379fd14d68804c1c7">mxnet::ext::opCallFComp_t</a>) (fcomp_t fcomp, const char *const *keys, const char *const *vals, int num, const int64_t **inshapes, int *indims, void **indata, int *intypes, size_t *inIDs, const char **indev_type, int *indev_id, int num_in, const int64_t **outshapes, int *outdims, void **outdata, int *outtypes, size_t *outIDs, const char **outdev_type, int *outdev_id, int num_out, xpu_malloc_t cpu_malloc, void *cpu_alloc, xpu_malloc_t gpu_malloc, void *gpu_alloc, void *cuda_stream, sparse_malloc_t sparse_malloc, void *sparse_alloc, int *instypes, int *outstypes, void **in_indices, void **out_indices, void **in_indptr, void **out_indptr, int64_t *in_indices_shapes, int64_t *out_indices_shapes, int64_t *in_indptr_shapes, int64_t *out_indptr_shapes, void *rng_cpu_states, void *rng_gpu_states)</td></tr>
<tr class="separator:af447080bf199456379fd14d68804c1c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab867c91f53d13cb949e9c9a579fa3da5"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ab867c91f53d13cb949e9c9a579fa3da5">mxnet::ext::opCallMutateInputs_t</a>) (mutateInputs_t mutate, const char *const *keys, const char *const *vals, int num, int **mutate_indices, int *indices_size)</td></tr>
<tr class="separator:ab867c91f53d13cb949e9c9a579fa3da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf4bd71f1334318c5258e9421709b03c"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#adf4bd71f1334318c5258e9421709b03c">mxnet::ext::opCallCreateOpState_t</a>) (createOpState_t create_op, const char *const *keys, const char *const *vals, int num, const char *dev_type, int dev_id, unsigned int **inshapes, int *indims, int num_in, const int *intypes, void **state_op)</td></tr>
<tr class="separator:adf4bd71f1334318c5258e9421709b03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae77b4c4a8ed7275fd755b458533c7a70"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ae77b4c4a8ed7275fd755b458533c7a70">mxnet::ext::opCallDestroyOpState_t</a>) (void *state_op)</td></tr>
<tr class="separator:ae77b4c4a8ed7275fd755b458533c7a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada6444201d1204384d1287d91a4c3fc7"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ada6444201d1204384d1287d91a4c3fc7">mxnet::ext::opCallFStatefulComp_t</a>) (int is_forward, void *state_op, const int64_t **inshapes, int *indims, void **indata, int *intypes, size_t *inIDs, const char **indev_type, int *indev_id, int num_in, const int64_t **outshapes, int *outdims, void **outdata, int *outtypes, size_t *outIDs, const char **outdev_type, int *outdev_id, int num_out, xpu_malloc_t cpu_malloc, void *cpu_alloc, xpu_malloc_t gpu_malloc, void *gpu_alloc, void *stream, sparse_malloc_t sparse_malloc, void *sparse_alloc, int *instypes, int *outstypes, void **in_indices, void **out_indices, void **in_indptr, void **out_indptr, int64_t *in_indices_shapes, int64_t *out_indices_shapes, int64_t *in_indptr_shapes, int64_t *out_indptr_shapes, void *rng_cpu_states, void *rng_gpu_states)</td></tr>
<tr class="separator:ada6444201d1204384d1287d91a4c3fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4d41b35b45f3644497d9a8f717b6a3"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a8a4d41b35b45f3644497d9a8f717b6a3">mxnet::ext::partRegSize_t</a>) (void)</td></tr>
<tr class="separator:a8a4d41b35b45f3644497d9a8f717b6a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b6d87bb4c06678d0be1dd3ad5916a1b"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a0b6d87bb4c06678d0be1dd3ad5916a1b">mxnet::ext::partRegGetCount_t</a>) (int idx, const char **name)</td></tr>
<tr class="separator:a0b6d87bb4c06678d0be1dd3ad5916a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae628507b542734ee29ddf2f499fbdb05"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ae628507b542734ee29ddf2f499fbdb05">mxnet::ext::partRegGet_t</a>) (int part_idx, int stg_idx, const char **strategy, supportedOps_t *supportedOps, createSelector_t *createSelector, reviewSubgraph_t *reviewSubgraph, const char **op_name)</td></tr>
<tr class="separator:ae628507b542734ee29ddf2f499fbdb05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03342e626369680bc842ec763588a91e"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a03342e626369680bc842ec763588a91e">mxnet::ext::partCallSupportedOps_t</a>) (supportedOps_t supportedOps, const char *json, int num_ids, int *ids, const char *const *opt_keys, const char *const *opt_vals, int num_opts)</td></tr>
<tr class="separator:a03342e626369680bc842ec763588a91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad62142c24acef23ecd62e7fd53000349"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ad62142c24acef23ecd62e7fd53000349">mxnet::ext::partCallCreateSelector_t</a>) (createSelector_t createSelector, const char *json, void **selector, const char *const *opt_keys, const char *const *opt_vals, int num_opts)</td></tr>
<tr class="separator:ad62142c24acef23ecd62e7fd53000349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a462103a47b8f387ee5a31393c0a47c1a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a462103a47b8f387ee5a31393c0a47c1a">mxnet::ext::partCallSelect_t</a>) (void *sel_inst, int nodeID, int *selected)</td></tr>
<tr class="separator:a462103a47b8f387ee5a31393c0a47c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2fed961bb0a655fb91fc6ee4c26162a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ad2fed961bb0a655fb91fc6ee4c26162a">mxnet::ext::partCallSelectInput_t</a>) (void *sel_inst, int nodeID, int input_nodeID, int *selected)</td></tr>
<tr class="separator:ad2fed961bb0a655fb91fc6ee4c26162a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b53f5861183811ba8fc2cdf9dbee5f6"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a5b53f5861183811ba8fc2cdf9dbee5f6">mxnet::ext::partCallSelectOutput_t</a>) (void *sel_inst, int nodeID, int output_nodeID, int *selected)</td></tr>
<tr class="separator:a5b53f5861183811ba8fc2cdf9dbee5f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ad34e214897e21a5c10bc57ddf1b51a"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a7ad34e214897e21a5c10bc57ddf1b51a">mxnet::ext::partCallFilter_t</a>) (void *sel_inst, int *candidates, int num_candidates, int **keep, int *num_keep)</td></tr>
<tr class="separator:a7ad34e214897e21a5c10bc57ddf1b51a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32fc355e422990910299065269f10459"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a32fc355e422990910299065269f10459">mxnet::ext::partCallReset_t</a>) (void *sel_inst)</td></tr>
<tr class="separator:a32fc355e422990910299065269f10459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefb1c0f85ebec11dd8e4f8720392ce4a"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#aefb1c0f85ebec11dd8e4f8720392ce4a">mxnet::ext::partCallReviewSubgraph_t</a>) (reviewSubgraph_t reviewSubgraph, const char *json, int subgraph_id, int *accept, const char *const *opt_keys, const char *const *opt_vals, int num_opts, char ***attr_keys, char ***attr_vals, int *num_attrs, const char *const *arg_names, int num_args, void *const *arg_data, const int64_t *const *arg_shapes, const int *arg_dims, const int *arg_types, const size_t *arg_IDs, const char *const *arg_dev_type, const int *arg_dev_id, const char *const *aux_names, int num_aux, void *const *aux_data, const int64_t *const *aux_shapes, const int *aux_dims, const int *aux_types, const size_t *aux_IDs, const char *const *aux_dev_type, const int *aux_dev_id)</td></tr>
<tr class="separator:aefb1c0f85ebec11dd8e4f8720392ce4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f47c7152edff58ce548870e7c2de0ab"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a6f47c7152edff58ce548870e7c2de0ab">mxnet::ext::passRegSize_t</a>) (void)</td></tr>
<tr class="separator:a6f47c7152edff58ce548870e7c2de0ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83e21d3dbcb68574f93c95db0a83ce31"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a83e21d3dbcb68574f93c95db0a83ce31">mxnet::ext::passRegGet_t</a>) (int pass_idx, graphPass_t *graphPass, const char **pass_name)</td></tr>
<tr class="separator:a83e21d3dbcb68574f93c95db0a83ce31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d96003e8adf76b07e993b83f7cef5bd"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a4d96003e8adf76b07e993b83f7cef5bd">mxnet::ext::passCallGraphPass_t</a>) (graphPass_t graphPass, const char *in_graph, char **out_graph, const char *const *opt_keys, const char *const *opt_vals, int num_opts, const char *pass_name, const char *const *arg_names, int num_args, void *const *arg_data, const int64_t *const *arg_shapes, const int *arg_dims, const int *arg_types, const size_t *arg_IDs, const char *const *arg_dev_type, const int *arg_dev_id, const char *const *aux_names, int num_aux, void *const *aux_data, const int64_t *const *aux_shapes, const int *aux_dims, const int *aux_types, const size_t *aux_IDs, const char *const *aux_dev_type, const int *aux_dev_id, nd_malloc_t nd_malloc, const void *nd_alloc)</td></tr>
<tr class="separator:a4d96003e8adf76b07e993b83f7cef5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9089010cd352a7e5a36fc3ade38dd221"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a9089010cd352a7e5a36fc3ade38dd221">mxnet::ext::initialize_t</a>) (int version)</td></tr>
<tr class="separator:a9089010cd352a7e5a36fc3ade38dd221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ba2ade8bd893eb8461a21cd8f60eb5"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a69ba2ade8bd893eb8461a21cd8f60eb5">mxnet::ext::opVersion_t</a>) ()</td></tr>
<tr class="separator:a69ba2ade8bd893eb8461a21cd8f60eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82c4b41a9a9a1160f1043d10dc9fcf50"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a82c4b41a9a9a1160f1043d10dc9fcf50">mxnet::ext::msgSize_t</a>) (void)</td></tr>
<tr class="separator:a82c4b41a9a9a1160f1043d10dc9fcf50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7339fd6ce1c23dd296015f450463cc4"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#aa7339fd6ce1c23dd296015f450463cc4">mxnet::ext::msgGet_t</a>) (int idx, const char **msg)</td></tr>
<tr class="separator:aa7339fd6ce1c23dd296015f450463cc4"><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="lib__api_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 />
}</td></tr>
<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="lib__api_8h.html#a49db572e18d84c47738fc746568fb573">More...</a><br /></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="lib__api_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 />
}</td></tr>
<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="lib__api_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50">More...</a><br /></td></tr>
<tr class="separator:a2a5dbaa5fb67f4845a973c09a7f2ec50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af63051445af41291367314796a35ef9f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9f">mxnet::ext::MXDType</a> { <br />
&#160;&#160;<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9fabb2b1b3c7a227b6059fc89b9e86e8704">mxnet::ext::kFloat32</a> = 0,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9facdbc87b2e662a8bfb834346d1aec6884">mxnet::ext::kFloat64</a> = 1,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9fabe9d3b09e5b6a6a6ce40c6e6727a0103">mxnet::ext::kFloat16</a> = 2,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9faace6878fbc1feaa61866f2cde4b92fd2">mxnet::ext::kUint8</a> = 3,
<br />
&#160;&#160;<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9faba0176d183c843a93e73f244e8eb08b8">mxnet::ext::kInt32</a> = 4,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9fa40cebe2fb035da2e0d71a4fbb38e68c6">mxnet::ext::kInt8</a> = 5,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9faee6141c5d0a7dba64fc8cdacfb6e5869">mxnet::ext::kInt64</a> = 6,
<a class="el" href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9faaac2c2fc5ad0820d77233be7e7935048">mxnet::ext::kUNSET</a> = 100
<br />
}</td></tr>
<tr class="memdesc:af63051445af41291367314796a35ef9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tensor data type, consistent with mshadow data type. <a href="namespacemxnet_1_1ext.html#af63051445af41291367314796a35ef9f">More...</a><br /></td></tr>
<tr class="separator:af63051445af41291367314796a35ef9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a390d7b0a8597ac789c1439cb87948166"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a390d7b0a8597ac789c1439cb87948166">mxnet::ext::MXStorageType</a> { <a class="el" href="namespacemxnet_1_1ext.html#a390d7b0a8597ac789c1439cb87948166aae97a392afb8883280a194eff9bc105e">mxnet::ext::kDefaultStorage</a> = 0,
<a class="el" href="namespacemxnet_1_1ext.html#a390d7b0a8597ac789c1439cb87948166acf413c3686f4621684b24f62832df56a">mxnet::ext::kRowSparseStorage</a> = 1,
<a class="el" href="namespacemxnet_1_1ext.html#a390d7b0a8597ac789c1439cb87948166aa6581cebefe05ab00873ac5597aae3de">mxnet::ext::kCSRStorage</a> = 2
}</td></tr>
<tr class="separator:a390d7b0a8597ac789c1439cb87948166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a16b18af2cdbff088a3c76d62b39b40"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a2a16b18af2cdbff088a3c76d62b39b40">mxnet::ext::MXReturnValue</a> { <a class="el" href="namespacemxnet_1_1ext.html#a2a16b18af2cdbff088a3c76d62b39b40aeb26a79748e9601cca81a57a5a236670">mxnet::ext::MX_FAIL</a> = 0,
<a class="el" href="namespacemxnet_1_1ext.html#a2a16b18af2cdbff088a3c76d62b39b40ae5a7150c47b7ca0ca6b0791d0ad14306">mxnet::ext::MX_SUCCESS</a> = 1
}</td></tr>
<tr class="separator:a2a16b18af2cdbff088a3c76d62b39b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bef475e5c2518a5fa6202ac47ce07d1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1">mxnet::ext::JsonType</a> { <br />
&#160;&#160;<a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1a46668b3ec5c8b0e51345e8f6e52e63c9">mxnet::ext::ERR</a>,
<a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1a83a5d030292beb0d1789db72e30601f9">mxnet::ext::STR</a>,
<a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1aec218a2fc415a5dfe0586b1cd41eace1">mxnet::ext::NUM</a>,
<a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1aa546c63a655963d12ece2aa35b798901">mxnet::ext::LIST</a>,
<br />
&#160;&#160;<a class="el" href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1a8e3a4528b909298a732acf81acbef241">mxnet::ext::MAP</a>
<br />
}</td></tr>
<tr class="memdesc:a3bef475e5c2518a5fa6202ac47ce07d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Json utility to parse serialized subgraph symbol. <a href="namespacemxnet_1_1ext.html#a3bef475e5c2518a5fa6202ac47ce07d1">More...</a><br /></td></tr>
<tr class="separator:a3bef475e5c2518a5fa6202ac47ce07d1"><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:ac19085fc1abe2e392d1305d9ac3bc015"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#ac19085fc1abe2e392d1305d9ac3bc015">mxnet::ext::getShapeAt</a> (const std::string &amp;shape, unsigned index)</td></tr>
<tr class="separator:ac19085fc1abe2e392d1305d9ac3bc015"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b389f7b678d499fd8d5ba79f089c95e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1ext.html#a8b389f7b678d499fd8d5ba79f089c95e">mxnet::ext::getDtypeAt</a> (const std::string &amp;dtype, unsigned index)</td></tr>
<tr class="separator:a8b389f7b678d499fd8d5ba79f089c95e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade85fac9a80edcdf9e6062cb079cd325"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ade85fac9a80edcdf9e6062cb079cd325">_opVersion</a> ()</td></tr>
<tr class="memdesc:ade85fac9a80edcdf9e6062cb079cd325"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns MXNet library version <a href="lib__api_8h.html#ade85fac9a80edcdf9e6062cb079cd325">More...</a><br /></td></tr>
<tr class="separator:ade85fac9a80edcdf9e6062cb079cd325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6efacb1a30200f9f1fb05f77783959de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a6efacb1a30200f9f1fb05f77783959de">_opRegSize</a> ()</td></tr>
<tr class="memdesc:a6efacb1a30200f9f1fb05f77783959de"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns number of ops registered in this library <a href="lib__api_8h.html#a6efacb1a30200f9f1fb05f77783959de">More...</a><br /></td></tr>
<tr class="separator:a6efacb1a30200f9f1fb05f77783959de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b0657e0605ca60b79241a4324139f63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a5b0657e0605ca60b79241a4324139f63">_opRegGet</a> (int idx, const char **name, int *isSGop, const char ***forward_ctx, <a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **forward_fp, int *forward_count, const char ***backward_ctx, <a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **backward_fp, int *backward_count, const char ***create_op_ctx, <a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a> **create_op_fp, int *create_op_count, <a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a> *parse, <a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a> *type, <a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a> *stype, <a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a> *shape, <a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a> *mutate)</td></tr>
<tr class="memdesc:a5b0657e0605ca60b79241a4324139f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns operator registration at specified index <a href="lib__api_8h.html#a5b0657e0605ca60b79241a4324139f63">More...</a><br /></td></tr>
<tr class="separator:a5b0657e0605ca60b79241a4324139f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e74b9b5a033075b0a934561a518a2cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a6e74b9b5a033075b0a934561a518a2cb">_opCallFree</a> (void *ptr)</td></tr>
<tr class="memdesc:a6e74b9b5a033075b0a934561a518a2cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">calls free from the external library for library allocated arrays <a href="lib__api_8h.html#a6e74b9b5a033075b0a934561a518a2cb">More...</a><br /></td></tr>
<tr class="separator:a6e74b9b5a033075b0a934561a518a2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88d6741ca655523db73fc18a8e06828"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac88d6741ca655523db73fc18a8e06828">_opCallParseAttrs</a> (<a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a> parseAttrs, const char *const *keys, const char *const *vals, int num, int *num_in, int *num_out)</td></tr>
<tr class="memdesc:ac88d6741ca655523db73fc18a8e06828"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling parse attributes function for operator from library <a href="lib__api_8h.html#ac88d6741ca655523db73fc18a8e06828">More...</a><br /></td></tr>
<tr class="separator:ac88d6741ca655523db73fc18a8e06828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba7371715fcd75f05c0ba0f0c8b78b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a2ba7371715fcd75f05c0ba0f0c8b78b4">_opCallInferShape</a> (<a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a> inferShape, const char *const *keys, const char *const *vals, int num, unsigned int **inshapes, int *indims, int num_in, unsigned int ***mod_inshapes, int **mod_indims, unsigned int ***outshapes, int **outdims, int num_out)</td></tr>
<tr class="memdesc:a2ba7371715fcd75f05c0ba0f0c8b78b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling inferShape function for operator from library <a href="lib__api_8h.html#a2ba7371715fcd75f05c0ba0f0c8b78b4">More...</a><br /></td></tr>
<tr class="separator:a2ba7371715fcd75f05c0ba0f0c8b78b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb3450125394a91102043bcc28fe8e39"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#adb3450125394a91102043bcc28fe8e39">_opCallInferType</a> (<a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a> inferType, const char *const *keys, const char *const *vals, int num, int *intypes, int num_in, int *outtypes, int num_out)</td></tr>
<tr class="memdesc:adb3450125394a91102043bcc28fe8e39"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling inferType function for operator from library <a href="lib__api_8h.html#adb3450125394a91102043bcc28fe8e39">More...</a><br /></td></tr>
<tr class="separator:adb3450125394a91102043bcc28fe8e39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67702f536b0652fab92a46a4c522f0a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a67702f536b0652fab92a46a4c522f0a8">_opCallInferSType</a> (<a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a> inferSType, const char *const *keys, const char *const *vals, int num, int *instypes, int num_in, int *outstypes, int num_out)</td></tr>
<tr class="memdesc:a67702f536b0652fab92a46a4c522f0a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling inferSType function for operator from library <a href="lib__api_8h.html#a67702f536b0652fab92a46a4c522f0a8">More...</a><br /></td></tr>
<tr class="separator:a67702f536b0652fab92a46a4c522f0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a948af234ca1c3b0c8b78e8db2f32c310"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a948af234ca1c3b0c8b78e8db2f32c310">_opCallFCompute</a> (<a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> fcomp, const char *const *keys, const char *const *vals, int num, const int64_t **inshapes, int *indims, void **indata, int *intypes, size_t *inIDs, const char **indev_type, int *indev_id, int num_in, const int64_t **outshapes, int *outdims, void **outdata, int *outtypes, size_t *outIDs, const char **outdev_type, int *outdev_id, int num_out, <a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a> cpu_malloc, void *cpu_alloc, <a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a> gpu_malloc, void *gpu_alloc, void *cuda_stream, <a class="el" href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">mxnet::ext::sparse_malloc_t</a> sparse_malloc, void *sparse_alloc, int *instypes, int *outstypes, void **in_indices, void **out_indices, void **in_indptr, void **out_indptr, int64_t *in_indices_shapes, int64_t *out_indices_shapes, int64_t *in_indptr_shapes, int64_t *out_indptr_shapes, void *rng_cpu_states, void *rng_gpu_states)</td></tr>
<tr class="memdesc:a948af234ca1c3b0c8b78e8db2f32c310"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling Forward/Backward function for operator from library <a href="lib__api_8h.html#a948af234ca1c3b0c8b78e8db2f32c310">More...</a><br /></td></tr>
<tr class="separator:a948af234ca1c3b0c8b78e8db2f32c310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14e95577fdb7526da526ae1ec236d48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aa14e95577fdb7526da526ae1ec236d48">_opCallMutateInputs</a> (<a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a> mutate, const char *const *keys, const char *const *vals, int num, int **mutate_indices, int *indices_size)</td></tr>
<tr class="memdesc:aa14e95577fdb7526da526ae1ec236d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling mutateInputs function for operator from library <a href="lib__api_8h.html#aa14e95577fdb7526da526ae1ec236d48">More...</a><br /></td></tr>
<tr class="separator:aa14e95577fdb7526da526ae1ec236d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af358af16fb117cd0675234835a4e7c08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#af358af16fb117cd0675234835a4e7c08">_opCallCreateOpState</a> (<a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a> create_op, const char *const *keys, const char *const *vals, int num, const char *dev_type, int dev_id, unsigned int **inshapes, int *indims, int num_in, const int *intypes, void **state_op)</td></tr>
<tr class="memdesc:af358af16fb117cd0675234835a4e7c08"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling createStatefulOp function for operator from library <a href="lib__api_8h.html#af358af16fb117cd0675234835a4e7c08">More...</a><br /></td></tr>
<tr class="separator:af358af16fb117cd0675234835a4e7c08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cc29cb55b56ebd7e288b3f5946b5bce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a0cc29cb55b56ebd7e288b3f5946b5bce">_opCallDestroyOpState</a> (void *state_op)</td></tr>
<tr class="memdesc:a0cc29cb55b56ebd7e288b3f5946b5bce"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of deleting StatefulOp instance for operator from library <a href="lib__api_8h.html#a0cc29cb55b56ebd7e288b3f5946b5bce">More...</a><br /></td></tr>
<tr class="separator:a0cc29cb55b56ebd7e288b3f5946b5bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0214213e9b925b0750a33f20ff2a1f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#af0214213e9b925b0750a33f20ff2a1f9">_opCallFStatefulCompute</a> (int is_forward, void *state_op, const int64_t **inshapes, int *indims, void **indata, int *intypes, size_t *inIDs, const char **indev_type, int *indev_id, int num_in, const int64_t **outshapes, int *outdims, void **outdata, int *outtypes, size_t *outIDs, const char **outdev_type, int *outdev_id, int num_out, <a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a> cpu_malloc, void *cpu_alloc, <a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a> gpu_malloc, void *gpu_alloc, void *stream, <a class="el" href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">mxnet::ext::sparse_malloc_t</a> sparse_malloc, void *sparse_alloc, int *instypes, int *outstypes, void **in_indices, void **out_indices, void **in_indptr, void **out_indptr, int64_t *in_indices_shapes, int64_t *out_indices_shapes, int64_t *in_indptr_shapes, int64_t *out_indptr_shapes, void *rng_cpu_states, void *rng_gpu_states)</td></tr>
<tr class="memdesc:af0214213e9b925b0750a33f20ff2a1f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling Stateful Forward/Backward for operator from library <a href="lib__api_8h.html#af0214213e9b925b0750a33f20ff2a1f9">More...</a><br /></td></tr>
<tr class="separator:af0214213e9b925b0750a33f20ff2a1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8088989b079b01b821c7b7d0b960dfaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a8088989b079b01b821c7b7d0b960dfaa">_partRegSize</a> ()</td></tr>
<tr class="memdesc:a8088989b079b01b821c7b7d0b960dfaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns number of partitioners registered in this library <a href="lib__api_8h.html#a8088989b079b01b821c7b7d0b960dfaa">More...</a><br /></td></tr>
<tr class="separator:a8088989b079b01b821c7b7d0b960dfaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8a5a6598b9b674dcd015eab7c25bc38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aa8a5a6598b9b674dcd015eab7c25bc38">_partRegGetCount</a> (int idx, const char **name)</td></tr>
<tr class="separator:aa8a5a6598b9b674dcd015eab7c25bc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae62af668ca56e5f29a4428681f7d0914"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ae62af668ca56e5f29a4428681f7d0914">_partRegGet</a> (int part_idx, int stg_idx, const char **strategy, <a class="el" href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">mxnet::ext::supportedOps_t</a> *supportedOps, <a class="el" href="namespacemxnet_1_1ext.html#afab0ffe74ed0a370ee02a8af00084659">mxnet::ext::createSelector_t</a> *createSelector, <a class="el" href="namespacemxnet_1_1ext.html#a18a96fba494d035a7bc60beb30a07fae">mxnet::ext::reviewSubgraph_t</a> *reviewSubgraph, const char **op_name)</td></tr>
<tr class="memdesc:ae62af668ca56e5f29a4428681f7d0914"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns partitioner registration at specified index <a href="lib__api_8h.html#ae62af668ca56e5f29a4428681f7d0914">More...</a><br /></td></tr>
<tr class="separator:ae62af668ca56e5f29a4428681f7d0914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae845d0155a42d87b0714a4ee3e6240f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ae845d0155a42d87b0714a4ee3e6240f5">_partCallSupportedOps</a> (<a class="el" href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">mxnet::ext::supportedOps_t</a> supportedOps, const char *json, int num_ids, int *ids, const char *const *opt_keys, const char *const *opt_vals, int num_opts)</td></tr>
<tr class="memdesc:ae845d0155a42d87b0714a4ee3e6240f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling supported ops function from library <a href="lib__api_8h.html#ae845d0155a42d87b0714a4ee3e6240f5">More...</a><br /></td></tr>
<tr class="separator:ae845d0155a42d87b0714a4ee3e6240f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70e75073813f5a358d365715205ea001"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a70e75073813f5a358d365715205ea001">_partCallCreateSelector</a> (<a class="el" href="namespacemxnet_1_1ext.html#afab0ffe74ed0a370ee02a8af00084659">mxnet::ext::createSelector_t</a> createSelector, const char *json, void **selector, const char *const *opt_keys, const char *const *opt_vals, int num_opts)</td></tr>
<tr class="memdesc:a70e75073813f5a358d365715205ea001"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling create selector function from library <a href="lib__api_8h.html#a70e75073813f5a358d365715205ea001">More...</a><br /></td></tr>
<tr class="separator:a70e75073813f5a358d365715205ea001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc5fcd7471b3ee96cf6939b1f2799a61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#acc5fcd7471b3ee96cf6939b1f2799a61">_partCallSelect</a> (void *sel_inst, int nodeID, int *selected)</td></tr>
<tr class="memdesc:acc5fcd7471b3ee96cf6939b1f2799a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling select function from library <a href="lib__api_8h.html#acc5fcd7471b3ee96cf6939b1f2799a61">More...</a><br /></td></tr>
<tr class="separator:acc5fcd7471b3ee96cf6939b1f2799a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a876d77c3d311c7006f7b23578f85678a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a876d77c3d311c7006f7b23578f85678a">_partCallSelectInput</a> (void *sel_inst, int nodeID, int input_nodeID, int *selected)</td></tr>
<tr class="memdesc:a876d77c3d311c7006f7b23578f85678a"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling select input function from library <a href="lib__api_8h.html#a876d77c3d311c7006f7b23578f85678a">More...</a><br /></td></tr>
<tr class="separator:a876d77c3d311c7006f7b23578f85678a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af623e317a08ae2d7822e4e81d4dcb1a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#af623e317a08ae2d7822e4e81d4dcb1a4">_partCallSelectOutput</a> (void *sel_inst, int nodeID, int output_nodeID, int *selected)</td></tr>
<tr class="memdesc:af623e317a08ae2d7822e4e81d4dcb1a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling select output function from library <a href="lib__api_8h.html#af623e317a08ae2d7822e4e81d4dcb1a4">More...</a><br /></td></tr>
<tr class="separator:af623e317a08ae2d7822e4e81d4dcb1a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a670530b58e8ddc61982798fd788c3edf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a670530b58e8ddc61982798fd788c3edf">_partCallFilter</a> (void *sel_inst, int *candidates, int num_candidates, int **keep, int *num_keep)</td></tr>
<tr class="memdesc:a670530b58e8ddc61982798fd788c3edf"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling filter function from library <a href="lib__api_8h.html#a670530b58e8ddc61982798fd788c3edf">More...</a><br /></td></tr>
<tr class="separator:a670530b58e8ddc61982798fd788c3edf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8002368ce25c4f689b48c511b092373b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a8002368ce25c4f689b48c511b092373b">_partCallReset</a> (void *sel_inst)</td></tr>
<tr class="memdesc:a8002368ce25c4f689b48c511b092373b"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling reset selector function from library <a href="lib__api_8h.html#a8002368ce25c4f689b48c511b092373b">More...</a><br /></td></tr>
<tr class="separator:a8002368ce25c4f689b48c511b092373b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8354cc31577d1c0308f40e8639bc3f6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a8354cc31577d1c0308f40e8639bc3f6f">_partCallReviewSubgraph</a> (<a class="el" href="namespacemxnet_1_1ext.html#a18a96fba494d035a7bc60beb30a07fae">mxnet::ext::reviewSubgraph_t</a> reviewSubgraph, const char *json, int subgraph_id, int *accept, const char *const *opt_keys, const char *const *opt_vals, int num_opts, char ***attr_keys, char ***attr_vals, int *num_attrs, const char *const *arg_names, int num_args, void *const *arg_data, const int64_t *const *arg_shapes, const int *arg_dims, const int *arg_types, const size_t *arg_IDs, const char *const *arg_dev_type, const int *arg_dev_id, const char *const *aux_names, int num_aux, void *const *aux_data, const int64_t *const *aux_shapes, const int *aux_dims, const int *aux_types, const size_t *aux_IDs, const char *const *aux_dev_type, const int *aux_dev_id)</td></tr>
<tr class="memdesc:a8354cc31577d1c0308f40e8639bc3f6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling review subgraph function from library <a href="lib__api_8h.html#a8354cc31577d1c0308f40e8639bc3f6f">More...</a><br /></td></tr>
<tr class="separator:a8354cc31577d1c0308f40e8639bc3f6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97a361685f2eb83a744f7fef61d8f26b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a97a361685f2eb83a744f7fef61d8f26b">_passRegSize</a> ()</td></tr>
<tr class="memdesc:a97a361685f2eb83a744f7fef61d8f26b"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns number of graph passes registered in this library <a href="lib__api_8h.html#a97a361685f2eb83a744f7fef61d8f26b">More...</a><br /></td></tr>
<tr class="separator:a97a361685f2eb83a744f7fef61d8f26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac47e22b68597148e7989b3e1ec6497e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ac47e22b68597148e7989b3e1ec6497e0">_passRegGet</a> (int pass_idx, <a class="el" href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">mxnet::ext::graphPass_t</a> *graphPass, const char **pass_name)</td></tr>
<tr class="memdesc:ac47e22b68597148e7989b3e1ec6497e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns pass registration at specified index <a href="lib__api_8h.html#ac47e22b68597148e7989b3e1ec6497e0">More...</a><br /></td></tr>
<tr class="separator:ac47e22b68597148e7989b3e1ec6497e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37f969a158ff72a111f84a466aca5119"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a37f969a158ff72a111f84a466aca5119">_passCallGraphPass</a> (<a class="el" href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">mxnet::ext::graphPass_t</a> graphPass, const char *json, char **out_graph, const char *const *opt_keys, const char *const *opt_vals, int num_opts, const char *pass_name, const char *const *arg_names, int num_args, void *const *arg_data, const int64_t *const *arg_shapes, const int *arg_dims, const int *arg_types, const size_t *arg_IDs, const char *const *arg_dev_type, const int *arg_dev_id, const char *const *aux_names, int num_aux, void *const *aux_data, const int64_t *const *aux_shapes, const int *aux_dims, const int *aux_types, const size_t *aux_IDs, const char *const *aux_dev_type, const int *aux_dev_id, <a class="el" href="namespacemxnet_1_1ext.html#a645677b0c72cbb9849069f61c3f45917">mxnet::ext::nd_malloc_t</a> nd_malloc, const void *nd_alloc)</td></tr>
<tr class="memdesc:a37f969a158ff72a111f84a466aca5119"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns status of calling graph pass function from library <a href="lib__api_8h.html#a37f969a158ff72a111f84a466aca5119">More...</a><br /></td></tr>
<tr class="separator:a37f969a158ff72a111f84a466aca5119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b4abe8a1f483ab51bb4274be2f193ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemxnet_1_1ext.html#a2a16b18af2cdbff088a3c76d62b39b40">mxnet::ext::MXReturnValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#a3b4abe8a1f483ab51bb4274be2f193ac">initialize</a> (int version)</td></tr>
<tr class="memdesc:a3b4abe8a1f483ab51bb4274be2f193ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the MXNet version is supported by the library. If supported, initializes the library. <a href="lib__api_8h.html#a3b4abe8a1f483ab51bb4274be2f193ac">More...</a><br /></td></tr>
<tr class="separator:a3b4abe8a1f483ab51bb4274be2f193ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a2f05b845f641f30f417756dc64fa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#ab3a2f05b845f641f30f417756dc64fa0">_msgSize</a> ()</td></tr>
<tr class="separator:ab3a2f05b845f641f30f417756dc64fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed3b9c90c89e5a3cf303b51c4ffa1938"><td class="memItemLeft" align="right" valign="top"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lib__api_8h.html#aed3b9c90c89e5a3cf303b51c4ffa1938">_msgGet</a> (int idx, const char **msg)</td></tr>
<tr class="memdesc:aed3b9c90c89e5a3cf303b51c4ffa1938"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns operator registration at specified index <a href="lib__api_8h.html#aed3b9c90c89e5a3cf303b51c4ffa1938">More...</a><br /></td></tr>
<tr class="separator:aed3b9c90c89e5a3cf303b51c4ffa1938"><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>APIs to interact with libraries This API specifies function prototypes to register custom ops, partitioner, and passes for library authors See example/extension/lib_custom_op/README.md See example/extension/lib_subgraph/README.md See example/extension/lib_pass/README.md. </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>
<a id="a481a7e516c02ab43e5b0e0016cb7997f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a481a7e516c02ab43e5b0e0016cb7997f">&#9670;&nbsp;</a></span>MX_ERROR_MSG</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_ERROR_MSG&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1MXerrorMsgs.html#a6da046f33093c9274b12f8bf6cdba61e">mxnet::ext::MXerrorMsgs::get</a>()-&gt;add(__FILE__, __LINE__)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a561ade7c8fd77c6882e937514f5b1e05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a561ade7c8fd77c6882e937514f5b1e05">&#9670;&nbsp;</a></span>MX_INT_RET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_INT_RET&#160;&#160;&#160;int</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aae1f2ee7f9331ffbd79db3708fd193ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae1f2ee7f9331ffbd79db3708fd193ed">&#9670;&nbsp;</a></span>MX_LIBRARY_VERSION</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_LIBRARY_VERSION&#160;&#160;&#160;11</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3bab156d26b9eface536d0c5d03d9b52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bab156d26b9eface536d0c5d03d9b52">&#9670;&nbsp;</a></span>MX_NUM_CPU_RANDOM_STATES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_NUM_CPU_RANDOM_STATES&#160;&#160;&#160;1024</td>
</tr>
</table>
</div><div class="memdoc">
<p>MXNet initialized random states for each device, used for parallelism. </p>
</div>
</div>
<a id="aa0ac2ed4c5f2ee26d5c748aee108e3cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0ac2ed4c5f2ee26d5c748aee108e3cd">&#9670;&nbsp;</a></span>MX_NUM_GPU_RANDOM_STATES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_NUM_GPU_RANDOM_STATES&#160;&#160;&#160;32768</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aff6fd8259cfbba7e57a637c862dac3ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff6fd8259cfbba7e57a637c862dac3ca">&#9670;&nbsp;</a></span>MX_REGISTER_DEF_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_DEF_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomOp.html">mxnet::ext::CustomOp</a> <a class="el" href="lib__api_8h.html#a412e972cba005076b3475796cd1ffbf6">MX_REGISTER_NAME_</a>(Name)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a412e972cba005076b3475796cd1ffbf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a412e972cba005076b3475796cd1ffbf6">&#9670;&nbsp;</a></span>MX_REGISTER_NAME_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_NAME_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;MXNet##_CustomOp##_##Name</td>
</tr>
</table>
</div><div class="memdoc">
<p>declare a variable with custom name </p>
</div>
</div>
<a id="a4a6ec114cb6f848ec8170c9df3475d59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a6ec114cb6f848ec8170c9df3475d59">&#9670;&nbsp;</a></span>MX_REGISTER_PASS_DEF_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_PASS_DEF_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomPass.html">mxnet::ext::CustomPass</a> <a class="el" href="lib__api_8h.html#a35d87ac322fe13c4c98a97d4c44c95e2">MX_REGISTER_PASS_NAME_</a>(Name)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a35d87ac322fe13c4c98a97d4c44c95e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35d87ac322fe13c4c98a97d4c44c95e2">&#9670;&nbsp;</a></span>MX_REGISTER_PASS_NAME_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_PASS_NAME_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;MXNet##_CustomPass##_##Name</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2e2f91e3c9f64ceffdfdb55f36354e91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e2f91e3c9f64ceffdfdb55f36354e91">&#9670;&nbsp;</a></span>MX_REGISTER_PROP_DEF_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_PROP_DEF_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="classmxnet_1_1ext_1_1CustomPartitioner.html">mxnet::ext::CustomPartitioner</a> <a class="el" href="lib__api_8h.html#a94176fcbf0773036ac1e43e4b4dde51f">MX_REGISTER_PROP_NAME_</a>(Name)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a94176fcbf0773036ac1e43e4b4dde51f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94176fcbf0773036ac1e43e4b4dde51f">&#9670;&nbsp;</a></span>MX_REGISTER_PROP_NAME_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_REGISTER_PROP_NAME_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td>&#160;&#160;&#160;MXNet##_CustomSubProp##_##Name</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad900a5506445a60d8e5ebd5079b0324f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad900a5506445a60d8e5ebd5079b0324f">&#9670;&nbsp;</a></span>MX_STR_CONCAT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_CONCAT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">__a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">__b&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;<a class="el" href="lib__api_8h.html#ac745a1b1f09e730abf98f51d2e513103">MX_STR_CONCAT_</a>(__a, __b)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac745a1b1f09e730abf98f51d2e513103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac745a1b1f09e730abf98f51d2e513103">&#9670;&nbsp;</a></span>MX_STR_CONCAT_</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_CONCAT_</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">__a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">__b&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;__a##__b</td>
</tr>
</table>
</div><div class="memdoc">
<p>Macros to help with string concat Annoyingly, the concat_ and concat macros are necessary to be able to use <b>COUNTER</b> in an identifier name. </p>
</div>
</div>
<a id="a73b8e3f85f6f0aba1c0fd0917773b24f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73b8e3f85f6f0aba1c0fd0917773b24f">&#9670;&nbsp;</a></span>MX_STR_DTYPE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_DTYPE&#160;&#160;&#160;&quot;__ext_dtype__&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>dtype attribute key for ops after type propagation </p>
</div>
</div>
<a id="a633f26064a8c0d69aa833175a66daa2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a633f26064a8c0d69aa833175a66daa2e">&#9670;&nbsp;</a></span>MX_STR_EXTRA_INPUTS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_EXTRA_INPUTS&#160;&#160;&#160;&quot;__ext_extra_inputs__&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>extra input attribute key for ops </p>
</div>
</div>
<a id="ab031cafe8f2e358de3c1cadc57a346f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab031cafe8f2e358de3c1cadc57a346f3">&#9670;&nbsp;</a></span>MX_STR_SHAPE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_SHAPE&#160;&#160;&#160;&quot;__ext_shape__&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>shape attribute key for ops after shape propagation </p>
</div>
</div>
<a id="ab5f044e03093ffae2626b35fa17f610d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5f044e03093ffae2626b35fa17f610d">&#9670;&nbsp;</a></span>MX_STR_SUBGRAPH_SYM_JSON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STR_SUBGRAPH_SYM_JSON&#160;&#160;&#160;&quot;subgraph_sym_json&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>attribute key to help passing serialized subgraph through subgraph op attribute </p>
</div>
</div>
<a id="a8a5ee382299049479eaadc1f87d9dffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a5ee382299049479eaadc1f87d9dffb">&#9670;&nbsp;</a></span>MX_STRINGIFY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_STRINGIFY</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;#x</td>
</tr>
</table>
</div><div class="memdoc">
<p>convert a token to a string </p>
</div>
</div>
<a id="ac281c11d1b738cf6f4d44d1d6d2a41f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac281c11d1b738cf6f4d44d1d6d2a41f5">&#9670;&nbsp;</a></span>MX_TOSTRING</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_TOSTRING</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td>&#160;&#160;&#160;<a class="el" href="lib__api_8h.html#a8a5ee382299049479eaadc1f87d9dffb">MX_STRINGIFY</a>(x)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a140a8dac396de476f9ed0c6a093cf4fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a140a8dac396de476f9ed0c6a093cf4fa">&#9670;&nbsp;</a></span>MX_VOID_RET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MX_VOID_RET&#160;&#160;&#160;void</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad5405711bcd25d56b2fc2a3fd827ea3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5405711bcd25d56b2fc2a3fd827ea3c">&#9670;&nbsp;</a></span>MXLIB_INITIALIZE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_INITIALIZE_STR&#160;&#160;&#160;&quot;initialize&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a12e8d84f980811cd9a90e5e4506d2011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12e8d84f980811cd9a90e5e4506d2011">&#9670;&nbsp;</a></span>MXLIB_MSGGET_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_MSGGET_STR&#160;&#160;&#160;&quot;_msgGet&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abbae445517e023b3f8f81b1999171ae5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbae445517e023b3f8f81b1999171ae5">&#9670;&nbsp;</a></span>MXLIB_MSGSIZE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_MSGSIZE_STR&#160;&#160;&#160;&quot;_msgSize&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a950d395e618360e1d9c4c5b1fedb018d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a950d395e618360e1d9c4c5b1fedb018d">&#9670;&nbsp;</a></span>MXLIB_OPCALLCREATEOPSTATE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLCREATEOPSTATE_STR&#160;&#160;&#160;&quot;_opCallCreateOpState&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1724ab7121cfa78fda47b146eed0e9a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1724ab7121cfa78fda47b146eed0e9a9">&#9670;&nbsp;</a></span>MXLIB_OPCALLDESTROYOPSTATE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLDESTROYOPSTATE_STR&#160;&#160;&#160;&quot;_opCallDestroyOpState&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a906b409889769dcb9ed23c68becf93e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a906b409889769dcb9ed23c68becf93e3">&#9670;&nbsp;</a></span>MXLIB_OPCALLFCOMP_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLFCOMP_STR&#160;&#160;&#160;&quot;_opCallFCompute&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa9581ed05ac3aefc194698100cc54e5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9581ed05ac3aefc194698100cc54e5a">&#9670;&nbsp;</a></span>MXLIB_OPCALLFREE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLFREE_STR&#160;&#160;&#160;&quot;_opCallFree&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad10be40f94357f8913f99288ccae5bea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad10be40f94357f8913f99288ccae5bea">&#9670;&nbsp;</a></span>MXLIB_OPCALLFSTATEFULCOMP_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLFSTATEFULCOMP_STR&#160;&#160;&#160;&quot;_opCallFStatefulCompute&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac21fd9c191ceab0d17561f4523ad6d23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac21fd9c191ceab0d17561f4523ad6d23">&#9670;&nbsp;</a></span>MXLIB_OPCALLINFERSHAPE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLINFERSHAPE_STR&#160;&#160;&#160;&quot;_opCallInferShape&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a95494016bf876dcb3ec4ae0b3c5f6941"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95494016bf876dcb3ec4ae0b3c5f6941">&#9670;&nbsp;</a></span>MXLIB_OPCALLINFERSTYPE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLINFERSTYPE_STR&#160;&#160;&#160;&quot;_opCallInferSType&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7dfca2084c7df461862458f77a8f6244"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dfca2084c7df461862458f77a8f6244">&#9670;&nbsp;</a></span>MXLIB_OPCALLINFERTYPE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLINFERTYPE_STR&#160;&#160;&#160;&quot;_opCallInferType&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abf2577efc9a9eed8d27d6ca0af98abe1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf2577efc9a9eed8d27d6ca0af98abe1">&#9670;&nbsp;</a></span>MXLIB_OPCALLMUTATEINPUTS_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLMUTATEINPUTS_STR&#160;&#160;&#160;&quot;_opCallMutateInputs&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ff60ae5ae2081aac9715da91f38845e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ff60ae5ae2081aac9715da91f38845e">&#9670;&nbsp;</a></span>MXLIB_OPCALLPARSEATTRS_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPCALLPARSEATTRS_STR&#160;&#160;&#160;&quot;_opCallParseAttrs&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="addceae596034e042d887954af8499f06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addceae596034e042d887954af8499f06">&#9670;&nbsp;</a></span>MXLIB_OPREGGET_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPREGGET_STR&#160;&#160;&#160;&quot;_opRegGet&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac39728fb75d241b62d4ed9261b7ddca3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac39728fb75d241b62d4ed9261b7ddca3">&#9670;&nbsp;</a></span>MXLIB_OPREGSIZE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPREGSIZE_STR&#160;&#160;&#160;&quot;_opRegSize&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Following are the C type APIs implemented in the external library Each API has a #define string that is used to lookup the function in the library Followed by the function declaration. </p>
</div>
</div>
<a id="a13594d09f1287481f1b7b6b695d6c1d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13594d09f1287481f1b7b6b695d6c1d8">&#9670;&nbsp;</a></span>MXLIB_OPVERSION_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_OPVERSION_STR&#160;&#160;&#160;&quot;_opVersion&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2136a3986fc3a229cb426f41d0dfe3c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2136a3986fc3a229cb426f41d0dfe3c8">&#9670;&nbsp;</a></span>MXLIB_PARTCALLCREATESELECTOR_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLCREATESELECTOR_STR&#160;&#160;&#160;&quot;_partCallCreateSelector&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad43d2f7d1ca8f2b248630ef95b3eb5e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad43d2f7d1ca8f2b248630ef95b3eb5e9">&#9670;&nbsp;</a></span>MXLIB_PARTCALLFILTER_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLFILTER_STR&#160;&#160;&#160;&quot;_partCallFilter&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae39d5c24d804a90a045483fe5d87b2c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae39d5c24d804a90a045483fe5d87b2c2">&#9670;&nbsp;</a></span>MXLIB_PARTCALLRESET_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLRESET_STR&#160;&#160;&#160;&quot;_partCallReset&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aebf42394c4714072d81f4612a9d425fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebf42394c4714072d81f4612a9d425fe">&#9670;&nbsp;</a></span>MXLIB_PARTCALLREVIEWSUBGRAPH_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLREVIEWSUBGRAPH_STR&#160;&#160;&#160;&quot;_partCallReviewSubgraph&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acca6909f1ef0b0a4e7dc4815dd75255a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acca6909f1ef0b0a4e7dc4815dd75255a">&#9670;&nbsp;</a></span>MXLIB_PARTCALLSELECT_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLSELECT_STR&#160;&#160;&#160;&quot;_partCallSelect&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a84b9b257f62fcfa8e55af189fe7d88cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84b9b257f62fcfa8e55af189fe7d88cb">&#9670;&nbsp;</a></span>MXLIB_PARTCALLSELECTINPUT_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLSELECTINPUT_STR&#160;&#160;&#160;&quot;_partCallSelectInput&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abf23d7995f4c8617b136c6c311405b35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf23d7995f4c8617b136c6c311405b35">&#9670;&nbsp;</a></span>MXLIB_PARTCALLSELECTOUTPUT_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLSELECTOUTPUT_STR&#160;&#160;&#160;&quot;_partCallSelectOutput&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a7e8e351e67da4f1822042c0d01e8bbf4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e8e351e67da4f1822042c0d01e8bbf4">&#9670;&nbsp;</a></span>MXLIB_PARTCALLSUPPORTEDOPS_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTCALLSUPPORTEDOPS_STR&#160;&#160;&#160;&quot;_partCallSupportedOps&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a76dda0c1c4d6eafc6ac80a72527ec556"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76dda0c1c4d6eafc6ac80a72527ec556">&#9670;&nbsp;</a></span>MXLIB_PARTREGGET_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTREGGET_STR&#160;&#160;&#160;&quot;_partRegGet&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a96ebb8de1ce9d8f8a493e262b477f0b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96ebb8de1ce9d8f8a493e262b477f0b7">&#9670;&nbsp;</a></span>MXLIB_PARTREGGETCOUNT_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTREGGETCOUNT_STR&#160;&#160;&#160;&quot;_partRegGetCount&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a16de6fee0cb7e09e2e3c0885b44d646d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16de6fee0cb7e09e2e3c0885b44d646d">&#9670;&nbsp;</a></span>MXLIB_PARTREGSIZE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PARTREGSIZE_STR&#160;&#160;&#160;&quot;_partRegSize&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5ebc06cae18b2b72e41789d816734540"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ebc06cae18b2b72e41789d816734540">&#9670;&nbsp;</a></span>MXLIB_PASSCALLGRAPHPASS_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PASSCALLGRAPHPASS_STR&#160;&#160;&#160;&quot;_passCallGraphPass&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a303c810b43b30121a5f24ed880d53d09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a303c810b43b30121a5f24ed880d53d09">&#9670;&nbsp;</a></span>MXLIB_PASSREGGET_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PASSREGGET_STR&#160;&#160;&#160;&quot;_passRegGet&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ec8627b92e8212d9e3368619e8361a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ec8627b92e8212d9e3368619e8361a4">&#9670;&nbsp;</a></span>MXLIB_PASSREGSIZE_STR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MXLIB_PASSREGSIZE_STR&#160;&#160;&#160;&quot;_passRegSize&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acb30ec605ba828f085c28799b89383ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb30ec605ba828f085c28799b89383ad">&#9670;&nbsp;</a></span>PRIVATE_SYMBOL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PRIVATE_SYMBOL&#160;&#160;&#160;__attribute__((visibility(&quot;hidden&quot;)))</td>
</tr>
</table>
</div><div class="memdoc">
<p>For loading multiple custom op libraries in Linux, exporting same symbol multiple times may lead to undefined behaviour, so we need to set symbol visibility to hidden see <a href="https://labjack.com/news/simple-cpp-symbol-visibility-demo">https://labjack.com/news/simple-cpp-symbol-visibility-demo</a> for details. </p>
</div>
</div>
<a id="abb165f6d1b3c2f0d4edfb5667a8b3638"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb165f6d1b3c2f0d4edfb5667a8b3638">&#9670;&nbsp;</a></span>REGISTER_OP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define REGISTER_OP</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code" href="lib__api_8h.html#ad900a5506445a60d8e5ebd5079b0324f">MX_STR_CONCAT</a>(<a class="code" href="lib__api_8h.html#aff6fd8259cfbba7e57a637c862dac3ca">MX_REGISTER_DEF_</a>(Name), __COUNTER__) = <a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8">\</a></div>
<div class="line"><a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8"> mxnet::ext::Registry&lt;mxnet::ext::CustomOp&gt;::get</a>()-&gt;<a class="code" href="classmxnet_1_1ext_1_1Registry.html#a32f3e2d387f02dc4edc8c0c51095af28">add</a>(<a class="code" href="lib__api_8h.html#ac281c11d1b738cf6f4d44d1d6d2a41f5">MX_TOSTRING</a>(Name))</div>
</div><!-- fragment -->
<p>assign a var to a value </p>
</div>
</div>
<a id="a93f481366195b39d8e4ea3bbec2a1b04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93f481366195b39d8e4ea3bbec2a1b04">&#9670;&nbsp;</a></span>REGISTER_PARTITIONER</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define REGISTER_PARTITIONER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code" href="lib__api_8h.html#ad900a5506445a60d8e5ebd5079b0324f">MX_STR_CONCAT</a>(<a class="code" href="lib__api_8h.html#a2e2f91e3c9f64ceffdfdb55f36354e91">MX_REGISTER_PROP_DEF_</a>(Name), __COUNTER__) = <a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8">\</a></div>
<div class="line"><a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8"> mxnet::ext::Registry&lt;mxnet::ext::CustomPartitioner&gt;::get</a>()-&gt;<a class="code" href="classmxnet_1_1ext_1_1Registry.html#a32f3e2d387f02dc4edc8c0c51095af28">add</a>(<a class="code" href="lib__api_8h.html#ac281c11d1b738cf6f4d44d1d6d2a41f5">MX_TOSTRING</a>(Name))</div>
</div><!-- fragment -->
</div>
</div>
<a id="ab9d14ed170244c036e1ff8a3531e89c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9d14ed170244c036e1ff8a3531e89c6">&#9670;&nbsp;</a></span>REGISTER_PASS</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define REGISTER_PASS</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">Name</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <a class="code" href="lib__api_8h.html#ad900a5506445a60d8e5ebd5079b0324f">MX_STR_CONCAT</a>(<a class="code" href="lib__api_8h.html#a4a6ec114cb6f848ec8170c9df3475d59">MX_REGISTER_PASS_DEF_</a>(Name), __COUNTER__) = <a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8">\</a></div>
<div class="line"><a class="code" href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8"> mxnet::ext::Registry&lt;mxnet::ext::CustomPass&gt;::get</a>()-&gt;<a class="code" href="classmxnet_1_1ext_1_1Registry.html#a32f3e2d387f02dc4edc8c0c51095af28">add</a>(<a class="code" href="lib__api_8h.html#ac281c11d1b738cf6f4d44d1d6d2a41f5">MX_TOSTRING</a>(Name))</div>
</div><!-- fragment -->
</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>
<h2 class="groupheader">Function Documentation</h2>
<a id="aed3b9c90c89e5a3cf303b51c4ffa1938"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed3b9c90c89e5a3cf303b51c4ffa1938">&#9670;&nbsp;</a></span>_msgGet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _msgGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>msg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns operator registration at specified index </p>
</div>
</div>
<a id="ab3a2f05b845f641f30f417756dc64fa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3a2f05b845f641f30f417756dc64fa0">&#9670;&nbsp;</a></span>_msgSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _msgSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af358af16fb117cd0675234835a4e7c08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af358af16fb117cd0675234835a4e7c08">&#9670;&nbsp;</a></span>_opCallCreateOpState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallCreateOpState </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a>&#160;</td>
<td class="paramname"><em>create_op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>dev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int **&#160;</td>
<td class="paramname"><em>inshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>intypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>state_op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling createStatefulOp function for operator from library </p>
</div>
</div>
<a id="a0cc29cb55b56ebd7e288b3f5946b5bce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cc29cb55b56ebd7e288b3f5946b5bce">&#9670;&nbsp;</a></span>_opCallDestroyOpState()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _opCallDestroyOpState </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>state_op</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of deleting StatefulOp instance for operator from library </p>
</div>
</div>
<a id="a948af234ca1c3b0c8b78e8db2f32c310"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a948af234ca1c3b0c8b78e8db2f32c310">&#9670;&nbsp;</a></span>_opCallFCompute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallFCompute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a>&#160;</td>
<td class="paramname"><em>fcomp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t **&#160;</td>
<td class="paramname"><em>inshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>indata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>intypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>inIDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>indev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t **&#160;</td>
<td class="paramname"><em>outshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outdims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>outdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outtypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>outIDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>outdev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outdev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a>&#160;</td>
<td class="paramname"><em>cpu_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>cpu_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a>&#160;</td>
<td class="paramname"><em>gpu_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>gpu_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>cuda_stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">mxnet::ext::sparse_malloc_t</a>&#160;</td>
<td class="paramname"><em>sparse_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sparse_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>instypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outstypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>in_indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>out_indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>in_indptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>out_indptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>in_indices_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>out_indices_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>in_indptr_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>out_indptr_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>rng_cpu_states</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>rng_gpu_states</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling Forward/Backward function for operator from library </p>
</div>
</div>
<a id="a6e74b9b5a033075b0a934561a518a2cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e74b9b5a033075b0a934561a518a2cb">&#9670;&nbsp;</a></span>_opCallFree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _opCallFree </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>calls free from the external library for library allocated arrays </p>
</div>
</div>
<a id="af0214213e9b925b0750a33f20ff2a1f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0214213e9b925b0750a33f20ff2a1f9">&#9670;&nbsp;</a></span>_opCallFStatefulCompute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallFStatefulCompute </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>is_forward</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>state_op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t **&#160;</td>
<td class="paramname"><em>inshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>indata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>intypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>inIDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>indev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t **&#160;</td>
<td class="paramname"><em>outshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outdims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>outdata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outtypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>outIDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>outdev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outdev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a>&#160;</td>
<td class="paramname"><em>cpu_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>cpu_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6047dc7436d917e950612a84fd912760">mxnet::ext::xpu_malloc_t</a>&#160;</td>
<td class="paramname"><em>gpu_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>gpu_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>stream</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a4128a869e7ed8d1ed7c04037d752300e">mxnet::ext::sparse_malloc_t</a>&#160;</td>
<td class="paramname"><em>sparse_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sparse_alloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>instypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outstypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>in_indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>out_indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>in_indptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>out_indptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>in_indices_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>out_indices_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>in_indptr_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64_t *&#160;</td>
<td class="paramname"><em>out_indptr_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>rng_cpu_states</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>rng_gpu_states</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling Stateful Forward/Backward for operator from library </p>
</div>
</div>
<a id="a2ba7371715fcd75f05c0ba0f0c8b78b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba7371715fcd75f05c0ba0f0c8b78b4">&#9670;&nbsp;</a></span>_opCallInferShape()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallInferShape </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a>&#160;</td>
<td class="paramname"><em>inferShape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int **&#160;</td>
<td class="paramname"><em>inshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int ***&#160;</td>
<td class="paramname"><em>mod_inshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int **&#160;</td>
<td class="paramname"><em>mod_indims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int ***&#160;</td>
<td class="paramname"><em>outshapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int **&#160;</td>
<td class="paramname"><em>outdims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling inferShape function for operator from library </p>
</div>
</div>
<a id="a67702f536b0652fab92a46a4c522f0a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67702f536b0652fab92a46a4c522f0a8">&#9670;&nbsp;</a></span>_opCallInferSType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallInferSType </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a>&#160;</td>
<td class="paramname"><em>inferSType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>instypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outstypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling inferSType function for operator from library </p>
</div>
</div>
<a id="adb3450125394a91102043bcc28fe8e39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb3450125394a91102043bcc28fe8e39">&#9670;&nbsp;</a></span>_opCallInferType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallInferType </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a>&#160;</td>
<td class="paramname"><em>inferType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>intypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>outtypes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling inferType function for operator from library </p>
</div>
</div>
<a id="aa14e95577fdb7526da526ae1ec236d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa14e95577fdb7526da526ae1ec236d48">&#9670;&nbsp;</a></span>_opCallMutateInputs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallMutateInputs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a>&#160;</td>
<td class="paramname"><em>mutate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int **&#160;</td>
<td class="paramname"><em>mutate_indices</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>indices_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling mutateInputs function for operator from library </p>
</div>
</div>
<a id="ac88d6741ca655523db73fc18a8e06828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac88d6741ca655523db73fc18a8e06828">&#9670;&nbsp;</a></span>_opCallParseAttrs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opCallParseAttrs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a>&#160;</td>
<td class="paramname"><em>parseAttrs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>num_in</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>num_out</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling parse attributes function for operator from library </p>
</div>
</div>
<a id="a5b0657e0605ca60b79241a4324139f63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b0657e0605ca60b79241a4324139f63">&#9670;&nbsp;</a></span>_opRegGet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _opRegGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>isSGop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char ***&#160;</td>
<td class="paramname"><em>forward_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **&#160;</td>
<td class="paramname"><em>forward_fp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>forward_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char ***&#160;</td>
<td class="paramname"><em>backward_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#afa2624f2a3ccf55f7dd53578896b4603">mxnet::ext::fcomp_t</a> **&#160;</td>
<td class="paramname"><em>backward_fp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>backward_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char ***&#160;</td>
<td class="paramname"><em>create_op_ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a559767743debbc2b39b203185ca67923">mxnet::ext::createOpState_t</a> **&#160;</td>
<td class="paramname"><em>create_op_fp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>create_op_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a963277b3eebf164f5103a44ae9acdbfc">mxnet::ext::parseAttrs_t</a> *&#160;</td>
<td class="paramname"><em>parse</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a6d159349f953d943811338e60b331869">mxnet::ext::inferType_t</a> *&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#af05bbe0926a318bb3674c8db6d18039a">mxnet::ext::inferSType_t</a> *&#160;</td>
<td class="paramname"><em>stype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a0bf4c32f0c8f5da90619bf0b1f567ef9">mxnet::ext::inferShape_t</a> *&#160;</td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#abe5578d0e77b2548b8d384ba6df66484">mxnet::ext::mutateInputs_t</a> *&#160;</td>
<td class="paramname"><em>mutate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns operator registration at specified index </p>
</div>
</div>
<a id="a6efacb1a30200f9f1fb05f77783959de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6efacb1a30200f9f1fb05f77783959de">&#9670;&nbsp;</a></span>_opRegSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opRegSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns number of ops registered in this library </p>
</div>
</div>
<a id="ade85fac9a80edcdf9e6062cb079cd325"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade85fac9a80edcdf9e6062cb079cd325">&#9670;&nbsp;</a></span>_opVersion()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _opVersion </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns MXNet library version </p>
</div>
</div>
<a id="a70e75073813f5a358d365715205ea001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70e75073813f5a358d365715205ea001">&#9670;&nbsp;</a></span>_partCallCreateSelector()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _partCallCreateSelector </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#afab0ffe74ed0a370ee02a8af00084659">mxnet::ext::createSelector_t</a>&#160;</td>
<td class="paramname"><em>createSelector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>json</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void **&#160;</td>
<td class="paramname"><em>selector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_opts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling create selector function from library </p>
</div>
</div>
<a id="a670530b58e8ddc61982798fd788c3edf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a670530b58e8ddc61982798fd788c3edf">&#9670;&nbsp;</a></span>_partCallFilter()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partCallFilter </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sel_inst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>candidates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_candidates</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int **&#160;</td>
<td class="paramname"><em>keep</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>num_keep</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling filter function from library </p>
</div>
</div>
<a id="a8002368ce25c4f689b48c511b092373b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8002368ce25c4f689b48c511b092373b">&#9670;&nbsp;</a></span>_partCallReset()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partCallReset </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sel_inst</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling reset selector function from library </p>
</div>
</div>
<a id="a8354cc31577d1c0308f40e8639bc3f6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8354cc31577d1c0308f40e8639bc3f6f">&#9670;&nbsp;</a></span>_partCallReviewSubgraph()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _partCallReviewSubgraph </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a18a96fba494d035a7bc60beb30a07fae">mxnet::ext::reviewSubgraph_t</a>&#160;</td>
<td class="paramname"><em>reviewSubgraph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>json</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>subgraph_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>accept</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_opts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char ***&#160;</td>
<td class="paramname"><em>attr_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char ***&#160;</td>
<td class="paramname"><em>attr_vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>num_attrs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>arg_names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_args</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *const *&#160;</td>
<td class="paramname"><em>arg_data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t *const *&#160;</td>
<td class="paramname"><em>arg_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_dims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_types</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t *&#160;</td>
<td class="paramname"><em>arg_IDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>arg_dev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_dev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>aux_names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_aux</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *const *&#160;</td>
<td class="paramname"><em>aux_data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t *const *&#160;</td>
<td class="paramname"><em>aux_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_dims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_types</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t *&#160;</td>
<td class="paramname"><em>aux_IDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>aux_dev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_dev_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling review subgraph function from library </p>
</div>
</div>
<a id="acc5fcd7471b3ee96cf6939b1f2799a61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc5fcd7471b3ee96cf6939b1f2799a61">&#9670;&nbsp;</a></span>_partCallSelect()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partCallSelect </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sel_inst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nodeID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>selected</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling select function from library </p>
</div>
</div>
<a id="a876d77c3d311c7006f7b23578f85678a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a876d77c3d311c7006f7b23578f85678a">&#9670;&nbsp;</a></span>_partCallSelectInput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partCallSelectInput </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sel_inst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nodeID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>input_nodeID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>selected</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling select input function from library </p>
</div>
</div>
<a id="af623e317a08ae2d7822e4e81d4dcb1a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af623e317a08ae2d7822e4e81d4dcb1a4">&#9670;&nbsp;</a></span>_partCallSelectOutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partCallSelectOutput </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>sel_inst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>nodeID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>output_nodeID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>selected</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling select output function from library </p>
</div>
</div>
<a id="ae845d0155a42d87b0714a4ee3e6240f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae845d0155a42d87b0714a4ee3e6240f5">&#9670;&nbsp;</a></span>_partCallSupportedOps()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _partCallSupportedOps </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">mxnet::ext::supportedOps_t</a>&#160;</td>
<td class="paramname"><em>supportedOps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>json</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_ids</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>ids</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_opts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling supported ops function from library </p>
</div>
</div>
<a id="ae62af668ca56e5f29a4428681f7d0914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae62af668ca56e5f29a4428681f7d0914">&#9670;&nbsp;</a></span>_partRegGet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _partRegGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>part_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>stg_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>strategy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a497cf9a31d84c5ab6e7d41f5cf4789ab">mxnet::ext::supportedOps_t</a> *&#160;</td>
<td class="paramname"><em>supportedOps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#afab0ffe74ed0a370ee02a8af00084659">mxnet::ext::createSelector_t</a> *&#160;</td>
<td class="paramname"><em>createSelector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a18a96fba494d035a7bc60beb30a07fae">mxnet::ext::reviewSubgraph_t</a> *&#160;</td>
<td class="paramname"><em>reviewSubgraph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>op_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns partitioner registration at specified index </p>
</div>
</div>
<a id="aa8a5a6598b9b674dcd015eab7c25bc38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8a5a6598b9b674dcd015eab7c25bc38">&#9670;&nbsp;</a></span>_partRegGetCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _partRegGetCount </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8088989b079b01b821c7b7d0b960dfaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8088989b079b01b821c7b7d0b960dfaa">&#9670;&nbsp;</a></span>_partRegSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _partRegSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns number of partitioners registered in this library </p>
</div>
</div>
<a id="a37f969a158ff72a111f84a466aca5119"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37f969a158ff72a111f84a466aca5119">&#9670;&nbsp;</a></span>_passCallGraphPass()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _passCallGraphPass </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">mxnet::ext::graphPass_t</a>&#160;</td>
<td class="paramname"><em>graphPass</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>json</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char **&#160;</td>
<td class="paramname"><em>out_graph</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>opt_vals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_opts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>pass_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>arg_names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_args</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *const *&#160;</td>
<td class="paramname"><em>arg_data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t *const *&#160;</td>
<td class="paramname"><em>arg_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_dims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_types</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t *&#160;</td>
<td class="paramname"><em>arg_IDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>arg_dev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>arg_dev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>aux_names</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_aux</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *const *&#160;</td>
<td class="paramname"><em>aux_data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int64_t *const *&#160;</td>
<td class="paramname"><em>aux_shapes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_dims</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_types</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t *&#160;</td>
<td class="paramname"><em>aux_IDs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *const *&#160;</td>
<td class="paramname"><em>aux_dev_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int *&#160;</td>
<td class="paramname"><em>aux_dev_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a645677b0c72cbb9849069f61c3f45917">mxnet::ext::nd_malloc_t</a>&#160;</td>
<td class="paramname"><em>nd_malloc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&#160;</td>
<td class="paramname"><em>nd_alloc</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns status of calling graph pass function from library </p>
</div>
</div>
<a id="ac47e22b68597148e7989b3e1ec6497e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac47e22b68597148e7989b3e1ec6497e0">&#9670;&nbsp;</a></span>_passRegGet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a140a8dac396de476f9ed0c6a093cf4fa">MX_VOID_RET</a> _passRegGet </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>pass_idx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemxnet_1_1ext.html#a08f1c47db9eeec676f4b003ed01a622d">mxnet::ext::graphPass_t</a> *&#160;</td>
<td class="paramname"><em>graphPass</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char **&#160;</td>
<td class="paramname"><em>pass_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns pass registration at specified index </p>
</div>
</div>
<a id="a97a361685f2eb83a744f7fef61d8f26b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97a361685f2eb83a744f7fef61d8f26b">&#9670;&nbsp;</a></span>_passRegSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="lib__api_8h.html#a561ade7c8fd77c6882e937514f5b1e05">MX_INT_RET</a> _passRegSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>returns number of graph passes registered in this library </p>
</div>
</div>
<a id="a3b4abe8a1f483ab51bb4274be2f193ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b4abe8a1f483ab51bb4274be2f193ac">&#9670;&nbsp;</a></span>initialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacemxnet_1_1ext.html#a2a16b18af2cdbff088a3c76d62b39b40">mxnet::ext::MXReturnValue</a> initialize </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>version</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if the MXNet version is supported by the library. If supported, initializes the library. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">version</td><td>MXNet version number passed to library and defined as: MXNET_VERSION = (MXNET_MAJOR*10000 + MXNET_MINOR*100 + MXNET_PATCH) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Non-zero value on error i.e. library incompatible with passed MXNet version </dd></dl>
</div>
</div>
</div><!-- contents -->
<div class="ttc" id="alib__api_8h_html_aff6fd8259cfbba7e57a637c862dac3ca"><div class="ttname"><a href="lib__api_8h.html#aff6fd8259cfbba7e57a637c862dac3ca">MX_REGISTER_DEF_</a></div><div class="ttdeci">#define MX_REGISTER_DEF_(Name)</div><div class="ttdef"><b>Definition:</b> lib_api.h:951</div></div>
<div class="ttc" id="aclassmxnet_1_1ext_1_1Registry_html_a34d70208a11534185f4288284430acb8"><div class="ttname"><a href="classmxnet_1_1ext_1_1Registry.html#a34d70208a11534185f4288284430acb8">mxnet::ext::Registry::get</a></div><div class="ttdeci">static Registry * get() PRIVATE_SYMBOL</div><div class="ttdoc">get singleton pointer to class</div><div class="ttdef"><b>Definition:</b> lib_api.h:908</div></div>
<div class="ttc" id="alib__api_8h_html_ad900a5506445a60d8e5ebd5079b0324f"><div class="ttname"><a href="lib__api_8h.html#ad900a5506445a60d8e5ebd5079b0324f">MX_STR_CONCAT</a></div><div class="ttdeci">#define MX_STR_CONCAT(__a, __b)</div><div class="ttdef"><b>Definition:</b> lib_api.h:943</div></div>
<div class="ttc" id="alib__api_8h_html_a4a6ec114cb6f848ec8170c9df3475d59"><div class="ttname"><a href="lib__api_8h.html#a4a6ec114cb6f848ec8170c9df3475d59">MX_REGISTER_PASS_DEF_</a></div><div class="ttdeci">#define MX_REGISTER_PASS_DEF_(Name)</div><div class="ttdef"><b>Definition:</b> lib_api.h:957</div></div>
<div class="ttc" id="aclassmxnet_1_1ext_1_1Registry_html_a32f3e2d387f02dc4edc8c0c51095af28"><div class="ttname"><a href="classmxnet_1_1ext_1_1Registry.html#a32f3e2d387f02dc4edc8c0c51095af28">mxnet::ext::Registry::add</a></div><div class="ttdeci">T &amp; add(const char *name)</div><div class="ttdoc">add a new entry</div><div class="ttdef"><b>Definition:</b> lib_api.h:916</div></div>
<div class="ttc" id="alib__api_8h_html_a2e2f91e3c9f64ceffdfdb55f36354e91"><div class="ttname"><a href="lib__api_8h.html#a2e2f91e3c9f64ceffdfdb55f36354e91">MX_REGISTER_PROP_DEF_</a></div><div class="ttdeci">#define MX_REGISTER_PROP_DEF_(Name)</div><div class="ttdef"><b>Definition:</b> lib_api.h:954</div></div>
<div class="ttc" id="alib__api_8h_html_ac281c11d1b738cf6f4d44d1d6d2a41f5"><div class="ttname"><a href="lib__api_8h.html#ac281c11d1b738cf6f4d44d1d6d2a41f5">MX_TOSTRING</a></div><div class="ttdeci">#define MX_TOSTRING(x)</div><div class="ttdef"><b>Definition:</b> lib_api.h:947</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 03:47:40 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>