blob: a1882fd5cd7d910f7655e2a9bf602e210dc17607 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: /work/mxnet/3rdparty/tvm/nnvm/include/nnvm/c_api.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_d40daf7ef9783ad6669561b9a39523a5.html">tvm</a></li><li class="navelem"><a class="el" href="dir_59ab2d7405f48271a817356d16f4868c.html">nnvm</a></li><li class="navelem"><a class="el" href="dir_564b1b3930cee8f0cd6786ede046ff35.html">include</a></li><li class="navelem"><a class="el" href="dir_aadb892b7c99db7e2c3fc68a6c967545.html">nnvm</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">c_api.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * with the License. You may obtain a copy of the License at</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * KIND, either express or implied. See the License for the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * under the License.</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#ifndef NNVM_C_API_H_</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#define NNVM_C_API_H_</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifdef _WIN32</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifdef NNVM_EXPORTS</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define NNVM_DLL __declspec(dllexport)</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define NNVM_DLL __declspec(dllimport)</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0"> 37</a></span>&#160;<span class="preprocessor">#define NNVM_DLL __attribute__((visibility(&quot;default&quot;)))</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab"> 41</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b"> 44</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37"> 46</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823"> 48</a></span>&#160;<span class="keyword">typedef</span> <span class="keywordtype">void</span> *<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">void</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a5f371979a9d09cb58ad81a065f7d8902">NNAPISetLastError</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* msg);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acd8481f2eee30230850be6117ce9d90c">NNGetLastError</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae30c2e10259ce167bc7ba3f989094d88">NNListAllOpNames</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>*** out_array);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a1604f8df7177a3b0acead0b816bd9536">NNGetOpHandle</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* op_name,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a>* op_out);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3107847f239016cfc86de09df045e500">NNListUniqueOps</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a> **out_array);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae23adb2fdc373b8dba52687c9449f2f9">NNGetOpInfo</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a> op,</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> **real_name,</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> **description,</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *num_doc_args,</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> ***arg_names,</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> ***arg_type_infos,</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> ***arg_descriptions,</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> **return_type);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3d389b16e4ce03e679b90323851af9c8">NNSymbolCreateAtomicSymbol</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a> op,</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> num_param,</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> **keys,</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> **vals,</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a1dbc040c114785d692bfe04859be7dff">NNSymbolCreateVariable</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a14e613b4d707d3cc76d7d417adf9511f">NNSymbolCreateGroup</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> num_symbols,</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *symbols,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ab4218ee4d1053f2e0c00d914c748d9aa">NNAddControlDeps</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> handle,</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> src_dep);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aea876d94e36d2e586df0b68e62625763">NNSymbolFree</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a549475e7290662ec6cf494fd2c48baa9">NNSymbolCopy</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol, <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2a81775bd9cead7fada5b19c11dbcf0c">NNSymbolPrint</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol, <span class="keyword">const</span> <span class="keywordtype">char</span> **out_str);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a44aa0799d8af8adcc8b9a8688e7f841f">NNSymbolGetAttr</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* key,</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** out,</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">int</span> *success);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a6b664ff2f188337b86e5d8d1ba1471a5">NNSymbolSetAttrs</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> num_param,</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** keys,</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** values);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a335b789d27a16abe01b17435902a5a1b">NNSymbolListAttrs</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordtype">int</span> recursive_option,</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>*** out);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2186dcb8ec09a86ddf5642cc0f71bd85">NNSymbolListInputVariables</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordtype">int</span> option,</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a>** out_sym_array);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a41134d2fbb83648b571235bdbd2fb0fb">NNSymbolListInputNames</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordtype">int</span> option,</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> ***out_str_array);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a28f7059903fa303d31a0f7a6145f222f">NNSymbolListOutputNames</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *out_size,</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> ***out_str_array);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aa996ee89a6cb060154657cdff0779b4e">NNSymbolGetNumOutputs</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> *output_count);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae519f15a2a86be61fd85bc6c6acccdb0">NNSymbolGetInternals</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a8cb737751471af960814aa8624af2457">NNSymbolGetChildren</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a4320b87b7f5f6f142e5aac901fa8d9ac">NNSymbolGetOutput</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol,</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> index,</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *out);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3fb0156063805c01095424ff3184410d">NNSymbolCompose</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> sym,</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> num_args,</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** keys,</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a>* args);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;<span class="comment">// Graph IR API</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="comment"></span><a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a277212f08ab798a150385ab4d6f0606c">NNGraphCreate</a>(<a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> symbol, <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> *graph);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a4b93d6b22c3fe9175edc1ef31f4e17d2">NNGraphFree</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> handle);</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a67cb2496d49ab065e97f1fc846171bac">NNGraphGetSymbol</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> graph, <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> *symbol);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a6cfeafc7c551f1d130426c2e6dcd3595">NNGraphSetJSONAttr</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> handle,</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* key,</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* json_value);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2e42594211892043dcf1640bf62bf0cb">NNGraphGetJSONAttr</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> handle,</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* key,</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** json_out,</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordtype">int</span> *success);</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a9e03e78095e13e516567ec210e53ed02">NNGraphSetNodeEntryListAttr_</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> handle,</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* key,</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a> list);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a> <span class="keywordtype">int</span> <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aee727202c3eeddda7d911ab27ddfd453">NNGraphApplyPasses</a>(<a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> src,</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a> num_pass,</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>** pass_names,</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a> *dst);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;} <span class="comment">/* end extern &quot;C&quot; */</span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;<span class="preprocessor">#endif // NNVM_C_API_H_</span></div><div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a42cfaee0f6c134e30b14acf1e5276823"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a42cfaee0f6c134e30b14acf1e5276823">GraphHandle</a></div><div class="ttdeci">void * GraphHandle</div><div class="ttdoc">handle to Graph </div><div class="ttdef"><b>Definition:</b> c_api.h:48</div></div>
<div class="ttc" id="include_2mxnet_2c__api_8h_html_a301e9a7722b326126defdd39ccd99b37"><div class="ttname"><a href="include_2mxnet_2c__api_8h.html#a301e9a7722b326126defdd39ccd99b37">SymbolHandle</a></div><div class="ttdeci">void * SymbolHandle</div><div class="ttdoc">handle to a symbol that can be bind as operator </div><div class="ttdef"><b>Definition:</b> c_api.h:74</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a41134d2fbb83648b571235bdbd2fb0fb"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a41134d2fbb83648b571235bdbd2fb0fb">NNSymbolListInputNames</a></div><div class="ttdeci">NNVM_DLL int NNSymbolListInputNames(SymbolHandle symbol, int option, nn_uint *out_size, const char ***out_str_array)</div><div class="ttdoc">List input names in the symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a335b789d27a16abe01b17435902a5a1b"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a335b789d27a16abe01b17435902a5a1b">NNSymbolListAttrs</a></div><div class="ttdeci">NNVM_DLL int NNSymbolListAttrs(SymbolHandle symbol, int recursive_option, nn_uint *out_size, const char ***out)</div><div class="ttdoc">Get all attributes from symbol, including all descendents. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a3107847f239016cfc86de09df045e500"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3107847f239016cfc86de09df045e500">NNListUniqueOps</a></div><div class="ttdeci">NNVM_DLL int NNListUniqueOps(nn_uint *out_size, OpHandle **out_array)</div><div class="ttdoc">list all the available operators. This won&amp;#39;t include the alias, use ListAllNames instead to get all a...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_ae519f15a2a86be61fd85bc6c6acccdb0"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae519f15a2a86be61fd85bc6c6acccdb0">NNSymbolGetInternals</a></div><div class="ttdeci">NNVM_DLL int NNSymbolGetInternals(SymbolHandle symbol, SymbolHandle *out)</div><div class="ttdoc">Get a symbol that contains all the internals. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a4320b87b7f5f6f142e5aac901fa8d9ac"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a4320b87b7f5f6f142e5aac901fa8d9ac">NNSymbolGetOutput</a></div><div class="ttdeci">NNVM_DLL int NNSymbolGetOutput(SymbolHandle symbol, nn_uint index, SymbolHandle *out)</div><div class="ttdoc">Get index-th outputs of the symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a67cb2496d49ab065e97f1fc846171bac"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a67cb2496d49ab065e97f1fc846171bac">NNGraphGetSymbol</a></div><div class="ttdeci">NNVM_DLL int NNGraphGetSymbol(GraphHandle graph, SymbolHandle *symbol)</div><div class="ttdoc">Get a new symbol from the graph. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a2a81775bd9cead7fada5b19c11dbcf0c"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2a81775bd9cead7fada5b19c11dbcf0c">NNSymbolPrint</a></div><div class="ttdeci">NNVM_DLL int NNSymbolPrint(SymbolHandle symbol, const char **out_str)</div><div class="ttdoc">Print the content of symbol, used for debug. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a28f7059903fa303d31a0f7a6145f222f"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a28f7059903fa303d31a0f7a6145f222f">NNSymbolListOutputNames</a></div><div class="ttdeci">NNVM_DLL int NNSymbolListOutputNames(SymbolHandle symbol, nn_uint *out_size, const char ***out_str_array)</div><div class="ttdoc">List returns names in the symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a277212f08ab798a150385ab4d6f0606c"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a277212f08ab798a150385ab4d6f0606c">NNGraphCreate</a></div><div class="ttdeci">NNVM_DLL int NNGraphCreate(SymbolHandle symbol, GraphHandle *graph)</div><div class="ttdoc">create a graph handle from symbol </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_ae23adb2fdc373b8dba52687c9449f2f9"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae23adb2fdc373b8dba52687c9449f2f9">NNGetOpInfo</a></div><div class="ttdeci">NNVM_DLL int NNGetOpInfo(OpHandle op, const char **real_name, const char **description, nn_uint *num_doc_args, const char ***arg_names, const char ***arg_type_infos, const char ***arg_descriptions, const char **return_type)</div><div class="ttdoc">Get the detailed information about atomic symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a3d389b16e4ce03e679b90323851af9c8"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3d389b16e4ce03e679b90323851af9c8">NNSymbolCreateAtomicSymbol</a></div><div class="ttdeci">NNVM_DLL int NNSymbolCreateAtomicSymbol(OpHandle op, nn_uint num_param, const char **keys, const char **vals, SymbolHandle *out)</div><div class="ttdoc">Create an AtomicSymbol functor. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a528178e3caf0ffc542b9f12a50c1c7b0"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a528178e3caf0ffc542b9f12a50c1c7b0">NNVM_DLL</a></div><div class="ttdeci">#define NNVM_DLL</div><div class="ttdoc">NNVM_DLL prefix for windows. </div><div class="ttdef"><b>Definition:</b> c_api.h:37</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_aee727202c3eeddda7d911ab27ddfd453"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aee727202c3eeddda7d911ab27ddfd453">NNGraphApplyPasses</a></div><div class="ttdeci">NNVM_DLL int NNGraphApplyPasses(GraphHandle src, nn_uint num_pass, const char **pass_names, GraphHandle *dst)</div><div class="ttdoc">Apply passes on the src graph. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a6cfeafc7c551f1d130426c2e6dcd3595"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a6cfeafc7c551f1d130426c2e6dcd3595">NNGraphSetJSONAttr</a></div><div class="ttdeci">NNVM_DLL int NNGraphSetJSONAttr(GraphHandle handle, const char *key, const char *json_value)</div><div class="ttdoc">Get Set a attribute in json format. This feature allows pass graph attributes back and forth in reaso...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_ae30c2e10259ce167bc7ba3f989094d88"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ae30c2e10259ce167bc7ba3f989094d88">NNListAllOpNames</a></div><div class="ttdeci">NNVM_DLL int NNListAllOpNames(nn_uint *out_size, const char ***out_array)</div><div class="ttdoc">list all the available operator names, include entries. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a1604f8df7177a3b0acead0b816bd9536"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a1604f8df7177a3b0acead0b816bd9536">NNGetOpHandle</a></div><div class="ttdeci">NNVM_DLL int NNGetOpHandle(const char *op_name, OpHandle *op_out)</div><div class="ttdoc">Get operator handle given name. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_ab4218ee4d1053f2e0c00d914c748d9aa"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#ab4218ee4d1053f2e0c00d914c748d9aa">NNAddControlDeps</a></div><div class="ttdeci">NNVM_DLL int NNAddControlDeps(SymbolHandle handle, SymbolHandle src_dep)</div><div class="ttdoc">Add src_dep to the handle as control dep. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a5f371979a9d09cb58ad81a065f7d8902"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a5f371979a9d09cb58ad81a065f7d8902">NNAPISetLastError</a></div><div class="ttdeci">NNVM_DLL void NNAPISetLastError(const char *msg)</div><div class="ttdoc">Set the last error message needed by C API. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a4b93d6b22c3fe9175edc1ef31f4e17d2"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a4b93d6b22c3fe9175edc1ef31f4e17d2">NNGraphFree</a></div><div class="ttdeci">NNVM_DLL int NNGraphFree(GraphHandle handle)</div><div class="ttdoc">free the graph handle </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_aea876d94e36d2e586df0b68e62625763"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aea876d94e36d2e586df0b68e62625763">NNSymbolFree</a></div><div class="ttdeci">NNVM_DLL int NNSymbolFree(SymbolHandle symbol)</div><div class="ttdoc">Free the symbol handle. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_acd8481f2eee30230850be6117ce9d90c"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acd8481f2eee30230850be6117ce9d90c">NNGetLastError</a></div><div class="ttdeci">NNVM_DLL const char * NNGetLastError(void)</div><div class="ttdoc">return str message of the last error all function in this file will return 0 when success and -1 when...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a830ae32828b06eab796e2f76852591ab"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a830ae32828b06eab796e2f76852591ab">nn_uint</a></div><div class="ttdeci">unsigned int nn_uint</div><div class="ttdoc">manually define unsigned int </div><div class="ttdef"><b>Definition:</b> c_api.h:41</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a1dbc040c114785d692bfe04859be7dff"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a1dbc040c114785d692bfe04859be7dff">NNSymbolCreateVariable</a></div><div class="ttdeci">NNVM_DLL int NNSymbolCreateVariable(const char *name, SymbolHandle *out)</div><div class="ttdoc">Create a Variable Symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a549475e7290662ec6cf494fd2c48baa9"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a549475e7290662ec6cf494fd2c48baa9">NNSymbolCopy</a></div><div class="ttdeci">NNVM_DLL int NNSymbolCopy(SymbolHandle symbol, SymbolHandle *out)</div><div class="ttdoc">Copy the symbol to another handle. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a9e03e78095e13e516567ec210e53ed02"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a9e03e78095e13e516567ec210e53ed02">NNGraphSetNodeEntryListAttr_</a></div><div class="ttdeci">NNVM_DLL int NNGraphSetNodeEntryListAttr_(GraphHandle handle, const char *key, SymbolHandle list)</div><div class="ttdoc">Set a attribute whose type is std::vector&lt;NodeEntry&gt; in c++ This feature allows pass List of symbolic...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_aa996ee89a6cb060154657cdff0779b4e"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#aa996ee89a6cb060154657cdff0779b4e">NNSymbolGetNumOutputs</a></div><div class="ttdeci">NNVM_DLL int NNSymbolGetNumOutputs(SymbolHandle symbol, nn_uint *output_count)</div><div class="ttdoc">Supply number of outputs of the symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a3fb0156063805c01095424ff3184410d"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a3fb0156063805c01095424ff3184410d">NNSymbolCompose</a></div><div class="ttdeci">NNVM_DLL int NNSymbolCompose(SymbolHandle sym, const char *name, nn_uint num_args, const char **keys, SymbolHandle *args)</div><div class="ttdoc">Compose the symbol on other symbols. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a6b664ff2f188337b86e5d8d1ba1471a5"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a6b664ff2f188337b86e5d8d1ba1471a5">NNSymbolSetAttrs</a></div><div class="ttdeci">NNVM_DLL int NNSymbolSetAttrs(SymbolHandle symbol, nn_uint num_param, const char **keys, const char **values)</div><div class="ttdoc">Set string attribute from symbol. NOTE: Setting attribute to a symbol can affect the semantics(mutabl...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a14e613b4d707d3cc76d7d417adf9511f"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a14e613b4d707d3cc76d7d417adf9511f">NNSymbolCreateGroup</a></div><div class="ttdeci">NNVM_DLL int NNSymbolCreateGroup(nn_uint num_symbols, SymbolHandle *symbols, SymbolHandle *out)</div><div class="ttdoc">Create a Symbol by grouping list of symbols together. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a2e42594211892043dcf1640bf62bf0cb"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2e42594211892043dcf1640bf62bf0cb">NNGraphGetJSONAttr</a></div><div class="ttdeci">NNVM_DLL int NNGraphGetJSONAttr(GraphHandle handle, const char *key, const char **json_out, int *success)</div><div class="ttdoc">Get a serialized attrirbute from graph. This feature allows pass graph attributes back and forth in r...</div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a8cb737751471af960814aa8624af2457"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a8cb737751471af960814aa8624af2457">NNSymbolGetChildren</a></div><div class="ttdeci">NNVM_DLL int NNSymbolGetChildren(SymbolHandle symbol, SymbolHandle *out)</div><div class="ttdoc">Get a symbol that contains only direct children. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a44aa0799d8af8adcc8b9a8688e7f841f"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a44aa0799d8af8adcc8b9a8688e7f841f">NNSymbolGetAttr</a></div><div class="ttdeci">NNVM_DLL int NNSymbolGetAttr(SymbolHandle symbol, const char *key, const char **out, int *success)</div><div class="ttdoc">Get string attribute from symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_a2186dcb8ec09a86ddf5642cc0f71bd85"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#a2186dcb8ec09a86ddf5642cc0f71bd85">NNSymbolListInputVariables</a></div><div class="ttdeci">NNVM_DLL int NNSymbolListInputVariables(SymbolHandle symbol, int option, nn_uint *out_size, SymbolHandle **out_sym_array)</div><div class="ttdoc">List inputs variables in the symbol. </div></div>
<div class="ttc" id="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h_html_acf157e26d64edaf2b857b04a69deb52b"><div class="ttname"><a href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html#acf157e26d64edaf2b857b04a69deb52b">OpHandle</a></div><div class="ttdeci">void * OpHandle</div><div class="ttdoc">handle to a function that takes param and creates symbol </div><div class="ttdef"><b>Definition:</b> c_api.h:44</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:42 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>