blob: 9de7e93646cd5494feb4e7b87c2b86e13e5aba29 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: /work/mxnet/3rdparty/mshadow/mshadow/tensor.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_3e48ced36faa4eaa1b41f6d960bf0edb.html">mshadow</a></li><li class="navelem"><a class="el" href="dir_00b035bb2ad81894e6ad291054ea5f82.html">mshadow</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">tensor.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>header file of tensor data structure and functions This lib requires explicit memory allocation and de-allocation all the data structure Tensor&lt;cpu,1&gt;, Tensor&lt;gpu,1&gt; are like handles(pointers), no memory allocation is happening during calculation
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &quot;<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h_source.html">./base.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="expression_8h_source.html">./expression.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stream__gpu-inl_8h_source.html">./stream_gpu-inl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="extension_8h_source.html">./extension.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="expr__engine-inl_8h_source.html">./expr_engine-inl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tensor__cpu-inl_8h_source.html">./tensor_cpu-inl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tensor__gpu-inl_8h_source.html">./tensor_gpu-inl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="3rdparty_2mshadow_2mshadow_2io_8h_source.html">./io.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tensor__container_8h_source.html">./tensor_container.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="random_8h_source.html">./random.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="expr__scalar-inl_8h_source.html">./expr_scalar-inl.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for tensor.h:</div>
<div class="dyncontent">
<div class="center"><img src="tensor_8h__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8h" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8h" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8h">
<area shape="rect" id="node4" href="3rdparty_2mshadow_2mshadow_2base_8h.html" title="./base.h" alt="" coords="922,333,995,360"/>
<area shape="rect" id="node26" href="expression_8h.html" title="definitions of abstract expressions and expressions template " alt="" coords="1017,259,1130,285"/>
<area shape="rect" id="node27" href="stream__gpu-inl_8h.html" title="implementation of GPU code " alt="" coords="1087,95,1227,121"/>
<area shape="rect" id="node29" href="extension_8h.html" title="some extension of expressions, used to support something beyond elementwise op " alt="" coords="2736,95,2843,121"/>
<area shape="rect" id="node30" href="expr__engine-inl_8h.html" title="definitions of how expressions should be evaluated " alt="" coords="1206,177,1349,203"/>
<area shape="rect" id="node45" href="tensor__cpu-inl_8h.html" title="implementation of CPU host code " alt="" coords="625,259,759,285"/>
<area shape="rect" id="node46" href="tensor__gpu-inl_8h.html" title="implementation of GPU host code " alt="" coords="742,95,877,121"/>
<area shape="rect" id="node47" href="3rdparty_2mshadow_2mshadow_2io_8h.html" title="./io.h" alt="" coords="4195,259,4250,285"/>
<area shape="rect" id="node48" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL " alt="" coords="1475,177,1626,203"/>
<area shape="rect" id="node49" href="random_8h.html" title="Random inline functions for tensor. " alt="" coords="1341,95,1433,121"/>
<area shape="rect" id="node50" href="expr__scalar-inl_8h.html" title="definitions of operators in expression with respect to scalar this file will be included several time..." alt="" coords="4377,95,4514,121"/>
<area shape="rect" id="node22" href="half_8h.html" title="definition of half (float16) type. " alt="" coords="331,408,397,435"/>
<area shape="rect" id="node23" href="half2_8h.html" title="definition of vector float16, half2 type. " alt="" coords="421,408,496,435"/>
<area shape="rect" id="node24" href="bfloat_8h.html" title="definition of bfloat type. " alt="" coords="521,408,599,435"/>
<area shape="rect" id="node31" href="broadcast_8h.html" title="support for broadcast and repmat " alt="" coords="3998,177,4173,203"/>
<area shape="rect" id="node32" href="unpack__patch2col_8h.html" title="support for unpack " alt="" coords="1650,169,1795,211"/>
<area shape="rect" id="node33" href="pack__col2patch_8h.html" title="support for pack " alt="" coords="3224,177,3435,203"/>
<area shape="rect" id="node34" href="reshape_8h.html" title="support for reshape " alt="" coords="1820,177,1983,203"/>
<area shape="rect" id="node35" href="swapaxis_8h.html" title="support for swapaxis " alt="" coords="3636,177,3807,203"/>
<area shape="rect" id="node36" href="reduceto1d_8h.html" title="support for sum_rows and sumall_except_dim " alt="" coords="2349,177,2531,203"/>
<area shape="rect" id="node37" href="spatial__pool_8h.html" title="support for spatial pooling " alt="" coords="3831,169,3974,211"/>
<area shape="rect" id="node38" href="spatial__unpool_8h.html" title="support for unpool " alt="" coords="2007,169,2150,211"/>
<area shape="rect" id="node39" href="channel__pool_8h.html" title="support for chpool " alt="" coords="2175,169,2324,211"/>
<area shape="rect" id="node40" href="channel__unpool_8h.html" title="./extension/channel\l_unpool.h" alt="" coords="2715,169,2864,211"/>
<area shape="rect" id="node41" href="pad_8h.html" title="support for pad " alt="" coords="2555,177,2690,203"/>
<area shape="rect" id="node42" href="crop_8h.html" title="support for crop " alt="" coords="2888,177,3027,203"/>
<area shape="rect" id="node43" href="mirror_8h.html" title="support for mirror " alt="" coords="3051,177,3200,203"/>
<area shape="rect" id="node44" href="concat_8h.html" title="support for concatenation " alt="" coords="3458,177,3611,203"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="tensor_8h__dep__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8hdep" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8hdep" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2tensor_8hdep">
<area shape="rect" id="node2" href="expr__engine-inl_8h.html" title="definitions of how expressions should be evaluated " alt="" coords="4183,95,4372,151"/>
<area shape="rect" id="node25" href="stream__gpu-inl_8h.html" title="implementation of GPU code " alt="" coords="4783,95,4990,151"/>
<area shape="rect" id="node26" href="tensor__cpu-inl_8h.html" title="implementation of CPU host code " alt="" coords="4371,199,4573,255"/>
<area shape="rect" id="node27" href="packet-inl_8h.html" title="Generic packet vectorization code. " alt="" coords="4521,102,4759,143"/>
<area shape="rect" id="node30" href="tensor__gpu-inl_8h.html" title="implementation of GPU host code " alt="" coords="5014,95,5215,151"/>
<area shape="rect" id="node31" href="3rdparty_2mshadow_2mshadow_2io_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/io.h" alt="" coords="5315,102,5499,143"/>
<area shape="rect" id="node32" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL " alt="" coords="5343,199,5545,255"/>
<area shape="rect" id="node33" href="random_8h.html" title="Random inline functions for tensor. " alt="" coords="5253,310,5475,351"/>
<area shape="rect" id="node34" href="include_2mxnet_2base_8h.html" title="/work/mxnet/include\l/mxnet/base.h" alt="" coords="6167,102,6321,143"/>
<area shape="rect" id="node39" href="include_2mxnet_2op__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/op_attr_types.h" alt="" coords="5861,414,6035,455"/>
<area shape="rect" id="node3" href="extension_8h.html" title="some extension of expressions, used to support something beyond elementwise op " alt="" coords="2643,206,2879,247"/>
<area shape="rect" id="node4" href="implicit__gemm_8h.html" title="support for implicit GEMM operation " alt="" coords="5005,303,5229,359"/>
<area shape="rect" id="node5" href="broadcast_8h.html" title="support for broadcast and repmat " alt="" coords="3765,303,3989,359"/>
<area shape="rect" id="node6" href="unpack__patch2col_8h.html" title="support for unpack " alt="" coords="4013,303,4237,359"/>
<area shape="rect" id="node7" href="pack__col2patch_8h.html" title="support for pack " alt="" coords="4261,303,4485,359"/>
<area shape="rect" id="node8" href="reshape_8h.html" title="support for reshape " alt="" coords="4509,303,4733,359"/>
<area shape="rect" id="node9" href="swapaxis_8h.html" title="support for swapaxis " alt="" coords="4757,303,4981,359"/>
<area shape="rect" id="node10" href="reduceto1d_8h.html" title="support for sum_rows and sumall_except_dim " alt="" coords="5,303,229,359"/>
<area shape="rect" id="node11" href="spatial__pool_8h.html" title="support for spatial pooling " alt="" coords="253,303,477,359"/>
<area shape="rect" id="node12" href="spatial__unpool_8h.html" title="support for unpool " alt="" coords="501,303,725,359"/>
<area shape="rect" id="node13" href="channel__pool_8h.html" title="support for chpool " alt="" coords="749,303,973,359"/>
<area shape="rect" id="node14" href="channel__unpool_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/channel_unpool.h" alt="" coords="997,303,1221,359"/>
<area shape="rect" id="node15" href="pad_8h.html" title="support for pad " alt="" coords="1245,310,1509,351"/>
<area shape="rect" id="node16" href="crop_8h.html" title="support for crop " alt="" coords="1533,303,1757,359"/>
<area shape="rect" id="node17" href="mirror_8h.html" title="support for mirror " alt="" coords="1781,303,2005,359"/>
<area shape="rect" id="node18" href="concat_8h.html" title="support for concatenation " alt="" coords="2029,303,2253,359"/>
<area shape="rect" id="node19" href="choose_8h.html" title="support for implicit array selection operation " alt="" coords="2277,303,2501,359"/>
<area shape="rect" id="node20" href="fill_8h.html" title="support for implicit array filling operation " alt="" coords="2525,303,2749,359"/>
<area shape="rect" id="node21" href="one__hot_8h.html" title="Create one&#45;hot indicator array based on the index. " alt="" coords="2773,303,2997,359"/>
<area shape="rect" id="node22" href="slice_8h.html" title="support for slice a certain dimension. " alt="" coords="3021,303,3245,359"/>
<area shape="rect" id="node23" href="slice__ex_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/slice_ex.h" alt="" coords="3269,303,3493,359"/>
<area shape="rect" id="node24" href="take_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/take.h" alt="" coords="3517,303,3741,359"/>
<area shape="rect" id="node28" href="plain-inl_8h.html" title="support of plain packet that use the plain datatype. " alt="" coords="4649,199,4853,255"/>
<area shape="rect" id="node29" href="sse-inl_8h.html" title="support of sse2 packet optimization of some operations " alt="" coords="4877,199,5081,255"/>
<area shape="rect" id="node35" href="packed__func_8h.html" title="Type&#45;erased function used across MXNET API. " alt="" coords="6750,407,6925,463"/>
<area shape="rect" id="node36" href="engine_8h.html" title="Engine that schedules all the operations according to dependency. " alt="" coords="5749,206,5904,247"/>
<area shape="rect" id="node37" href="include_2mxnet_2ndarray_8h.html" title="/work/mxnet/include\l/mxnet/ndarray.h" alt="" coords="6371,310,6525,351"/>
<area shape="rect" id="node38" href="include_2mxnet_2executor_8h.html" title="/work/mxnet/include\l/mxnet/executor.h" alt="" coords="6171,600,6325,641"/>
<area shape="rect" id="node40" href="include_2mxnet_2operator_8h.html" title="/work/mxnet/include\l/mxnet/operator.h" alt="" coords="6171,511,6325,552"/>
<area shape="rect" id="node41" href="operator__util_8h.html" title="Utility functions and registries to help quickly build new operators. [Deprecated] Use the register f..." alt="" coords="6429,600,6595,641"/>
<area shape="rect" id="node45" href="include_2mxnet_2io_8h.html" title="/work/mxnet/include\l/mxnet/io.h" alt="" coords="6256,414,6411,455"/>
<area shape="rect" id="node46" href="resource_8h.html" title="Global resource allocation handling. " alt="" coords="5952,310,6107,351"/>
<area shape="rect" id="node47" href="storage_8h.html" title="Storage manager across multiple devices. " alt="" coords="6307,206,6461,247"/>
<area shape="rect" id="node48" href="random__generator_8h.html" title="Parallel random number generator. " alt="" coords="5928,206,6131,247"/>
<area shape="rect" id="node49" href="rtc_8h.html" title="/work/mxnet/include\l/mxnet/rtc.h" alt="" coords="6485,206,6640,247"/>
<area shape="rect" id="node50" href="tensor__blob_8h.html" title="TBlob class that holds common representation of arbirary dimension tensor, can be used to transformed..." alt="" coords="6664,206,6824,247"/>
<area shape="rect" id="node44" href="utils_8h.html" title="Basic utilility functions. " alt="" coords="5854,689,6042,731"/>
<area shape="rect" id="node43" href="imperative_8h.html" title="/work/mxnet/include\l/mxnet/imperative.h" alt="" coords="5989,600,6144,641"/>
<area shape="rect" id="node42" href="include_2mxnet_2graph__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/graph_attr_types.h" alt="" coords="5851,511,6045,552"/>
</map>
</div>
</div>
<p><a href="tensor_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1cpu.html">mshadow::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_1gpu.html">mshadow::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_1Shape.html">mshadow::Shape&lt; dimension &gt;</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_1Shape.html">mshadow::Shape&lt; dimension &gt;</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">mshadow::Stream&lt; Device &gt;</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_1TRValue.html">mshadow::TRValue&lt; Container, Device, dimension, DType &gt;</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>
<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">mshadow::Tensor&lt; Device, dimension, MSHADOW_DEFAULT_DTYPE &gt;</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">mshadow::Tensor&lt; Device, 1, DType &gt;</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="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemshadow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html">mshadow</a></td></tr>
<tr class="memdesc:namespacemshadow"><td class="mdescLeft">&#160;</td><td class="mdescRight">overloaded + operator between half_t and bf16_t <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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tensor_8h.html#aa0b60d7de7151387e5ecc0d41c82259d">MSHADOW_SCALAR_</a>&#160;&#160;&#160;float</td></tr>
<tr class="separator:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tensor_8h.html#aa0b60d7de7151387e5ecc0d41c82259d">MSHADOW_SCALAR_</a>&#160;&#160;&#160;double</td></tr>
<tr class="separator:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tensor_8h.html#aa0b60d7de7151387e5ecc0d41c82259d">MSHADOW_SCALAR_</a>&#160;&#160;&#160;int32_t</td></tr>
<tr class="separator:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tensor_8h.html#aa0b60d7de7151387e5ecc0d41c82259d">MSHADOW_SCALAR_</a>&#160;&#160;&#160;int64_t</td></tr>
<tr class="separator:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b60d7de7151387e5ecc0d41c82259d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tensor_8h.html#aa0b60d7de7151387e5ecc0d41c82259d">MSHADOW_SCALAR_</a>&#160;&#160;&#160;mshadow::half::half_t</td></tr>
<tr class="separator:aa0b60d7de7151387e5ecc0d41c82259d"><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: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">mshadow::operator&lt;&lt;</a> (std::ostream &amp;os, const Shape&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="namespacemshadow.html#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> Shape&lt; 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a05e468ef4d8882fccce53ae951b7bdbd">mshadow::Shape1</a> (index_t 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="namespacemshadow.html#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> Shape&lt; 2 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ad2853583180a7dbe9cbf6b0e15ae60ef">mshadow::Shape2</a> (index_t s0, index_t 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="namespacemshadow.html#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> Shape&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a2be3eab8d3469aa48c40d38881558bb9">mshadow::Shape3</a> (index_t s0, index_t s1, index_t 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="namespacemshadow.html#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> Shape&lt; 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a8fc5237744c6eda97f3070ddcb0c715e">mshadow::Shape4</a> (index_t s0, index_t s1, index_t s2, index_t 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="namespacemshadow.html#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> Shape&lt; 5 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a5db935b0945f538add8022fac93c9c0a">mshadow::Shape5</a> (index_t s0, index_t s1, index_t s2, index_t s3, index_t 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="namespacemshadow.html#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">Shape&lt; 3 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a446431abbca1ddc0a525d6e2ce9d2fbc">mshadow::ConvertLayout</a> (const Shape&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="namespacemshadow.html#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">Shape&lt; 4 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a05319639a02ccfcdee6caa554de04468">mshadow::ConvertLayout</a> (const Shape&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="namespacemshadow.html#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">Shape&lt; 5 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#ada254ce6c3f8ff0c89e4483c3b7924b7">mshadow::ConvertLayout</a> (const Shape&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="namespacemshadow.html#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">mshadow::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="namespacemshadow.html#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">mshadow::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="namespacemshadow.html#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">mshadow::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="namespacemshadow.html#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">Stream&lt; Device &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a9653fd4a06f2b2c7eb099daec4dbdee9">mshadow::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="namespacemshadow.html#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">Stream&lt; Device &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#aade27b4799d889b4bf3f1b3ba48479f2">mshadow::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="namespacemshadow.html#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">mshadow::DeleteStream</a> (Stream&lt; Device &gt; *stream)</td></tr>
<tr class="memdesc:af301ba1d360a6a46aecdcb5ec8031aa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">delete the computing stream <a href="namespacemshadow.html#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">mshadow::AllocSpace</a> (Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::AllocSpace</a> (Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::FreeSpace</a> (Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::FreeSpace</a> (Tensor&lt; gpu, 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="namespacemshadow.html#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">Tensor&lt; Device, dim, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow.html#a3f19232d4c6ea393abccc5288675d345">mshadow::NewTensor</a> (const Shape&lt; dim &gt; &amp;shape, DType initv, bool pad=<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h.html#a72d4e933c0003ccdc01b5d5f054dcf39">MSHADOW_ALLOC_PAD</a>, Stream&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="namespacemshadow.html#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">mshadow::Copy</a> (Tensor&lt; cpu, dim, DType &gt; dst, const Tensor&lt; cpu, dim, DType &gt; &amp;src, Stream&lt; cpu &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="namespacemshadow.html#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">mshadow::Copy</a> (Tensor&lt; cpu, dim, DType &gt; dst, const Tensor&lt; gpu, dim, DType &gt; &amp;src, Stream&lt; gpu &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="namespacemshadow.html#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">mshadow::Copy</a> (Tensor&lt; gpu, dim, DType &gt; dst, const Tensor&lt; cpu, dim, DType &gt; &amp;src, Stream&lt; gpu &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="namespacemshadow.html#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">mshadow::Copy</a> (Tensor&lt; gpu, dim, DType &gt; dst, const Tensor&lt; gpu, dim, DType &gt; &amp;src, Stream&lt; gpu &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="namespacemshadow.html#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">mshadow::Softmax</a> (Tensor&lt; cpu, 2, DType &gt; dst, const Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::Softmax</a> (Tensor&lt; gpu, 2, DType &gt; dst, const Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::SoftmaxGrad</a> (Tensor&lt; cpu, 2, DType &gt; dst, const Tensor&lt; cpu, 2, DType &gt; &amp;src, const Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::SoftmaxGrad</a> (const Tensor&lt; gpu, 2, DType &gt; &amp;dst, const Tensor&lt; gpu, 2, DType &gt; &amp;src, const Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::AddTakeGrad</a> (Tensor&lt; cpu, 2, DType &gt; dst, const Tensor&lt; cpu, 1, IndexType &gt; &amp;index, const Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::AddTakeGrad</a> (Tensor&lt; gpu, 2, DType &gt; dst, const Tensor&lt; gpu, 1, IndexType &gt; &amp;index, const Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::AddTakeGradLargeBatch</a> (Tensor&lt; cpu, 2, DType &gt; dst, const Tensor&lt; cpu, 1, IndexType &gt; &amp;sorted, const Tensor&lt; cpu, 1, IndexType &gt; &amp;index, const Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::AddTakeGradLargeBatch</a> (Tensor&lt; gpu, 2, DType &gt; dst, const Tensor&lt; gpu, 1, IndexType &gt; &amp;sorted, const Tensor&lt; gpu, 1, IndexType &gt; &amp;index, const Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::IndexFill</a> (Tensor&lt; cpu, 2, DType &gt; dst, const Tensor&lt; cpu, 1, IndexType &gt; &amp;index, const Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::IndexFill</a> (Tensor&lt; gpu, 2, DType &gt; dst, const Tensor&lt; gpu, 1, IndexType &gt; &amp;index, const Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::SortByKey</a> (Tensor&lt; cpu, 1, KDType &gt; keys, Tensor&lt; cpu, 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="namespacemshadow.html#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">mshadow::SortByKey</a> (Tensor&lt; gpu, 1, KDType &gt; keys, Tensor&lt; gpu, 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="namespacemshadow.html#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">mshadow::VectorizedSort</a> (Tensor&lt; Device, 1, VDType &gt; values, Tensor&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="namespacemshadow.html#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">mshadow::MapExp</a> (TRValue&lt; R, cpu, dim, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::MapExp</a> (TRValue&lt; R, gpu, dim, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::MapReduceKeepLowest</a> (TRValue&lt; R, cpu, 1, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::MapReduceKeepLowest</a> (TRValue&lt; R, gpu, 1, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::MapReduceKeepHighDim</a> (TRValue&lt; R, cpu, 1, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::MapReduceKeepHighDim</a> (TRValue&lt; R, gpu, 1, DType &gt; *dst, const expr::Exp&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="namespacemshadow.html#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">mshadow::VectorDot</a> (Tensor&lt; Device, 1, DType &gt; dst, const Tensor&lt; Device, 1, DType &gt; &amp;lhs, const Tensor&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="namespacemshadow.html#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">mshadow::BatchGEMM</a> (Tensor&lt; Device, 3, DType &gt; dst, const Tensor&lt; Device, 3, DType &gt; &amp;lhs, const Tensor&lt; Device, 3, DType &gt; &amp;rhs, DType alpha, DType beta, Tensor&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="namespacemshadow.html#a04a223d0f4e8af8c3f504bb5d324ad43">More...</a><br /></td></tr>
<tr class="separator:a04a223d0f4e8af8c3f504bb5d324ad43"><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>header file of tensor data structure and functions This lib requires explicit memory allocation and de-allocation all the data structure Tensor&lt;cpu,1&gt;, Tensor&lt;gpu,1&gt; are like handles(pointers), no memory allocation is happening during calculation </p>
<p>For STL style tensor, see <a class="el" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL ">tensor_container.h</a> </p><dl class="section author"><dt>Author</dt><dd>Bing Xu, Tianqi Chen </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aa0b60d7de7151387e5ecc0d41c82259d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b60d7de7151387e5ecc0d41c82259d">&#9670;&nbsp;</a></span>MSHADOW_SCALAR_ <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_SCALAR_&#160;&#160;&#160;float</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa0b60d7de7151387e5ecc0d41c82259d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b60d7de7151387e5ecc0d41c82259d">&#9670;&nbsp;</a></span>MSHADOW_SCALAR_ <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_SCALAR_&#160;&#160;&#160;double</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa0b60d7de7151387e5ecc0d41c82259d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b60d7de7151387e5ecc0d41c82259d">&#9670;&nbsp;</a></span>MSHADOW_SCALAR_ <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_SCALAR_&#160;&#160;&#160;int32_t</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa0b60d7de7151387e5ecc0d41c82259d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b60d7de7151387e5ecc0d41c82259d">&#9670;&nbsp;</a></span>MSHADOW_SCALAR_ <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_SCALAR_&#160;&#160;&#160;int64_t</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa0b60d7de7151387e5ecc0d41c82259d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0b60d7de7151387e5ecc0d41c82259d">&#9670;&nbsp;</a></span>MSHADOW_SCALAR_ <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_SCALAR_&#160;&#160;&#160;mshadow::half::half_t</td>
</tr>
</table>
</div><div class="memdoc">
</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>