blob: cc186dd26fe0c2b5a9977e958d4f96b027a928da [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: mshadow Namespace 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><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">mshadow Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>overloaded + operator between half_t and bf16_t
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemshadow_1_1bfloat"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1bfloat.html">bfloat</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1expr"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html">expr</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1expr"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for abstract expressions and expressions template, have no dependency on <a class="el" href="tensor_8h.html" title="header file of tensor data structure and functions This lib requires explicit memory allocation and d...">tensor.h</a>, These data structure takes no charge in computations, they are only used to define operations and represent expression in a symbolic way <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1half"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1half.html">half</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1isinf__typed"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1isinf__typed.html">isinf_typed</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1isinf__typed"><td class="mdescLeft">&#160;</td><td class="mdescRight">determines if the given floating point number is a positive or negative infinity <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1isnan__typed"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1isnan__typed.html">isnan_typed</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1isnan__typed"><td class="mdescLeft">&#160;</td><td class="mdescRight">determines if the given floating point number is not a number <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1op"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1op.html">op</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1op"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for operators <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1packet"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html">packet</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1packet"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace of packet math <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1red"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1red.html">red</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1red"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for potential reducer operations <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1sv"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1sv.html">sv</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1sv"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for savers <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1utils"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1utils.html">utils</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="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="structmshadow_1_1cpu.html">cpu</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">device name CPU <a href="structmshadow_1_1cpu.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="structmshadow_1_1DataType.html">DataType</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01bfloat_1_1bf16__t_01_4.html">DataType&lt; bfloat::bf16_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01bool_01_4.html">DataType&lt; bool &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01double_01_4.html">DataType&lt; double &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01float_01_4.html">DataType&lt; float &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01half_1_1half2__t_01_4.html">DataType&lt; half::half2_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01half_1_1half__t_01_4.html">DataType&lt; half::half_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01int32__t_01_4.html">DataType&lt; int32_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01int64__t_01_4.html">DataType&lt; int64_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01int8__t_01_4.html">DataType&lt; int8_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1DataType_3_01uint8__t_01_4.html">DataType&lt; uint8_t &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1gpu.html">gpu</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">device name GPU <a href="structmshadow_1_1gpu.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="structmshadow_1_1LayoutType.html">LayoutType</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1LayoutType_3_01kNCDHW_01_4.html">LayoutType&lt; kNCDHW &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1LayoutType_3_01kNCHW_01_4.html">LayoutType&lt; kNCHW &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1LayoutType_3_01kNDHWC_01_4.html">LayoutType&lt; kNDHWC &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1LayoutType_3_01kNHWC_01_4.html">LayoutType&lt; kNHWC &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1MapExpCPUEngine.html">MapExpCPUEngine</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1MapExpCPUEngine_3_01true_00_01SV_00_01Tensor_3_01cpu_00_01dim_00_01DType_01_4_01d6b33847e15ac0b561110aa3bff3f62.html">MapExpCPUEngine&lt; true, SV, Tensor&lt; cpu, dim, DType &gt;, dim, DType, E, etype &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random.html">Random</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">random number generator <a href="classmshadow_1_1Random.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01cpu_00_01DType_01_4.html">Random&lt; cpu, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU random number generator. <a href="classmshadow_1_1Random_3_01cpu_00_01DType_01_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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1Random_3_01gpu_00_01DType_01_4.html">Random&lt; gpu, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPU random number generator. <a href="classmshadow_1_1Random_3_01gpu_00_01DType_01_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="structmshadow_1_1Shape.html">Shape</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">shape of a tensor <a href="structmshadow_1_1Shape.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="structmshadow_1_1Stream.html">Stream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">computaion stream structure, used for asynchronous computations <a href="structmshadow_1_1Stream.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="structmshadow_1_1Stream_3_01gpu_01_4.html">Stream&lt; gpu &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">general tensor <a href="structmshadow_1_1Tensor.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="structmshadow_1_1Tensor_3_01Device_00_011_00_01DType_01_4.html">Tensor&lt; Device, 1, DType &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1TensorContainer.html">TensorContainer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">tensor container that does memory allocation and resize like STL, use it to save the lines of FreeSpace in class. Do not abuse it, efficiency can come from pre-allocation and no re-allocation <a href="classmshadow_1_1TensorContainer.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="structmshadow_1_1TRValue.html">TRValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> RValue, this is the super type of all kinds of possible tensors. <a href="structmshadow_1_1TRValue.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="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:adcbc2e1131386fccb1474b0bdf045926"><td class="memItemLeft" align="right" valign="top">typedef int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a></td></tr>
<tr class="memdesc:adcbc2e1131386fccb1474b0bdf045926"><td class="mdescLeft">&#160;</td><td class="mdescRight">type that will be used for index <a href="#adcbc2e1131386fccb1474b0bdf045926">More...</a><br /></td></tr>
<tr class="separator:adcbc2e1131386fccb1474b0bdf045926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa94c153a2f8bcd10be82a4f5598ae5b9"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#aa94c153a2f8bcd10be82a4f5598ae5b9">openmp_index_t</a></td></tr>
<tr class="memdesc:aa94c153a2f8bcd10be82a4f5598ae5b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">openmp index for linux <a href="#aa94c153a2f8bcd10be82a4f5598ae5b9">More...</a><br /></td></tr>
<tr class="separator:aa94c153a2f8bcd10be82a4f5598ae5b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a73dbdb4a2b833495c2315b6da69ce"><td class="memItemLeft" align="right" valign="top">typedef float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a10a73dbdb4a2b833495c2315b6da69ce">default_real_t</a></td></tr>
<tr class="memdesc:a10a73dbdb4a2b833495c2315b6da69ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">float point type that will be used in default by mshadow <a href="#a10a73dbdb4a2b833495c2315b6da69ce">More...</a><br /></td></tr>
<tr class="separator:a10a73dbdb4a2b833495c2315b6da69ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a936bbfe6aeead8902973c098b87f18c1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1">TypeFlag</a> { <br />
&#160;&#160;<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a404a5fd26328cf46170f6eb3424c9633">kFloat32</a> = 0,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a1f5a1c62216cbd2200443d501924cf28">kFloat64</a> = 1,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a37ab9e42757689b17620f5728296d5d4">kFloat16</a> = 2,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a1a39d2f8230da3cb53528904c8a5fff0">kUint8</a> = 3,
<br />
&#160;&#160;<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a4fbb02e389c3126918b505cd01188368">kInt32</a> = 4,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a020e3574a4ec06c8e0b23a1b8a93026c">kInt8</a> = 5,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1accdd431fb941a9158baa00e7c5f3dc23">kInt64</a> = 6,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1ad2f7fcc5a34a6b27898cfd5d1626882a">kBool</a> = 7,
<br />
&#160;&#160;<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a36cfd4fc26c0ee29affa99a36db0db17">kInt16</a> = 8,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1aefe5e24a51079065b7707225c9289908">kUint16</a> = 9,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1ad48a252ca3e6d2cbe89f1ba570d206a7">kUint32</a> = 10,
<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a2c5f8f21a24725e29edad31e3ba75ade">kUint64</a> = 11,
<br />
&#160;&#160;<a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1a2313be720271dd8ef9d3becbed309f2e">kBfloat16</a> = 12
<br />
}<tr class="memdesc:a936bbfe6aeead8902973c098b87f18c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">data type flag <a href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a936bbfe6aeead8902973c098b87f18c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbe2dc827052234b64ab2d40a5b2fdb4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4">LayoutFlag</a> { <br />
&#160;&#160;<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4ae633c123a9c9897779d5c00ea5381775">kNCHW</a> = 0,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4ad9ef54b427a838279a62e95204aa3281">kNHWC</a>,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4a6e334c4df779fcc6fa6b24411fce1289">kCHWN</a>,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4a0cfb685a803481d9ff4fe19d813b261a">kNCW</a> = 1 &lt;&lt; 3,
<br />
&#160;&#160;<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4a3f4908b910c47da082d60aa719c43fc3">kNWC</a>,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4ae5189456ea58c60d8c546ab8bd1a2c08">kCWN</a>,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4aa332dc48875dac0ef29ef245e5609822">kNCDHW</a> = 1 &lt;&lt; 5,
<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4a37c45177ee0fe2468d562a9e5e3e38dd">kNDHWC</a>,
<br />
&#160;&#160;<a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4a30ea75730b725ac965fb4e43c34622d8">kCDHWN</a>
<br />
}</td></tr>
<tr class="separator:abbe2dc827052234b64ab2d40a5b2fdb4"><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:a2e0671a4ac1729d7f8996ba091f8e07c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2e0671a4ac1729d7f8996ba091f8e07c">mshadow_sizeof</a> (int type)</td></tr>
<tr class="memdesc:a2e0671a4ac1729d7f8996ba091f8e07c"><td class="mdescLeft">&#160;</td><td class="mdescRight">get data type size from type enum <a href="#a2e0671a4ac1729d7f8996ba091f8e07c">More...</a><br /></td></tr>
<tr class="separator:a2e0671a4ac1729d7f8996ba091f8e07c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5aa21f20dbeaa38194b4dadbd37a072"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#af5aa21f20dbeaa38194b4dadbd37a072">dtype_string</a> (const int dtype)</td></tr>
<tr class="separator:af5aa21f20dbeaa38194b4dadbd37a072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92e5ec7d9574c70e69b97b881a688e88"><td class="memTemplParams" colspan="2">template&lt;typename Device , typename DType &gt; </td></tr>
<tr class="memitem:a92e5ec7d9574c70e69b97b881a688e88"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a92e5ec7d9574c70e69b97b881a688e88">GetBatchedView</a> (DType **dst, DType *src, int num, int stride, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *stream)</td></tr>
<tr class="memdesc:a92e5ec7d9574c70e69b97b881a688e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Get a batched view of the src array. dst[i] = src + i * stride. <a href="#a92e5ec7d9574c70e69b97b881a688e88">More...</a><br /></td></tr>
<tr class="separator:a92e5ec7d9574c70e69b97b881a688e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aefcfd5ca44f5e146d2274d64acc239"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a9aefcfd5ca44f5e146d2274d64acc239"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a9aefcfd5ca44f5e146d2274d64acc239">GetBatchedView</a> (DType **dst, DType *src, int num, int stride, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *stream)</td></tr>
<tr class="separator:a9aefcfd5ca44f5e146d2274d64acc239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4e8e743843b86f7a9c7cccec38f1303"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType , typename TStream &gt; </td></tr>
<tr class="memitem:ac4e8e743843b86f7a9c7cccec38f1303"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ac4e8e743843b86f7a9c7cccec38f1303">SaveBinary</a> (TStream &amp;fo, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:ac4e8e743843b86f7a9c7cccec38f1303"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated. <a href="#ac4e8e743843b86f7a9c7cccec38f1303">More...</a><br /></td></tr>
<tr class="separator:ac4e8e743843b86f7a9c7cccec38f1303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4274e2af051c35e9c31b1f3076f5523b"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType , typename TStream &gt; </td></tr>
<tr class="memitem:a4274e2af051c35e9c31b1f3076f5523b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4274e2af051c35e9c31b1f3076f5523b">SaveBinary</a> (TStream &amp;fo, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:a4274e2af051c35e9c31b1f3076f5523b"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated. <a href="#a4274e2af051c35e9c31b1f3076f5523b">More...</a><br /></td></tr>
<tr class="separator:a4274e2af051c35e9c31b1f3076f5523b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43315e17aadc0c14467dffb52401984"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType , typename TStream &gt; </td></tr>
<tr class="memitem:ad43315e17aadc0c14467dffb52401984"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad43315e17aadc0c14467dffb52401984">LoadBinary</a> (TStream &amp;fi, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *dst, bool pre_alloc)</td></tr>
<tr class="memdesc:ad43315e17aadc0c14467dffb52401984"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst. <a href="#ad43315e17aadc0c14467dffb52401984">More...</a><br /></td></tr>
<tr class="separator:ad43315e17aadc0c14467dffb52401984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac005b1b19d8d8964918006dc8e95182d"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType , typename TStream &gt; </td></tr>
<tr class="memitem:ac005b1b19d8d8964918006dc8e95182d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ac005b1b19d8d8964918006dc8e95182d">LoadBinary</a> (TStream &amp;fi, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *dst, bool pre_alloc)</td></tr>
<tr class="memdesc:ac005b1b19d8d8964918006dc8e95182d"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst. <a href="#ac005b1b19d8d8964918006dc8e95182d">More...</a><br /></td></tr>
<tr class="separator:ac005b1b19d8d8964918006dc8e95182d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d8687821fd6ecf8e271b996df51415c"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a5d8687821fd6ecf8e271b996df51415c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a5d8687821fd6ecf8e271b996df51415c">DeleteStream&lt; gpu &gt;</a> (<a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *stream)</td></tr>
<tr class="separator:a5d8687821fd6ecf8e271b996df51415c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b0009770915378c66bc9647040776d"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a89b0009770915378c66bc9647040776d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a89b0009770915378c66bc9647040776d">NewStream&lt; gpu &gt;</a> (bool create_blas_handle, bool create_dnn_handle, int dev_id)</td></tr>
<tr class="separator:a89b0009770915378c66bc9647040776d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10717da9e107e05150e6fb6d79103b34"><td class="memTemplParams" colspan="2">template&lt;int ndim&gt; </td></tr>
<tr class="memitem:a10717da9e107e05150e6fb6d79103b34"><td class="memTemplItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a10717da9e107e05150e6fb6d79103b34">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; ndim &gt; &amp;shape)</td></tr>
<tr class="memdesc:a10717da9e107e05150e6fb6d79103b34"><td class="mdescLeft">&#160;</td><td class="mdescRight">allow string printing of the shape <a href="#a10717da9e107e05150e6fb6d79103b34">More...</a><br /></td></tr>
<tr class="separator:a10717da9e107e05150e6fb6d79103b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05e468ef4d8882fccce53ae951b7bdbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a05e468ef4d8882fccce53ae951b7bdbd">Shape1</a> (<a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s0)</td></tr>
<tr class="memdesc:a05e468ef4d8882fccce53ae951b7bdbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a one dimension shape, stride will equal s0 <a href="#a05e468ef4d8882fccce53ae951b7bdbd">More...</a><br /></td></tr>
<tr class="separator:a05e468ef4d8882fccce53ae951b7bdbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2853583180a7dbe9cbf6b0e15ae60ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad2853583180a7dbe9cbf6b0e15ae60ef">Shape2</a> (<a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s0, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s1)</td></tr>
<tr class="memdesc:ad2853583180a7dbe9cbf6b0e15ae60ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a two dimension shape, stride will equal s0 <a href="#ad2853583180a7dbe9cbf6b0e15ae60ef">More...</a><br /></td></tr>
<tr class="separator:ad2853583180a7dbe9cbf6b0e15ae60ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be3eab8d3469aa48c40d38881558bb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2be3eab8d3469aa48c40d38881558bb9">Shape3</a> (<a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s0, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s1, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s2)</td></tr>
<tr class="memdesc:a2be3eab8d3469aa48c40d38881558bb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a three dimension shape, stride will equal s0 <a href="#a2be3eab8d3469aa48c40d38881558bb9">More...</a><br /></td></tr>
<tr class="separator:a2be3eab8d3469aa48c40d38881558bb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc5237744c6eda97f3070ddcb0c715e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8fc5237744c6eda97f3070ddcb0c715e">Shape4</a> (<a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s0, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s1, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s2, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s3)</td></tr>
<tr class="memdesc:a8fc5237744c6eda97f3070ddcb0c715e"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a four dimension shape, stride will equal s0 <a href="#a8fc5237744c6eda97f3070ddcb0c715e">More...</a><br /></td></tr>
<tr class="separator:a8fc5237744c6eda97f3070ddcb0c715e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db935b0945f538add8022fac93c9c0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 5 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a5db935b0945f538add8022fac93c9c0a">Shape5</a> (<a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s0, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s1, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s2, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s3, <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> s4)</td></tr>
<tr class="memdesc:a5db935b0945f538add8022fac93c9c0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct a five dimension shape, stride will equal s0 <a href="#a5db935b0945f538add8022fac93c9c0a">More...</a><br /></td></tr>
<tr class="separator:a5db935b0945f538add8022fac93c9c0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a446431abbca1ddc0a525d6e2ce9d2fbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a446431abbca1ddc0a525d6e2ce9d2fbc">ConvertLayout</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 3 &gt; &amp;src, int src_layout, int dst_layout)</td></tr>
<tr class="memdesc:a446431abbca1ddc0a525d6e2ce9d2fbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert shape in src_layout to shape in dst_layout. <a href="#a446431abbca1ddc0a525d6e2ce9d2fbc">More...</a><br /></td></tr>
<tr class="separator:a446431abbca1ddc0a525d6e2ce9d2fbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05319639a02ccfcdee6caa554de04468"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a05319639a02ccfcdee6caa554de04468">ConvertLayout</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 4 &gt; &amp;src, int src_layout, int dst_layout)</td></tr>
<tr class="memdesc:a05319639a02ccfcdee6caa554de04468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert shape in src_layout to shape in dst_layout. <a href="#a05319639a02ccfcdee6caa554de04468">More...</a><br /></td></tr>
<tr class="separator:a05319639a02ccfcdee6caa554de04468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada254ce6c3f8ff0c89e4483c3b7924b7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 5 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ada254ce6c3f8ff0c89e4483c3b7924b7">ConvertLayout</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 5 &gt; &amp;src, int src_layout, int dst_layout)</td></tr>
<tr class="memdesc:ada254ce6c3f8ff0c89e4483c3b7924b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert shape in src_layout to shape in dst_layout. <a href="#ada254ce6c3f8ff0c89e4483c3b7924b7">More...</a><br /></td></tr>
<tr class="separator:ada254ce6c3f8ff0c89e4483c3b7924b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b745d61d1080fe259e44807488e1eb3"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:a6b745d61d1080fe259e44807488e1eb3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a6b745d61d1080fe259e44807488e1eb3">InitTensorEngine</a> (int device_id=0)</td></tr>
<tr class="memdesc:a6b745d61d1080fe259e44807488e1eb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">initialize tensor engine, used to call intialization functions of dependent libs this function should be called before all GPU tensor operations, for using tensors in CPU, this call is actually not needed <a href="#a6b745d61d1080fe259e44807488e1eb3">More...</a><br /></td></tr>
<tr class="separator:a6b745d61d1080fe259e44807488e1eb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b4e440ab207c132ec525d65620d39b9"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:a7b4e440ab207c132ec525d65620d39b9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a7b4e440ab207c132ec525d65620d39b9">ShutdownTensorEngine</a> (void)</td></tr>
<tr class="memdesc:a7b4e440ab207c132ec525d65620d39b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown tensor engine on current device this function should be called after all GPU tensor operations, for using tensors in CPU, this call is actually not needed. <a href="#a7b4e440ab207c132ec525d65620d39b9">More...</a><br /></td></tr>
<tr class="separator:a7b4e440ab207c132ec525d65620d39b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb4c36a0703ec671a5e74b0a8d37a47a"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:abb4c36a0703ec671a5e74b0a8d37a47a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#abb4c36a0703ec671a5e74b0a8d37a47a">SetDevice</a> (int devid)</td></tr>
<tr class="memdesc:abb4c36a0703ec671a5e74b0a8d37a47a"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the device of current thread to work on <a href="#abb4c36a0703ec671a5e74b0a8d37a47a">More...</a><br /></td></tr>
<tr class="separator:abb4c36a0703ec671a5e74b0a8d37a47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9653fd4a06f2b2c7eb099daec4dbdee9"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:a9653fd4a06f2b2c7eb099daec4dbdee9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a9653fd4a06f2b2c7eb099daec4dbdee9">NewStream</a> (bool create_blas_handle, bool create_dnn_handle, int dev_id=-1)</td></tr>
<tr class="memdesc:a9653fd4a06f2b2c7eb099daec4dbdee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">create a new stream from system <a href="#a9653fd4a06f2b2c7eb099daec4dbdee9">More...</a><br /></td></tr>
<tr class="separator:a9653fd4a06f2b2c7eb099daec4dbdee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade27b4799d889b4bf3f1b3ba48479f2"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:aade27b4799d889b4bf3f1b3ba48479f2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#aade27b4799d889b4bf3f1b3ba48479f2">NewStream</a> (int dev_id)</td></tr>
<tr class="memdesc:aade27b4799d889b4bf3f1b3ba48479f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">default behavior: create cublas handle <a href="#aade27b4799d889b4bf3f1b3ba48479f2">More...</a><br /></td></tr>
<tr class="separator:aade27b4799d889b4bf3f1b3ba48479f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af301ba1d360a6a46aecdcb5ec8031aa0"><td class="memTemplParams" colspan="2">template&lt;typename Device &gt; </td></tr>
<tr class="memitem:af301ba1d360a6a46aecdcb5ec8031aa0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#af301ba1d360a6a46aecdcb5ec8031aa0">DeleteStream</a> (<a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *stream)</td></tr>
<tr class="memdesc:af301ba1d360a6a46aecdcb5ec8031aa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">delete the computing stream <a href="#af301ba1d360a6a46aecdcb5ec8031aa0">More...</a><br /></td></tr>
<tr class="separator:af301ba1d360a6a46aecdcb5ec8031aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef49c3cef522198322017315341ac689"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:aef49c3cef522198322017315341ac689"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#aef49c3cef522198322017315341ac689">AllocSpace</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *obj, bool pad=<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a>)</td></tr>
<tr class="memdesc:aef49c3cef522198322017315341ac689"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible to set the stride_ in each obj.shape. <a href="#aef49c3cef522198322017315341ac689">More...</a><br /></td></tr>
<tr class="separator:aef49c3cef522198322017315341ac689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe33255a933f2196962c5f9bc37128ea"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:abe33255a933f2196962c5f9bc37128ea"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#abe33255a933f2196962c5f9bc37128ea">AllocSpace</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *obj, bool pad=<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a>)</td></tr>
<tr class="memdesc:abe33255a933f2196962c5f9bc37128ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible to set the stride_ in each obj.shape. <a href="#abe33255a933f2196962c5f9bc37128ea">More...</a><br /></td></tr>
<tr class="separator:abe33255a933f2196962c5f9bc37128ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e8485c882dab873525b4b241e5db7ab"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:a3e8485c882dab873525b4b241e5db7ab"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3e8485c882dab873525b4b241e5db7ab">FreeSpace</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *obj)</td></tr>
<tr class="memdesc:a3e8485c882dab873525b4b241e5db7ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: free the space of tensor, will set obj.dptr to NULL. <a href="#a3e8485c882dab873525b4b241e5db7ab">More...</a><br /></td></tr>
<tr class="separator:a3e8485c882dab873525b4b241e5db7ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9165b1f0b61124039eda7e429e9502a"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:af9165b1f0b61124039eda7e429e9502a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#af9165b1f0b61124039eda7e429e9502a">FreeSpace</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *obj)</td></tr>
<tr class="memdesc:af9165b1f0b61124039eda7e429e9502a"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: free the space of tensor, will set obj.dptr to NULL. <a href="#af9165b1f0b61124039eda7e429e9502a">More...</a><br /></td></tr>
<tr class="separator:af9165b1f0b61124039eda7e429e9502a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f19232d4c6ea393abccc5288675d345"><td class="memTemplParams" colspan="2">template&lt;typename Device , typename DType , int dim&gt; </td></tr>
<tr class="memitem:a3f19232d4c6ea393abccc5288675d345"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dim, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3f19232d4c6ea393abccc5288675d345">NewTensor</a> (const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt; &amp;shape, DType initv, bool pad=<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a>, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *stream=NULL)</td></tr>
<tr class="memdesc:a3f19232d4c6ea393abccc5288675d345"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: short cut to allocate and initialize a <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a>. <a href="#a3f19232d4c6ea393abccc5288675d345">More...</a><br /></td></tr>
<tr class="separator:a3f19232d4c6ea393abccc5288675d345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0435f827863555e4ed19bbc0cc81fa39"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:a0435f827863555e4ed19bbc0cc81fa39"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a0435f827863555e4ed19bbc0cc81fa39">Copy</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;src, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *stream=NULL)</td></tr>
<tr class="memdesc:a0435f827863555e4ed19bbc0cc81fa39"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy data from one tensor to another, with same shape <a href="#a0435f827863555e4ed19bbc0cc81fa39">More...</a><br /></td></tr>
<tr class="separator:a0435f827863555e4ed19bbc0cc81fa39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46510affaaff69ed864ca07c380f5c08"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:a46510affaaff69ed864ca07c380f5c08"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a46510affaaff69ed864ca07c380f5c08">Copy</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;src, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *stream=NULL)</td></tr>
<tr class="memdesc:a46510affaaff69ed864ca07c380f5c08"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy data from one tensor to another, with same shape <a href="#a46510affaaff69ed864ca07c380f5c08">More...</a><br /></td></tr>
<tr class="separator:a46510affaaff69ed864ca07c380f5c08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a124c5c071588b2f00059129b04369918"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:a124c5c071588b2f00059129b04369918"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a124c5c071588b2f00059129b04369918">Copy</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;src, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *stream=NULL)</td></tr>
<tr class="memdesc:a124c5c071588b2f00059129b04369918"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy data from one tensor to another, with same shape <a href="#a124c5c071588b2f00059129b04369918">More...</a><br /></td></tr>
<tr class="separator:a124c5c071588b2f00059129b04369918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4680ae46659d9afffebf8f2a5891507d"><td class="memTemplParams" colspan="2">template&lt;int dim, typename DType &gt; </td></tr>
<tr class="memitem:a4680ae46659d9afffebf8f2a5891507d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4680ae46659d9afffebf8f2a5891507d">Copy</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;src, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *stream=NULL)</td></tr>
<tr class="memdesc:a4680ae46659d9afffebf8f2a5891507d"><td class="mdescLeft">&#160;</td><td class="mdescRight">copy data from one tensor to another, with same shape <a href="#a4680ae46659d9afffebf8f2a5891507d">More...</a><br /></td></tr>
<tr class="separator:a4680ae46659d9afffebf8f2a5891507d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75161ef5ed964dcf6518e3a7e59e6fb6"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a75161ef5ed964dcf6518e3a7e59e6fb6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a75161ef5ed964dcf6518e3a7e59e6fb6">Softmax</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;energy)</td></tr>
<tr class="memdesc:a75161ef5ed964dcf6518e3a7e59e6fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: normalize softmax: dst[i][j] = exp(energy[i][j]) /(sum_j exp(energy[i][j])) <a href="#a75161ef5ed964dcf6518e3a7e59e6fb6">More...</a><br /></td></tr>
<tr class="separator:a75161ef5ed964dcf6518e3a7e59e6fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4ca251effc3ab0c84a219104868b96"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a8a4ca251effc3ab0c84a219104868b96"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8a4ca251effc3ab0c84a219104868b96">Softmax</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;energy)</td></tr>
<tr class="memdesc:a8a4ca251effc3ab0c84a219104868b96"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: normalize softmax: dst[i][j] = exp(energy[i][j]) /(sum_j exp(energy[i][j])) <a href="#a8a4ca251effc3ab0c84a219104868b96">More...</a><br /></td></tr>
<tr class="separator:a8a4ca251effc3ab0c84a219104868b96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3409c8a836e7dab83bec25556164261c"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a3409c8a836e7dab83bec25556164261c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3409c8a836e7dab83bec25556164261c">SoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;label)</td></tr>
<tr class="memdesc:a3409c8a836e7dab83bec25556164261c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: softmax gradient. <a href="#a3409c8a836e7dab83bec25556164261c">More...</a><br /></td></tr>
<tr class="separator:a3409c8a836e7dab83bec25556164261c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11f1d93526ad270b87cd401d7160d00f"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a11f1d93526ad270b87cd401d7160d00f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a11f1d93526ad270b87cd401d7160d00f">SoftmaxGrad</a> (const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; &amp;label)</td></tr>
<tr class="memdesc:a11f1d93526ad270b87cd401d7160d00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: softmax gradient. <a href="#a11f1d93526ad270b87cd401d7160d00f">More...</a><br /></td></tr>
<tr class="separator:a11f1d93526ad270b87cd401d7160d00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a802d44c652195053e87b63881c7d4d1c"><td class="memTemplParams" colspan="2">template&lt;bool clip = true, typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:a802d44c652195053e87b63881c7d4d1c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a802d44c652195053e87b63881c7d4d1c">AddTakeGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:a802d44c652195053e87b63881c7d4d1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Gradient accumulate of embedding matrix. dst[index[i]] += src[i] Called when the featuredim of src is much larger than the batchsize. <a href="#a802d44c652195053e87b63881c7d4d1c">More...</a><br /></td></tr>
<tr class="separator:a802d44c652195053e87b63881c7d4d1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b8d85f1d2b5f768eac6ec7db2194be1"><td class="memTemplParams" colspan="2">template&lt;bool clip = true, typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:a3b8d85f1d2b5f768eac6ec7db2194be1"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3b8d85f1d2b5f768eac6ec7db2194be1">AddTakeGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:a3b8d85f1d2b5f768eac6ec7db2194be1"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Gradient accumulate of embedding matrix. dst[index[i]] += src[i] Called when the featuredim of src is much larger than the batchsize. <a href="#a3b8d85f1d2b5f768eac6ec7db2194be1">More...</a><br /></td></tr>
<tr class="separator:a3b8d85f1d2b5f768eac6ec7db2194be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2320213151030353ae90f92a0da808d"><td class="memTemplParams" colspan="2">template&lt;typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:ad2320213151030353ae90f92a0da808d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad2320213151030353ae90f92a0da808d">AddTakeGradLargeBatch</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;sorted, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:ad2320213151030353ae90f92a0da808d"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Gradient accumulate of embedding matrix. dst[sorted[i]] += src[index[i]] Called when the batchsize of src is larger than the featuredim. <a href="#ad2320213151030353ae90f92a0da808d">More...</a><br /></td></tr>
<tr class="separator:ad2320213151030353ae90f92a0da808d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21461dbe11fea960b34f8cf3ddd81ccb"><td class="memTemplParams" colspan="2">template&lt;typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:a21461dbe11fea960b34f8cf3ddd81ccb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a21461dbe11fea960b34f8cf3ddd81ccb">AddTakeGradLargeBatch</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;sorted, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:a21461dbe11fea960b34f8cf3ddd81ccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Gradient accumulate of embedding matrix. dst[sorted[i]] += src[index[i]] Called when the batchsize of src is larger than the featuredim. <a href="#a21461dbe11fea960b34f8cf3ddd81ccb">More...</a><br /></td></tr>
<tr class="separator:a21461dbe11fea960b34f8cf3ddd81ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77348ebaaac4581773b4fe78448c8fa6"><td class="memTemplParams" colspan="2">template&lt;typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:a77348ebaaac4581773b4fe78448c8fa6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a77348ebaaac4581773b4fe78448c8fa6">IndexFill</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:a77348ebaaac4581773b4fe78448c8fa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Fill the values of the destination matrix to specific rows in the source matrix. dst[index[i]] = src[i] Will use atomicAdd in the inner implementation and the result may not be deterministic. <a href="#a77348ebaaac4581773b4fe78448c8fa6">More...</a><br /></td></tr>
<tr class="separator:a77348ebaaac4581773b4fe78448c8fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9ba67aace1699bf374d8c494eebb13e"><td class="memTemplParams" colspan="2">template&lt;typename IndexType , typename DType &gt; </td></tr>
<tr class="memitem:ad9ba67aace1699bf374d8c494eebb13e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad9ba67aace1699bf374d8c494eebb13e">IndexFill</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;index, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;src)</td></tr>
<tr class="memdesc:ad9ba67aace1699bf374d8c494eebb13e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Fill the values of the destination matrix to specific rows in the source matrix. dst[index[i]] = src[i] Will use atomicAdd in the inner implementation and the result may not be deterministic. <a href="#ad9ba67aace1699bf374d8c494eebb13e">More...</a><br /></td></tr>
<tr class="separator:ad9ba67aace1699bf374d8c494eebb13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3476fdf7d39add6f57beddafbc1b9625"><td class="memTemplParams" colspan="2">template&lt;typename KDType , typename VDType &gt; </td></tr>
<tr class="memitem:a3476fdf7d39add6f57beddafbc1b9625"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3476fdf7d39add6f57beddafbc1b9625">SortByKey</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, KDType &gt; keys, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, VDType &gt; values, bool is_ascend=true)</td></tr>
<tr class="memdesc:a3476fdf7d39add6f57beddafbc1b9625"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Sort key-value pairs stored in separate places. (Stable sort is performed!) <a href="#a3476fdf7d39add6f57beddafbc1b9625">More...</a><br /></td></tr>
<tr class="separator:a3476fdf7d39add6f57beddafbc1b9625"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85918bc02ea47e9f14dace4fea2ef55"><td class="memTemplParams" colspan="2">template&lt;typename KDType , typename VDType &gt; </td></tr>
<tr class="memitem:ab85918bc02ea47e9f14dace4fea2ef55"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ab85918bc02ea47e9f14dace4fea2ef55">SortByKey</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, KDType &gt; keys, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, VDType &gt; values, bool is_ascend=true)</td></tr>
<tr class="memdesc:ab85918bc02ea47e9f14dace4fea2ef55"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Sort key-value pairs stored in separate places. (Stable sort is performed!) <a href="#ab85918bc02ea47e9f14dace4fea2ef55">More...</a><br /></td></tr>
<tr class="separator:ab85918bc02ea47e9f14dace4fea2ef55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3f080439f035e05501cc7f202e58c0e"><td class="memTemplParams" colspan="2">template&lt;typename Device , typename VDType , typename SDType &gt; </td></tr>
<tr class="memitem:ab3f080439f035e05501cc7f202e58c0e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ab3f080439f035e05501cc7f202e58c0e">VectorizedSort</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, VDType &gt; values, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, SDType &gt; segments)</td></tr>
<tr class="memdesc:ab3f080439f035e05501cc7f202e58c0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: Sort the keys within each segment. (Stable sort is performed!) Segments is defined as an ascending ordered vector like [0, 0, 0, 1, 1, 2, 3, 3, 3,...] We sort separately the keys labeled by 0 and 1, 2, 3, etc. Currently only supports sorting in ascending order !! <a href="#ab3f080439f035e05501cc7f202e58c0e">More...</a><br /></td></tr>
<tr class="separator:ab3f080439f035e05501cc7f202e58c0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bdc2c62fd5dcee696cadd2351bf85e2"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename R , int dim, typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:a4bdc2c62fd5dcee696cadd2351bf85e2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4bdc2c62fd5dcee696cadd2351bf85e2">MapExp</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp)</td></tr>
<tr class="memdesc:a4bdc2c62fd5dcee696cadd2351bf85e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression to a tensor, this function calls MapPlan. <a href="#a4bdc2c62fd5dcee696cadd2351bf85e2">More...</a><br /></td></tr>
<tr class="separator:a4bdc2c62fd5dcee696cadd2351bf85e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a2771e5b25290113967976748a1e7bf"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename R , int dim, typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:a2a2771e5b25290113967976748a1e7bf"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2a2771e5b25290113967976748a1e7bf">MapExp</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp)</td></tr>
<tr class="memdesc:a2a2771e5b25290113967976748a1e7bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression to a tensor, this function calls MapPlan. <a href="#a2a2771e5b25290113967976748a1e7bf">More...</a><br /></td></tr>
<tr class="separator:a2a2771e5b25290113967976748a1e7bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1734eb7939fe9627de46d62494fe9dc"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename Reducer , typename R , typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:ae1734eb7939fe9627de46d62494fe9dc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ae1734eb7939fe9627de46d62494fe9dc">MapReduceKeepLowest</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp, DType scale=1)</td></tr>
<tr class="memdesc:ae1734eb7939fe9627de46d62494fe9dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in lowest dimension (dimension 0) <a href="#ae1734eb7939fe9627de46d62494fe9dc">More...</a><br /></td></tr>
<tr class="separator:ae1734eb7939fe9627de46d62494fe9dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7076ccb1a5b71c7b508d76bf70088002"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename Reducer , typename R , typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:a7076ccb1a5b71c7b508d76bf70088002"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a7076ccb1a5b71c7b508d76bf70088002">MapReduceKeepLowest</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp, DType scale=1)</td></tr>
<tr class="memdesc:a7076ccb1a5b71c7b508d76bf70088002"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in lowest dimension (dimension 0) <a href="#a7076ccb1a5b71c7b508d76bf70088002">More...</a><br /></td></tr>
<tr class="separator:a7076ccb1a5b71c7b508d76bf70088002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fce5c2df842439cc7d2d7a90e2cf7d4"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename Reducer , int dimkeep, typename R , typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:a5fce5c2df842439cc7d2d7a90e2cf7d4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a5fce5c2df842439cc7d2d7a90e2cf7d4">MapReduceKeepHighDim</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp, DType scale=1)</td></tr>
<tr class="memdesc:a5fce5c2df842439cc7d2d7a90e2cf7d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in third dimension (dimension 2) <a href="#a5fce5c2df842439cc7d2d7a90e2cf7d4">More...</a><br /></td></tr>
<tr class="separator:a5fce5c2df842439cc7d2d7a90e2cf7d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07c495d0d71a96de38ae51576f354ec"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename Reducer , int dimkeep, typename R , typename DType , typename E , int etype&gt; </td></tr>
<tr class="memitem:ab07c495d0d71a96de38ae51576f354ec"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ab07c495d0d71a96de38ae51576f354ec">MapReduceKeepHighDim</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; *dst, const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;exp, DType scale=1)</td></tr>
<tr class="memdesc:ab07c495d0d71a96de38ae51576f354ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in third dimension (dimension 2) <a href="#ab07c495d0d71a96de38ae51576f354ec">More...</a><br /></td></tr>
<tr class="separator:ab07c495d0d71a96de38ae51576f354ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4c4674a33dfb486802427058375a055"><td class="memTemplParams" colspan="2">template&lt;typename Device , typename DType &gt; </td></tr>
<tr class="memitem:ad4c4674a33dfb486802427058375a055"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad4c4674a33dfb486802427058375a055">VectorDot</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt; &amp;lhs, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:ad4c4674a33dfb486802427058375a055"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: 1 dimension vector dot. <a href="#ad4c4674a33dfb486802427058375a055">More...</a><br /></td></tr>
<tr class="separator:ad4c4674a33dfb486802427058375a055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a223d0f4e8af8c3f504bb5d324ad43"><td class="memTemplParams" colspan="2">template&lt;bool transpose_left, bool transpose_right, typename Device , typename DType &gt; </td></tr>
<tr class="memitem:a04a223d0f4e8af8c3f504bb5d324ad43"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a04a223d0f4e8af8c3f504bb5d324ad43">BatchGEMM</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt; &amp;lhs, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt; &amp;rhs, DType alpha, DType beta, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType *&gt; workspace)</td></tr>
<tr class="memdesc:a04a223d0f4e8af8c3f504bb5d324ad43"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU/GPU: dst = alpha * op(lhs) op(rhs) + beta * dst. <a href="#a04a223d0f4e8af8c3f504bb5d324ad43">More...</a><br /></td></tr>
<tr class="separator:a04a223d0f4e8af8c3f504bb5d324ad43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c62e9096998333b078c8b8f744061ad"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a8c62e9096998333b078c8b8f744061ad"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8c62e9096998333b078c8b8f744061ad">InitTensorEngine&lt; cpu &gt;</a> (int dev_id)</td></tr>
<tr class="separator:a8c62e9096998333b078c8b8f744061ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0884cf8a1d05a9d631cdf82ef3ebc567"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a0884cf8a1d05a9d631cdf82ef3ebc567"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a0884cf8a1d05a9d631cdf82ef3ebc567">ShutdownTensorEngine&lt; cpu &gt;</a> (void)</td></tr>
<tr class="separator:a0884cf8a1d05a9d631cdf82ef3ebc567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f9d916c81866abceed494cd622cd3e2"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a2f9d916c81866abceed494cd622cd3e2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2f9d916c81866abceed494cd622cd3e2">SetDevice&lt; cpu &gt;</a> (int devid)</td></tr>
<tr class="separator:a2f9d916c81866abceed494cd622cd3e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad46c65f82d888517bc8e372fd49d8011"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ad46c65f82d888517bc8e372fd49d8011"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad46c65f82d888517bc8e372fd49d8011">NewStream&lt; cpu &gt;</a> (bool create_blas_handle, bool create_dnn_handle, int dev_id)</td></tr>
<tr class="separator:ad46c65f82d888517bc8e372fd49d8011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9573b40e55fb2e885db8b594f4168efc"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a9573b40e55fb2e885db8b594f4168efc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a9573b40e55fb2e885db8b594f4168efc">DeleteStream&lt; cpu &gt;</a> (<a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *stream)</td></tr>
<tr class="separator:a9573b40e55fb2e885db8b594f4168efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4e86f18ce66c1b7073537647bd4374"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:a1d4e86f18ce66c1b7073537647bd4374"><td class="memTemplItemLeft" align="right" valign="top">void *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a1d4e86f18ce66c1b7073537647bd4374">AllocHost_</a> (size_t size)</td></tr>
<tr class="separator:a1d4e86f18ce66c1b7073537647bd4374"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c3517f91f3bb35d9867fa7a42665ec3"><td class="memTemplParams" colspan="2">template&lt;typename xpu &gt; </td></tr>
<tr class="memitem:a4c3517f91f3bb35d9867fa7a42665ec3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4c3517f91f3bb35d9867fa7a42665ec3">FreeHost_</a> (void *dptr)</td></tr>
<tr class="separator:a4c3517f91f3bb35d9867fa7a42665ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a750a8961eda58a98116726e462545e6c"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a750a8961eda58a98116726e462545e6c"><td class="memTemplItemLeft" align="right" valign="top">void *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a750a8961eda58a98116726e462545e6c">AllocHost_&lt; cpu &gt;</a> (size_t size)</td></tr>
<tr class="separator:a750a8961eda58a98116726e462545e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a508edd8f1985757d0562b1e951666340"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a508edd8f1985757d0562b1e951666340"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a508edd8f1985757d0562b1e951666340">FreeHost_&lt; cpu &gt;</a> (void *dptr)</td></tr>
<tr class="separator:a508edd8f1985757d0562b1e951666340"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0eacae3492e97f53fcd2f210bf9c645"><td class="memTemplParams" colspan="2">template&lt;typename xpu , int dim, typename DType &gt; </td></tr>
<tr class="memitem:ad0eacae3492e97f53fcd2f210bf9c645"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad0eacae3492e97f53fcd2f210bf9c645">AllocHost</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *obj)</td></tr>
<tr class="separator:ad0eacae3492e97f53fcd2f210bf9c645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dc5b2a49c44364a6f3c8cca386aff12"><td class="memTemplParams" colspan="2">template&lt;typename xpu , int dim, typename DType &gt; </td></tr>
<tr class="memitem:a6dc5b2a49c44364a6f3c8cca386aff12"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a6dc5b2a49c44364a6f3c8cca386aff12">FreeHost</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *obj)</td></tr>
<tr class="separator:a6dc5b2a49c44364a6f3c8cca386aff12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4d36332af8c5202ecc95adf4b00cdf2"><td class="memTemplParams" colspan="2">template&lt;typename Saver , typename R , int dim, typename DType , typename E &gt; </td></tr>
<tr class="memitem:ad4d36332af8c5202ecc95adf4b00cdf2"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad4d36332af8c5202ecc95adf4b00cdf2">MapPlan</a> (<a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *dst, const <a class="el" href="classmshadow_1_1expr_1_1Plan.html">expr::Plan</a>&lt; E, DType &gt; &amp;plan)</td></tr>
<tr class="separator:ad4d36332af8c5202ecc95adf4b00cdf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a486ba25ad6f51106014450c1e745e767"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a486ba25ad6f51106014450c1e745e767"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a486ba25ad6f51106014450c1e745e767">Softmax</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;energy)</td></tr>
<tr class="separator:a486ba25ad6f51106014450c1e745e767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb3739d11e671f9809458cf6ada1e64"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a4fb3739d11e671f9809458cf6ada1e64"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4fb3739d11e671f9809458cf6ada1e64">SmoothSoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;label, const float alpha)</td></tr>
<tr class="separator:a4fb3739d11e671f9809458cf6ada1e64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97d3ff90dd86faf3c79c382591af5705"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a97d3ff90dd86faf3c79c382591af5705"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a97d3ff90dd86faf3c79c382591af5705">SoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;label, const DType &amp;ignore_label)</td></tr>
<tr class="separator:a97d3ff90dd86faf3c79c382591af5705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ef141e66ac481f9da39b79eb282c12b"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a8ef141e66ac481f9da39b79eb282c12b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8ef141e66ac481f9da39b79eb282c12b">SmoothSoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;label, const DType &amp;ignore_label, const float alpha)</td></tr>
<tr class="separator:a8ef141e66ac481f9da39b79eb282c12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aac2d8b75f24039748627bf7bafb6f5"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a4aac2d8b75f24039748627bf7bafb6f5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a4aac2d8b75f24039748627bf7bafb6f5">SoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;label)</td></tr>
<tr class="separator:a4aac2d8b75f24039748627bf7bafb6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0166cbd7c6f70d858cfc1a030e8b5f69"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a0166cbd7c6f70d858cfc1a030e8b5f69"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a0166cbd7c6f70d858cfc1a030e8b5f69">SmoothSoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;label, const float alpha)</td></tr>
<tr class="separator:a0166cbd7c6f70d858cfc1a030e8b5f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ed2e28641a53c3bb04442be23e52a6a"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a8ed2e28641a53c3bb04442be23e52a6a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8ed2e28641a53c3bb04442be23e52a6a">SoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;label, const DType &amp;ignore_label)</td></tr>
<tr class="separator:a8ed2e28641a53c3bb04442be23e52a6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f0ff988f790390404f31fe2a68c8b1b"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:a2f0ff988f790390404f31fe2a68c8b1b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2f0ff988f790390404f31fe2a68c8b1b">SmoothSoftmaxGrad</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;src, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;label, const DType &amp;ignore_label, const float alpha)</td></tr>
<tr class="separator:a2f0ff988f790390404f31fe2a68c8b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1994dc1386e8430061c65b15e574430"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:ae1994dc1386e8430061c65b15e574430"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ae1994dc1386e8430061c65b15e574430">Softmax</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; dst, const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;energy)</td></tr>
<tr class="separator:ae1994dc1386e8430061c65b15e574430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425ff81d201a5d6de2c507c11ee63869"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a425ff81d201a5d6de2c507c11ee63869"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a425ff81d201a5d6de2c507c11ee63869">InitTensorEngine&lt; gpu &gt;</a> (int dev_id)</td></tr>
<tr class="separator:a425ff81d201a5d6de2c507c11ee63869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac00a578d4eb8fc89263161eca8dc47b"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:aac00a578d4eb8fc89263161eca8dc47b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#aac00a578d4eb8fc89263161eca8dc47b">ShutdownTensorEngine&lt; gpu &gt;</a> (void)</td></tr>
<tr class="separator:aac00a578d4eb8fc89263161eca8dc47b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3d85204767012fdd9fdddd27313e1fd"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:ae3d85204767012fdd9fdddd27313e1fd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ae3d85204767012fdd9fdddd27313e1fd">SetDevice&lt; gpu &gt;</a> (int devid)</td></tr>
<tr class="separator:ae3d85204767012fdd9fdddd27313e1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a8bd22ed32f22db65c14988f75e7a8b"><td class="memTemplParams" colspan="2">template&lt;typename A , typename B , int dim, typename DType &gt; </td></tr>
<tr class="memitem:a3a8bd22ed32f22db65c14988f75e7a8b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3a8bd22ed32f22db65c14988f75e7a8b">Copy</a> (<a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; A, dim, DType &gt; _dst, <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; B, dim, DType &gt; _src, cudaMemcpyKind kind, <a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *stream)</td></tr>
<tr class="separator:a3a8bd22ed32f22db65c14988f75e7a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ac4cba6b672478463350f7d84b47e99e3"><td class="memItemLeft" align="right" valign="top">const unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ac4cba6b672478463350f7d84b47e99e3">kRandBufferSize</a> = 1000000</td></tr>
<tr class="memdesc:ac4cba6b672478463350f7d84b47e99e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">buffer size for each random number generator <a href="#ac4cba6b672478463350f7d84b47e99e3">More...</a><br /></td></tr>
<tr class="separator:ac4cba6b672478463350f7d84b47e99e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8afab1f2134d65e09679faa324ecf9ce"><td class="memItemLeft" align="right" valign="top">const float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8afab1f2134d65e09679faa324ecf9ce">kPi</a> = 3.1415926f</td></tr>
<tr class="memdesc:a8afab1f2134d65e09679faa324ecf9ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">pi <a href="#a8afab1f2134d65e09679faa324ecf9ce">More...</a><br /></td></tr>
<tr class="separator:a8afab1f2134d65e09679faa324ecf9ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a143ad1a73ba518ef0aad29d36f2569ee"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a143ad1a73ba518ef0aad29d36f2569ee">default_type_flag</a> = <a class="el" href="structmshadow_1_1DataType.html">DataType</a>&lt;<a class="el" href="namespacemshadow.html#a10a73dbdb4a2b833495c2315b6da69ce">default_real_t</a>&gt;::kFlag</td></tr>
<tr class="memdesc:a143ad1a73ba518ef0aad29d36f2569ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">type enum value for default real type <a href="#a143ad1a73ba518ef0aad29d36f2569ee">More...</a><br /></td></tr>
<tr class="separator:a143ad1a73ba518ef0aad29d36f2569ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36590a455cab713cf4bbb115c4dba247"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a36590a455cab713cf4bbb115c4dba247">default_layout</a> = <a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4ae633c123a9c9897779d5c00ea5381775">kNCHW</a></td></tr>
<tr class="memdesc:a36590a455cab713cf4bbb115c4dba247"><td class="mdescLeft">&#160;</td><td class="mdescRight">default layout for 4d tensor <a href="#a36590a455cab713cf4bbb115c4dba247">More...</a><br /></td></tr>
<tr class="separator:a36590a455cab713cf4bbb115c4dba247"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29fa60cc6436415a699971c1a3fd760a"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a29fa60cc6436415a699971c1a3fd760a">default_layout_5d</a> = <a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4aa332dc48875dac0ef29ef245e5609822">kNCDHW</a></td></tr>
<tr class="memdesc:a29fa60cc6436415a699971c1a3fd760a"><td class="mdescLeft">&#160;</td><td class="mdescRight">default layout for 5d tensor <a href="#a29fa60cc6436415a699971c1a3fd760a">More...</a><br /></td></tr>
<tr class="separator:a29fa60cc6436415a699971c1a3fd760a"><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>overloaded + operator between half_t and bf16_t </p>
<p>namespace for mshadow</p>
<p>overloaded - operator between half_t and bf16_t</p>
<p>overloaded * operator between half_t and bf16_t</p>
<p>overloaded / operator between half_t and bf16_t</p>
<p>overloaded &gt; operator between half_t and bf16_t</p>
<p>overloaded &lt; operator between half_t and bf16_t</p>
<p>overloaded &gt;= operator between half_t and bf16_t</p>
<p>overloaded &lt;= operator between half_t and bf16_t</p>
<p>namespace for mshadow </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a10a73dbdb4a2b833495c2315b6da69ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10a73dbdb4a2b833495c2315b6da69ce">&#9670;&nbsp;</a></span>default_real_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef float <a class="el" href="namespacemshadow.html#a10a73dbdb4a2b833495c2315b6da69ce">mshadow::default_real_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>float point type that will be used in default by mshadow </p>
</div>
</div>
<a id="adcbc2e1131386fccb1474b0bdf045926"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcbc2e1131386fccb1474b0bdf045926">&#9670;&nbsp;</a></span>index_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int32_t <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">mshadow::index_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>type that will be used for index </p>
</div>
</div>
<a id="aa94c153a2f8bcd10be82a4f5598ae5b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa94c153a2f8bcd10be82a4f5598ae5b9">&#9670;&nbsp;</a></span>openmp_index_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a> <a class="el" href="namespacemshadow.html#aa94c153a2f8bcd10be82a4f5598ae5b9">mshadow::openmp_index_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>openmp index for linux </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="abbe2dc827052234b64ab2d40a5b2fdb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbe2dc827052234b64ab2d40a5b2fdb4">&#9670;&nbsp;</a></span>LayoutFlag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4">mshadow::LayoutFlag</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>layout flag </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4ae633c123a9c9897779d5c00ea5381775"></a>kNCHW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4ad9ef54b427a838279a62e95204aa3281"></a>kNHWC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4a6e334c4df779fcc6fa6b24411fce1289"></a>kCHWN&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4a0cfb685a803481d9ff4fe19d813b261a"></a>kNCW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4a3f4908b910c47da082d60aa719c43fc3"></a>kNWC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4ae5189456ea58c60d8c546ab8bd1a2c08"></a>kCWN&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4aa332dc48875dac0ef29ef245e5609822"></a>kNCDHW&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4a37c45177ee0fe2468d562a9e5e3e38dd"></a>kNDHWC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="abbe2dc827052234b64ab2d40a5b2fdb4a30ea75730b725ac965fb4e43c34622d8"></a>kCDHWN&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a936bbfe6aeead8902973c098b87f18c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a936bbfe6aeead8902973c098b87f18c1">&#9670;&nbsp;</a></span>TypeFlag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespacemshadow.html#a936bbfe6aeead8902973c098b87f18c1">mshadow::TypeFlag</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>data type flag </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a404a5fd26328cf46170f6eb3424c9633"></a>kFloat32&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a1f5a1c62216cbd2200443d501924cf28"></a>kFloat64&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a37ab9e42757689b17620f5728296d5d4"></a>kFloat16&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a1a39d2f8230da3cb53528904c8a5fff0"></a>kUint8&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a4fbb02e389c3126918b505cd01188368"></a>kInt32&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a020e3574a4ec06c8e0b23a1b8a93026c"></a>kInt8&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1accdd431fb941a9158baa00e7c5f3dc23"></a>kInt64&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1ad2f7fcc5a34a6b27898cfd5d1626882a"></a>kBool&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a36cfd4fc26c0ee29affa99a36db0db17"></a>kInt16&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1aefe5e24a51079065b7707225c9289908"></a>kUint16&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1ad48a252ca3e6d2cbe89f1ba570d206a7"></a>kUint32&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a2c5f8f21a24725e29edad31e3ba75ade"></a>kUint64&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a936bbfe6aeead8902973c098b87f18c1a2313be720271dd8ef9d3becbed309f2e"></a>kBfloat16&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a802d44c652195053e87b63881c7d4d1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a802d44c652195053e87b63881c7d4d1c">&#9670;&nbsp;</a></span>AddTakeGrad() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool clip = true, typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AddTakeGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Gradient accumulate of embedding matrix. dst[index[i]] += src[i] Called when the featuredim of src is much larger than the batchsize. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">index</td><td>index to take </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3b8d85f1d2b5f768eac6ec7db2194be1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b8d85f1d2b5f768eac6ec7db2194be1">&#9670;&nbsp;</a></span>AddTakeGrad() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool clip = true, typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AddTakeGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Gradient accumulate of embedding matrix. dst[index[i]] += src[i] Called when the featuredim of src is much larger than the batchsize. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">index</td><td>index to take </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad2320213151030353ae90f92a0da808d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2320213151030353ae90f92a0da808d">&#9670;&nbsp;</a></span>AddTakeGradLargeBatch() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AddTakeGradLargeBatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>sorted</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Gradient accumulate of embedding matrix. dst[sorted[i]] += src[index[i]] Called when the batchsize of src is larger than the featuredim. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">sorted</td><td>the sorted indices </td></tr>
<tr><td class="paramname">index</td><td>original index of the sorted indices </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a21461dbe11fea960b34f8cf3ddd81ccb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21461dbe11fea960b34f8cf3ddd81ccb">&#9670;&nbsp;</a></span>AddTakeGradLargeBatch() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AddTakeGradLargeBatch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>sorted</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Gradient accumulate of embedding matrix. dst[sorted[i]] += src[index[i]] Called when the batchsize of src is larger than the featuredim. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">sorted</td><td>the sorted indices </td></tr>
<tr><td class="paramname">index</td><td>original index of the sorted indices </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad0eacae3492e97f53fcd2f210bf9c645"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0eacae3492e97f53fcd2f210bf9c645">&#9670;&nbsp;</a></span>AllocHost()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename xpu , int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AllocHost </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1d4e86f18ce66c1b7073537647bd4374"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d4e86f18ce66c1b7073537647bd4374">&#9670;&nbsp;</a></span>AllocHost_()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename xpu &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void* mshadow::AllocHost_ </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a750a8961eda58a98116726e462545e6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a750a8961eda58a98116726e462545e6c">&#9670;&nbsp;</a></span>AllocHost_< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="namespacemshadow.html#a1d4e86f18ce66c1b7073537647bd4374">mshadow::AllocHost_</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aef49c3cef522198322017315341ac689"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef49c3cef522198322017315341ac689">&#9670;&nbsp;</a></span>AllocSpace() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AllocSpace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pad</em> = <code><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible to set the stride_ in each obj.shape. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>the tensor object, with shape specified </td></tr>
<tr><td class="paramname">pad</td><td>whether padding dimension 0, to make last dimension aligned, padding may help improve efficiency of matrix multiplications if true, will allocate space with stride_ that may not equals shape[0] if false, will allocate continuous space </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abe33255a933f2196962c5f9bc37128ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe33255a933f2196962c5f9bc37128ea">&#9670;&nbsp;</a></span>AllocSpace() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::AllocSpace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pad</em> = <code><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible to set the stride_ in each obj.shape. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>the tensor object, with shape specified </td></tr>
<tr><td class="paramname">pad</td><td>whether padding dimension 0, to make last dimension aligned, padding may help improve efficiency of matrix multiplications if true, will allocate space with stride_ that may not equals shape[0] if false, will allocate continuous space </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a04a223d0f4e8af8c3f504bb5d324ad43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04a223d0f4e8af8c3f504bb5d324ad43">&#9670;&nbsp;</a></span>BatchGEMM()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;bool transpose_left, bool transpose_right, typename Device , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::BatchGEMM </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>alpha</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>beta</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType *&gt;&#160;</td>
<td class="paramname"><em>workspace</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: dst = alpha * op(lhs) op(rhs) + beta * dst. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>Length 3 tensor, used to hold the result </td></tr>
<tr><td class="paramname">lhs</td><td>Left operand vector </td></tr>
<tr><td class="paramname">rhs</td><td>Right operand vector </td></tr>
<tr><td class="paramname">alpha</td><td>multiplier of op(lhs)op(rhs) </td></tr>
<tr><td class="paramname">beta</td><td>multiplier of dst </td></tr>
<tr><td class="paramname">workspace</td><td>Workspace for casting DType* to DType** (batched-view), must have size &gt;= 3 * batch_size </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a446431abbca1ddc0a525d6e2ce9d2fbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a446431abbca1ddc0a525d6e2ce9d2fbc">&#9670;&nbsp;</a></span>ConvertLayout() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;3&gt; mshadow::ConvertLayout </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 3 &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>src_layout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dst_layout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert shape in src_layout to shape in dst_layout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>original shape </td></tr>
<tr><td class="paramname">src_layout</td><td>layout of original shape </td></tr>
<tr><td class="paramname">dst_layout</td><td>target layout </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>shape in target layout </dd></dl>
</div>
</div>
<a id="a05319639a02ccfcdee6caa554de04468"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05319639a02ccfcdee6caa554de04468">&#9670;&nbsp;</a></span>ConvertLayout() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;4&gt; mshadow::ConvertLayout </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 4 &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>src_layout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dst_layout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert shape in src_layout to shape in dst_layout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>original shape </td></tr>
<tr><td class="paramname">src_layout</td><td>layout of original shape </td></tr>
<tr><td class="paramname">dst_layout</td><td>target layout </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>shape in target layout </dd></dl>
</div>
</div>
<a id="ada254ce6c3f8ff0c89e4483c3b7924b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada254ce6c3f8ff0c89e4483c3b7924b7">&#9670;&nbsp;</a></span>ConvertLayout() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;5&gt; mshadow::ConvertLayout </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; 5 &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>src_layout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dst_layout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert shape in src_layout to shape in dst_layout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>original shape </td></tr>
<tr><td class="paramname">src_layout</td><td>layout of original shape </td></tr>
<tr><td class="paramname">dst_layout</td><td>target layout </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>shape in target layout </dd></dl>
</div>
</div>
<a id="a3a8bd22ed32f22db65c14988f75e7a8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a8bd22ed32f22db65c14988f75e7a8b">&#9670;&nbsp;</a></span>Copy() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename A , typename B , int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; A, dim, DType &gt;&#160;</td>
<td class="paramname"><em>_dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; B, dim, DType &gt;&#160;</td>
<td class="paramname"><em>_src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">cudaMemcpyKind&#160;</td>
<td class="paramname"><em>kind</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0435f827863555e4ed19bbc0cc81fa39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0435f827863555e4ed19bbc0cc81fa39">&#9670;&nbsp;</a></span>Copy() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>copy data from one tensor to another, with same shape </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>target tensor </td></tr>
<tr><td class="paramname">src</td><td>source tensor </td></tr>
<tr><td class="paramname">stream</td><td>the stream, when specified, the copy can exhibit asynchronize behavior </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a46510affaaff69ed864ca07c380f5c08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46510affaaff69ed864ca07c380f5c08">&#9670;&nbsp;</a></span>Copy() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>copy data from one tensor to another, with same shape </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>target tensor </td></tr>
<tr><td class="paramname">src</td><td>source tensor </td></tr>
<tr><td class="paramname">stream</td><td>the stream, when specified, the copy can exhibit asynchronize behavior </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a124c5c071588b2f00059129b04369918"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a124c5c071588b2f00059129b04369918">&#9670;&nbsp;</a></span>Copy() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>copy data from one tensor to another, with same shape </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>target tensor </td></tr>
<tr><td class="paramname">src</td><td>source tensor </td></tr>
<tr><td class="paramname">stream</td><td>the stream, when specified, the copy can exhibit asynchronize behavior </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4680ae46659d9afffebf8f2a5891507d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4680ae46659d9afffebf8f2a5891507d">&#9670;&nbsp;</a></span>Copy() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>copy data from one tensor to another, with same shape </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>target tensor </td></tr>
<tr><td class="paramname">src</td><td>source tensor </td></tr>
<tr><td class="paramname">stream</td><td>the stream, when specified, the copy can exhibit asynchronize behavior </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af301ba1d360a6a46aecdcb5ec8031aa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af301ba1d360a6a46aecdcb5ec8031aa0">&#9670;&nbsp;</a></span>DeleteStream()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::DeleteStream </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *&#160;</td>
<td class="paramname"><em>stream</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>delete the computing stream </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">stream</td><td>the stream parameter to be deleted </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9573b40e55fb2e885db8b594f4168efc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9573b40e55fb2e885db8b594f4168efc">&#9670;&nbsp;</a></span>DeleteStream< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#af301ba1d360a6a46aecdcb5ec8031aa0">mshadow::DeleteStream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5d8687821fd6ecf8e271b996df51415c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d8687821fd6ecf8e271b996df51415c">&#9670;&nbsp;</a></span>DeleteStream< gpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#af301ba1d360a6a46aecdcb5ec8031aa0">mshadow::DeleteStream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af5aa21f20dbeaa38194b4dadbd37a072"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5aa21f20dbeaa38194b4dadbd37a072">&#9670;&nbsp;</a></span>dtype_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string mshadow::dtype_string </td>
<td>(</td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>dtype</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6dc5b2a49c44364a6f3c8cca386aff12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dc5b2a49c44364a6f3c8cca386aff12">&#9670;&nbsp;</a></span>FreeHost()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename xpu , int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::FreeHost </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4c3517f91f3bb35d9867fa7a42665ec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c3517f91f3bb35d9867fa7a42665ec3">&#9670;&nbsp;</a></span>FreeHost_()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename xpu &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::FreeHost_ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a508edd8f1985757d0562b1e951666340"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a508edd8f1985757d0562b1e951666340">&#9670;&nbsp;</a></span>FreeHost_< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#a4c3517f91f3bb35d9867fa7a42665ec3">mshadow::FreeHost_</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>dptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3e8485c882dab873525b4b241e5db7ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e8485c882dab873525b4b241e5db7ab">&#9670;&nbsp;</a></span>FreeSpace() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::FreeSpace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: free the space of tensor, will set obj.dptr to NULL. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>the tensor object </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af9165b1f0b61124039eda7e429e9502a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9165b1f0b61124039eda7e429e9502a">&#9670;&nbsp;</a></span>FreeSpace() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::FreeSpace </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>obj</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: free the space of tensor, will set obj.dptr to NULL. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">obj</td><td>the tensor object </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>specify the dim of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a92e5ec7d9574c70e69b97b881a688e88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92e5ec7d9574c70e69b97b881a688e88">&#9670;&nbsp;</a></span>GetBatchedView() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::GetBatchedView </td>
<td>(</td>
<td class="paramtype">DType **&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>stride</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Get a batched view of the src array. dst[i] = src + i * stride. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>2D pointer </td></tr>
<tr><td class="paramname">src</td><td>1D pointer </td></tr>
<tr><td class="paramname">num</td><td>number of batches </td></tr>
<tr><td class="paramname">stride</td><td>size of each batch </td></tr>
<tr><td class="paramname">stream</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a9aefcfd5ca44f5e146d2274d64acc239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aefcfd5ca44f5e146d2274d64acc239">&#9670;&nbsp;</a></span>GetBatchedView() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::GetBatchedView </td>
<td>(</td>
<td class="paramtype">DType **&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType *&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>stride</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; *&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a77348ebaaac4581773b4fe78448c8fa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77348ebaaac4581773b4fe78448c8fa6">&#9670;&nbsp;</a></span>IndexFill() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::IndexFill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Fill the values of the destination matrix to specific rows in the source matrix. dst[index[i]] = src[i] Will use atomicAdd in the inner implementation and the result may not be deterministic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">index</td><td>the index to accumulate value </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad9ba67aace1699bf374d8c494eebb13e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9ba67aace1699bf374d8c494eebb13e">&#9670;&nbsp;</a></span>IndexFill() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename IndexType , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::IndexFill </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, IndexType &gt; &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Fill the values of the destination matrix to specific rows in the source matrix. dst[index[i]] = src[i] Will use atomicAdd in the inner implementation and the result may not be deterministic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">index</td><td>the index to accumulate value </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a6b745d61d1080fe259e44807488e1eb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b745d61d1080fe259e44807488e1eb3">&#9670;&nbsp;</a></span>InitTensorEngine()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::InitTensorEngine </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>device_id</em> = <code>0</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>initialize tensor engine, used to call intialization functions of dependent libs this function should be called before all GPU tensor operations, for using tensors in CPU, this call is actually not needed </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">device_id</td><td>GPU device id to be choosed </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Device</td><td>the device type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8c62e9096998333b078c8b8f744061ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c62e9096998333b078c8b8f744061ad">&#9670;&nbsp;</a></span>InitTensorEngine< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#a6b745d61d1080fe259e44807488e1eb3">mshadow::InitTensorEngine</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a425ff81d201a5d6de2c507c11ee63869"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a425ff81d201a5d6de2c507c11ee63869">&#9670;&nbsp;</a></span>InitTensorEngine< gpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#a6b745d61d1080fe259e44807488e1eb3">mshadow::InitTensorEngine</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad43315e17aadc0c14467dffb52401984"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad43315e17aadc0c14467dffb52401984">&#9670;&nbsp;</a></span>LoadBinary() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::LoadBinary </td>
<td>(</td>
<td class="paramtype">TStream &amp;&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pre_alloc</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fi</td><td>output binary stream </td></tr>
<tr><td class="paramname">dst</td><td>destination file </td></tr>
<tr><td class="paramname">pre_alloc</td><td>whether space is pre-allocated, if false, space allocation will happen </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
<tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, mshadow does not restricted to only this interface i...">utils::IStream</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac005b1b19d8d8964918006dc8e95182d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac005b1b19d8d8964918006dc8e95182d">&#9670;&nbsp;</a></span>LoadBinary() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::LoadBinary </td>
<td>(</td>
<td class="paramtype">TStream &amp;&#160;</td>
<td class="paramname"><em>fi</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pre_alloc</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fi</td><td>output binary stream </td></tr>
<tr><td class="paramname">dst</td><td>destination file </td></tr>
<tr><td class="paramname">pre_alloc</td><td>whether space is pre-allocated, if false, space allocation will happen </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
<tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, mshadow does not restricted to only this interface i...">utils::IStream</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4bdc2c62fd5dcee696cadd2351bf85e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bdc2c62fd5dcee696cadd2351bf85e2">&#9670;&nbsp;</a></span>MapExp() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename R , int dim, typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapExp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression to a tensor, this function calls MapPlan. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">dim</td><td>dim of the tensor, during usage, there is no need to specify this parameter </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="a2a2771e5b25290113967976748a1e7bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a2771e5b25290113967976748a1e7bf">&#9670;&nbsp;</a></span>MapExp() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename R , int dim, typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapExp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression to a tensor, this function calls MapPlan. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">dim</td><td>dim of the tensor, during usage, there is no need to specify this parameter </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="ad4d36332af8c5202ecc95adf4b00cdf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4d36332af8c5202ecc95adf4b00cdf2">&#9670;&nbsp;</a></span>MapPlan()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename R , int dim, typename DType , typename E &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapPlan </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classmshadow_1_1expr_1_1Plan.html">expr::Plan</a>&lt; E, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>plan</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5fce5c2df842439cc7d2d7a90e2cf7d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fce5c2df842439cc7d2d7a90e2cf7d4">&#9670;&nbsp;</a></span>MapReduceKeepHighDim() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename Reducer , int dimkeep, typename R , typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapReduceKeepHighDim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>scale</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in third dimension (dimension 2) </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">Reducer</td><td>specify a reducer method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">dimkeep</td><td>the target dimension to be kept, should be larger than 0, for 0, use MapReduceKeepLowest </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
<tr><td class="paramname">scale</td><td>scale the result before save </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1red.html" title="namespace for potential reducer operations ">mshadow::red</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="ab07c495d0d71a96de38ae51576f354ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab07c495d0d71a96de38ae51576f354ec">&#9670;&nbsp;</a></span>MapReduceKeepHighDim() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename Reducer , int dimkeep, typename R , typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapReduceKeepHighDim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>scale</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in third dimension (dimension 2) </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">Reducer</td><td>specify a reducer method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">dimkeep</td><td>the target dimension to be kept, should be larger than 0, for 0, use MapReduceKeepLowest </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
<tr><td class="paramname">scale</td><td>scale the result before save </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1red.html" title="namespace for potential reducer operations ">mshadow::red</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="ae1734eb7939fe9627de46d62494fe9dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1734eb7939fe9627de46d62494fe9dc">&#9670;&nbsp;</a></span>MapReduceKeepLowest() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename Reducer , typename R , typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapReduceKeepLowest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>scale</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in lowest dimension (dimension 0) </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">Reducer</td><td>specify a reducer method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
<tr><td class="paramname">scale</td><td>scale the result before save </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1red.html" title="namespace for potential reducer operations ">mshadow::red</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="a7076ccb1a5b71c7b508d76bf70088002"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7076ccb1a5b71c7b508d76bf70088002">&#9670;&nbsp;</a></span>MapReduceKeepLowest() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Saver , typename Reducer , typename R , typename DType , typename E , int etype&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::MapReduceKeepLowest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1TRValue.html">TRValue</a>&lt; R, <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; *&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1expr_1_1Exp.html">expr::Exp</a>&lt; E, DType, etype &gt; &amp;&#160;</td>
<td class="paramname"><em>exp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>scale</em> = <code>1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: map a expression, do reduction to 1D <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a> in lowest dimension (dimension 0) </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Saver</td><td>specify storage method </td></tr>
<tr><td class="paramname">Reducer</td><td>specify a reducer method </td></tr>
<tr><td class="paramname">R</td><td>specifies the storage type of the tensor </td></tr>
<tr><td class="paramname">DType</td><td>the type of elements in the tensor </td></tr>
<tr><td class="paramname">E</td><td>specifies the expression type, not need to specify this parameter during usage </td></tr>
<tr><td class="paramname">etype</td><td>expression type </td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">exp</td><td>expression </td></tr>
<tr><td class="paramname">scale</td><td>scale the result before save </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd>namespace <a class="el" href="namespacemshadow.html" title="overloaded + operator between half_t and bf16_t ">mshadow</a>:<a class="el" href="namespacemshadow_1_1sv.html" title="namespace for savers ">sv</a>, <a class="el" href="namespacemshadow_1_1op.html" title="namespace for operators ">mshadow::op</a>, <a class="el" href="namespacemshadow_1_1red.html" title="namespace for potential reducer operations ">mshadow::red</a>, <a class="el" href="namespacemshadow_1_1expr.html" title="namespace for abstract expressions and expressions template, have no dependency on tensor...">mshadow::expr</a> </dd></dl>
</div>
</div>
<a id="a2e0671a4ac1729d7f8996ba091f8e07c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e0671a4ac1729d7f8996ba091f8e07c">&#9670;&nbsp;</a></span>mshadow_sizeof()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t mshadow::mshadow_sizeof </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>type</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>get data type size from type enum </p>
</div>
</div>
<a id="a9653fd4a06f2b2c7eb099daec4dbdee9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9653fd4a06f2b2c7eb099daec4dbdee9">&#9670;&nbsp;</a></span>NewStream() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt;Device&gt;* mshadow::NewStream </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_blas_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_dnn_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em> = <code>-1</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>create a new stream from system </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">create_blas_handle</td><td>whether create blas &amp; cusolver handle in stream </td></tr>
<tr><td class="paramname">create_dnn_handle</td><td>whether create cudnn handle in stream </td></tr>
<tr><td class="paramname">dev_id</td><td>device id </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the created stream </dd></dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Device</td><td>the device type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aade27b4799d889b4bf3f1b3ba48479f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aade27b4799d889b4bf3f1b3ba48479f2">&#9670;&nbsp;</a></span>NewStream() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt;Device&gt;* mshadow::NewStream </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>default behavior: create cublas handle </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dev_id</td><td>device id </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the created stream </dd></dl>
</div>
</div>
<a id="ad46c65f82d888517bc8e372fd49d8011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad46c65f82d888517bc8e372fd49d8011">&#9670;&nbsp;</a></span>NewStream< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt;<a class="el" href="structmshadow_1_1cpu.html">cpu</a>&gt;* <a class="el" href="namespacemshadow.html#a9653fd4a06f2b2c7eb099daec4dbdee9">mshadow::NewStream</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_blas_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_dnn_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a89b0009770915378c66bc9647040776d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89b0009770915378c66bc9647040776d">&#9670;&nbsp;</a></span>NewStream< gpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt;<a class="el" href="structmshadow_1_1gpu.html">gpu</a>&gt;* <a class="el" href="namespacemshadow.html#a9653fd4a06f2b2c7eb099daec4dbdee9">mshadow::NewStream</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_blas_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>create_dnn_handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dev_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3f19232d4c6ea393abccc5288675d345"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f19232d4c6ea393abccc5288675d345">&#9670;&nbsp;</a></span>NewTensor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device , typename DType , int dim&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, dim, DType &gt; mshadow::NewTensor </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; dim &gt; &amp;&#160;</td>
<td class="paramname"><em>shape</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DType&#160;</td>
<td class="paramname"><em>initv</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pad</em> = <code><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Stream.html">Stream</a>&lt; Device &gt; *&#160;</td>
<td class="paramname"><em>stream</em> = <code>NULL</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: short cut to allocate and initialize a <a class="el" href="structmshadow_1_1Tensor.html" title="general tensor ">Tensor</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">shape</td><td>shape of tensor </td></tr>
<tr><td class="paramname">initv</td><td>initialization value </td></tr>
<tr><td class="paramname">pad</td><td>: padding option </td></tr>
<tr><td class="paramname">stream</td><td>: stream of tensor </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Device</td><td>device of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
<tr><td class="paramname">dim</td><td>dimention of tensor </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a new allocated tensor </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="namespacemshadow.html#aef49c3cef522198322017315341ac689" title="CPU/CPU: allocate space for CTensor, according to the shape in the obj this function is responsible t...">AllocSpace</a> </dd></dl>
</div>
</div>
<a id="a10717da9e107e05150e6fb6d79103b34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10717da9e107e05150e6fb6d79103b34">&#9670;&nbsp;</a></span>operator<<()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int ndim&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::ostream &amp; mshadow::operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;&#160;</td>
<td class="paramname"><em>os</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt; ndim &gt; &amp;&#160;</td>
<td class="paramname"><em>shape</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>allow string printing of the shape </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">os</td><td>the output stream </td></tr>
<tr><td class="paramname">shape</td><td>the shape </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ostream </dd></dl>
</div>
</div>
<a id="ac4e8e743843b86f7a9c7cccec38f1303"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4e8e743843b86f7a9c7cccec38f1303">&#9670;&nbsp;</a></span>SaveBinary() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SaveBinary </td>
<td>(</td>
<td class="paramtype">TStream &amp;&#160;</td>
<td class="paramname"><em>fo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fo</td><td>output binary stream </td></tr>
<tr><td class="paramname">src</td><td>source data file </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
<tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, mshadow does not restricted to only this interface i...">utils::IStream</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4274e2af051c35e9c31b1f3076f5523b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4274e2af051c35e9c31b1f3076f5523b">&#9670;&nbsp;</a></span>SaveBinary() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;int dim, typename DType , typename TStream &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SaveBinary </td>
<td>(</td>
<td class="paramtype">TStream &amp;&#160;</td>
<td class="paramname"><em>fo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, dim, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor&lt;cpu,dim&gt; storage will be allocated. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fo</td><td>output binary stream </td></tr>
<tr><td class="paramname">src</td><td>source data file </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">dim</td><td>dimension of tensor </td></tr>
<tr><td class="paramname">DType</td><td>type of element in tensor </td></tr>
<tr><td class="paramname">TStream</td><td>type of stream, need to support Read, Write, one example is <a class="el" href="classmshadow_1_1utils_1_1IStream.html" title="interface of stream I/O, used to serialize data, mshadow does not restricted to only this interface i...">utils::IStream</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abb4c36a0703ec671a5e74b0a8d37a47a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb4c36a0703ec671a5e74b0a8d37a47a">&#9670;&nbsp;</a></span>SetDevice()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SetDevice </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>devid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>set the device of current thread to work on </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">devid</td><td>the device id </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Device</td><td>the device type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2f9d916c81866abceed494cd622cd3e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f9d916c81866abceed494cd622cd3e2">&#9670;&nbsp;</a></span>SetDevice< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#abb4c36a0703ec671a5e74b0a8d37a47a">mshadow::SetDevice</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>devid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae3d85204767012fdd9fdddd27313e1fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3d85204767012fdd9fdddd27313e1fd">&#9670;&nbsp;</a></span>SetDevice< gpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#abb4c36a0703ec671a5e74b0a8d37a47a">mshadow::SetDevice</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>devid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a05e468ef4d8882fccce53ae951b7bdbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05e468ef4d8882fccce53ae951b7bdbd">&#9670;&nbsp;</a></span>Shape1()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;1&gt; mshadow::Shape1 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s0</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a one dimension shape, stride will equal s0 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s0</td><td>size of dimension 0 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shape construction </dd></dl>
</div>
</div>
<a id="ad2853583180a7dbe9cbf6b0e15ae60ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2853583180a7dbe9cbf6b0e15ae60ef">&#9670;&nbsp;</a></span>Shape2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;2&gt; mshadow::Shape2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a two dimension shape, stride will equal s0 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s0</td><td>size of dimension 0 </td></tr>
<tr><td class="paramname">s1</td><td>size of dimension 1 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shape construction </dd></dl>
</div>
</div>
<a id="a2be3eab8d3469aa48c40d38881558bb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2be3eab8d3469aa48c40d38881558bb9">&#9670;&nbsp;</a></span>Shape3()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;3&gt; mshadow::Shape3 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a three dimension shape, stride will equal s0 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s0</td><td>size of dimension 0 </td></tr>
<tr><td class="paramname">s1</td><td>size of dimension 1 </td></tr>
<tr><td class="paramname">s2</td><td>size of dimension 2 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shape construction </dd></dl>
</div>
</div>
<a id="a8fc5237744c6eda97f3070ddcb0c715e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fc5237744c6eda97f3070ddcb0c715e">&#9670;&nbsp;</a></span>Shape4()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;4&gt; mshadow::Shape4 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a four dimension shape, stride will equal s0 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s0</td><td>size of dimension 0 </td></tr>
<tr><td class="paramname">s1</td><td>size of dimension 1 </td></tr>
<tr><td class="paramname">s2</td><td>size of dimension 2 </td></tr>
<tr><td class="paramname">s3</td><td>size of dimension 3 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shape construction </dd></dl>
</div>
</div>
<a id="a5db935b0945f538add8022fac93c9c0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5db935b0945f538add8022fac93c9c0a">&#9670;&nbsp;</a></span>Shape5()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#af205b8ab4d8733133d590df7d2639d69">MSHADOW_XINLINE</a> <a class="el" href="structmshadow_1_1Shape.html">Shape</a>&lt;5&gt; mshadow::Shape5 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemshadow.html#adcbc2e1131386fccb1474b0bdf045926">index_t</a>&#160;</td>
<td class="paramname"><em>s4</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>construct a five dimension shape, stride will equal s0 </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s0</td><td>size of dimension 0 </td></tr>
<tr><td class="paramname">s1</td><td>size of dimension 1 </td></tr>
<tr><td class="paramname">s2</td><td>size of dimension 2 </td></tr>
<tr><td class="paramname">s3</td><td>size of dimension 3 </td></tr>
<tr><td class="paramname">s4</td><td>size of dimension 4 </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the shape construction </dd></dl>
</div>
</div>
<a id="a7b4e440ab207c132ec525d65620d39b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b4e440ab207c132ec525d65620d39b9">&#9670;&nbsp;</a></span>ShutdownTensorEngine()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::ShutdownTensorEngine </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shutdown tensor engine on current device this function should be called after all GPU tensor operations, for using tensors in CPU, this call is actually not needed. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Device</td><td>the device type </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0884cf8a1d05a9d631cdf82ef3ebc567"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0884cf8a1d05a9d631cdf82ef3ebc567">&#9670;&nbsp;</a></span>ShutdownTensorEngine< cpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#a7b4e440ab207c132ec525d65620d39b9">mshadow::ShutdownTensorEngine</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aac00a578d4eb8fc89263161eca8dc47b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac00a578d4eb8fc89263161eca8dc47b">&#9670;&nbsp;</a></span>ShutdownTensorEngine< gpu >()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="namespacemshadow.html#a7b4e440ab207c132ec525d65620d39b9">mshadow::ShutdownTensorEngine</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a> &gt; </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4fb3739d11e671f9809458cf6ada1e64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fb3739d11e671f9809458cf6ada1e64">&#9670;&nbsp;</a></span>SmoothSoftmaxGrad() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SmoothSoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alpha</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8ef141e66ac481f9da39b79eb282c12b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ef141e66ac481f9da39b79eb282c12b">&#9670;&nbsp;</a></span>SmoothSoftmaxGrad() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SmoothSoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DType &amp;&#160;</td>
<td class="paramname"><em>ignore_label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alpha</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0166cbd7c6f70d858cfc1a030e8b5f69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0166cbd7c6f70d858cfc1a030e8b5f69">&#9670;&nbsp;</a></span>SmoothSoftmaxGrad() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SmoothSoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alpha</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2f0ff988f790390404f31fe2a68c8b1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f0ff988f790390404f31fe2a68c8b1b">&#9670;&nbsp;</a></span>SmoothSoftmaxGrad() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SmoothSoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DType &amp;&#160;</td>
<td class="paramname"><em>ignore_label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const float&#160;</td>
<td class="paramname"><em>alpha</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a486ba25ad6f51106014450c1e745e767"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a486ba25ad6f51106014450c1e745e767">&#9670;&nbsp;</a></span>Softmax() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Softmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>energy</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae1994dc1386e8430061c65b15e574430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1994dc1386e8430061c65b15e574430">&#9670;&nbsp;</a></span>Softmax() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Softmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>energy</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a75161ef5ed964dcf6518e3a7e59e6fb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75161ef5ed964dcf6518e3a7e59e6fb6">&#9670;&nbsp;</a></span>Softmax() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Softmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>energy</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: normalize softmax: dst[i][j] = exp(energy[i][j]) /(sum_j exp(energy[i][j])) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">energy</td><td>input energy </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8a4ca251effc3ab0c84a219104868b96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a4ca251effc3ab0c84a219104868b96">&#9670;&nbsp;</a></span>Softmax() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::Softmax </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>energy</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: normalize softmax: dst[i][j] = exp(energy[i][j]) /(sum_j exp(energy[i][j])) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">energy</td><td>input energy </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a97d3ff90dd86faf3c79c382591af5705"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97d3ff90dd86faf3c79c382591af5705">&#9670;&nbsp;</a></span>SoftmaxGrad() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DType &amp;&#160;</td>
<td class="paramname"><em>ignore_label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4aac2d8b75f24039748627bf7bafb6f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aac2d8b75f24039748627bf7bafb6f5">&#9670;&nbsp;</a></span>SoftmaxGrad() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a8ed2e28641a53c3bb04442be23e52a6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ed2e28641a53c3bb04442be23e52a6a">&#9670;&nbsp;</a></span>SoftmaxGrad() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 3, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DType &amp;&#160;</td>
<td class="paramname"><em>ignore_label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3409c8a836e7dab83bec25556164261c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3409c8a836e7dab83bec25556164261c">&#9670;&nbsp;</a></span>SoftmaxGrad() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SoftmaxGrad </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: softmax gradient. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
<tr><td class="paramname">label</td><td>label info </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a11f1d93526ad270b87cd401d7160d00f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11f1d93526ad270b87cd401d7160d00f">&#9670;&nbsp;</a></span>SoftmaxGrad() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SoftmaxGrad </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 2, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>label</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: softmax gradient. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>destination </td></tr>
<tr><td class="paramname">src</td><td>source output </td></tr>
<tr><td class="paramname">label</td><td>label info </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3476fdf7d39add6f57beddafbc1b9625"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3476fdf7d39add6f57beddafbc1b9625">&#9670;&nbsp;</a></span>SortByKey() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename KDType , typename VDType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SortByKey </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, KDType &gt;&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1cpu.html">cpu</a>, 1, VDType &gt;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_ascend</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Sort key-value pairs stored in separate places. (Stable sort is performed!) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">keys</td><td>the keys to sort </td></tr>
<tr><td class="paramname">values</td><td>the values that sorts w.r.t the key </td></tr>
<tr><td class="paramname">is_ascend</td><td>whether to sort key in ascending order </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab85918bc02ea47e9f14dace4fea2ef55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab85918bc02ea47e9f14dace4fea2ef55">&#9670;&nbsp;</a></span>SortByKey() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename KDType , typename VDType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::SortByKey </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, KDType &gt;&#160;</td>
<td class="paramname"><em>keys</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; <a class="el" href="structmshadow_1_1gpu.html">gpu</a>, 1, VDType &gt;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>is_ascend</em> = <code>true</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Sort key-value pairs stored in separate places. (Stable sort is performed!) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">keys</td><td>the keys to sort </td></tr>
<tr><td class="paramname">values</td><td>the values that sorts w.r.t the key </td></tr>
<tr><td class="paramname">is_ascend</td><td>whether to sort key in ascending order </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad4c4674a33dfb486802427058375a055"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4c4674a33dfb486802427058375a055">&#9670;&nbsp;</a></span>VectorDot()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device , typename DType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::VectorDot </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt;&#160;</td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>lhs</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, DType &gt; &amp;&#160;</td>
<td class="paramname"><em>rhs</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: 1 dimension vector dot. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dst</td><td>Length 1 vector, used to hold the result. </td></tr>
<tr><td class="paramname">lhs</td><td>Left operand vector </td></tr>
<tr><td class="paramname">rhs</td><td>Right operand vector </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab3f080439f035e05501cc7f202e58c0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3f080439f035e05501cc7f202e58c0e">&#9670;&nbsp;</a></span>VectorizedSort()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Device , typename VDType , typename SDType &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mshadow::VectorizedSort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, VDType &gt;&#160;</td>
<td class="paramname"><em>values</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmshadow_1_1Tensor.html">Tensor</a>&lt; Device, 1, SDType &gt;&#160;</td>
<td class="paramname"><em>segments</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU/GPU: Sort the keys within each segment. (Stable sort is performed!) Segments is defined as an ascending ordered vector like [0, 0, 0, 1, 1, 2, 3, 3, 3,...] We sort separately the keys labeled by 0 and 1, 2, 3, etc. Currently only supports sorting in ascending order !! </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">values</td><td>the data to sort </td></tr>
<tr><td class="paramname">segments</td><td>segment indicator </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a36590a455cab713cf4bbb115c4dba247"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36590a455cab713cf4bbb115c4dba247">&#9670;&nbsp;</a></span>default_layout</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int mshadow::default_layout = <a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4ae633c123a9c9897779d5c00ea5381775">kNCHW</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>default layout for 4d tensor </p>
</div>
</div>
<a id="a29fa60cc6436415a699971c1a3fd760a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29fa60cc6436415a699971c1a3fd760a">&#9670;&nbsp;</a></span>default_layout_5d</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int mshadow::default_layout_5d = <a class="el" href="namespacemshadow.html#abbe2dc827052234b64ab2d40a5b2fdb4aa332dc48875dac0ef29ef245e5609822">kNCDHW</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>default layout for 5d tensor </p>
</div>
</div>
<a id="a143ad1a73ba518ef0aad29d36f2569ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a143ad1a73ba518ef0aad29d36f2569ee">&#9670;&nbsp;</a></span>default_type_flag</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int mshadow::default_type_flag = <a class="el" href="structmshadow_1_1DataType.html">DataType</a>&lt;<a class="el" href="namespacemshadow.html#a10a73dbdb4a2b833495c2315b6da69ce">default_real_t</a>&gt;::kFlag</td>
</tr>
</table>
</div><div class="memdoc">
<p>type enum value for default real type </p>
</div>
</div>
<a id="a8afab1f2134d65e09679faa324ecf9ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8afab1f2134d65e09679faa324ecf9ce">&#9670;&nbsp;</a></span>kPi</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const float mshadow::kPi = 3.1415926f</td>
</tr>
</table>
</div><div class="memdoc">
<p>pi </p>
</div>
</div>
<a id="ac4cba6b672478463350f7d84b47e99e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4cba6b672478463350f7d84b47e99e3">&#9670;&nbsp;</a></span>kRandBufferSize</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const unsigned mshadow::kRandBufferSize = 1000000</td>
</tr>
</table>
</div><div class="memdoc">
<p>buffer size for each random number generator </p>
</div>
</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>