<!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.11"/>
<title>mxnet: File Members</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>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</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.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="navrow3" class="tabs2">
    <ul class="tablist">
      <li><a href="globals.html"><span>All</span></a></li>
      <li><a href="globals_func.html"><span>Functions</span></a></li>
      <li><a href="globals_vars.html"><span>Variables</span></a></li>
      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
      <li><a href="globals_defs.html"><span>Macros</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="contents">
&#160;<ul>
<li>CustomFunctionCallbacks
: <a class="el" href="include_2mxnet_2c__api_8h.html#a717cd8414c58e4069503725ba4dfcb33">c_api.h</a>
</li>
<li>CustomOpCallbacks
: <a class="el" href="include_2mxnet_2c__api_8h.html#aa2395b69772d66cb5c6c4cbe47749792">c_api.h</a>
</li>
<li>CustomOpPropCallbacks
: <a class="el" href="include_2mxnet_2c__api_8h.html#a62d6b72cc6b3d920797c32ea8732cbba">c_api.h</a>
</li>
<li>DLDataTypeCode
: <a class="el" href="dlpack_8h.html#a2a5dbaa5fb67f4845a973c09a7f2ec50">dlpack.h</a>
</li>
<li>DLDeviceType
: <a class="el" href="dlpack_8h.html#a49db572e18d84c47738fc746568fb573">dlpack.h</a>
</li>
<li>mkldnn_alg_kind_t
: <a class="el" href="group__c__api__types__generic.html#gaa27d43cdd1e439cc41a9580d23ce3e97">mkldnn_types.h</a>
</li>
<li>mkldnn_data_type_t
: <a class="el" href="group__c__api__types__generic.html#ga826b2a9be4d94ac17f99bacac6d0cb29">mkldnn_types.h</a>
</li>
<li>mkldnn_engine_kind_t
: <a class="el" href="group__c__api__engine__types.html#gaec8e96cbc2f19125c9def11efa98aa7e">mkldnn_types.h</a>
</li>
<li>mkldnn_format_kind_t
: <a class="el" href="group__c__api__types__generic.html#ga1f6c390306d4c8a438c0efbff08c0539">mkldnn_types.h</a>
</li>
<li>mkldnn_format_tag_t
: <a class="el" href="group__c__api__types__generic.html#gacc2844e341ab1c4f5b7ae1c6068f2a2b">mkldnn_types.h</a>
</li>
<li>mkldnn_memory_extra_flags_t
: <a class="el" href="group__c__api__types__memory.html#ga16866483eb06591891e93924b19a2b73">mkldnn_types.h</a>
</li>
<li>mkldnn_normalization_flags_t
: <a class="el" href="group__c__api__types__generic.html#ga0aaaba92ad942f46a96ff0b7f6ed230c">mkldnn_types.h</a>
</li>
<li>mkldnn_primitive_kind_t
: <a class="el" href="group__c__api__types__generic.html#ga4f5c189c2ba9ef6444250299f1f8e973">mkldnn_types.h</a>
</li>
<li>mkldnn_prop_kind_t
: <a class="el" href="group__c__api__types__generic.html#ga5b98c8059c2aff8861157bf070c3f520">mkldnn_types.h</a>
</li>
<li>mkldnn_query_t
: <a class="el" href="group__c__api__types__query.html#ga6eebc661a8a3437b49d9c677f8972fc9">mkldnn_types.h</a>
</li>
<li>mkldnn_rnn_direction_t
: <a class="el" href="group__c__api__types__op__descs.html#ga3cb09316c36bd985698e0eea542cb424">mkldnn_types.h</a>
</li>
<li>mkldnn_rnn_flags_t
: <a class="el" href="group__c__api__types__op__descs.html#gaee216bdaa31e58c0529d1e8314763d6d">mkldnn_types.h</a>
</li>
<li>mkldnn_rnn_packed_memory_format_t
: <a class="el" href="group__c__api__types__memory.html#ga0b72d4deb16ce5703dc1641c80e9de87">mkldnn_types.h</a>
</li>
<li>mkldnn_scratchpad_mode_t
: <a class="el" href="group__c__api__primitive__attr.html#ga5a6c410554b43bd182668b235769d1bf">mkldnn_types.h</a>
</li>
<li>mkldnn_status_t
: <a class="el" href="group__c__api__types__generic.html#ga31866789b66acfb1c28b2f9bdd7bdfdd">mkldnn_types.h</a>
</li>
<li>mkldnn_stream_flags_t
: <a class="el" href="group__c__api__types__stream.html#ga99541103c9e9f6241d7a312d39d2cff2">mkldnn_types.h</a>
</li>
<li>mkldnn_wino_memory_format_t
: <a class="el" href="group__c__api__types__memory.html#ga9b836385e37583fa1aeaf2753b25e966">mkldnn_types.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 28 2020 00:52:33 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
