blob: 9c9788c72e57807de6f592ffa617316cd2dd24f8 [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/src/common/utils.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_fdedb0aba14d44ce9d99bc100e026e6a.html">common</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="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">utils.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Basic utilility functions.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;dmlc/logging.h&gt;</code><br />
<code>#include &lt;<a class="el" href="omp_8h_source.html">dmlc/omp.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="graph_8h_source.html">nnvm/graph.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2node_8h_source.html">nnvm/node.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="engine_8h_source.html">mxnet/engine.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="include_2mxnet_2ndarray_8h_source.html">mxnet/ndarray.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="imperative_8h_source.html">mxnet/imperative.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="include_2mxnet_2op__attr__types_8h_source.html">mxnet/op_attr_types.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="include_2mxnet_2graph__attr__types_8h_source.html">mxnet/graph_attr_types.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2graph__attr__types_8h_source.html">nnvm/graph_attr_types.h</a>&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;type_traits&gt;</code><br />
<code>#include &lt;utility&gt;</code><br />
<code>#include &lt;random&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;thread&gt;</code><br />
<code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;limits&gt;</code><br />
<code>#include &quot;../operator/mxnet_op.h&quot;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for utils.h:</div>
<div class="dyncontent">
<div class="center"><img src="utils_8h__incl.png" border="0" usemap="#_2work_2mxnet_2src_2common_2utils_8h" alt=""/></div>
<map name="_2work_2mxnet_2src_2common_2utils_8h" id="_2work_2mxnet_2src_2common_2utils_8h">
<area shape="rect" id="node3" href="omp_8h.html" title="header to handle OpenMP compatibility issues " alt="" coords="3829,95,3928,121"/>
<area shape="rect" id="node4" href="graph_8h.html" title="Configuation of nnvm as well as basic data structure. " alt="" coords="2797,468,2909,495"/>
<area shape="rect" id="node25" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2node_8h.html" title="Graph node data structure. " alt="" coords="2119,617,2185,644"/>
<area shape="rect" id="node31" href="engine_8h.html" title="Engine that schedules all the operations according to dependency. " alt="" coords="1353,393,1477,420"/>
<area shape="rect" id="node35" href="include_2mxnet_2ndarray_8h.html" title="mxnet/ndarray.h" alt="" coords="1067,319,1195,345"/>
<area shape="rect" id="node37" href="imperative_8h.html" title="mxnet/imperative.h" alt="" coords="2330,95,2481,121"/>
<area shape="rect" id="node38" href="include_2mxnet_2op__attr__types_8h.html" title="mxnet/op_attr_types.h" alt="" coords="1230,244,1399,271"/>
<area shape="rect" id="node43" href="include_2mxnet_2graph__attr__types_8h.html" title="mxnet/graph_attr_types.h" alt="" coords="2905,169,3095,196"/>
<area shape="rect" id="node46" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2graph__attr__types_8h.html" title="Data structures that can appear in graph attributes. " alt="" coords="2999,617,3185,644"/>
<area shape="rect" id="node12" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2base_8h.html" title="Configuration of nnvm as well as basic data structure. " alt="" coords="2323,767,2389,793"/>
<area shape="rect" id="node29" href="symbolic_8h.html" title="Symbolic graph construction API. " alt="" coords="2577,543,2671,569"/>
<area shape="rect" id="node13" href="3rdparty_2dmlc-core_2include_2dmlc_2base_8h.html" title="dmlc/base.h" alt="" coords="1403,1065,1504,1092"/>
<area shape="rect" id="node14" href="common_8h.html" title="defines some common utility function. " alt="" coords="2145,916,2271,943"/>
<area shape="rect" id="node15" href="any_8h.html" title="Container to hold any data type. " alt="" coords="2803,916,2895,943"/>
<area shape="rect" id="node18" href="3rdparty_2dmlc-core_2include_2dmlc_2memory_8h.html" title="dmlc/memory.h" alt="" coords="2275,841,2397,868"/>
<area shape="rect" id="node19" href="3rdparty_2dmlc-core_2include_2dmlc_2registry_8h.html" title="dmlc/registry.h" alt="" coords="1302,841,1421,868"/>
<area shape="rect" id="node24" href="array__view_8h.html" title="Read only data structure to reference array. " alt="" coords="2957,1065,3099,1092"/>
<area shape="rect" id="node21" href="parameter_8h.html" title="Provide lightweight util to do parameter setup and checking. " alt="" coords="1504,916,1613,943"/>
<area shape="rect" id="node23" href="type__traits_8h.html" title="type traits information header " alt="" coords="1291,991,1403,1017"/>
<area shape="rect" id="node26" href="op_8h.html" title="Operator information structor. " alt="" coords="1761,692,1812,719"/>
<area shape="rect" id="node28" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2c__api_8h.html" title="C API of NNVM symbolic construction and pass. Enables construction and transformation of Graph in any..." alt="" coords="1971,767,2039,793"/>
<area shape="rect" id="node32" href="include_2mxnet_2base_8h.html" title="./base.h" alt="" coords="974,468,1047,495"/>
<area shape="rect" id="node33" href="3rdparty_2dmlc-core_2include_2dmlc_2io_8h.html" title="dmlc/io.h" alt="" coords="485,1065,568,1092"/>
<area shape="rect" id="node34" href="tensor_8h.html" title="header file of tensor data structure and functions This lib requires explicit memory allocation and d..." alt="" coords="296,543,437,569"/>
<area shape="rect" id="node36" href="storage_8h.html" title="Storage manager across multiple devices. " alt="" coords="1085,393,1176,420"/>
<area shape="rect" id="node44" href="include_2mxnet_2c__api_8h.html" title="c_api.h" alt="" coords="2279,169,2347,196"/>
<area shape="rect" id="node39" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2op__attr__types_8h.html" title="Data structures that can appear in operator attributes. " alt="" coords="2217,543,2381,569"/>
<area shape="rect" id="node42" href="resource_8h.html" title="Global resource allocation handling. " alt="" coords="703,319,801,345"/>
<area shape="rect" id="node40" href="3rdparty_2tvm_2nnvm_2include_2nnvm_2tuple_8h.html" title="Data structure Tuple and TShape to store dynamic sized shapes. " alt="" coords="3001,692,3068,719"/>
<area shape="rect" id="node41" href="layout_8h.html" title="Layout expression. The layout is composed of upper cases, lower cases and numbers, where upper case indicates a (super&#45;)dimension and the corresponding lower case with factor size indicates the split (sub&#45;)dimension. For example, NCHW16c can describe a 5&#45;D tensor of [batch_size, channel, height, width, channel_block]. Here sub&#45;dimension channel_block=16 is the split of super&#45;dimension C (channel). " alt="" coords="2725,841,2800,868"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="utils_8h__dep__incl.png" border="0" usemap="#_2work_2mxnet_2src_2common_2utils_8hdep" alt=""/></div>
<map name="_2work_2mxnet_2src_2common_2utils_8hdep" id="_2work_2mxnet_2src_2common_2utils_8hdep">
<area shape="rect" id="node2" href="exec__utils_8h.html" title="Common utility functions for executors. " alt="" coords="5,95,193,136"/>
</map>
</div>
</div>
<p><a href="utils_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="structmxnet_1_1common_1_1csr__indptr__check.html">mxnet::common::csr_indptr_check</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">IndPtr should be non-negative, in non-decreasing order, start with 0 and end with value equal with size of indices. <a href="structmxnet_1_1common_1_1csr__indptr__check.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_1common_1_1csr__idx__check.html">mxnet::common::csr_idx_check</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indices should be non-negative, less than the number of columns and in ascending order per row. <a href="structmxnet_1_1common_1_1csr__idx__check.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_1common_1_1rsp__idx__check.html">mxnet::common::rsp_idx_check</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indices of RSPNDArray should be non-negative, less than the size of first dimension and in ascending order. <a href="structmxnet_1_1common_1_1rsp__idx__check.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_1common_1_1helper_1_1UniqueIf.html">mxnet::common::helper::UniqueIf&lt; T &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for non-array type <code>T</code>. <a href="structmxnet_1_1common_1_1helper_1_1UniqueIf.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_1common_1_1helper_1_1UniqueIf_3_01T[]_4.html">mxnet::common::helper::UniqueIf&lt; T[]&gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for an array of unknown bound <code>T</code>. <a href="structmxnet_1_1common_1_1helper_1_1UniqueIf_3_01T[]_4.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_1common_1_1helper_1_1UniqueIf_3_01T[kSize]_4.html">mxnet::common::helper::UniqueIf&lt; T[kSize]&gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper for an array of known bound <code>T</code>. <a href="structmxnet_1_1common_1_1helper_1_1UniqueIf_3_01T[kSize]_4.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_1common"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html">mxnet::common</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemxnet_1_1common_1_1helper"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common_1_1helper.html">mxnet::common::helper</a></td></tr>
<tr class="memdesc:namespacemxnet_1_1common_1_1helper"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper functions. <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="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aceba8f2d6de65796966d7f1d341dcf33"><td class="memItemLeft" align="right" valign="top">typedef std::mt19937&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#aceba8f2d6de65796966d7f1d341dcf33">mxnet::common::RANDOM_ENGINE</a></td></tr>
<tr class="memdesc:aceba8f2d6de65796966d7f1d341dcf33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random <a class="el" href="classmxnet_1_1Engine.html" title="Dependency engine that schedules operations. ">Engine</a>. <a href="namespacemxnet_1_1common.html#aceba8f2d6de65796966d7f1d341dcf33">More...</a><br /></td></tr>
<tr class="separator:aceba8f2d6de65796966d7f1d341dcf33"><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:a17af88f97948c889f2f4ce88190122c1"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a17af88f97948c889f2f4ce88190122c1">mxnet::common::current_process_id</a> ()</td></tr>
<tr class="separator:a17af88f97948c889f2f4ce88190122c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98fda469aba84baa370e81e94c7d5b0b"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:a98fda469aba84baa370e81e94c7d5b0b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a98fda469aba84baa370e81e94c7d5b0b">mxnet::common::CheckFormatWrapper</a> (const RunContext &amp;rctx, const NDArray &amp;input, const TBlob &amp;err_cpu, const bool full_check)</td></tr>
<tr class="separator:a98fda469aba84baa370e81e94c7d5b0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6baaba1469561220a2484be92cc77aae"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:a6baaba1469561220a2484be92cc77aae"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a6baaba1469561220a2484be92cc77aae">mxnet::common::CheckFormatCSRImpl</a> (const RunContext &amp;rctx, const NDArray &amp;input, const TBlob &amp;err_cpu, const bool full_check)</td></tr>
<tr class="memdesc:a6baaba1469561220a2484be92cc77aae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the validity of CSRNDArray. <a href="namespacemxnet_1_1common.html#a6baaba1469561220a2484be92cc77aae">More...</a><br /></td></tr>
<tr class="separator:a6baaba1469561220a2484be92cc77aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd045f69bce37692fd1e8ccb0e2ab208"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:afd045f69bce37692fd1e8ccb0e2ab208"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#afd045f69bce37692fd1e8ccb0e2ab208">mxnet::common::CheckFormatRSPImpl</a> (const RunContext &amp;rctx, const NDArray &amp;input, const TBlob &amp;err_cpu, const bool full_check)</td></tr>
<tr class="memdesc:afd045f69bce37692fd1e8ccb0e2ab208"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the validity of RowSparseNDArray. <a href="namespacemxnet_1_1common.html#afd045f69bce37692fd1e8ccb0e2ab208">More...</a><br /></td></tr>
<tr class="separator:afd045f69bce37692fd1e8ccb0e2ab208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9a34663862df90d3aa8683a2d9052a"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:aad9a34663862df90d3aa8683a2d9052a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#aad9a34663862df90d3aa8683a2d9052a">mxnet::common::CheckFormatImpl</a> (const RunContext &amp;rctx, const NDArray &amp;input, const TBlob &amp;err_cpu, const bool full_check)</td></tr>
<tr class="separator:aad9a34663862df90d3aa8683a2d9052a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905e77124ee11208c40a8afd3ee42167"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:a905e77124ee11208c40a8afd3ee42167"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a905e77124ee11208c40a8afd3ee42167">mxnet::common::SparseRetainOpForwardRspWrapper</a> (<a class="el" href="structmshadow_1_1Stream.html">mshadow::Stream</a>&lt; xpu &gt; *s, const NDArray &amp;input_nd, const TBlob &amp;idx_data, const OpReqType req, NDArray *output_nd)</td></tr>
<tr class="memdesc:a905e77124ee11208c40a8afd3ee42167"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pick rows specified by user input index array from a row sparse ndarray and save them in the output sparse ndarray. <a href="namespacemxnet_1_1common.html#a905e77124ee11208c40a8afd3ee42167">More...</a><br /></td></tr>
<tr class="separator:a905e77124ee11208c40a8afd3ee42167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd53ea405dcc105e6b306148009ff827"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:afd53ea405dcc105e6b306148009ff827"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#afd53ea405dcc105e6b306148009ff827">mxnet::common::CastStorageDispatch</a> (const OpContext &amp;ctx, const NDArray &amp;input, const NDArray &amp;output)</td></tr>
<tr class="separator:afd53ea405dcc105e6b306148009ff827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2258092ce26805c0a8f65a4144c446dd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a2258092ce26805c0a8f65a4144c446dd">mxnet::common::ContainsOnlyStorage</a> (const StorageTypeVector &amp;vstorage, const NDArrayStorageType stype)</td></tr>
<tr class="memdesc:a2258092ce26805c0a8f65a4144c446dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if all storage types in <code>vstorage</code> are the same as target <code>stype</code>. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a2258092ce26805c0a8f65a4144c446dd">More...</a><br /></td></tr>
<tr class="separator:a2258092ce26805c0a8f65a4144c446dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10765e03ef091a5dd81b1b3efa4b46f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a10765e03ef091a5dd81b1b3efa4b46f4">mxnet::common::ContainsOnlyStorage</a> (const StorageTypeVector &amp;vstorage, const NDArrayStorageType stype1, const NDArrayStorageType stype2, bool *has_both)</td></tr>
<tr class="memdesc:a10765e03ef091a5dd81b1b3efa4b46f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if all storage types in <code>vstorage</code> are the same as target <code>stype1</code> or `stype2'. Sets boolean if both found. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a10765e03ef091a5dd81b1b3efa4b46f4">More...</a><br /></td></tr>
<tr class="separator:a10765e03ef091a5dd81b1b3efa4b46f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7d1b47adce6f8291db8c3106087b90"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a9a7d1b47adce6f8291db8c3106087b90">mxnet::common::ContainsOnlyStorage</a> (const std::vector&lt; NDArray &gt; &amp;ndarrays, const NDArrayStorageType stype)</td></tr>
<tr class="memdesc:a9a7d1b47adce6f8291db8c3106087b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the storage types of arrays in <code>ndarrays</code> are the same as target <code>stype</code>. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a9a7d1b47adce6f8291db8c3106087b90">More...</a><br /></td></tr>
<tr class="separator:a9a7d1b47adce6f8291db8c3106087b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d39ea49a4b4c2aefdd106ffd2ec9a11"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a4d39ea49a4b4c2aefdd106ffd2ec9a11">mxnet::common::ContainsOnlyStorage</a> (const std::vector&lt; NDArray &gt; &amp;ndarrays, const NDArrayStorageType stype1, const NDArrayStorageType stype2, bool *has_both)</td></tr>
<tr class="memdesc:a4d39ea49a4b4c2aefdd106ffd2ec9a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the storage types of arrays in <code>ndarrays</code> are the same as targets <code>stype1</code> or <code>stype2</code>. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a4d39ea49a4b4c2aefdd106ffd2ec9a11">More...</a><br /></td></tr>
<tr class="separator:a4d39ea49a4b4c2aefdd106ffd2ec9a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3290f30e01079cb2e16095b085bf21"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a1e3290f30e01079cb2e16095b085bf21">mxnet::common::ContainsStorageType</a> (const std::vector&lt; NDArray &gt; &amp;ndarrays, const NDArrayStorageType stype)</td></tr>
<tr class="memdesc:a1e3290f30e01079cb2e16095b085bf21"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if storage type of any array in <code>ndarrays</code> is the same as the target <code>stype</code>. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a1e3290f30e01079cb2e16095b085bf21">More...</a><br /></td></tr>
<tr class="separator:a1e3290f30e01079cb2e16095b085bf21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99e4d394a12fd749c333d488c7196643"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a99e4d394a12fd749c333d488c7196643">mxnet::common::ContainsStorageType</a> (const std::vector&lt; int &gt; &amp;ndstypes, const NDArrayStorageType stype)</td></tr>
<tr class="memdesc:a99e4d394a12fd749c333d488c7196643"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if any storage type <code>ndstype</code> in <code>ndstypes</code> is the same as the target <code>stype</code>. false is returned for empty inputs. <a href="namespacemxnet_1_1common.html#a99e4d394a12fd749c333d488c7196643">More...</a><br /></td></tr>
<tr class="separator:a99e4d394a12fd749c333d488c7196643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4716f6044f678090af8ae7ef3ace3a31"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a4716f6044f678090af8ae7ef3ace3a31">mxnet::common::dispatch_mode_string</a> (const DispatchMode x)</td></tr>
<tr class="memdesc:a4716f6044f678090af8ae7ef3ace3a31"><td class="mdescLeft">&#160;</td><td class="mdescRight">get string representation of dispatch_mode <a href="namespacemxnet_1_1common.html#a4716f6044f678090af8ae7ef3ace3a31">More...</a><br /></td></tr>
<tr class="separator:a4716f6044f678090af8ae7ef3ace3a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab379cd302d59005010ae29aff6e55009"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#ab379cd302d59005010ae29aff6e55009">mxnet::common::stype_string</a> (const int x)</td></tr>
<tr class="memdesc:ab379cd302d59005010ae29aff6e55009"><td class="mdescLeft">&#160;</td><td class="mdescRight">get string representation of storage_type <a href="namespacemxnet_1_1common.html#ab379cd302d59005010ae29aff6e55009">More...</a><br /></td></tr>
<tr class="separator:ab379cd302d59005010ae29aff6e55009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a733ce35d109323dbf4ef1f4bc3094870"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a733ce35d109323dbf4ef1f4bc3094870">mxnet::common::dev_type_string</a> (const int dev_type)</td></tr>
<tr class="memdesc:a733ce35d109323dbf4ef1f4bc3094870"><td class="mdescLeft">&#160;</td><td class="mdescRight">get string representation of device type <a href="namespacemxnet_1_1common.html#a733ce35d109323dbf4ef1f4bc3094870">More...</a><br /></td></tr>
<tr class="separator:a733ce35d109323dbf4ef1f4bc3094870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af830f5320dc0995fec0e885d650057dd"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#af830f5320dc0995fec0e885d650057dd">mxnet::common::attr_value_string</a> (const <a class="el" href="structnnvm_1_1NodeAttrs.html">nnvm::NodeAttrs</a> &amp;attrs, const std::string &amp;attr_name, std::string default_val=&quot;&quot;)</td></tr>
<tr class="separator:af830f5320dc0995fec0e885d650057dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40770734529b91fe60fa6b3d76043717"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a40770734529b91fe60fa6b3d76043717">mxnet::common::operator_stype_string</a> (const <a class="el" href="structnnvm_1_1NodeAttrs.html">nnvm::NodeAttrs</a> &amp;attrs, const int dev_mask, const std::vector&lt; int &gt; &amp;in_attrs, const std::vector&lt; int &gt; &amp;out_attrs)</td></tr>
<tr class="memdesc:a40770734529b91fe60fa6b3d76043717"><td class="mdescLeft">&#160;</td><td class="mdescRight">get string representation of the operator stypes <a href="namespacemxnet_1_1common.html#a40770734529b91fe60fa6b3d76043717">More...</a><br /></td></tr>
<tr class="separator:a40770734529b91fe60fa6b3d76043717"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8873d9dcccfd8e613c1c156934cee98c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a8873d9dcccfd8e613c1c156934cee98c">mxnet::common::operator_string</a> (const <a class="el" href="structnnvm_1_1NodeAttrs.html">nnvm::NodeAttrs</a> &amp;attrs, const OpContext &amp;ctx, const std::vector&lt; NDArray &gt; &amp;inputs, const std::vector&lt; OpReqType &gt; &amp;req, const std::vector&lt; NDArray &gt; &amp;outputs)</td></tr>
<tr class="memdesc:a8873d9dcccfd8e613c1c156934cee98c"><td class="mdescLeft">&#160;</td><td class="mdescRight">get string representation of the operator <a href="namespacemxnet_1_1common.html#a8873d9dcccfd8e613c1c156934cee98c">More...</a><br /></td></tr>
<tr class="separator:a8873d9dcccfd8e613c1c156934cee98c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af27662fd97dc715a8e7223e2b4a62db3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#af27662fd97dc715a8e7223e2b4a62db3">mxnet::common::LogOnce</a> (const std::string &amp;message)</td></tr>
<tr class="memdesc:af27662fd97dc715a8e7223e2b4a62db3"><td class="mdescLeft">&#160;</td><td class="mdescRight">log message once. Intended for storage fallback warning messages. <a href="namespacemxnet_1_1common.html#af27662fd97dc715a8e7223e2b4a62db3">More...</a><br /></td></tr>
<tr class="separator:af27662fd97dc715a8e7223e2b4a62db3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad719abf411ea1ed9185c3849203820f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#aad719abf411ea1ed9185c3849203820f">mxnet::common::LogStorageFallback</a> (const <a class="el" href="structnnvm_1_1NodeAttrs.html">nnvm::NodeAttrs</a> &amp;attrs, const int dev_mask, const std::vector&lt; int &gt; *in_attrs, const std::vector&lt; int &gt; *out_attrs)</td></tr>
<tr class="memdesc:aad719abf411ea1ed9185c3849203820f"><td class="mdescLeft">&#160;</td><td class="mdescRight">log storage fallback event <a href="namespacemxnet_1_1common.html#aad719abf411ea1ed9185c3849203820f">More...</a><br /></td></tr>
<tr class="separator:aad719abf411ea1ed9185c3849203820f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467e8b51fc0d0a7266e9f3172b2ff7f1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a467e8b51fc0d0a7266e9f3172b2ff7f1">mxnet::common::GetNumThreadsPerGPU</a> ()</td></tr>
<tr class="separator:a467e8b51fc0d0a7266e9f3172b2ff7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56555edcc52c5b25bed90bd05e00b5fa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a56555edcc52c5b25bed90bd05e00b5fa">mxnet::common::GetExecNumMatchColor</a> ()</td></tr>
<tr class="separator:a56555edcc52c5b25bed90bd05e00b5fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e646ace37016aa994a26d96e739a561"><td class="memTemplParams" colspan="2">template&lt;typename T , typename V &gt; </td></tr>
<tr class="memitem:a1e646ace37016aa994a26d96e739a561"><td class="memTemplItemLeft" align="right" valign="top">V&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a1e646ace37016aa994a26d96e739a561">mxnet::common::ParallelAccumulate</a> (const T *a, const int n, V start)</td></tr>
<tr class="separator:a1e646ace37016aa994a26d96e739a561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7343dc26405918db27b8224ce41f05f6"><td class="memTemplParams" colspan="2">template&lt;typename RandomIt , typename Compare &gt; </td></tr>
<tr class="memitem:a7343dc26405918db27b8224ce41f05f6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a7343dc26405918db27b8224ce41f05f6">mxnet::common::ParallelSortHelper</a> (RandomIt first, size_t len, size_t grainsize, const Compare &amp;comp)</td></tr>
<tr class="memdesc:a7343dc26405918db27b8224ce41f05f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper function for ParallelSort. DO NOT call this function directly. Use the interface ParallelSort instead. Ref: <a href="https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h">https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h</a>. <a href="namespacemxnet_1_1common.html#a7343dc26405918db27b8224ce41f05f6">More...</a><br /></td></tr>
<tr class="separator:a7343dc26405918db27b8224ce41f05f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f273651755067ca9b1e6b8063c283b0"><td class="memTemplParams" colspan="2">template&lt;typename RandomIt , typename Compare &gt; </td></tr>
<tr class="memitem:a1f273651755067ca9b1e6b8063c283b0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a1f273651755067ca9b1e6b8063c283b0">mxnet::common::ParallelSort</a> (RandomIt first, RandomIt last, size_t num_threads, Compare comp)</td></tr>
<tr class="memdesc:a1f273651755067ca9b1e6b8063c283b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort the elements in the range [first, last) into the ascending order defined by the comparator comp. If the length of the range [first, last) is greater than a certain threshold, the range will be recursively divided into two and assign two threads to sort each half range. Ref: <a href="https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h">https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h</a>. <a href="namespacemxnet_1_1common.html#a1f273651755067ca9b1e6b8063c283b0">More...</a><br /></td></tr>
<tr class="separator:a1f273651755067ca9b1e6b8063c283b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c7fe2df1babee66696d2b449e2123c"><td class="memTemplParams" colspan="2">template&lt;typename RandomIt &gt; </td></tr>
<tr class="memitem:af2c7fe2df1babee66696d2b449e2123c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#af2c7fe2df1babee66696d2b449e2123c">mxnet::common::ParallelSort</a> (RandomIt first, RandomIt last, size_t num_threads)</td></tr>
<tr class="memdesc:af2c7fe2df1babee66696d2b449e2123c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort the elements in the range [first, last) into ascending order. The elements are compared using the default &lt; operator. If the length of the range [first, last) is greater than a certain threshold, the range will be recursively divided into two and assign two threads to sort each half range. Ref: <a href="https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h">https://github.com/dmlc/difacto/blob/master/src/common/parallel_sort.h</a>. <a href="namespacemxnet_1_1common.html#af2c7fe2df1babee66696d2b449e2123c">More...</a><br /></td></tr>
<tr class="separator:af2c7fe2df1babee66696d2b449e2123c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad56ff4f856437bba25d38027aecfe766"><td class="memTemplParams" colspan="2">template&lt;class T , class... Args&gt; </td></tr>
<tr class="memitem:ad56ff4f856437bba25d38027aecfe766"><td class="memTemplItemLeft" align="right" valign="top">helper::UniqueIf&lt; T &gt;::SingleObject&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#ad56ff4f856437bba25d38027aecfe766">mxnet::common::MakeUnique</a> (Args &amp;&amp;... args)</td></tr>
<tr class="memdesc:ad56ff4f856437bba25d38027aecfe766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an object of type <code>T</code> and wraps it in a <code>std</code><code>::</code><code>unique_ptr</code>. <a href="namespacemxnet_1_1common.html#ad56ff4f856437bba25d38027aecfe766">More...</a><br /></td></tr>
<tr class="separator:ad56ff4f856437bba25d38027aecfe766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39b3453302aa3aa56230fbc88005861d"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a39b3453302aa3aa56230fbc88005861d"><td class="memTemplItemLeft" align="right" valign="top">helper::UniqueIf&lt; T &gt;::UnknownBound&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a39b3453302aa3aa56230fbc88005861d">mxnet::common::MakeUnique</a> (size_t n)</td></tr>
<tr class="memdesc:a39b3453302aa3aa56230fbc88005861d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an object of type <code>T</code> and wraps it in a <code>std</code><code>::</code><code>unique_ptr</code>. <a href="namespacemxnet_1_1common.html#a39b3453302aa3aa56230fbc88005861d">More...</a><br /></td></tr>
<tr class="separator:a39b3453302aa3aa56230fbc88005861d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb63438b723f69cdf56f7919275f4596"><td class="memTemplParams" colspan="2">template&lt;class T , class... Args&gt; </td></tr>
<tr class="memitem:adb63438b723f69cdf56f7919275f4596"><td class="memTemplItemLeft" align="right" valign="top">helper::UniqueIf&lt; T &gt;::KnownBound&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#adb63438b723f69cdf56f7919275f4596">mxnet::common::MakeUnique</a> (Args &amp;&amp;... args)=delete</td></tr>
<tr class="memdesc:adb63438b723f69cdf56f7919275f4596"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an object of type <code>T</code> and wraps it in a <code>std</code><code>::</code><code>unique_ptr</code>. <a href="namespacemxnet_1_1common.html#adb63438b723f69cdf56f7919275f4596">More...</a><br /></td></tr>
<tr class="separator:adb63438b723f69cdf56f7919275f4596"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1abcb76ccd9022ebacdacd69c821cdc2"><td class="memTemplParams" colspan="2">template&lt;typename FCompType &gt; </td></tr>
<tr class="memitem:a1abcb76ccd9022ebacdacd69c821cdc2"><td class="memTemplItemLeft" align="right" valign="top">FCompType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a1abcb76ccd9022ebacdacd69c821cdc2">mxnet::common::GetFCompute</a> (const <a class="el" href="classnnvm_1_1Op.html">nnvm::Op</a> *op, const std::string &amp;name, const Context &amp;ctx)</td></tr>
<tr class="separator:a1abcb76ccd9022ebacdacd69c821cdc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a325e95d176e17c22ea18db6694093ad7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a325e95d176e17c22ea18db6694093ad7"><td class="memTemplItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a325e95d176e17c22ea18db6694093ad7">mxnet::common::MaxIntegerValue</a> ()</td></tr>
<tr class="memdesc:a325e95d176e17c22ea18db6694093ad7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max integer value representable in the type <code>T</code> without loss of precision. <a href="namespacemxnet_1_1common.html#a325e95d176e17c22ea18db6694093ad7">More...</a><br /></td></tr>
<tr class="separator:a325e95d176e17c22ea18db6694093ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b5002a24372f2c7325c78a747270cf9"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a7b5002a24372f2c7325c78a747270cf9"><td class="memTemplItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a7b5002a24372f2c7325c78a747270cf9">mxnet::common::MaxIntegerValue&lt; mshadow::half::half_t &gt;</a> ()</td></tr>
<tr class="separator:a7b5002a24372f2c7325c78a747270cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49aed737bf5e84006016a8e863f422cf"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a49aed737bf5e84006016a8e863f422cf"><td class="memTemplItemLeft" align="right" valign="top">constexpr size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a49aed737bf5e84006016a8e863f422cf">mxnet::common::MaxIntegerValue&lt; mshadow::bfloat::bf16_t &gt;</a> ()</td></tr>
<tr class="separator:a49aed737bf5e84006016a8e863f422cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad45245532df14e35b887c2ec91939d8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#ad45245532df14e35b887c2ec91939d8d">mxnet::common::ilog2ul</a> (size_t a)</td></tr>
<tr class="separator:ad45245532df14e35b887c2ec91939d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44c77619725d8bc68a085bdbcaa5416b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a44c77619725d8bc68a085bdbcaa5416b">mxnet::common::ilog2ui</a> (unsigned int a)</td></tr>
<tr class="separator:a44c77619725d8bc68a085bdbcaa5416b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa3cdf4e5f766e793e20d56b1fc4386e"><td class="memItemLeft" align="right" valign="top">NDArray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#aaa3cdf4e5f766e793e20d56b1fc4386e">mxnet::common::InitZeros</a> (const NDArrayStorageType stype, const <a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a> &amp;shape, const Context &amp;ctx, const int dtype)</td></tr>
<tr class="memdesc:aaa3cdf4e5f766e793e20d56b1fc4386e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return an <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface ">NDArray</a> of all zeros. <a href="namespacemxnet_1_1common.html#aaa3cdf4e5f766e793e20d56b1fc4386e">More...</a><br /></td></tr>
<tr class="separator:aaa3cdf4e5f766e793e20d56b1fc4386e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214e7e05193ff2ddf8c1f88afa5c2d9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a214e7e05193ff2ddf8c1f88afa5c2d9c">mxnet::common::EmplaceBackZeros</a> (const NDArrayStorageType stype, const <a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a> &amp;shape, const Context &amp;ctx, const int dtype, std::vector&lt; NDArray &gt; *vec)</td></tr>
<tr class="memdesc:a214e7e05193ff2ddf8c1f88afa5c2d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Helper to add a <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface ">NDArray</a> of zeros to a std::vector. <a href="namespacemxnet_1_1common.html#a214e7e05193ff2ddf8c1f88afa5c2d9c">More...</a><br /></td></tr>
<tr class="separator:a214e7e05193ff2ddf8c1f88afa5c2d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc4dccb2b37c896faf7409e002bf4eb2"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:abc4dccb2b37c896faf7409e002bf4eb2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#abc4dccb2b37c896faf7409e002bf4eb2">mxnet::common::ParallelCopy</a> (DType *dst, const DType *src, index_t size)</td></tr>
<tr class="memdesc:abc4dccb2b37c896faf7409e002bf4eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">parallelize copy by OpenMP. <a href="namespacemxnet_1_1common.html#abc4dccb2b37c896faf7409e002bf4eb2">More...</a><br /></td></tr>
<tr class="separator:abc4dccb2b37c896faf7409e002bf4eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4809d73b8689e4898d3608b15c877035"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a4809d73b8689e4898d3608b15c877035"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a4809d73b8689e4898d3608b15c877035">mxnet::common::ParallelAdd</a> (DType *dst, const DType *src, index_t size)</td></tr>
<tr class="separator:a4809d73b8689e4898d3608b15c877035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe0a2c4df1828cd070c9afe47402507b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#abe0a2c4df1828cd070c9afe47402507b">mxnet::common::ConvertToNumpyShape</a> (<a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a> *shape)</td></tr>
<tr class="memdesc:abe0a2c4df1828cd070c9afe47402507b"><td class="mdescLeft">&#160;</td><td class="mdescRight">If numpy compatibility is turned off (default), the shapes passed in by users follow the legacy shape definition: <a href="namespacemxnet_1_1common.html#abe0a2c4df1828cd070c9afe47402507b">More...</a><br /></td></tr>
<tr class="separator:abe0a2c4df1828cd070c9afe47402507b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7959f5a687e97776596c86a2bedca252"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a7959f5a687e97776596c86a2bedca252">mxnet::common::ConvertToNumpyShape</a> (<a class="el" href="namespacemxnet.html#a87e1c30aafac389774c6f4d905c0e5ea">mxnet::ShapeVector</a> *shapes)</td></tr>
<tr class="separator:a7959f5a687e97776596c86a2bedca252"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b1fe2cdc172ad5828cca0c7bb207ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#ae2b1fe2cdc172ad5828cca0c7bb207ed">mxnet::common::ConvertToLegacyShape</a> (<a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a> *shape)</td></tr>
<tr class="memdesc:ae2b1fe2cdc172ad5828cca0c7bb207ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is function is used to convert shapes returned by the infer shape functions/pass to the legacy shape definition. <a href="namespacemxnet_1_1common.html#ae2b1fe2cdc172ad5828cca0c7bb207ed">More...</a><br /></td></tr>
<tr class="separator:ae2b1fe2cdc172ad5828cca0c7bb207ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0649dba32ab254c7d06b10881f6f5875"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a0649dba32ab254c7d06b10881f6f5875">mxnet::common::ConvertToLegacyShape</a> (<a class="el" href="namespacemxnet.html#a87e1c30aafac389774c6f4d905c0e5ea">mxnet::ShapeVector</a> *shapes)</td></tr>
<tr class="separator:a0649dba32ab254c7d06b10881f6f5875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6bdd0a0dcc98986c554c75196d1fd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#aff6bdd0a0dcc98986c554c75196d1fd2">mxnet::common::ExecuteMonInputCallback</a> (const <a class="el" href="classnnvm_1_1IndexedGraph.html">nnvm::IndexedGraph</a> &amp;idx, const std::vector&lt; NDArray *&gt; &amp;state_arrays, size_t nid, const std::function&lt; void(const char *, const char *, void *)&gt; &amp;monitor_callback)</td></tr>
<tr class="separator:aff6bdd0a0dcc98986c554c75196d1fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54bac2c237ea27d7f6c417a6e8f5f74f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a54bac2c237ea27d7f6c417a6e8f5f74f">mxnet::common::ExecuteMonOutputCallback</a> (const <a class="el" href="classnnvm_1_1IndexedGraph.html">nnvm::IndexedGraph</a> &amp;idx, const std::vector&lt; NDArray *&gt; &amp;state_arrays, size_t nid, const std::function&lt; void(const char *, const char *, void *)&gt; &amp;monitor_callback)</td></tr>
<tr class="separator:a54bac2c237ea27d7f6c417a6e8f5f74f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ce8b75eb931216c17862500600d7a0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a4ce8b75eb931216c17862500600d7a0b">mxnet::common::CanonicalizeAxes</a> (const <a class="el" href="classmxnet_1_1TShape.html">mxnet::TShape</a> &amp;src)</td></tr>
<tr class="separator:a4ce8b75eb931216c17862500600d7a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e0a47792e9132c71a77897d1cdf6f0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a5e0a47792e9132c71a77897d1cdf6f0b">mxnet::common::is_float</a> (const int dtype)</td></tr>
<tr class="separator:a5e0a47792e9132c71a77897d1cdf6f0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a936c985e4dfd7d43ace2e57babb06393"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a936c985e4dfd7d43ace2e57babb06393">mxnet::common::is_int</a> (const int dtype)</td></tr>
<tr class="separator:a936c985e4dfd7d43ace2e57babb06393"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ddc5f355bddea98d3b3e0a700c44a71"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a2ddc5f355bddea98d3b3e0a700c44a71">mxnet::common::get_more_precise_type</a> (const int type1, const int type2)</td></tr>
<tr class="separator:a2ddc5f355bddea98d3b3e0a700c44a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a672cbe8a66412b740b29c6313a39d662"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a672cbe8a66412b740b29c6313a39d662">mxnet::common::np_binary_out_infer_type</a> (const int type1, const int type2)</td></tr>
<tr class="separator:a672cbe8a66412b740b29c6313a39d662"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b36e2468ddcac38fac199dd4c7e51a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#ae0b36e2468ddcac38fac199dd4c7e51a">mxnet::common::GetDefaultDtype</a> ()</td></tr>
<tr class="separator:ae0b36e2468ddcac38fac199dd4c7e51a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e6401b252fe60509bf79d5ea67ee5b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemxnet_1_1common.html#a88e6401b252fe60509bf79d5ea67ee5b">mxnet::common::GetDefaultDtype</a> (int dtype)</td></tr>
<tr class="separator:a88e6401b252fe60509bf79d5ea67ee5b"><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>Basic utilility functions. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:43 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>