blob: 39e30a92e7286e22c17155ec7a40a09a245eeb03 [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.11"/>
<title>mxnet: /work/mxnet/3rdparty/mshadow/mshadow/packet-inl.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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</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="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">packet-inl.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Generic packet vectorization code.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;malloc.h&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="mshadow_2mshadow_2tensor_8h_source.html">./tensor.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="plain-inl_8h_source.html">packet/plain-inl.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sse-inl_8h_source.html">packet/sse-inl.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for packet-inl.h:</div>
<div class="dyncontent">
<div class="center"><img src="packet-inl_8h__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8h" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8h" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8h">
<area shape="rect" id="node3" href="3rdparty_2mshadow_2mshadow_2base_8h.html" title="./base.h" alt="" coords="2677,408,2750,435"/>
<area shape="rect" id="node27" href="mshadow_2mshadow_2tensor_8h.html" title="./tensor.h" alt="" coords="2125,95,2208,121"/>
<area shape="rect" id="node29" href="expression_8h.html" title="definitions of abstract expressions and expressions template " alt="" coords="2410,333,2521,360"/>
<area shape="rect" id="node48" href="plain-inl_8h.html" title="support of plain packet that use the plain datatype. " alt="" coords="3043,95,3173,121"/>
<area shape="rect" id="node49" href="sse-inl_8h.html" title="support of sse2 packet optimization of some operations " alt="" coords="2896,95,3019,121"/>
<area shape="rect" id="node22" href="half_8h.html" title="definition of half (float16) type. " alt="" coords="3124,483,3188,509"/>
<area shape="rect" id="node24" href="half2_8h.html" title="definition of vector float16, half2 type. " alt="" coords="3213,483,3286,509"/>
<area shape="rect" id="node30" href="stream__gpu-inl_8h.html" title="implementation of GPU code " alt="" coords="2296,169,2435,196"/>
<area shape="rect" id="node32" href="extension_8h.html" title="some extension of expressions, used to support something beyond elementwise op " alt="" coords="756,169,860,196"/>
<area shape="rect" id="node33" href="expr__engine-inl_8h.html" title="definitions of how expressions should be evaluated " alt="" coords="1556,251,1695,278"/>
<area shape="rect" id="node42" href="tensor__cpu-inl_8h.html" title="implementation of CPU host code " alt="" coords="2819,169,2951,196"/>
<area shape="rect" id="node43" href="tensor__gpu-inl_8h.html" title="implementation of GPU host code " alt="" coords="2560,169,2693,196"/>
<area shape="rect" id="node44" href="3rdparty_2mshadow_2mshadow_2io_8h.html" title="./io.h" alt="" coords="1993,333,2047,360"/>
<area shape="rect" id="node45" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL " alt="" coords="1719,251,1868,278"/>
<area shape="rect" id="node46" href="random_8h.html" title="Random inline functions for tensor. " alt="" coords="1843,169,1935,196"/>
<area shape="rect" id="node47" 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="2035,169,2168,196"/>
<area shape="rect" id="node34" href="broadcast_8h.html" title="support for broadcast and repmat " alt="" coords="1142,251,1314,278"/>
<area shape="rect" id="node35" href="unpack__patch2col_8h.html" title="support for unpack " alt="" coords="1338,244,1481,285"/>
<area shape="rect" id="node36" href="pack__col2patch_8h.html" title="support for pack " alt="" coords="705,251,911,278"/>
<area shape="rect" id="node37" href="reshape_8h.html" title="support for reshape " alt="" coords="520,251,680,278"/>
<area shape="rect" id="node38" href="swapaxis_8h.html" title="support for swapaxis " alt="" coords="5,251,171,278"/>
<area shape="rect" id="node39" href="reduceto1d_8h.html" title="support for sum_rows and sumall_except_dim " alt="" coords="936,251,1117,278"/>
<area shape="rect" id="node40" href="spatial__pool_8h.html" title="support for spatial pooling " alt="" coords="195,244,333,285"/>
<area shape="rect" id="node41" href="spatial__unpool_8h.html" title="support for unpool " alt="" coords="357,244,496,285"/>
</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="packet-inl_8h__dep__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8hdep" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8hdep" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2packet-inl_8hdep">
<area shape="rect" id="node2" href="tensor__cpu-inl_8h.html" title="implementation of CPU host code " alt="" coords="6307,95,6504,151"/>
<area shape="rect" id="node6" href="implicit__gemm_8h.html" title="support for implicit GEMM operation " alt="" coords="8113,496,8332,552"/>
<area shape="rect" id="node49" href="plain-inl_8h.html" title="support of plain packet that use the plain datatype. " alt="" coords="8358,95,8557,151"/>
<area shape="rect" id="node50" href="sse-inl_8h.html" title="support of sse2 packet optimization of some operations " alt="" coords="8581,95,8779,151"/>
<area shape="rect" id="node3" href="mshadow_2mshadow_2tensor_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/tensor.h" alt="" coords="727,199,935,240"/>
<area shape="rect" id="node4" href="expr__engine-inl_8h.html" title="definitions of how expressions should be evaluated " alt="" coords="739,288,923,344"/>
<area shape="rect" id="node37" href="stream__gpu-inl_8h.html" title="implementation of GPU code " alt="" coords="997,288,1200,344"/>
<area shape="rect" id="node38" href="tensor__gpu-inl_8h.html" title="implementation of GPU host code " alt="" coords="1224,288,1421,344"/>
<area shape="rect" id="node39" href="3rdparty_2mshadow_2mshadow_2io_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/io.h" alt="" coords="312,295,491,337"/>
<area shape="rect" id="node40" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL " alt="" coords="164,392,361,448"/>
<area shape="rect" id="node41" href="random_8h.html" title="Random inline functions for tensor. " alt="" coords="5,503,224,545"/>
<area shape="rect" id="node42" href="include_2mxnet_2base_8h.html" title="/work/mxnet/include\l/mxnet/base.h" alt="" coords="565,295,715,337"/>
<area shape="rect" id="node46" href="include_2mxnet_2op__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/op_attr_types.h" alt="" coords="501,607,672,649"/>
<area shape="rect" id="node5" href="extension_8h.html" title="some extension of expressions, used to support something beyond elementwise op " alt="" coords="4467,399,4698,441"/>
<area shape="rect" id="node8" href="broadcast_8h.html" title="support for broadcast and repmat " alt="" coords="7871,496,8089,552"/>
<area shape="rect" id="node9" href="unpack__patch2col_8h.html" title="support for unpack " alt="" coords="1036,496,1255,552"/>
<area shape="rect" id="node10" href="pack__col2patch_8h.html" title="support for pack " alt="" coords="1279,496,1497,552"/>
<area shape="rect" id="node11" href="reshape_8h.html" title="support for reshape " alt="" coords="1521,496,1740,552"/>
<area shape="rect" id="node12" href="swapaxis_8h.html" title="support for swapaxis " alt="" coords="1764,496,1983,552"/>
<area shape="rect" id="node13" href="reduceto1d_8h.html" title="support for sum_rows and sumall_except_dim " alt="" coords="2007,496,2225,552"/>
<area shape="rect" id="node14" href="spatial__pool_8h.html" title="support for spatial pooling " alt="" coords="2249,496,2468,552"/>
<area shape="rect" id="node15" href="spatial__unpool_8h.html" title="support for unpool " alt="" coords="2492,496,2711,552"/>
<area shape="rect" id="node16" href="channel__pool_8h.html" title="support for chpool " alt="" coords="2735,496,2953,552"/>
<area shape="rect" id="node17" href="channel__unpool_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/channel_unpool.h" alt="" coords="2977,496,3196,552"/>
<area shape="rect" id="node18" href="pad_8h.html" title="support for pad " alt="" coords="3220,503,3479,545"/>
<area shape="rect" id="node19" href="crop_8h.html" title="support for crop " alt="" coords="3503,496,3721,552"/>
<area shape="rect" id="node20" href="mirror_8h.html" title="support for mirror " alt="" coords="3745,496,3964,552"/>
<area shape="rect" id="node21" href="concat_8h.html" title="support for concatenation " alt="" coords="3988,496,4207,552"/>
<area shape="rect" id="node22" href="choose_8h.html" title="support for implicit array selection operation " alt="" coords="4231,496,4449,552"/>
<area shape="rect" id="node23" href="fill_8h.html" title="support for implicit array filling operation " alt="" coords="4473,496,4692,552"/>
<area shape="rect" id="node24" href="one__hot_8h.html" title="Create one&#45;hot indicator array based on the index. " alt="" coords="4716,496,4935,552"/>
<area shape="rect" id="node25" href="slice_8h.html" title="support for slice a certain dimension. " alt="" coords="4959,496,5177,552"/>
<area shape="rect" id="node26" href="slice__ex_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/slice_ex.h" alt="" coords="5201,496,5420,552"/>
<area shape="rect" id="node27" href="take_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/take.h" alt="" coords="5444,496,5663,552"/>
<area shape="rect" id="node28" href="take__grad_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/take_grad.h" alt="" coords="5687,496,5905,552"/>
<area shape="rect" id="node29" href="reduce__with__axis_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/reduce_with_axis.h" alt="" coords="5929,496,6148,552"/>
<area shape="rect" id="node30" href="broadcast__with__axis_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/broadcast_with_axis.h" alt="" coords="6172,496,6391,552"/>
<area shape="rect" id="node31" href="spatial__upsampling__nearest_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/spatial_upsampling_nearest.h" alt="" coords="6415,496,6633,552"/>
<area shape="rect" id="node32" href="transpose_8h.html" title="support for transpose " alt="" coords="6657,496,6876,552"/>
<area shape="rect" id="node33" href="flip_8h.html" title="support for flip a certain dimension. " alt="" coords="6900,496,7119,552"/>
<area shape="rect" id="node34" href="complex_8h.html" title="support for complex operations " alt="" coords="7143,496,7361,552"/>
<area shape="rect" id="node35" href="range_8h.html" title="support generating a range vector " alt="" coords="7385,496,7604,552"/>
<area shape="rect" id="node36" href="mask_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/mask.h" alt="" coords="7628,496,7847,552"/>
<area shape="rect" id="node7" href="dot__engine-inl_8h.html" title="definitions of how Matrix Multiplications can be evaluated " alt="" coords="8134,600,8311,656"/>
<area shape="rect" id="node43" href="engine_8h.html" title="Engine that schedules all the operations according to dependency. " alt="" coords="537,399,687,441"/>
<area shape="rect" id="node44" href="include_2mxnet_2ndarray_8h.html" title="/work/mxnet/include\l/mxnet/ndarray.h" alt="" coords="641,503,791,545"/>
<area shape="rect" id="node45" href="include_2mxnet_2executor_8h.html" title="/work/mxnet/include\l/mxnet/executor.h" alt="" coords="641,793,791,835"/>
<area shape="rect" id="node47" href="include_2mxnet_2operator_8h.html" title="/work/mxnet/include\l/mxnet/operator.h" alt="" coords="512,704,661,745"/>
<area shape="rect" id="node48" href="storage_8h.html" title="Storage manager across multiple devices. " alt="" coords="761,399,911,441"/>
</map>
</div>
</div>
<p><a href="packet-inl_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_1packet_1_1Packet.html">mshadow::packet::Packet&lt; DType, Arch &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic packet type. <a href="structmshadow_1_1packet_1_1Packet.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_1packet_1_1AlignBytes.html">mshadow::packet::AlignBytes&lt; Arch &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_1packet_1_1PacketOp.html">mshadow::packet::PacketOp&lt; OP, DType, Arch &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">generic <a class="el" href="structmshadow_1_1packet_1_1Packet.html" title="Generic packet type. ">Packet</a> operator <a href="structmshadow_1_1packet_1_1PacketOp.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_1packet_1_1PacketOp_3_01op_1_1plus_00_01DType_00_01Arch_01_4.html">mshadow::packet::PacketOp&lt; op::plus, DType, Arch &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_1packet_1_1PacketOp_3_01op_1_1minus_00_01DType_00_01Arch_01_4.html">mshadow::packet::PacketOp&lt; op::minus, DType, Arch &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_1packet_1_1PacketOp_3_01op_1_1mul_00_01DType_00_01Arch_01_4.html">mshadow::packet::PacketOp&lt; op::mul, DType, Arch &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_1packet_1_1PacketOp_3_01op_1_1div_00_01DType_00_01Arch_01_4.html">mshadow::packet::PacketOp&lt; op::div, DType, Arch &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_1packet_1_1PacketOp_3_01op_1_1identity_00_01DType_00_01Arch_01_4.html">mshadow::packet::PacketOp&lt; op::identity, DType, Arch &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_1packet_1_1Saver.html">mshadow::packet::Saver&lt; SV, TFloat, Arch &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_1packet_1_1Saver_3_01sv_1_1saveto_00_01TFloat_00_01Arch_01_4.html">mshadow::packet::Saver&lt; sv::saveto, TFloat, Arch &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_1expr_1_1PacketPlan.html">mshadow::expr::PacketPlan&lt; ExpType, DType, Arch &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_1expr_1_1PacketPlan_3_01Tensor_3_01Device_00_01dim_00_01DType_01_4_00_01DType_00_01Arch_01_4.html">mshadow::expr::PacketPlan&lt; Tensor&lt; Device, dim, DType &gt;, DType, Arch &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_1expr_1_1PacketPlan_3_01ScalarExp_3_01DType_01_4_00_01DType_00_01Arch_01_4.html">mshadow::expr::PacketPlan&lt; ScalarExp&lt; DType &gt;, DType, Arch &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_1expr_1_1PacketPlan_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01DType_00_01etype_01_4_00_01DType_00_01Arch_01_4.html">mshadow::expr::PacketPlan&lt; BinaryMapExp&lt; OP, TA, TB, DType, etype &gt;, DType, Arch &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_1expr_1_1PacketPlan_3_01UnaryMapExp_3_01OP_00_01TA_00_01DType_00_01etype_01_4_00_01DType_00_01Arch_01_4.html">mshadow::expr::PacketPlan&lt; UnaryMapExp&lt; OP, TA, DType, etype &gt;, DType, Arch &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_1expr_1_1PacketCheck.html">mshadow::expr::PacketCheck&lt; E, Arch &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">static check packet enable <a href="structmshadow_1_1expr_1_1PacketCheck.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_1expr_1_1PacketCheck_3_01float_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; float, Arch &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_1expr_1_1PacketCheck_3_01double_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; double, Arch &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_1expr_1_1PacketCheck_3_01ScalarExp_3_01DType_01_4_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; ScalarExp&lt; DType &gt;, Arch &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_1expr_1_1PacketCheck_3_01Tensor_3_01cpu_00_01dim_00_01DType_01_4_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; Tensor&lt; cpu, dim, DType &gt;, Arch &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_1expr_1_1PacketCheck_3_01UnaryMapExp_3_01OP_00_01TA_00_01DType_00_01etype_01_4_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; UnaryMapExp&lt; OP, TA, DType, etype &gt;, Arch &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_1expr_1_1PacketCheck_3_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01DType_00_01etype_01_4_00_01Arch_01_4.html">mshadow::expr::PacketCheck&lt; BinaryMapExp&lt; OP, TA, TB, DType, etype &gt;, Arch &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_1expr_1_1PacketAlignCheck.html">mshadow::expr::PacketAlignCheck&lt; dim, E, Arch &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_1expr_1_1PacketAlignCheck_3_01dim_00_01ScalarExp_3_01DType_01_4_00_01Arch_01_4.html">mshadow::expr::PacketAlignCheck&lt; dim, ScalarExp&lt; DType &gt;, Arch &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_1expr_1_1PacketAlignCheck_3_01dim_00_01Tensor_3_01cpu_00_01dim_00_01DType_01_4_00_01Arch_01_4.html">mshadow::expr::PacketAlignCheck&lt; dim, Tensor&lt; cpu, dim, DType &gt;, Arch &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_1expr_1_1PacketAlignCheck_3_01dim_00_01UnaryMapExp_3_01OP_00_01TA_00_01DType_00_01etype_01_4_00_01Arch_01_4.html">mshadow::expr::PacketAlignCheck&lt; dim, UnaryMapExp&lt; OP, TA, DType, etype &gt;, Arch &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_1expr_1_1PacketAlignCheck_3_01dim_00_01BinaryMapExp_3_01OP_00_01TA_00_01TB_00_01710a64b86afbf8d7faec025f10b905b0.html">mshadow::expr::PacketAlignCheck&lt; dim, BinaryMapExp&lt; OP, TA, TB, DType, etype &gt;, Arch &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">namespace for mshadow <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">mshadow::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_1expr"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html">mshadow::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 tensor.h, 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>
</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:a958737730f9e52e5d5b9cbab79ad357e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="packet-inl_8h.html#a958737730f9e52e5d5b9cbab79ad357e">MSHADOW_DEFAULT_PACKET</a>&#160;&#160;&#160;::<a class="el" href="namespacemshadow_1_1packet.html#a69941771d29a1ae9a744c3e6c8b4ab4fa80fe267c1a066b1e78b8fce65a9db19e">mshadow::packet::kSSE2</a></td></tr>
<tr class="separator:a958737730f9e52e5d5b9cbab79ad357e"><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:aa68ead86d70bad4ab69608aecb852fdd"><td class="memItemLeft" align="right" valign="top">typedef packet::PacketArch&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#aa68ead86d70bad4ab69608aecb852fdd">mshadow::expr::PacketArch</a></td></tr>
<tr class="separator:aa68ead86d70bad4ab69608aecb852fdd"><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:a69941771d29a1ae9a744c3e6c8b4ab4f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#a69941771d29a1ae9a744c3e6c8b4ab4f">mshadow::packet::PacketArch</a> { <a class="el" href="namespacemshadow_1_1packet.html#a69941771d29a1ae9a744c3e6c8b4ab4fad855fb1c1aac2d1b8171f4450fb7018e">mshadow::packet::kPlain</a>,
<a class="el" href="namespacemshadow_1_1packet.html#a69941771d29a1ae9a744c3e6c8b4ab4fa80fe267c1a066b1e78b8fce65a9db19e">mshadow::packet::kSSE2</a>
}</td></tr>
<tr class="separator:a69941771d29a1ae9a744c3e6c8b4ab4f"><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:ae87c3ed51219b7ae4a295884bffa5d8b"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#ae87c3ed51219b7ae4a295884bffa5d8b">mshadow::packet::AlignedMallocPitch</a> (size_t *out_pitch, size_t lspace, size_t num_line)</td></tr>
<tr class="memdesc:ae87c3ed51219b7ae4a295884bffa5d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">analog to cudaMallocPitch, allocate a aligned space with num_line * lspace cells <a href="namespacemshadow_1_1packet.html#ae87c3ed51219b7ae4a295884bffa5d8b">More...</a><br /></td></tr>
<tr class="separator:ae87c3ed51219b7ae4a295884bffa5d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5a6a9a133e5c212531dbae80484c1cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#ac5a6a9a133e5c212531dbae80484c1cc">mshadow::packet::AlignedFree</a> (void *ptr)</td></tr>
<tr class="memdesc:ac5a6a9a133e5c212531dbae80484c1cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">free aligned space <a href="namespacemshadow_1_1packet.html#ac5a6a9a133e5c212531dbae80484c1cc">More...</a><br /></td></tr>
<tr class="separator:ac5a6a9a133e5c212531dbae80484c1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60f184b1173bb7f18db29856ba1b5107"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch&gt; </td></tr>
<tr class="memitem:a60f184b1173bb7f18db29856ba1b5107"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#a60f184b1173bb7f18db29856ba1b5107">mshadow::packet::CheckAlign</a> (size_t pitch)</td></tr>
<tr class="memdesc:a60f184b1173bb7f18db29856ba1b5107"><td class="mdescLeft">&#160;</td><td class="mdescRight">check if a pointer is aligned <a href="namespacemshadow_1_1packet.html#a60f184b1173bb7f18db29856ba1b5107">More...</a><br /></td></tr>
<tr class="separator:a60f184b1173bb7f18db29856ba1b5107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56c210692a91896f00427c9c9d9434e9"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch&gt; </td></tr>
<tr class="memitem:a56c210692a91896f00427c9c9d9434e9"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#a56c210692a91896f00427c9c9d9434e9">mshadow::packet::CheckAlign</a> (void *ptr)</td></tr>
<tr class="memdesc:a56c210692a91896f00427c9c9d9434e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">check if a pointer is aligned <a href="namespacemshadow_1_1packet.html#a56c210692a91896f00427c9c9d9434e9">More...</a><br /></td></tr>
<tr class="separator:a56c210692a91896f00427c9c9d9434e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3673b9721702cf91bb412810357417a7"><td class="memTemplParams" colspan="2">template&lt;typename DType , PacketArch Arch&gt; </td></tr>
<tr class="memitem:a3673b9721702cf91bb412810357417a7"><td class="memTemplItemLeft" align="right" valign="top">index_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#a3673b9721702cf91bb412810357417a7">mshadow::packet::UpperAlign</a> (index_t size)</td></tr>
<tr class="memdesc:a3673b9721702cf91bb412810357417a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">get upper bound of aligned index of size <a href="namespacemshadow_1_1packet.html#a3673b9721702cf91bb412810357417a7">More...</a><br /></td></tr>
<tr class="separator:a3673b9721702cf91bb412810357417a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae366b300131f5212f480e9602ea232e"><td class="memTemplParams" colspan="2">template&lt;typename DType , PacketArch Arch&gt; </td></tr>
<tr class="memitem:aae366b300131f5212f480e9602ea232e"><td class="memTemplItemLeft" align="right" valign="top">index_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1packet.html#aae366b300131f5212f480e9602ea232e">mshadow::packet::LowerAlign</a> (index_t size)</td></tr>
<tr class="memdesc:aae366b300131f5212f480e9602ea232e"><td class="mdescLeft">&#160;</td><td class="mdescRight">get lower bound of aligned index of size <a href="namespacemshadow_1_1packet.html#aae366b300131f5212f480e9602ea232e">More...</a><br /></td></tr>
<tr class="separator:aae366b300131f5212f480e9602ea232e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6637e9ac02f51c65440dc7eb719e951d"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch, typename OP , typename TA , typename TB , typename DType , int etype&gt; </td></tr>
<tr class="memitem:a6637e9ac02f51c65440dc7eb719e951d"><td class="memTemplItemLeft" align="right" valign="top">PacketPlan&lt; BinaryMapExp&lt; OP, TA, TB, DType, etype &gt;, DType, Arch &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a6637e9ac02f51c65440dc7eb719e951d">mshadow::expr::MakePacketPlan</a> (const BinaryMapExp&lt; OP, TA, TB, DType, etype &gt; &amp;e)</td></tr>
<tr class="separator:a6637e9ac02f51c65440dc7eb719e951d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29fa0bd6d47c6e00183a22d76bcdcb91"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch, typename DType &gt; </td></tr>
<tr class="memitem:a29fa0bd6d47c6e00183a22d76bcdcb91"><td class="memTemplItemLeft" align="right" valign="top">PacketPlan&lt; ScalarExp&lt; DType &gt;, DType, Arch &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a29fa0bd6d47c6e00183a22d76bcdcb91">mshadow::expr::MakePacketPlan</a> (const ScalarExp&lt; DType &gt; &amp;e)</td></tr>
<tr class="separator:a29fa0bd6d47c6e00183a22d76bcdcb91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68dab94b738d83d5715c2a8f5d7fefaa"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch, typename T , typename DType &gt; </td></tr>
<tr class="memitem:a68dab94b738d83d5715c2a8f5d7fefaa"><td class="memTemplItemLeft" align="right" valign="top">PacketPlan&lt; T, DType, Arch &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a68dab94b738d83d5715c2a8f5d7fefaa">mshadow::expr::MakePacketPlan</a> (const RValueExp&lt; T, DType &gt; &amp;e)</td></tr>
<tr class="separator:a68dab94b738d83d5715c2a8f5d7fefaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa9c46e197655eeb98fcd8ecab74114"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch, typename T , int dim, typename DType &gt; </td></tr>
<tr class="memitem:a3aa9c46e197655eeb98fcd8ecab74114"><td class="memTemplItemLeft" align="right" valign="top">PacketPlan&lt; T, DType, Arch &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a3aa9c46e197655eeb98fcd8ecab74114">mshadow::expr::MakePacketPlan</a> (const MakeTensorExp&lt; T, cpu, dim, DType &gt; &amp;e)</td></tr>
<tr class="separator:a3aa9c46e197655eeb98fcd8ecab74114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac93c00afb823840232f7c369bb7c9ea6"><td class="memTemplParams" colspan="2">template&lt;PacketArch Arch, typename OP , typename TA , typename DType , int etype&gt; </td></tr>
<tr class="memitem:ac93c00afb823840232f7c369bb7c9ea6"><td class="memTemplItemLeft" align="right" valign="top">PacketPlan&lt; UnaryMapExp&lt; OP, TA, DType, etype &gt;, DType, Arch &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#ac93c00afb823840232f7c369bb7c9ea6">mshadow::expr::MakePacketPlan</a> (const UnaryMapExp&lt; OP, TA, DType, etype &gt; &amp;e)</td></tr>
<tr class="separator:ac93c00afb823840232f7c369bb7c9ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fb88661f1972b4614493ba09934fc1b"><td class="memTemplParams" colspan="2">template&lt;typename SV , typename E , int dim, typename DType , PacketArch Arch&gt; </td></tr>
<tr class="memitem:a8fb88661f1972b4614493ba09934fc1b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a8fb88661f1972b4614493ba09934fc1b">mshadow::expr::MapPacketPlan</a> (Tensor&lt; cpu, dim, DType &gt; _dst, const expr::PacketPlan&lt; E, DType, Arch &gt; &amp;plan)</td></tr>
<tr class="memdesc:a8fb88661f1972b4614493ba09934fc1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">use <a class="el" href="classmshadow_1_1expr_1_1PacketPlan.html">PacketPlan</a> to compute result <a href="namespacemshadow_1_1expr.html#a8fb88661f1972b4614493ba09934fc1b">More...</a><br /></td></tr>
<tr class="separator:a8fb88661f1972b4614493ba09934fc1b"><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>Generic packet vectorization code. </p>
<p>Copyright (c) 2014 by Contributors </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a958737730f9e52e5d5b9cbab79ad357e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MSHADOW_DEFAULT_PACKET&#160;&#160;&#160;::<a class="el" href="namespacemshadow_1_1packet.html#a69941771d29a1ae9a744c3e6c8b4ab4fa80fe267c1a066b1e78b8fce65a9db19e">mshadow::packet::kSSE2</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 28 2020 00:52:30 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>