arm_compute v17.05
[platform/upstream/armcl.git] / documentation / inherit_graph_23.svg
index b7ebffc..3dd89ff 100644 (file)
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="916pt" height="5642pt"
- viewBox="0.00 0.00 916.00 5642.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5638)">
+<svg width="916pt" height="5305pt"
+ viewBox="0.00 0.00 916.00 5305.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 5301)">
 <title>Graphical Class Hierarchy</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-5638 912,-5638 912,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-5301 912,-5301 912,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node"><title>Node1</title>
 <g id="a_node1"><a xlink:href="classarm__compute_1_1_i_kernel.xhtml" target="_top" xlink:title="Common information for all the kernels. ">
-<polygon fill="white" stroke="black" points="0,-2887.5 0,-2906.5 47,-2906.5 47,-2887.5 0,-2887.5"/>
-<text text-anchor="middle" x="23.5" y="-2894.5" font-family="Helvetica,sans-Serif" font-size="10.00">IKernel</text>
+<polygon fill="white" stroke="black" points="0,-2709.5 0,-2728.5 47,-2728.5 47,-2709.5 0,-2709.5"/>
+<text text-anchor="middle" x="23.5" y="-2716.5" font-family="Helvetica,sans-Serif" font-size="10.00">IKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node"><title>Node2</title>
 <g id="a_node2"><a xlink:href="classarm__compute_1_1_i_c_l_kernel.xhtml" target="_top" xlink:title="Common interface for all the OpenCL kernels. ">
-<polygon fill="white" stroke="black" points="87,-4629.5 87,-4648.5 147,-4648.5 147,-4629.5 87,-4629.5"/>
-<text text-anchor="middle" x="117" y="-4636.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLKernel</text>
+<polygon fill="white" stroke="black" points="87,-4292.5 87,-4311.5 147,-4311.5 147,-4292.5 87,-4292.5"/>
+<text text-anchor="middle" x="117" y="-4299.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLKernel</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M25.5469,-2916.93C35.2078,-3100.86 108.63,-4498.69 115.487,-4629.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="29.0344,-2916.6 25.0146,-2906.8 22.044,-2916.97 29.0344,-2916.6"/>
+<path fill="none" stroke="midnightblue" d="M25.6384,-2738.69C35.6414,-2911.75 108.361,-4169.84 115.445,-4292.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.1319,-2738.48 25.0606,-2728.7 22.1436,-2738.88 29.1319,-2738.48"/>
 </g>
 <!-- Node84 -->
 <g id="node84" class="node"><title>Node84</title>
 <g id="a_node84"><a xlink:href="classarm__compute_1_1_i_c_p_p_kernel.xhtml" target="_top" xlink:title="Common interface for all kernels implemented in C++. ">
-<polygon fill="white" stroke="black" points="83,-1180.5 83,-1199.5 151,-1199.5 151,-1180.5 83,-1180.5"/>
-<text text-anchor="middle" x="117" y="-1187.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPKernel</text>
+<polygon fill="white" stroke="black" points="83,-1161.5 83,-1180.5 151,-1180.5 151,-1161.5 83,-1161.5"/>
+<text text-anchor="middle" x="117" y="-1168.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPKernel</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node84 -->
 <g id="edge83" class="edge"><title>Node1&#45;&gt;Node84</title>
-<path fill="none" stroke="midnightblue" d="M25.5614,-2877.2C35.281,-2695.87 108.634,-1327.42 115.487,-1199.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="22.055,-2877.23 25.0146,-2887.4 29.0449,-2877.6 22.055,-2877.23"/>
+<path fill="none" stroke="midnightblue" d="M25.6854,-2698.95C35.8567,-2526.87 108.227,-1302.5 115.424,-1180.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="22.1805,-2698.93 25.0843,-2709.11 29.1684,-2699.34 22.1805,-2698.93"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node"><title>Node3</title>
 <g id="a_node3"><a xlink:href="classarm__compute_1_1_c_l_absolute_difference_kernel.xhtml" target="_top" xlink:title="Interface for the absolute difference kernel. ">
-<polygon fill="white" stroke="black" points="203,-5614.5 203,-5633.5 343,-5633.5 343,-5614.5 203,-5614.5"/>
-<text text-anchor="middle" x="273" y="-5621.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAbsoluteDifferenceKernel</text>
+<polygon fill="white" stroke="black" points="203,-5277.5 203,-5296.5 343,-5296.5 343,-5277.5 203,-5277.5"/>
+<text text-anchor="middle" x="273" y="-5284.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAbsoluteDifferenceKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge"><title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M118.022,-4658.84C118.347,-4790.1 123.021,-5530.73 187,-5605 191.342,-5610.04 196.703,-5613.91 202.604,-5616.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.522,-4658.64 118.003,-4648.65 114.522,-4658.66 121.522,-4658.64"/>
+<path fill="none" stroke="midnightblue" d="M118.022,-4321.84C118.347,-4453.1 123.021,-5193.73 187,-5268 191.342,-5273.04 196.703,-5276.91 202.604,-5279.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.522,-4321.64 118.003,-4311.65 114.522,-4321.66 121.522,-4321.64"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node"><title>Node4</title>
 <g id="a_node4"><a xlink:href="classarm__compute_1_1_c_l_arithmetic_addition_kernel.xhtml" target="_top" xlink:title="Interface for the arithmetic addition kernel. ">
-<polygon fill="white" stroke="black" points="204.5,-5576.5 204.5,-5595.5 341.5,-5595.5 341.5,-5576.5 204.5,-5576.5"/>
-<text text-anchor="middle" x="273" y="-5583.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLArithmeticAdditionKernel</text>
+<polygon fill="white" stroke="black" points="204.5,-5239.5 204.5,-5258.5 341.5,-5258.5 341.5,-5239.5 204.5,-5239.5"/>
+<text text-anchor="middle" x="273" y="-5246.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLArithmeticAdditionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node4 -->
 <g id="edge3" class="edge"><title>Node2&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M118.083,-4658.84C118.802,-4787.08 125.547,-5495.87 187,-5567 191.745,-5572.49 197.699,-5576.59 204.242,-5579.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.582,-4658.54 118.032,-4648.56 114.582,-4658.58 121.582,-4658.54"/>
+<path fill="none" stroke="midnightblue" d="M118.083,-4321.84C118.802,-4450.08 125.547,-5158.87 187,-5230 191.745,-5235.49 197.699,-5239.59 204.242,-5242.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.582,-4321.54 118.032,-4311.56 114.582,-4321.58 121.582,-4321.54"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node"><title>Node5</title>
 <g id="a_node5"><a xlink:href="classarm__compute_1_1_c_l_arithmetic_subtraction_kernel.xhtml" target="_top" xlink:title="Interface for the arithmetic subtraction kernel. ">
-<polygon fill="white" stroke="black" points="197.5,-5538.5 197.5,-5557.5 348.5,-5557.5 348.5,-5538.5 197.5,-5538.5"/>
-<text text-anchor="middle" x="273" y="-5545.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLArithmeticSubtractionKernel</text>
+<polygon fill="white" stroke="black" points="197.5,-5201.5 197.5,-5220.5 348.5,-5220.5 348.5,-5201.5 197.5,-5201.5"/>
+<text text-anchor="middle" x="273" y="-5208.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLArithmeticSubtractionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node5 -->
 <g id="edge4" class="edge"><title>Node2&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M118.15,-4658.8C119.274,-4783.86 128.064,-5461 187,-5529 190.268,-5532.77 194.106,-5535.89 198.313,-5538.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.649,-4658.71 118.066,-4648.74 114.649,-4658.77 121.649,-4658.71"/>
+<path fill="none" stroke="midnightblue" d="M118.15,-4321.8C119.274,-4446.86 128.064,-5124 187,-5192 190.268,-5195.77 194.106,-5198.89 198.313,-5201.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.649,-4321.71 118.066,-4311.74 114.649,-4321.77 121.649,-4321.71"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node"><title>Node6</title>
 <g id="a_node6"><a xlink:href="classarm__compute_1_1_c_l_bitwise_and_kernel.xhtml" target="_top" xlink:title="Interface for the bitwise AND operation kernel. ">
-<polygon fill="white" stroke="black" points="219.5,-5500.5 219.5,-5519.5 326.5,-5519.5 326.5,-5500.5 219.5,-5500.5"/>
-<text text-anchor="middle" x="273" y="-5507.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseAndKernel</text>
+<polygon fill="white" stroke="black" points="219.5,-5163.5 219.5,-5182.5 326.5,-5182.5 326.5,-5163.5 219.5,-5163.5"/>
+<text text-anchor="middle" x="273" y="-5170.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseAndKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node6 -->
 <g id="edge5" class="edge"><title>Node2&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M118.221,-4658.7C119.761,-4780.35 130.57,-5426.12 187,-5491 195.236,-5500.47 207.067,-5505.8 219.295,-5508.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.719,-4658.56 118.099,-4648.6 114.72,-4658.65 121.719,-4658.56"/>
+<path fill="none" stroke="midnightblue" d="M118.221,-4321.7C119.761,-4443.35 130.57,-5089.12 187,-5154 195.236,-5163.47 207.067,-5168.8 219.295,-5171.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.719,-4321.56 118.099,-4311.6 114.72,-4321.65 121.719,-4321.56"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node"><title>Node7</title>
 <g id="a_node7"><a xlink:href="classarm__compute_1_1_c_l_bitwise_or_kernel.xhtml" target="_top" xlink:title="Interface for the bitwise OR operation kernel. ">
-<polygon fill="white" stroke="black" points="223,-5462.5 223,-5481.5 323,-5481.5 323,-5462.5 223,-5462.5"/>
-<text text-anchor="middle" x="273" y="-5469.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseOrKernel</text>
+<polygon fill="white" stroke="black" points="223,-5125.5 223,-5144.5 323,-5144.5 323,-5125.5 223,-5125.5"/>
+<text text-anchor="middle" x="273" y="-5132.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseOrKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node7 -->
 <g id="edge6" class="edge"><title>Node2&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M118.303,-4658.92C120.292,-4777.87 133.121,-5391.29 187,-5453 196.05,-5463.37 209.406,-5468.76 222.864,-5471.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.799,-4658.66 118.139,-4648.72 114.8,-4658.78 121.799,-4658.66"/>
+<path fill="none" stroke="midnightblue" d="M118.303,-4321.92C120.292,-4440.87 133.121,-5054.29 187,-5116 196.05,-5126.37 209.406,-5131.76 222.864,-5134.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.799,-4321.66 118.139,-4311.72 114.8,-4321.78 121.799,-4321.66"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node"><title>Node8</title>
 <g id="a_node8"><a xlink:href="classarm__compute_1_1_c_l_bitwise_xor_kernel.xhtml" target="_top" xlink:title="Interface for the bitwise XOR operation kernel. ">
-<polygon fill="white" stroke="black" points="221,-5424.5 221,-5443.5 325,-5443.5 325,-5424.5 221,-5424.5"/>
-<text text-anchor="middle" x="273" y="-5431.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseXorKernel</text>
+<polygon fill="white" stroke="black" points="221,-5087.5 221,-5106.5 325,-5106.5 325,-5087.5 221,-5087.5"/>
+<text text-anchor="middle" x="273" y="-5094.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseXorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node8 -->
 <g id="edge7" class="edge"><title>Node2&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M118.386,-4658.7C120.815,-4773.81 135.602,-5356.37 187,-5415 195.573,-5424.78 207.978,-5430.13 220.674,-5432.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.881,-4658.46 118.178,-4648.53 114.883,-4658.6 121.881,-4658.46"/>
+<path fill="none" stroke="midnightblue" d="M118.386,-4321.7C120.815,-4436.81 135.602,-5019.37 187,-5078 195.573,-5087.78 207.978,-5093.13 220.674,-5095.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.881,-4321.46 118.178,-4311.53 114.883,-4321.6 121.881,-4321.46"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node"><title>Node9</title>
 <g id="a_node9"><a xlink:href="classarm__compute_1_1_c_l_channel_combine_kernel.xhtml" target="_top" xlink:title="Interface for the channel combine kernel. ">
-<polygon fill="white" stroke="black" points="207,-5386.5 207,-5405.5 339,-5405.5 339,-5386.5 207,-5386.5"/>
-<text text-anchor="middle" x="273" y="-5393.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelCombineKernel</text>
+<polygon fill="white" stroke="black" points="207,-5049.5 207,-5068.5 339,-5068.5 339,-5049.5 207,-5049.5"/>
+<text text-anchor="middle" x="273" y="-5056.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelCombineKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node9 -->
 <g id="edge8" class="edge"><title>Node2&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M118.482,-4658.77C121.39,-4770.66 138.125,-5321.5 187,-5377 192.397,-5383.13 199.299,-5387.52 206.831,-5390.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.977,-4658.49 118.225,-4648.58 114.979,-4658.67 121.977,-4658.49"/>
+<path fill="none" stroke="midnightblue" d="M118.482,-4321.77C121.39,-4433.66 138.125,-4984.5 187,-5040 192.397,-5046.13 199.299,-5050.52 206.831,-5053.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.977,-4321.49 118.225,-4311.58 114.979,-4321.67 121.977,-4321.49"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node"><title>Node10</title>
 <g id="a_node10"><a xlink:href="classarm__compute_1_1_c_l_channel_extract_kernel.xhtml" target="_top" xlink:title="Interface for the channel extract kernel. ">
-<polygon fill="white" stroke="black" points="210.5,-5348.5 210.5,-5367.5 335.5,-5367.5 335.5,-5348.5 210.5,-5348.5"/>
-<text text-anchor="middle" x="273" y="-5355.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelExtractKernel</text>
+<polygon fill="white" stroke="black" points="210.5,-5011.5 210.5,-5030.5 335.5,-5030.5 335.5,-5011.5 210.5,-5011.5"/>
+<text text-anchor="middle" x="273" y="-5018.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelExtractKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node10 -->
 <g id="edge9" class="edge"><title>Node2&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M118.588,-4658.76C121.988,-4767.15 140.631,-5286.62 187,-5339 193.214,-5346.02 201.404,-5350.75 210.248,-5353.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.081,-4658.48 118.276,-4648.59 115.084,-4658.69 122.081,-4658.48"/>
+<path fill="none" stroke="midnightblue" d="M118.588,-4321.76C121.988,-4430.15 140.631,-4949.62 187,-5002 193.214,-5009.02 201.404,-5013.75 210.248,-5016.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.081,-4321.48 118.276,-4311.59 115.084,-4321.69 122.081,-4321.48"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node"><title>Node11</title>
 <g id="a_node11"><a xlink:href="classarm__compute_1_1_c_l_col2_im_kernel.xhtml" target="_top" xlink:title="Interface for the col2im reshaping kernel. ">
-<polygon fill="white" stroke="black" points="228.5,-5310.5 228.5,-5329.5 317.5,-5329.5 317.5,-5310.5 228.5,-5310.5"/>
-<text text-anchor="middle" x="273" y="-5317.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLCol2ImKernel</text>
+<polygon fill="white" stroke="black" points="228.5,-4973.5 228.5,-4992.5 317.5,-4992.5 317.5,-4973.5 228.5,-4973.5"/>
+<text text-anchor="middle" x="273" y="-4980.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLCol2ImKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node11 -->
 <g id="edge10" class="edge"><title>Node2&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M118.701,-4658.66C122.61,-4763.27 143.122,-5251.71 187,-5301 197.356,-5312.63 213.138,-5317.98 228.304,-5320.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.195,-4658.42 118.332,-4648.55 115.2,-4658.67 122.195,-4658.42"/>
+<path fill="none" stroke="midnightblue" d="M118.701,-4321.66C122.61,-4426.27 143.122,-4914.71 187,-4964 197.356,-4975.63 213.138,-4980.98 228.304,-4983.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.195,-4321.42 118.332,-4311.55 115.2,-4321.67 122.195,-4321.42"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node"><title>Node12</title>
 <g id="a_node12"><a xlink:href="classarm__compute_1_1_c_l_color_convert_kernel.xhtml" target="_top" xlink:title="Interface for the color convert kernel. ">
-<polygon fill="white" stroke="black" points="215.5,-5272.5 215.5,-5291.5 330.5,-5291.5 330.5,-5272.5 215.5,-5272.5"/>
-<text text-anchor="middle" x="273" y="-5279.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLColorConvertKernel</text>
+<polygon fill="white" stroke="black" points="215.5,-4935.5 215.5,-4954.5 330.5,-4954.5 330.5,-4935.5 215.5,-4935.5"/>
+<text text-anchor="middle" x="273" y="-4942.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLColorConvertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node12 -->
 <g id="edge11" class="edge"><title>Node2&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M118.852,-4659.11C123.349,-4760.96 145.684,-5216.88 187,-5263 194.365,-5271.22 204.442,-5276.3 215.084,-5279.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.342,-4658.79 118.412,-4648.95 115.349,-4659.1 122.342,-4658.79"/>
+<path fill="none" stroke="midnightblue" d="M118.852,-4322.11C123.349,-4423.96 145.684,-4879.88 187,-4926 194.365,-4934.22 204.442,-4939.3 215.084,-4942.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.342,-4321.79 118.412,-4311.95 115.349,-4322.1 122.342,-4321.79"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node"><title>Node13</title>
 <g id="a_node13"><a xlink:href="classarm__compute_1_1_c_l_convolution_layer_weights_reshape_kernel.xhtml" target="_top" xlink:title="Interface for the weights reshape kernel used by convolution and fully connected layers. ">
-<polygon fill="white" stroke="black" points="202.5,-5223 202.5,-5253 343.5,-5253 343.5,-5223 202.5,-5223"/>
-<text text-anchor="start" x="210.5" y="-5241" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionLayerWeights</text>
-<text text-anchor="middle" x="273" y="-5230" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
+<polygon fill="white" stroke="black" points="202.5,-4886 202.5,-4916 343.5,-4916 343.5,-4886 202.5,-4886"/>
+<text text-anchor="start" x="210.5" y="-4904" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionLayerWeights</text>
+<text text-anchor="middle" x="273" y="-4893" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node13 -->
 <g id="edge12" class="edge"><title>Node2&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M117.575,-4658.84C116.03,-4749.89 114.181,-5126.93 187,-5213 191.272,-5218.05 196.507,-5222.11 202.261,-5225.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.079,-4658.63 117.77,-4648.56 114.081,-4658.5 121.079,-4658.63"/>
+<path fill="none" stroke="midnightblue" d="M117.575,-4321.84C116.03,-4412.89 114.181,-4789.93 187,-4876 191.272,-4881.05 196.507,-4885.11 202.261,-4888.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.079,-4321.63 117.77,-4311.56 114.081,-4321.5 121.079,-4321.63"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node"><title>Node14</title>
 <g id="a_node14"><a xlink:href="classarm__compute_1_1_c_l_convolution_rectangle_kernel.xhtml" target="_top" xlink:title="Kernel for the running convolution on a rectangle matrix. ">
-<polygon fill="white" stroke="black" points="196.5,-5184.5 196.5,-5203.5 349.5,-5203.5 349.5,-5184.5 196.5,-5184.5"/>
-<text text-anchor="middle" x="273" y="-5191.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionRectangleKernel</text>
+<polygon fill="white" stroke="black" points="196.5,-4847.5 196.5,-4866.5 349.5,-4866.5 349.5,-4847.5 196.5,-4847.5"/>
+<text text-anchor="middle" x="273" y="-4854.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionRectangleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node14 -->
 <g id="edge13" class="edge"><title>Node2&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M117.637,-4659.02C116.468,-4746.89 116.355,-5097.55 187,-5175 190.465,-5178.8 194.508,-5181.92 198.916,-5184.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.14,-4658.87 117.795,-4648.82 114.14,-4658.76 121.14,-4658.87"/>
+<path fill="none" stroke="midnightblue" d="M117.637,-4322.02C116.468,-4409.89 116.355,-4760.55 187,-4838 190.465,-4841.8 194.508,-4844.92 198.916,-4847.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.14,-4321.87 117.795,-4311.82 114.14,-4321.76 121.14,-4321.87"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node"><title>Node15</title>
 <g id="a_node15"><a xlink:href="classarm__compute_1_1_c_l_copy_to_array_kernel.xhtml" target="_top" xlink:title="CL kernel to copy keypoints information to ICLKeyPointArray and counts the number of key points...">
-<polygon fill="white" stroke="black" points="215.5,-5146.5 215.5,-5165.5 330.5,-5165.5 330.5,-5146.5 215.5,-5146.5"/>
-<text text-anchor="middle" x="273" y="-5153.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLCopyToArrayKernel</text>
+<polygon fill="white" stroke="black" points="215.5,-4809.5 215.5,-4828.5 330.5,-4828.5 330.5,-4809.5 215.5,-4809.5"/>
+<text text-anchor="middle" x="273" y="-4816.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLCopyToArrayKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node15 -->
 <g id="edge14" class="edge"><title>Node2&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M117.856,-4658.64C117.66,-4742.02 121.208,-5065.56 187,-5137 194.478,-5145.12 204.603,-5150.15 215.257,-5153.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.357,-4658.54 117.903,-4648.53 114.357,-4658.51 121.357,-4658.54"/>
+<path fill="none" stroke="midnightblue" d="M117.856,-4321.64C117.66,-4405.02 121.208,-4728.56 187,-4800 194.478,-4808.12 204.603,-4813.15 215.257,-4816.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.357,-4321.54 117.903,-4311.53 114.357,-4321.51 121.357,-4321.54"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node"><title>Node16</title>
 <g id="a_node16"><a xlink:href="classarm__compute_1_1_c_l_derivative_kernel.xhtml" target="_top" xlink:title="Interface for the derivative kernel. ">
-<polygon fill="white" stroke="black" points="222.5,-5108.5 222.5,-5127.5 323.5,-5127.5 323.5,-5108.5 222.5,-5108.5"/>
-<text text-anchor="middle" x="273" y="-5115.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDerivativeKernel</text>
+<polygon fill="white" stroke="black" points="222.5,-4771.5 222.5,-4790.5 323.5,-4790.5 323.5,-4771.5 222.5,-4771.5"/>
+<text text-anchor="middle" x="273" y="-4778.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDerivativeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node16 -->
 <g id="edge15" class="edge"><title>Node2&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M118.105,-4658.65C118.939,-4737.99 126.148,-5033.66 187,-5099 196.172,-5108.85 209.24,-5114.14 222.387,-5116.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.604,-4658.53 118.022,-4648.56 114.604,-4658.59 121.604,-4658.53"/>
+<path fill="none" stroke="midnightblue" d="M118.105,-4321.65C118.939,-4400.99 126.148,-4696.66 187,-4762 196.172,-4771.85 209.24,-4777.14 222.387,-4779.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.604,-4321.53 118.022,-4311.56 114.604,-4321.59 121.604,-4321.53"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node"><title>Node17</title>
 <g id="a_node17"><a xlink:href="classarm__compute_1_1_c_l_edge_non_max_suppression_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform Non&#45;Maxima suppression for Canny Edge. ">
-<polygon fill="white" stroke="black" points="188,-5070.5 188,-5089.5 358,-5089.5 358,-5070.5 188,-5070.5"/>
-<text text-anchor="middle" x="273" y="-5077.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeNonMaxSuppressionKernel</text>
+<polygon fill="white" stroke="black" points="188,-4733.5 188,-4752.5 358,-4752.5 358,-4733.5 188,-4733.5"/>
+<text text-anchor="middle" x="273" y="-4740.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeNonMaxSuppressionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node17 -->
 <g id="edge16" class="edge"><title>Node2&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M118.404,-4658.91C120.349,-4734.42 131.137,-5001.81 187,-5061 190.529,-5064.74 194.619,-5067.82 199.061,-5070.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.893,-4658.42 118.162,-4648.5 114.895,-4658.58 121.893,-4658.42"/>
+<path fill="none" stroke="midnightblue" d="M118.404,-4321.91C120.349,-4397.42 131.137,-4664.81 187,-4724 190.529,-4727.74 194.619,-4730.82 199.061,-4733.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.893,-4321.42 118.162,-4311.5 114.895,-4321.58 121.893,-4321.42"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node"><title>Node18</title>
 <g id="a_node18"><a xlink:href="classarm__compute_1_1_c_l_edge_trace_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform Edge tracing. ">
-<polygon fill="white" stroke="black" points="221,-5032.5 221,-5051.5 325,-5051.5 325,-5032.5 221,-5032.5"/>
-<text text-anchor="middle" x="273" y="-5039.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeTraceKernel</text>
+<polygon fill="white" stroke="black" points="221,-4695.5 221,-4714.5 325,-4714.5 325,-4695.5 221,-4695.5"/>
+<text text-anchor="middle" x="273" y="-4702.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeTraceKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node18 -->
 <g id="edge17" class="edge"><title>Node2&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M118.758,-4658.94C121.874,-4730.05 136.046,-4969.85 187,-5023 195.895,-5032.28 208.254,-5037.49 220.796,-5040.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.244,-4658.54 118.336,-4648.69 115.25,-4658.82 122.244,-4658.54"/>
+<path fill="none" stroke="midnightblue" d="M118.758,-4321.94C121.874,-4393.05 136.046,-4632.85 187,-4686 195.895,-4695.28 208.254,-4700.49 220.796,-4703.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.244,-4321.54 118.336,-4311.69 115.25,-4321.82 122.244,-4321.54"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node"><title>Node19</title>
 <g id="a_node19"><a xlink:href="classarm__compute_1_1_c_l_fast_corners_kernel.xhtml" target="_top" xlink:title="CL kernel to perform fast corners. ">
-<polygon fill="white" stroke="black" points="217.5,-4994.5 217.5,-5013.5 328.5,-5013.5 328.5,-4994.5 217.5,-4994.5"/>
-<text text-anchor="middle" x="273" y="-5001.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFastCornersKernel</text>
+<polygon fill="white" stroke="black" points="217.5,-4657.5 217.5,-4676.5 328.5,-4676.5 328.5,-4657.5 217.5,-4657.5"/>
+<text text-anchor="middle" x="273" y="-4664.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFastCornersKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node19 -->
 <g id="edge18" class="edge"><title>Node2&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M119.196,-4659.08C123.577,-4725.7 140.962,-4937.89 187,-4985 195.137,-4993.33 206.07,-4998.36 217.379,-5001.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.666,-4658.48 118.544,-4648.72 115.679,-4658.92 122.666,-4658.48"/>
+<path fill="none" stroke="midnightblue" d="M119.196,-4322.08C123.577,-4388.7 140.962,-4600.89 187,-4648 195.137,-4656.33 206.07,-4661.36 217.379,-4664.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.666,-4321.48 118.544,-4311.72 115.679,-4321.92 122.666,-4321.48"/>
 </g>
 <!-- Node20 -->
 <g id="node20" class="node"><title>Node20</title>
 <g id="a_node20"><a xlink:href="classarm__compute_1_1_c_l_fill_border_kernel.xhtml" target="_top" xlink:title="Interface for filling the border of a kernel. ">
-<polygon fill="white" stroke="black" points="224,-4956.5 224,-4975.5 322,-4975.5 322,-4956.5 224,-4956.5"/>
-<text text-anchor="middle" x="273" y="-4963.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFillBorderKernel</text>
+<polygon fill="white" stroke="black" points="224,-4619.5 224,-4638.5 322,-4638.5 322,-4619.5 224,-4619.5"/>
+<text text-anchor="middle" x="273" y="-4626.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFillBorderKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node20 -->
 <g id="edge19" class="edge"><title>Node2&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M119.71,-4658.84C125.408,-4720.29 145.765,-4905.78 187,-4947 196.732,-4956.73 210.286,-4961.94 223.714,-4964.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.169,-4658.23 118.789,-4648.58 116.197,-4658.85 123.169,-4658.23"/>
+<path fill="none" stroke="midnightblue" d="M119.71,-4321.84C125.408,-4383.29 145.765,-4568.78 187,-4610 196.732,-4619.73 210.286,-4624.94 223.714,-4627.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.169,-4321.23 118.789,-4311.58 116.197,-4321.85 123.169,-4321.23"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node"><title>Node21</title>
 <g id="a_node21"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_interleave4x4_kernel.xhtml" target="_top" xlink:title="OpenCL kernel which interleaves the elements of a matrix A in chunk of 4x4. ">
-<polygon fill="white" stroke="black" points="200,-4918.5 200,-4937.5 346,-4937.5 346,-4918.5 200,-4918.5"/>
-<text text-anchor="middle" x="273" y="-4925.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMInterleave4x4Kernel</text>
+<polygon fill="white" stroke="black" points="200,-4581.5 200,-4600.5 346,-4600.5 346,-4581.5 200,-4581.5"/>
+<text text-anchor="middle" x="273" y="-4588.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMInterleave4x4Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node21 -->
 <g id="edge20" class="edge"><title>Node2&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M120.348,-4658.57C127.459,-4714.56 150.534,-4873.62 187,-4909 190.907,-4912.79 195.396,-4915.89 200.226,-4918.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.809,-4658.03 119.107,-4648.54 116.862,-4658.89 123.809,-4658.03"/>
+<path fill="none" stroke="midnightblue" d="M120.348,-4321.57C127.459,-4377.56 150.534,-4536.62 187,-4572 190.907,-4575.79 195.396,-4578.89 200.226,-4581.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.809,-4321.03 119.107,-4311.54 116.862,-4321.89 123.809,-4321.03"/>
 </g>
 <!-- Node22 -->
 <g id="node22" class="node"><title>Node22</title>
 <g id="a_node22"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_lowp_matrix_multiply_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to compute low precision matrix multiplication kernel. ">
-<polygon fill="white" stroke="black" points="201,-4869 201,-4899 345,-4899 345,-4869 201,-4869"/>
-<text text-anchor="start" x="209" y="-4887" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMLowpMatrixMultiply</text>
-<text text-anchor="middle" x="273" y="-4876" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="201,-4532 201,-4562 345,-4562 345,-4532 201,-4532"/>
+<text text-anchor="start" x="209" y="-4550" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMLowpMatrixMultiply</text>
+<text text-anchor="middle" x="273" y="-4539" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node22 -->
 <g id="edge21" class="edge"><title>Node2&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M118.218,-4658.84C119.798,-4701.85 129.735,-4804.28 187,-4860 191.066,-4863.96 195.733,-4867.27 200.741,-4870.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.71,-4658.5 117.964,-4648.59 114.713,-4658.67 121.71,-4658.5"/>
+<path fill="none" stroke="midnightblue" d="M118.218,-4321.84C119.798,-4364.85 129.735,-4467.28 187,-4523 191.066,-4526.96 195.733,-4530.27 200.741,-4533.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.71,-4321.5 117.964,-4311.59 114.713,-4321.67 121.71,-4321.5"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node"><title>Node23</title>
 <g id="a_node23"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_matrix_accumulate_biases_kernel.xhtml" target="_top" xlink:title="Interface to add a bias to each row of the input tensor. ">
-<polygon fill="white" stroke="black" points="188.5,-4820 188.5,-4850 357.5,-4850 357.5,-4820 188.5,-4820"/>
-<text text-anchor="start" x="196.5" y="-4838" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAccumulateBiases</text>
-<text text-anchor="middle" x="273" y="-4827" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="188.5,-4483 188.5,-4513 357.5,-4513 357.5,-4483 188.5,-4483"/>
+<text text-anchor="start" x="196.5" y="-4501" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAccumulateBiases</text>
+<text text-anchor="middle" x="273" y="-4490" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node23 -->
 <g id="edge22" class="edge"><title>Node2&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M120.377,-4658.87C125.694,-4694.43 141.852,-4769.05 187,-4810 191.216,-4813.82 195.988,-4817.06 201.069,-4819.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.822,-4658.23 119.009,-4648.79 116.886,-4659.17 123.822,-4658.23"/>
+<path fill="none" stroke="midnightblue" d="M120.377,-4321.87C125.694,-4357.43 141.852,-4432.05 187,-4473 191.216,-4476.82 195.988,-4480.06 201.069,-4482.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.822,-4321.23 119.009,-4311.79 116.886,-4322.17 123.822,-4321.23"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node"><title>Node24</title>
 <g id="a_node24"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_matrix_addition_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform the in&#45;place matrix addition between 2 matrices, taking into account that th...">
-<polygon fill="white" stroke="black" points="198,-4781.5 198,-4800.5 348,-4800.5 348,-4781.5 198,-4781.5"/>
-<text text-anchor="middle" x="273" y="-4788.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAdditionKernel</text>
+<polygon fill="white" stroke="black" points="198,-4444.5 198,-4463.5 348,-4463.5 348,-4444.5 198,-4444.5"/>
+<text text-anchor="middle" x="273" y="-4451.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAdditionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node24 -->
 <g id="edge23" class="edge"><title>Node2&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M122.588,-4658.78C130.484,-4688.22 149.531,-4743.16 187,-4772 192.032,-4775.87 197.701,-4778.99 203.663,-4781.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="125.926,-4657.7 120.093,-4648.86 119.137,-4659.41 125.926,-4657.7"/>
+<path fill="none" stroke="midnightblue" d="M122.588,-4321.78C130.484,-4351.22 149.531,-4406.16 187,-4435 192.032,-4438.87 197.701,-4441.99 203.663,-4444.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="125.926,-4320.7 120.093,-4311.86 119.137,-4322.41 125.926,-4320.7"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node"><title>Node25</title>
 <g id="a_node25"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_matrix_multiply_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to multiply two input matrices &quot;A&quot; and &quot;B&quot; or to multiply a vector &quot;A&quot; by a matrix &quot;B&quot;...">
-<polygon fill="white" stroke="black" points="198.5,-4743.5 198.5,-4762.5 347.5,-4762.5 347.5,-4743.5 198.5,-4743.5"/>
-<text text-anchor="middle" x="273" y="-4750.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixMultiplyKernel</text>
+<polygon fill="white" stroke="black" points="198.5,-4406.5 198.5,-4425.5 347.5,-4425.5 347.5,-4406.5 198.5,-4406.5"/>
+<text text-anchor="middle" x="273" y="-4413.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixMultiplyKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node25 -->
 <g id="edge24" class="edge"><title>Node2&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M126.476,-4657.83C137.31,-4679.66 158.174,-4715.06 187,-4734 192.94,-4737.9 199.564,-4741.01 206.42,-4743.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="129.543,-4656.13 122.091,-4648.59 123.22,-4659.13 129.543,-4656.13"/>
+<path fill="none" stroke="midnightblue" d="M126.476,-4320.83C137.31,-4342.66 158.174,-4378.06 187,-4397 192.94,-4400.9 199.564,-4404.01 206.42,-4406.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="129.543,-4319.13 122.091,-4311.59 123.22,-4322.13 129.543,-4319.13"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node"><title>Node26</title>
 <g id="a_node26"><a xlink:href="classarm__compute_1_1_c_l_gradient_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform Gradient computation. ">
-<polygon fill="white" stroke="black" points="226,-4705.5 226,-4724.5 320,-4724.5 320,-4705.5 226,-4705.5"/>
-<text text-anchor="middle" x="273" y="-4712.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGradientKernel</text>
+<polygon fill="white" stroke="black" points="226,-4368.5 226,-4387.5 320,-4387.5 320,-4368.5 226,-4368.5"/>
+<text text-anchor="middle" x="273" y="-4375.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGradientKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node26 -->
 <g id="edge25" class="edge"><title>Node2&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M134.052,-4656.07C147.114,-4668.95 166.659,-4686.04 187,-4696 198.952,-4701.85 212.731,-4705.92 225.668,-4708.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="136.313,-4653.38 126.807,-4648.7 131.32,-4658.28 136.313,-4653.38"/>
+<path fill="none" stroke="midnightblue" d="M134.052,-4319.07C147.114,-4331.95 166.659,-4349.04 187,-4359 198.952,-4364.85 212.731,-4368.92 225.668,-4371.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="136.313,-4316.38 126.807,-4311.7 131.32,-4321.28 136.313,-4316.38"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node"><title>Node27</title>
 <g id="a_node27"><a xlink:href="classarm__compute_1_1_c_l_harris_score_kernel.xhtml" target="_top" xlink:title="Interface for the harris score kernel. ">
-<polygon fill="white" stroke="black" points="218.5,-4667.5 218.5,-4686.5 327.5,-4686.5 327.5,-4667.5 218.5,-4667.5"/>
-<text text-anchor="middle" x="273" y="-4674.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHarrisScoreKernel</text>
+<polygon fill="white" stroke="black" points="218.5,-4330.5 218.5,-4349.5 327.5,-4349.5 327.5,-4330.5 218.5,-4330.5"/>
+<text text-anchor="middle" x="273" y="-4337.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHarrisScoreKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node27 -->
 <g id="edge26" class="edge"><title>Node2&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M156.995,-4650.09C166.767,-4652.78 177.247,-4655.57 187,-4658 200.058,-4661.26 214.31,-4664.54 227.348,-4667.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="157.698,-4646.66 147.126,-4647.36 155.828,-4653.4 157.698,-4646.66"/>
+<path fill="none" stroke="midnightblue" d="M156.995,-4313.09C166.767,-4315.78 177.247,-4318.57 187,-4321 200.058,-4324.26 214.31,-4327.54 227.348,-4330.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="157.698,-4309.66 147.126,-4310.36 155.828,-4316.4 157.698,-4309.66"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node"><title>Node28</title>
 <g id="a_node28"><a xlink:href="classarm__compute_1_1_c_l_histogram_border_kernel.xhtml" target="_top" xlink:title="Interface to run the histogram kernel to handle the leftover part of image. ">
-<polygon fill="white" stroke="black" points="207.5,-4629.5 207.5,-4648.5 338.5,-4648.5 338.5,-4629.5 207.5,-4629.5"/>
-<text text-anchor="middle" x="273" y="-4636.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramBorderKernel</text>
+<polygon fill="white" stroke="black" points="207.5,-4292.5 207.5,-4311.5 338.5,-4311.5 338.5,-4292.5 207.5,-4292.5"/>
+<text text-anchor="middle" x="273" y="-4299.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramBorderKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node28 -->
 <g id="edge27" class="edge"><title>Node2&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M157.399,-4639C172.604,-4639 190.402,-4639 207.376,-4639"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="157.329,-4635.5 147.329,-4639 157.329,-4642.5 157.329,-4635.5"/>
+<path fill="none" stroke="midnightblue" d="M157.399,-4302C172.604,-4302 190.402,-4302 207.376,-4302"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="157.329,-4298.5 147.329,-4302 157.329,-4305.5 157.329,-4298.5"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node"><title>Node29</title>
 <g id="a_node29"><a xlink:href="classarm__compute_1_1_c_l_histogram_kernel.xhtml" target="_top" xlink:title="Interface to run the histogram kernel. ">
-<polygon fill="white" stroke="black" points="222,-4591.5 222,-4610.5 324,-4610.5 324,-4591.5 222,-4591.5"/>
-<text text-anchor="middle" x="273" y="-4598.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramKernel</text>
+<polygon fill="white" stroke="black" points="222,-4254.5 222,-4273.5 324,-4273.5 324,-4254.5 222,-4254.5"/>
+<text text-anchor="middle" x="273" y="-4261.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node29 -->
 <g id="edge28" class="edge"><title>Node2&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M156.995,-4627.91C166.767,-4625.22 177.247,-4622.43 187,-4620 200.058,-4616.74 214.31,-4613.46 227.348,-4610.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="155.828,-4624.6 147.126,-4630.64 157.698,-4631.34 155.828,-4624.6"/>
+<path fill="none" stroke="midnightblue" d="M156.995,-4290.91C166.767,-4288.22 177.247,-4285.43 187,-4283 200.058,-4279.74 214.31,-4276.46 227.348,-4273.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="155.828,-4287.6 147.126,-4293.64 157.698,-4294.34 155.828,-4287.6"/>
 </g>
 <!-- Node30 -->
 <g id="node30" class="node"><title>Node30</title>
 <g id="a_node30"><a xlink:href="classarm__compute_1_1_c_l_im2_col_kernel.xhtml" target="_top" xlink:title="Interface for the im2col reshape kernel. ">
-<polygon fill="white" stroke="black" points="228.5,-4553.5 228.5,-4572.5 317.5,-4572.5 317.5,-4553.5 228.5,-4553.5"/>
-<text text-anchor="middle" x="273" y="-4560.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIm2ColKernel</text>
+<polygon fill="white" stroke="black" points="228.5,-4216.5 228.5,-4235.5 317.5,-4235.5 317.5,-4216.5 228.5,-4216.5"/>
+<text text-anchor="middle" x="273" y="-4223.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIm2ColKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node30 -->
 <g id="edge29" class="edge"><title>Node2&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M134.052,-4621.93C147.114,-4609.05 166.659,-4591.96 187,-4582 199.767,-4575.75 214.618,-4571.53 228.302,-4568.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="131.32,-4619.72 126.807,-4629.3 136.313,-4624.62 131.32,-4619.72"/>
+<path fill="none" stroke="midnightblue" d="M134.052,-4284.93C147.114,-4272.05 166.659,-4254.96 187,-4245 199.767,-4238.75 214.618,-4234.53 228.302,-4231.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="131.32,-4282.72 126.807,-4292.3 136.313,-4287.62 131.32,-4282.72"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node"><title>Node31</title>
 <g id="a_node31"><a xlink:href="classarm__compute_1_1_c_l_integral_image_vert_kernel.xhtml" target="_top" xlink:title="Interface to run the vertical pass of the integral image kernel. ">
-<polygon fill="white" stroke="black" points="206,-4515.5 206,-4534.5 340,-4534.5 340,-4515.5 206,-4515.5"/>
-<text text-anchor="middle" x="273" y="-4522.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageVertKernel</text>
+<polygon fill="white" stroke="black" points="206,-4178.5 206,-4197.5 340,-4197.5 340,-4178.5 206,-4178.5"/>
+<text text-anchor="middle" x="273" y="-4185.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageVertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node31 -->
 <g id="edge30" class="edge"><title>Node2&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M126.476,-4620.17C137.31,-4598.34 158.174,-4562.94 187,-4544 192.94,-4540.1 199.564,-4536.99 206.42,-4534.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.22,-4618.87 122.091,-4629.41 129.543,-4621.87 123.22,-4618.87"/>
+<path fill="none" stroke="midnightblue" d="M126.476,-4283.17C137.31,-4261.34 158.174,-4225.94 187,-4207 192.94,-4203.1 199.564,-4199.99 206.42,-4197.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.22,-4281.87 122.091,-4292.41 129.543,-4284.87 123.22,-4281.87"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node"><title>Node32</title>
 <g id="a_node32"><a xlink:href="classarm__compute_1_1_c_l_l_k_tracker_finalize_kernel.xhtml" target="_top" xlink:title="Interface to run the finalize step of LKTracker, where it truncates the coordinates stored in new_poi...">
-<polygon fill="white" stroke="black" points="205,-4477.5 205,-4496.5 341,-4496.5 341,-4477.5 205,-4477.5"/>
-<text text-anchor="middle" x="273" y="-4484.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerFinalizeKernel</text>
+<polygon fill="white" stroke="black" points="205,-4140.5 205,-4159.5 341,-4159.5 341,-4140.5 205,-4140.5"/>
+<text text-anchor="middle" x="273" y="-4147.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerFinalizeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node32 -->
 <g id="edge31" class="edge"><title>Node2&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M122.588,-4619.22C130.484,-4589.78 149.531,-4534.84 187,-4506 192.392,-4501.85 198.515,-4498.57 204.945,-4495.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="119.137,-4618.59 120.093,-4629.14 125.926,-4620.3 119.137,-4618.59"/>
+<path fill="none" stroke="midnightblue" d="M122.588,-4282.22C130.484,-4252.78 149.531,-4197.84 187,-4169 192.392,-4164.85 198.515,-4161.57 204.945,-4158.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="119.137,-4281.59 120.093,-4292.14 125.926,-4283.3 119.137,-4281.59"/>
 </g>
 <!-- Node33 -->
 <g id="node33" class="node"><title>Node33</title>
 <g id="a_node33"><a xlink:href="classarm__compute_1_1_c_l_l_k_tracker_init_kernel.xhtml" target="_top" xlink:title="Interface to run the initialization step of LKTracker. ">
-<polygon fill="white" stroke="black" points="215,-4439.5 215,-4458.5 331,-4458.5 331,-4439.5 215,-4439.5"/>
-<text text-anchor="middle" x="273" y="-4446.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerInitKernel</text>
+<polygon fill="white" stroke="black" points="215,-4102.5 215,-4121.5 331,-4121.5 331,-4102.5 215,-4102.5"/>
+<text text-anchor="middle" x="273" y="-4109.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerInitKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node33 -->
 <g id="edge32" class="edge"><title>Node2&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M120.046,-4619.34C124.866,-4583.51 140.303,-4507.62 187,-4468 194.956,-4461.25 204.798,-4456.76 214.932,-4453.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="116.547,-4619.13 118.828,-4629.47 123.497,-4619.96 116.547,-4619.13"/>
+<path fill="none" stroke="midnightblue" d="M120.046,-4282.34C124.866,-4246.51 140.303,-4170.62 187,-4131 194.956,-4124.25 204.798,-4119.76 214.932,-4116.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="116.547,-4282.13 118.828,-4292.47 123.497,-4282.96 116.547,-4282.13"/>
 </g>
 <!-- Node34 -->
 <g id="node34" class="node"><title>Node34</title>
 <g id="a_node34"><a xlink:href="classarm__compute_1_1_c_l_l_k_tracker_stage0_kernel.xhtml" target="_top" xlink:title="Interface to run the first stage of LKTracker, where A11, A12, A22, min_eig, ival, ixval and iyval are computed. ">
-<polygon fill="white" stroke="black" points="206.5,-4401.5 206.5,-4420.5 339.5,-4420.5 339.5,-4401.5 206.5,-4401.5"/>
-<text text-anchor="middle" x="273" y="-4408.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage0Kernel</text>
+<polygon fill="white" stroke="black" points="206.5,-4064.5 206.5,-4083.5 339.5,-4083.5 339.5,-4064.5 206.5,-4064.5"/>
+<text text-anchor="middle" x="273" y="-4071.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage0Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node34 -->
 <g id="edge33" class="edge"><title>Node2&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M118.402,-4619.14C120.374,-4577.49 131.081,-4480.64 187,-4430 192.604,-4424.92 199.261,-4421.11 206.347,-4418.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.897,-4619.23 118.047,-4629.34 121.892,-4619.47 114.897,-4619.23"/>
+<path fill="none" stroke="midnightblue" d="M118.402,-4282.14C120.374,-4240.49 131.081,-4143.64 187,-4093 192.604,-4087.92 199.261,-4084.11 206.347,-4081.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.897,-4282.23 118.047,-4292.34 121.892,-4282.47 114.897,-4282.23"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node"><title>Node35</title>
 <g id="a_node35"><a xlink:href="classarm__compute_1_1_c_l_l_k_tracker_stage1_kernel.xhtml" target="_top" xlink:title="Interface to run the second stage of LKTracker, where the motion vectors of the given points are comp...">
-<polygon fill="white" stroke="black" points="206.5,-4363.5 206.5,-4382.5 339.5,-4382.5 339.5,-4363.5 206.5,-4363.5"/>
-<text text-anchor="middle" x="273" y="-4370.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage1Kernel</text>
+<polygon fill="white" stroke="black" points="206.5,-4026.5 206.5,-4045.5 339.5,-4045.5 339.5,-4026.5 206.5,-4026.5"/>
+<text text-anchor="middle" x="273" y="-4033.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage1Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node35 -->
 <g id="edge34" class="edge"><title>Node2&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M117.215,-4619.47C116.475,-4572.82 121.505,-4454.14 187,-4392 192.485,-4386.8 199.069,-4382.9 206.115,-4380"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="113.716,-4619.57 117.484,-4629.47 120.713,-4619.38 113.716,-4619.57"/>
+<path fill="none" stroke="midnightblue" d="M117.215,-4282.47C116.475,-4235.82 121.505,-4117.14 187,-4055 192.485,-4049.8 199.069,-4045.9 206.115,-4043"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="113.716,-4282.57 117.484,-4292.47 120.713,-4282.38 113.716,-4282.57"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node"><title>Node36</title>
 <g id="a_node36"><a xlink:href="classarm__compute_1_1_c_l_logits1_d_norm_kernel.xhtml" target="_top" xlink:title="Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by...">
-<polygon fill="white" stroke="black" points="213,-4325.5 213,-4344.5 333,-4344.5 333,-4325.5 213,-4325.5"/>
-<text text-anchor="middle" x="273" y="-4332.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DNormKernel</text>
+<polygon fill="white" stroke="black" points="213,-3988.5 213,-4007.5 333,-4007.5 333,-3988.5 213,-3988.5"/>
+<text text-anchor="middle" x="273" y="-3995.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DNormKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node36 -->
 <g id="edge35" class="edge"><title>Node2&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M120.101,-4619.11C126.67,-4560.74 148.701,-4391.63 187,-4354 194.119,-4347.01 203.217,-4342.35 212.8,-4339.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="116.602,-4618.92 118.993,-4629.24 123.56,-4619.68 116.602,-4618.92"/>
+<path fill="none" stroke="midnightblue" d="M120.101,-4282.11C126.67,-4223.74 148.701,-4054.63 187,-4017 194.119,-4010.01 203.217,-4005.35 212.8,-4002.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="116.602,-4281.92 118.993,-4292.24 123.56,-4282.68 116.602,-4281.92"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node"><title>Node37</title>
 <g id="a_node37"><a xlink:href="classarm__compute_1_1_c_l_logits1_d_shift_exp_sum_kernel.xhtml" target="_top" xlink:title="Interface for shifting the logits values around the max value and exponentiating the result...">
-<polygon fill="white" stroke="black" points="196,-4287.5 196,-4306.5 350,-4306.5 350,-4287.5 196,-4287.5"/>
-<text text-anchor="middle" x="273" y="-4294.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DShiftExpSumKernel</text>
+<polygon fill="white" stroke="black" points="196,-3950.5 196,-3969.5 350,-3969.5 350,-3950.5 196,-3950.5"/>
+<text text-anchor="middle" x="273" y="-3957.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DShiftExpSumKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node37 -->
 <g id="edge36" class="edge"><title>Node2&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M119.497,-4619.02C124.669,-4555.46 143.881,-4359.53 187,-4316 190.725,-4312.24 195.019,-4309.15 199.659,-4306.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.985,-4619.04 118.692,-4629.28 122.964,-4619.59 115.985,-4619.04"/>
+<path fill="none" stroke="midnightblue" d="M119.497,-4282.02C124.669,-4218.46 143.881,-4022.53 187,-3979 190.725,-3975.24 195.019,-3972.15 199.659,-3969.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.985,-4282.04 118.692,-4292.28 122.964,-4282.59 115.985,-4282.04"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node"><title>Node38</title>
 <g id="a_node38"><a xlink:href="classarm__compute_1_1_c_l_magnitude_phase_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute magnitude and phase. ">
-<polygon fill="white" stroke="black" points="208,-4249.5 208,-4268.5 338,-4268.5 338,-4249.5 208,-4249.5"/>
-<text text-anchor="middle" x="273" y="-4256.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMagnitudePhaseKernel</text>
+<polygon fill="white" stroke="black" points="208,-3912.5 208,-3931.5 338,-3931.5 338,-3912.5 208,-3912.5"/>
+<text text-anchor="middle" x="273" y="-3919.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMagnitudePhaseKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node38 -->
 <g id="edge37" class="edge"><title>Node2&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M119.014,-4618.94C122.888,-4550.47 139.033,-4327.48 187,-4278 192.789,-4272.03 200.014,-4267.75 207.79,-4264.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.504,-4619.04 118.461,-4629.21 122.494,-4619.41 115.504,-4619.04"/>
+<path fill="none" stroke="midnightblue" d="M119.014,-4281.94C122.888,-4213.47 139.033,-3990.48 187,-3941 192.789,-3935.03 200.014,-3930.75 207.79,-3927.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.504,-4282.04 118.461,-4292.21 122.494,-4282.41 115.504,-4282.04"/>
 </g>
 <!-- Node39 -->
 <g id="node39" class="node"><title>Node39</title>
 <g id="a_node39"><a xlink:href="classarm__compute_1_1_c_l_mean_std_dev_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to calculate mean and standard deviation of input image pixels. ">
-<polygon fill="white" stroke="black" points="216,-4211.5 216,-4230.5 330,-4230.5 330,-4211.5 216,-4211.5"/>
-<text text-anchor="middle" x="273" y="-4218.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMeanStdDevKernel</text>
+<polygon fill="white" stroke="black" points="216,-3874.5 216,-3893.5 330,-3893.5 330,-3874.5 216,-3874.5"/>
+<text text-anchor="middle" x="273" y="-3881.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMeanStdDevKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node39 -->
 <g id="edge38" class="edge"><title>Node2&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M118.605,-4619.22C121.237,-4546.55 134.074,-4295.57 187,-4240 194.717,-4231.9 205.075,-4226.89 215.903,-4223.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.104,-4619.19 118.265,-4629.3 122.1,-4619.42 115.104,-4619.19"/>
+<path fill="none" stroke="midnightblue" d="M118.605,-4282.22C121.237,-4209.55 134.074,-3958.57 187,-3903 194.717,-3894.9 205.075,-3889.89 215.903,-3886.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.104,-4282.19 118.265,-4292.3 122.1,-4282.42 115.104,-4282.19"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node"><title>Node40</title>
 <g id="a_node40"><a xlink:href="classarm__compute_1_1_c_l_min_max_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform min max search on an image. ">
-<polygon fill="white" stroke="black" points="227,-4173.5 227,-4192.5 319,-4192.5 319,-4173.5 227,-4173.5"/>
-<text text-anchor="middle" x="273" y="-4180.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxKernel</text>
+<polygon fill="white" stroke="black" points="227,-3836.5 227,-3855.5 319,-3855.5 319,-3836.5 227,-3836.5"/>
+<text text-anchor="middle" x="273" y="-3843.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node40 -->
 <g id="edge39" class="edge"><title>Node2&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M118.285,-4618.87C119.803,-4541.35 129.252,-4263.53 187,-4202 197.245,-4191.08 212.278,-4185.77 226.864,-4183.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.781,-4619.1 118.109,-4629.16 121.78,-4619.22 114.781,-4619.1"/>
+<path fill="none" stroke="midnightblue" d="M118.285,-4281.87C119.803,-4204.35 129.252,-3926.53 187,-3865 197.245,-3854.08 212.278,-3848.77 226.864,-3846.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.781,-4282.1 118.109,-4292.16 121.78,-4282.22 114.781,-4282.1"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node"><title>Node41</title>
 <g id="a_node41"><a xlink:href="classarm__compute_1_1_c_l_min_max_location_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to find min max locations of an image. ">
-<polygon fill="white" stroke="black" points="209,-4135.5 209,-4154.5 337,-4154.5 337,-4135.5 209,-4135.5"/>
-<text text-anchor="middle" x="273" y="-4142.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxLocationKernel</text>
+<polygon fill="white" stroke="black" points="209,-3798.5 209,-3817.5 337,-3817.5 337,-3798.5 209,-3798.5"/>
+<text text-anchor="middle" x="273" y="-3805.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxLocationKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node41 -->
 <g id="edge40" class="edge"><title>Node2&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M118.005,-4618.72C118.453,-4536.81 124.363,-4231.56 187,-4164 192.963,-4157.57 200.586,-4153.08 208.813,-4149.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.504,-4619.12 117.973,-4629.13 121.504,-4619.14 114.504,-4619.12"/>
+<path fill="none" stroke="midnightblue" d="M118.005,-4281.72C118.453,-4199.81 124.363,-3894.56 187,-3827 192.963,-3820.57 200.586,-3816.08 208.813,-3812.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.504,-4282.12 117.973,-4292.13 121.504,-4282.14 114.504,-4282.12"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node"><title>Node42</title>
 <g id="a_node42"><a xlink:href="classarm__compute_1_1_c_l_normalization_layer_kernel.xhtml" target="_top" xlink:title="Interface for the normalization layer kernel. ">
-<polygon fill="white" stroke="black" points="202.5,-4097.5 202.5,-4116.5 343.5,-4116.5 343.5,-4097.5 202.5,-4097.5"/>
-<text text-anchor="middle" x="273" y="-4104.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNormalizationLayerKernel</text>
+<polygon fill="white" stroke="black" points="202.5,-3760.5 202.5,-3779.5 343.5,-3779.5 343.5,-3760.5 202.5,-3760.5"/>
+<text text-anchor="middle" x="273" y="-3767.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNormalizationLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node42 -->
 <g id="edge41" class="edge"><title>Node2&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M117.766,-4619.03C117.185,-4533.59 119.34,-4199.76 187,-4126 191.293,-4121.32 196.465,-4117.66 202.113,-4114.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.267,-4619.22 117.857,-4629.19 121.267,-4619.16 114.267,-4619.22"/>
+<path fill="none" stroke="midnightblue" d="M117.766,-4282.03C117.185,-4196.59 119.34,-3862.76 187,-3789 191.293,-3784.32 196.465,-3780.66 202.113,-3777.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.267,-4282.22 117.857,-4292.19 121.267,-4282.16 114.267,-4282.22"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node"><title>Node43</title>
 <g id="a_node43"><a xlink:href="classarm__compute_1_1_c_l_pixel_wise_multiplication_kernel.xhtml" target="_top" xlink:title="Interface for the pixelwise multiplication kernel. ">
-<polygon fill="white" stroke="black" points="207.5,-4048 207.5,-4078 338.5,-4078 338.5,-4048 207.5,-4048"/>
-<text text-anchor="start" x="215.5" y="-4066" font-family="Helvetica,sans-Serif" font-size="10.00">CLPixelWiseMultiplication</text>
-<text text-anchor="middle" x="273" y="-4055" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="207.5,-3711 207.5,-3741 338.5,-3741 338.5,-3711 207.5,-3711"/>
+<text text-anchor="start" x="215.5" y="-3729" font-family="Helvetica,sans-Serif" font-size="10.00">CLPixelWiseMultiplication</text>
+<text text-anchor="middle" x="273" y="-3718" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node43 -->
 <g id="edge42" class="edge"><title>Node2&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M117.689,-4619.39C116.685,-4530.98 117.002,-4170.32 187,-4088 192.48,-4081.55 199.529,-4076.73 207.22,-4073.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.189,-4619.44 117.822,-4629.4 121.188,-4619.35 114.189,-4619.44"/>
+<path fill="none" stroke="midnightblue" d="M117.689,-4282.39C116.685,-4193.98 117.002,-3833.32 187,-3751 192.48,-3744.55 199.529,-3739.73 207.22,-3736.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.189,-4282.44 117.822,-4292.4 121.188,-4282.35 114.189,-4282.44"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node"><title>Node44</title>
 <g id="a_node44"><a xlink:href="classarm__compute_1_1_c_l_pooling_layer_kernel.xhtml" target="_top" xlink:title="Interface for the pooling layer kernel. ">
-<polygon fill="white" stroke="black" points="216.5,-4009.5 216.5,-4028.5 329.5,-4028.5 329.5,-4009.5 216.5,-4009.5"/>
-<text text-anchor="middle" x="273" y="-4016.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLPoolingLayerKernel</text>
+<polygon fill="white" stroke="black" points="216.5,-3672.5 216.5,-3691.5 329.5,-3691.5 329.5,-3672.5 216.5,-3672.5"/>
+<text text-anchor="middle" x="273" y="-3679.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLPoolingLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node44 -->
 <g id="edge43" class="edge"><title>Node2&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M118.932,-4619.37C123.784,-4520.88 147.445,-4083.46 187,-4039 194.658,-4030.39 205.261,-4025.13 216.385,-4021.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.433,-4619.27 118.445,-4629.43 122.425,-4619.61 115.433,-4619.27"/>
+<path fill="none" stroke="midnightblue" d="M118.932,-4282.37C123.784,-4183.88 147.445,-3746.46 187,-3702 194.658,-3693.39 205.261,-3688.13 216.385,-3684.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.433,-4282.27 118.445,-4292.43 122.425,-4282.61 115.433,-4282.27"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node"><title>Node45</title>
 <g id="a_node45"><a xlink:href="classarm__compute_1_1_c_l_remap_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform a remap on a tensor. ">
-<polygon fill="white" stroke="black" points="228.5,-3971.5 228.5,-3990.5 317.5,-3990.5 317.5,-3971.5 228.5,-3971.5"/>
-<text text-anchor="middle" x="273" y="-3978.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLRemapKernel</text>
+<polygon fill="white" stroke="black" points="228.5,-3634.5 228.5,-3653.5 317.5,-3653.5 317.5,-3634.5 228.5,-3634.5"/>
+<text text-anchor="middle" x="273" y="-3641.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLRemapKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node45 -->
 <g id="edge44" class="edge"><title>Node2&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M118.79,-4619.07C123.051,-4516.1 144.674,-4047.37 187,-4000 197.377,-3988.39 213.164,-3983.04 228.327,-3980.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.284,-4619.16 118.375,-4629.3 122.278,-4619.45 115.284,-4619.16"/>
+<path fill="none" stroke="midnightblue" d="M118.79,-4282.07C123.051,-4179.1 144.674,-3710.37 187,-3663 197.377,-3651.39 213.164,-3646.04 228.327,-3643.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.284,-4282.16 118.375,-4292.3 122.278,-4282.45 115.284,-4282.16"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node"><title>Node46</title>
 <g id="a_node46"><a xlink:href="classarm__compute_1_1_c_l_scharr3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Scharr filter on a tensor. ">
-<polygon fill="white" stroke="black" points="222.5,-3933.5 222.5,-3952.5 323.5,-3952.5 323.5,-3933.5 222.5,-3933.5"/>
-<text text-anchor="middle" x="273" y="-3940.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScharr3x3Kernel</text>
+<polygon fill="white" stroke="black" points="222.5,-3596.5 222.5,-3615.5 323.5,-3615.5 323.5,-3596.5 222.5,-3596.5"/>
+<text text-anchor="middle" x="273" y="-3603.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScharr3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node46 -->
 <g id="edge45" class="edge"><title>Node2&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M118.658,-4619.22C122.37,-4512.94 142.15,-4012.5 187,-3962 195.937,-3951.94 208.933,-3946.58 222.086,-3943.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.16,-4619.12 118.316,-4629.23 122.156,-4619.36 115.16,-4619.12"/>
+<path fill="none" stroke="midnightblue" d="M118.658,-4282.22C122.37,-4175.94 142.15,-3675.5 187,-3625 195.937,-3614.94 208.933,-3609.58 222.086,-3606.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.16,-4282.12 118.316,-4292.23 122.156,-4282.36 115.16,-4282.12"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node"><title>Node47</title>
 <g id="a_node47"><a xlink:href="classarm__compute_1_1_c_l_sobel3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="224,-3895.5 224,-3914.5 322,-3914.5 322,-3895.5 224,-3895.5"/>
-<text text-anchor="middle" x="273" y="-3902.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel3x3Kernel</text>
+<polygon fill="white" stroke="black" points="224,-3558.5 224,-3577.5 322,-3577.5 322,-3558.5 224,-3558.5"/>
+<text text-anchor="middle" x="273" y="-3565.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node47 -->
 <g id="edge46" class="edge"><title>Node2&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M118.547,-4619.17C121.756,-4509.23 139.652,-3977.6 187,-3924 196.31,-3913.46 210.074,-3908.07 223.826,-3905.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.04,-4619.37 118.254,-4629.46 122.037,-4619.57 115.04,-4619.37"/>
+<path fill="none" stroke="midnightblue" d="M118.547,-4282.17C121.756,-4172.23 139.652,-3640.6 187,-3587 196.31,-3576.46 210.074,-3571.07 223.826,-3568.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.04,-4282.37 118.254,-4292.46 122.037,-4282.57 115.04,-4282.37"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node"><title>Node48</title>
 <g id="a_node48"><a xlink:href="classarm__compute_1_1_c_l_sobel5x5_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="216.5,-3857.5 216.5,-3876.5 329.5,-3876.5 329.5,-3857.5 216.5,-3857.5"/>
-<text text-anchor="middle" x="273" y="-3864.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5HorKernel</text>
+<polygon fill="white" stroke="black" points="216.5,-3520.5 216.5,-3539.5 329.5,-3539.5 329.5,-3520.5 216.5,-3520.5"/>
+<text text-anchor="middle" x="273" y="-3527.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5HorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node48 -->
 <g id="edge47" class="edge"><title>Node2&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M118.445,-4619.19C121.166,-4505.85 137.14,-3942.72 187,-3886 194.587,-3877.37 205.161,-3872.19 216.28,-3869.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.939,-4619.41 118.205,-4629.49 121.937,-4619.57 114.939,-4619.41"/>
+<path fill="none" stroke="midnightblue" d="M118.445,-4282.19C121.166,-4168.85 137.14,-3605.72 187,-3549 194.587,-3540.37 205.161,-3535.19 216.28,-3532.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.939,-4282.41 118.205,-4292.49 121.937,-4282.57 114.939,-4282.41"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node"><title>Node49</title>
 <g id="a_node49"><a xlink:href="classarm__compute_1_1_c_l_sobel5x5_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 5x5 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="215,-3819.5 215,-3838.5 331,-3838.5 331,-3819.5 215,-3819.5"/>
-<text text-anchor="middle" x="273" y="-3826.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5VertKernel</text>
+<polygon fill="white" stroke="black" points="215,-3482.5 215,-3501.5 331,-3501.5 331,-3482.5 215,-3482.5"/>
+<text text-anchor="middle" x="273" y="-3489.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5VertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node49 -->
 <g id="edge48" class="edge"><title>Node2&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M118.351,-4619.28C120.601,-4502.79 134.614,-3907.86 187,-3848 194.27,-3839.69 204.305,-3834.58 214.938,-3831.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.852,-4619.22 118.164,-4629.28 121.85,-4619.35 114.852,-4619.22"/>
+<path fill="none" stroke="midnightblue" d="M118.351,-4282.28C120.601,-4165.79 134.614,-3570.86 187,-3511 194.27,-3502.69 204.305,-3497.58 214.938,-3494.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.852,-4282.22 118.164,-4292.28 121.85,-4282.35 114.852,-4282.22"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node"><title>Node50</title>
 <g id="a_node50"><a xlink:href="classarm__compute_1_1_c_l_sobel7x7_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="216.5,-3781.5 216.5,-3800.5 329.5,-3800.5 329.5,-3781.5 216.5,-3781.5"/>
-<text text-anchor="middle" x="273" y="-3788.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7HorKernel</text>
+<polygon fill="white" stroke="black" points="216.5,-3444.5 216.5,-3463.5 329.5,-3463.5 329.5,-3444.5 216.5,-3444.5"/>
+<text text-anchor="middle" x="273" y="-3451.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7HorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node50 -->
 <g id="edge49" class="edge"><title>Node2&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M118.271,-4619.09C120.084,-4498.88 132.125,-3872.95 187,-3810 194.551,-3801.34 205.111,-3796.14 216.226,-3793.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.767,-4619.33 118.122,-4629.38 121.766,-4619.43 114.767,-4619.33"/>
+<path fill="none" stroke="midnightblue" d="M118.271,-4282.09C120.084,-4161.88 132.125,-3535.95 187,-3473 194.551,-3464.34 205.111,-3459.14 216.226,-3456.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.767,-4282.33 118.122,-4292.38 121.766,-4282.43 114.767,-4282.33"/>
 </g>
 <!-- Node51 -->
 <g id="node51" class="node"><title>Node51</title>
 <g id="a_node51"><a xlink:href="classarm__compute_1_1_c_l_sobel7x7_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 7x7 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="215,-3743.5 215,-3762.5 331,-3762.5 331,-3743.5 215,-3743.5"/>
-<text text-anchor="middle" x="273" y="-3750.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7VertKernel</text>
+<polygon fill="white" stroke="black" points="215,-3406.5 215,-3425.5 331,-3425.5 331,-3406.5 215,-3406.5"/>
+<text text-anchor="middle" x="273" y="-3413.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7VertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node51 -->
 <g id="edge50" class="edge"><title>Node2&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M118.195,-4618.95C119.583,-4495.17 129.628,-3838.06 187,-3772 194.238,-3763.67 204.26,-3758.54 214.89,-3755.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.693,-4619.19 118.087,-4629.23 121.692,-4619.26 114.693,-4619.19"/>
+<path fill="none" stroke="midnightblue" d="M118.195,-4281.95C119.583,-4158.17 129.628,-3501.06 187,-3435 194.238,-3426.67 204.26,-3421.54 214.89,-3418.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.693,-4282.19 118.087,-4292.23 121.692,-4282.26 114.693,-4282.19"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node"><title>Node52</title>
 <g id="a_node52"><a xlink:href="classarm__compute_1_1_i_c_l_simple_kernel.xhtml" target="_top" xlink:title="Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. ">
-<polygon fill="white" stroke="black" points="228,-3705.5 228,-3724.5 318,-3724.5 318,-3705.5 228,-3705.5"/>
-<text text-anchor="middle" x="273" y="-3712.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimpleKernel</text>
+<polygon fill="white" stroke="black" points="228,-3368.5 228,-3387.5 318,-3387.5 318,-3368.5 228,-3368.5"/>
+<text text-anchor="middle" x="273" y="-3375.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimpleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node52 -->
 <g id="edge51" class="edge"><title>Node2&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M118.122,-4619.26C119.082,-4493.14 127.059,-3803.25 187,-3734 197.094,-3722.34 212.639,-3716.95 227.688,-3714.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.622,-4619.36 118.052,-4629.39 121.621,-4619.41 114.622,-4619.36"/>
+<path fill="none" stroke="midnightblue" d="M118.122,-4282.26C119.082,-4156.14 127.059,-3466.25 187,-3397 197.094,-3385.34 212.639,-3379.95 227.688,-3377.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.622,-4282.36 118.052,-4292.39 121.621,-4282.41 114.622,-4282.36"/>
 </g>
 <!-- Node53 -->
 <g id="node53" class="node"><title>Node53</title>
 <g id="a_node53"><a xlink:href="classarm__compute_1_1_c_l_gaussian_pyramid_hor_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform a Gaussian filter and half scaling across width (horizontal pass) ...">
-<polygon fill="white" stroke="black" points="397.5,-3762.5 397.5,-3781.5 547.5,-3781.5 547.5,-3762.5 397.5,-3762.5"/>
-<text text-anchor="middle" x="472.5" y="-3769.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidHorKernel</text>
+<polygon fill="white" stroke="black" points="397.5,-3425.5 397.5,-3444.5 547.5,-3444.5 547.5,-3425.5 397.5,-3425.5"/>
+<text text-anchor="middle" x="472.5" y="-3432.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidHorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node52&#45;&gt;Node53 -->
 <g id="edge52" class="edge"><title>Node52&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M328.148,-3724.84C338.533,-3727.36 349.214,-3730.4 359,-3734 375.978,-3740.25 378.097,-3746.55 395,-3753 404.589,-3756.66 415.126,-3759.8 425.232,-3762.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="328.851,-3721.41 318.322,-3722.58 327.284,-3728.23 328.851,-3721.41"/>
+<path fill="none" stroke="midnightblue" d="M328.148,-3387.84C338.533,-3390.36 349.214,-3393.4 359,-3397 375.978,-3403.25 378.097,-3409.55 395,-3416 404.589,-3419.66 415.126,-3422.8 425.232,-3425.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="328.851,-3384.41 318.322,-3385.58 327.284,-3391.23 328.851,-3384.41"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node"><title>Node54</title>
 <g id="a_node54"><a xlink:href="classarm__compute_1_1_c_l_gaussian_pyramid_vert_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform a Gaussian filter and half scaling across height (vertical pass) ...">
-<polygon fill="white" stroke="black" points="396.5,-3724.5 396.5,-3743.5 548.5,-3743.5 548.5,-3724.5 396.5,-3724.5"/>
-<text text-anchor="middle" x="472.5" y="-3731.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidVertKernel</text>
+<polygon fill="white" stroke="black" points="396.5,-3387.5 396.5,-3406.5 548.5,-3406.5 548.5,-3387.5 396.5,-3387.5"/>
+<text text-anchor="middle" x="472.5" y="-3394.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidVertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node52&#45;&gt;Node54 -->
 <g id="edge53" class="edge"><title>Node52&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M328.331,-3720.23C349.318,-3722.25 373.686,-3724.59 396.303,-3726.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="328.612,-3716.74 318.323,-3719.26 327.942,-3723.71 328.612,-3716.74"/>
+<path fill="none" stroke="midnightblue" d="M328.331,-3383.23C349.318,-3385.25 373.686,-3387.59 396.303,-3389.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="328.612,-3379.74 318.323,-3382.26 327.942,-3386.71 328.612,-3379.74"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node"><title>Node55</title>
 <g id="a_node55"><a xlink:href="classarm__compute_1_1_i_c_l_simple2_d_kernel.xhtml" target="_top" xlink:title="Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. ">
-<polygon fill="white" stroke="black" points="421,-3686.5 421,-3705.5 524,-3705.5 524,-3686.5 421,-3686.5"/>
-<text text-anchor="middle" x="472.5" y="-3693.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple2DKernel</text>
+<polygon fill="white" stroke="black" points="421,-3349.5 421,-3368.5 524,-3368.5 524,-3349.5 421,-3349.5"/>
+<text text-anchor="middle" x="472.5" y="-3356.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple2DKernel</text>
 </a>
 </g>
 </g>
 <!-- Node52&#45;&gt;Node55 -->
 <g id="edge54" class="edge"><title>Node52&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M328.621,-3709.75C357.412,-3706.98 392.503,-3703.6 420.704,-3700.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="327.942,-3706.29 318.323,-3710.74 328.612,-3713.26 327.942,-3706.29"/>
+<path fill="none" stroke="midnightblue" d="M328.621,-3372.75C357.412,-3369.98 392.503,-3366.6 420.704,-3363.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="327.942,-3369.29 318.323,-3373.74 328.612,-3376.26 327.942,-3369.29"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node"><title>Node56</title>
 <g id="a_node56"><a xlink:href="classarm__compute_1_1_c_l_accumulate_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate kernel. ">
-<polygon fill="white" stroke="black" points="608.5,-4192.5 608.5,-4211.5 717.5,-4211.5 717.5,-4192.5 608.5,-4192.5"/>
-<text text-anchor="middle" x="663" y="-4199.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateKernel</text>
+<polygon fill="white" stroke="black" points="608.5,-3855.5 608.5,-3874.5 717.5,-3874.5 717.5,-3855.5 608.5,-3855.5"/>
+<text text-anchor="middle" x="663" y="-3862.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node56 -->
 <g id="edge55" class="edge"><title>Node55&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M533.657,-3702.89C539.883,-3705.81 545.547,-3709.73 550,-3715 617.361,-3794.64 518.7,-4103.31 586,-4183 591.792,-4189.86 599.648,-4194.44 608.121,-4197.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.8,-3699.58 524.209,-3699.31 532.319,-3706.13 534.8,-3699.58"/>
+<path fill="none" stroke="midnightblue" d="M533.657,-3365.89C539.883,-3368.81 545.547,-3372.73 550,-3378 617.361,-3457.64 518.7,-3766.31 586,-3846 591.792,-3852.86 599.648,-3857.44 608.121,-3860.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.8,-3362.58 524.209,-3362.31 532.319,-3369.13 534.8,-3362.58"/>
 </g>
 <!-- Node57 -->
 <g id="node57" class="node"><title>Node57</title>
 <g id="a_node57"><a xlink:href="classarm__compute_1_1_c_l_accumulate_squared_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate squared kernel. ">
-<polygon fill="white" stroke="black" points="590.5,-4154.5 590.5,-4173.5 735.5,-4173.5 735.5,-4154.5 590.5,-4154.5"/>
-<text text-anchor="middle" x="663" y="-4161.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateSquaredKernel</text>
+<polygon fill="white" stroke="black" points="590.5,-3817.5 590.5,-3836.5 735.5,-3836.5 735.5,-3817.5 590.5,-3817.5"/>
+<text text-anchor="middle" x="663" y="-3824.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateSquaredKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node57 -->
 <g id="edge56" class="edge"><title>Node55&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M533.622,-3702.92C539.854,-3705.83 545.529,-3709.75 550,-3715 612.172,-3788 523.884,-4071.95 586,-4145 589.26,-4148.83 593.165,-4151.96 597.461,-4154.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.761,-3699.61 524.169,-3699.34 532.284,-3706.16 534.761,-3699.61"/>
+<path fill="none" stroke="midnightblue" d="M533.622,-3365.92C539.854,-3368.83 545.529,-3372.75 550,-3378 612.172,-3451 523.884,-3734.95 586,-3808 589.26,-3811.83 593.165,-3814.96 597.461,-3817.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.761,-3362.61 524.169,-3362.34 532.284,-3369.16 534.761,-3362.61"/>
 </g>
 <!-- Node58 -->
 <g id="node58" class="node"><title>Node58</title>
 <g id="a_node58"><a xlink:href="classarm__compute_1_1_c_l_accumulate_weighted_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate weighted kernel. ">
-<polygon fill="white" stroke="black" points="588,-4116.5 588,-4135.5 738,-4135.5 738,-4116.5 588,-4116.5"/>
-<text text-anchor="middle" x="663" y="-4123.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateWeightedKernel</text>
+<polygon fill="white" stroke="black" points="588,-3779.5 588,-3798.5 738,-3798.5 738,-3779.5 588,-3779.5"/>
+<text text-anchor="middle" x="663" y="-3786.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateWeightedKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node58 -->
 <g id="edge57" class="edge"><title>Node55&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M533.582,-3702.96C539.82,-3705.86 545.508,-3709.77 550,-3715 606.986,-3781.37 529.065,-4040.59 586,-4107 589.275,-4110.82 593.191,-4113.93 597.494,-4116.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.714,-3699.64 524.122,-3699.39 532.241,-3706.19 534.714,-3699.64"/>
+<path fill="none" stroke="midnightblue" d="M533.582,-3365.96C539.82,-3368.86 545.508,-3372.77 550,-3378 606.986,-3444.37 529.065,-3703.59 586,-3770 589.275,-3773.82 593.191,-3776.93 597.494,-3779.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.714,-3362.64 524.122,-3362.39 532.241,-3369.19 534.714,-3362.64"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node"><title>Node59</title>
 <g id="a_node59"><a xlink:href="classarm__compute_1_1_c_l_activation_layer_kernel.xhtml" target="_top" xlink:title="Interface for the activation layer kernel. ">
-<polygon fill="white" stroke="black" points="600.5,-4078.5 600.5,-4097.5 725.5,-4097.5 725.5,-4078.5 600.5,-4078.5"/>
-<text text-anchor="middle" x="663" y="-4085.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLActivationLayerKernel</text>
+<polygon fill="white" stroke="black" points="600.5,-3741.5 600.5,-3760.5 725.5,-3760.5 725.5,-3741.5 600.5,-3741.5"/>
+<text text-anchor="middle" x="663" y="-3748.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLActivationLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node59 -->
 <g id="edge58" class="edge"><title>Node55&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M533.532,-3703C539.779,-3705.9 545.482,-3709.79 550,-3715 653.605,-3834.48 482.487,-3949.44 586,-4069 590.006,-4073.63 594.952,-4077.21 600.384,-4079.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.657,-3699.68 524.065,-3699.43 532.19,-3706.23 534.657,-3699.68"/>
+<path fill="none" stroke="midnightblue" d="M533.532,-3366C539.779,-3368.9 545.482,-3372.79 550,-3378 653.605,-3497.48 482.487,-3612.44 586,-3732 590.006,-3736.63 594.952,-3740.21 600.384,-3742.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.657,-3362.68 524.065,-3362.43 532.19,-3369.23 534.657,-3362.68"/>
 </g>
 <!-- Node60 -->
 <g id="node60" class="node"><title>Node60</title>
 <g id="a_node60"><a xlink:href="classarm__compute_1_1_c_l_bitwise_not_kernel.xhtml" target="_top" xlink:title="Interface for the bitwise NOT operation kernel. ">
-<polygon fill="white" stroke="black" points="610.5,-4040.5 610.5,-4059.5 715.5,-4059.5 715.5,-4040.5 610.5,-4040.5"/>
-<text text-anchor="middle" x="663" y="-4047.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseNotKernel</text>
+<polygon fill="white" stroke="black" points="610.5,-3703.5 610.5,-3722.5 715.5,-3722.5 715.5,-3703.5 610.5,-3703.5"/>
+<text text-anchor="middle" x="663" y="-3710.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseNotKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node60 -->
 <g id="edge59" class="edge"><title>Node55&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M534.15,-3703.37C540.142,-3706.22 545.616,-3710.01 550,-3715 643.248,-3821.23 492.834,-3924.7 586,-4031 592.365,-4038.26 601.045,-4042.96 610.266,-4045.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.979,-3699.94 524.39,-3699.62 532.466,-3706.47 534.979,-3699.94"/>
+<path fill="none" stroke="midnightblue" d="M534.15,-3366.37C540.142,-3369.22 545.616,-3373.01 550,-3378 643.248,-3484.23 492.834,-3587.7 586,-3694 592.365,-3701.26 601.045,-3705.96 610.266,-3708.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.979,-3362.94 524.39,-3362.62 532.466,-3369.47 534.979,-3362.94"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node"><title>Node61</title>
 <g id="a_node61"><a xlink:href="classarm__compute_1_1_c_l_box3x3_kernel.xhtml" target="_top" xlink:title="Interface for the box 3x3 filter kernel. ">
-<polygon fill="white" stroke="black" points="618,-4002.5 618,-4021.5 708,-4021.5 708,-4002.5 618,-4002.5"/>
-<text text-anchor="middle" x="663" y="-4009.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBox3x3Kernel</text>
+<polygon fill="white" stroke="black" points="618,-3665.5 618,-3684.5 708,-3684.5 708,-3665.5 618,-3665.5"/>
+<text text-anchor="middle" x="663" y="-3672.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBox3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node61 -->
 <g id="edge60" class="edge"><title>Node55&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M534.075,-3703.44C540.08,-3706.28 545.578,-3710.04 550,-3715 632.904,-3808 503.168,-3899.94 586,-3993 594.138,-4002.14 605.947,-4007.21 617.841,-4009.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.892,-3700 524.301,-3699.69 532.388,-3706.54 534.892,-3700"/>
+<path fill="none" stroke="midnightblue" d="M534.075,-3366.44C540.08,-3369.28 545.578,-3373.04 550,-3378 632.904,-3471 503.168,-3562.94 586,-3656 594.138,-3665.14 605.947,-3670.21 617.841,-3672.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.892,-3363 524.301,-3362.69 532.388,-3369.54 534.892,-3363"/>
 </g>
 <!-- Node62 -->
 <g id="node62" class="node"><title>Node62</title>
 <g id="a_node62"><a xlink:href="classarm__compute_1_1_c_l_convolution_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run an arbitrary size convolution on a tensor. ">
-<polygon fill="white" stroke="black" points="608.5,-3953 608.5,-3983 717.5,-3983 717.5,-3953 608.5,-3953"/>
-<text text-anchor="start" x="616.5" y="-3971" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionKernel</text>
-<text text-anchor="middle" x="663" y="-3960" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="608.5,-3616 608.5,-3646 717.5,-3646 717.5,-3616 608.5,-3616"/>
+<text text-anchor="start" x="616.5" y="-3634" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionKernel</text>
+<text text-anchor="middle" x="663" y="-3623" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node62 -->
 <g id="edge61" class="edge"><title>Node55&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M533.509,-3703.36C539.705,-3706.2 545.402,-3709.98 550,-3715 619.324,-3790.62 519.535,-3864.85 586,-3943 591.939,-3949.98 599.868,-3955.03 608.365,-3958.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.735,-3700.08 524.143,-3699.84 532.27,-3706.63 534.735,-3700.08"/>
+<path fill="none" stroke="midnightblue" d="M533.509,-3366.36C539.705,-3369.2 545.402,-3372.98 550,-3378 619.324,-3453.62 519.535,-3527.85 586,-3606 591.939,-3612.98 599.868,-3618.03 608.365,-3621.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.735,-3363.08 524.143,-3362.84 532.27,-3369.63 534.735,-3363.08"/>
 </g>
 <!-- Node63 -->
 <g id="node63" class="node"><title>Node63</title>
 <g id="a_node63"><a xlink:href="classarm__compute_1_1_c_l_depth_convert_kernel.xhtml" target="_top" xlink:title="Interface for the depth conversion kernel. ">
-<polygon fill="white" stroke="black" points="604,-3914.5 604,-3933.5 722,-3933.5 722,-3914.5 604,-3914.5"/>
-<text text-anchor="middle" x="663" y="-3921.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDepthConvertKernel</text>
+<polygon fill="white" stroke="black" points="604,-3577.5 604,-3596.5 722,-3596.5 722,-3577.5 604,-3577.5"/>
+<text text-anchor="middle" x="663" y="-3584.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDepthConvertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node63 -->
 <g id="edge62" class="edge"><title>Node55&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M534.038,-3703.81C539.999,-3706.59 545.496,-3710.24 550,-3715 609.043,-3777.46 527.006,-3842.5 586,-3905 590.948,-3910.24 597.104,-3914.13 603.757,-3916.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.956,-3700.41 524.366,-3700.12 532.46,-3706.95 534.956,-3700.41"/>
+<path fill="none" stroke="midnightblue" d="M534.038,-3366.81C539.999,-3369.59 545.496,-3373.24 550,-3378 609.043,-3440.46 527.006,-3505.5 586,-3568 590.948,-3573.24 597.104,-3577.13 603.757,-3579.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.956,-3363.41 524.366,-3363.12 532.46,-3369.95 534.956,-3363.41"/>
 </g>
 <!-- Node64 -->
 <g id="node64" class="node"><title>Node64</title>
 <g id="a_node64"><a xlink:href="classarm__compute_1_1_c_l_dilate_kernel.xhtml" target="_top" xlink:title="Interface for the dilate kernel. ">
-<polygon fill="white" stroke="black" points="621.5,-3876.5 621.5,-3895.5 704.5,-3895.5 704.5,-3876.5 621.5,-3876.5"/>
-<text text-anchor="middle" x="663" y="-3883.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDilateKernel</text>
+<polygon fill="white" stroke="black" points="621.5,-3539.5 621.5,-3558.5 704.5,-3558.5 704.5,-3539.5 621.5,-3539.5"/>
+<text text-anchor="middle" x="663" y="-3546.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDilateKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node64 -->
 <g id="edge63" class="edge"><title>Node55&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M533.827,-3704.01C539.826,-3706.76 545.39,-3710.34 550,-3715 598.823,-3764.36 537.215,-3817.61 586,-3867 595.27,-3876.39 608.427,-3881.39 621.194,-3883.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.708,-3700.61 524.116,-3700.36 532.242,-3707.16 534.708,-3700.61"/>
+<path fill="none" stroke="midnightblue" d="M533.827,-3367.01C539.826,-3369.76 545.39,-3373.34 550,-3378 598.823,-3427.36 537.215,-3480.61 586,-3530 595.27,-3539.39 608.427,-3544.39 621.194,-3546.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.708,-3363.61 524.116,-3363.36 532.242,-3370.16 534.708,-3363.61"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node"><title>Node65</title>
 <g id="a_node65"><a xlink:href="classarm__compute_1_1_c_l_erode_kernel.xhtml" target="_top" xlink:title="Interface for the erode kernel. ">
-<polygon fill="white" stroke="black" points="621.5,-3838.5 621.5,-3857.5 704.5,-3857.5 704.5,-3838.5 621.5,-3838.5"/>
-<text text-anchor="middle" x="663" y="-3845.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLErodeKernel</text>
+<polygon fill="white" stroke="black" points="621.5,-3501.5 621.5,-3520.5 704.5,-3520.5 704.5,-3501.5 621.5,-3501.5"/>
+<text text-anchor="middle" x="663" y="-3508.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLErodeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node65 -->
 <g id="edge64" class="edge"><title>Node55&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M533.743,-3704.47C539.708,-3707.13 545.287,-3710.57 550,-3715 588.725,-3751.38 547.303,-3792.59 586,-3829 595.509,-3837.95 608.574,-3842.86 621.19,-3845.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.713,-3701.09 524.121,-3700.88 532.27,-3707.65 534.713,-3701.09"/>
+<path fill="none" stroke="midnightblue" d="M533.743,-3367.47C539.708,-3370.13 545.287,-3373.57 550,-3378 588.725,-3414.38 547.303,-3455.59 586,-3492 595.509,-3500.95 608.574,-3505.86 621.19,-3508.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.713,-3364.09 524.121,-3363.88 532.27,-3370.65 534.713,-3364.09"/>
 </g>
 <!-- Node66 -->
 <g id="node66" class="node"><title>Node66</title>
 <g id="a_node66"><a xlink:href="classarm__compute_1_1_c_l_gaussian3x3_kernel.xhtml" target="_top" xlink:title="Interface for the Gaussian 3x3 filter kernel. ">
-<polygon fill="white" stroke="black" points="606,-3800.5 606,-3819.5 720,-3819.5 720,-3800.5 606,-3800.5"/>
-<text text-anchor="middle" x="663" y="-3807.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian3x3Kernel</text>
+<polygon fill="white" stroke="black" points="606,-3463.5 606,-3482.5 720,-3482.5 720,-3463.5 606,-3463.5"/>
+<text text-anchor="middle" x="663" y="-3470.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node66 -->
 <g id="edge65" class="edge"><title>Node55&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M533.668,-3705.34C539.553,-3707.85 545.135,-3711.02 550,-3715 578.922,-3738.67 557.096,-3767.3 586,-3791 591.785,-3795.74 598.592,-3799.32 605.715,-3802.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.823,-3702.04 524.229,-3701.91 532.429,-3708.62 534.823,-3702.04"/>
+<path fill="none" stroke="midnightblue" d="M533.668,-3368.34C539.553,-3370.85 545.135,-3374.02 550,-3378 578.922,-3401.67 557.096,-3430.3 586,-3454 591.785,-3458.74 598.592,-3462.32 605.715,-3465.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.823,-3365.04 524.229,-3364.91 532.429,-3371.62 534.823,-3365.04"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node"><title>Node67</title>
 <g id="a_node67"><a xlink:href="classarm__compute_1_1_c_l_g_e_m_m_transpose1x_w_kernel.xhtml" target="_top" xlink:title="OpenCL kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F3...">
-<polygon fill="white" stroke="black" points="586,-3762.5 586,-3781.5 740,-3781.5 740,-3762.5 586,-3762.5"/>
-<text text-anchor="middle" x="663" y="-3769.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMTranspose1xWKernel</text>
+<polygon fill="white" stroke="black" points="586,-3425.5 586,-3444.5 740,-3444.5 740,-3425.5 586,-3425.5"/>
+<text text-anchor="middle" x="663" y="-3432.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMTranspose1xWKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node67 -->
 <g id="edge66" class="edge"><title>Node55&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M533.724,-3707.43C539.403,-3709.54 544.926,-3712.04 550,-3715 570.097,-3726.72 565.912,-3741.27 586,-3753 592.694,-3756.91 600.175,-3760.02 607.76,-3762.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.665,-3704.05 524.071,-3704.22 532.46,-3710.7 534.665,-3704.05"/>
+<path fill="none" stroke="midnightblue" d="M533.724,-3370.43C539.403,-3372.54 544.926,-3375.04 550,-3378 570.097,-3389.72 565.912,-3404.27 586,-3416 592.694,-3419.91 600.175,-3423.02 607.76,-3425.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.665,-3367.05 524.071,-3367.22 532.46,-3373.7 534.665,-3367.05"/>
 </g>
 <!-- Node68 -->
 <g id="node68" class="node"><title>Node68</title>
 <g id="a_node68"><a xlink:href="classarm__compute_1_1_c_l_integral_image_hor_kernel.xhtml" target="_top" xlink:title="Interface to run the horizontal pass of the integral image kernel. ">
-<polygon fill="white" stroke="black" points="597,-3724.5 597,-3743.5 729,-3743.5 729,-3724.5 597,-3724.5"/>
-<text text-anchor="middle" x="663" y="-3731.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageHorKernel</text>
+<polygon fill="white" stroke="black" points="597,-3387.5 597,-3406.5 729,-3406.5 729,-3387.5 597,-3387.5"/>
+<text text-anchor="middle" x="663" y="-3394.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageHorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node68 -->
 <g id="edge67" class="edge"><title>Node55&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M531.089,-3707.61C557.898,-3713.01 589.395,-3719.36 614.776,-3724.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="531.561,-3704.13 521.067,-3705.59 530.178,-3711 531.561,-3704.13"/>
+<path fill="none" stroke="midnightblue" d="M531.089,-3370.61C557.898,-3376.01 589.395,-3382.36 614.776,-3387.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="531.561,-3367.13 521.067,-3368.59 530.178,-3374 531.561,-3367.13"/>
 </g>
 <!-- Node69 -->
 <g id="node69" class="node"><title>Node69</title>
 <g id="a_node69"><a xlink:href="classarm__compute_1_1_c_l_logits1_d_max_kernel.xhtml" target="_top" xlink:title="Interface for the identifying the max value of 1D Logits. ">
-<polygon fill="white" stroke="black" points="605.5,-3686.5 605.5,-3705.5 720.5,-3705.5 720.5,-3686.5 605.5,-3686.5"/>
-<text text-anchor="middle" x="663" y="-3693.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DMaxKernel</text>
+<polygon fill="white" stroke="black" points="605.5,-3349.5 605.5,-3368.5 720.5,-3368.5 720.5,-3349.5 605.5,-3349.5"/>
+<text text-anchor="middle" x="663" y="-3356.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DMaxKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node69 -->
 <g id="edge68" class="edge"><title>Node55&#45;&gt;Node69</title>
-<path fill="none" stroke="midnightblue" d="M534.266,-3696C557.09,-3696 582.926,-3696 605.36,-3696"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="534.015,-3692.5 524.015,-3696 534.015,-3699.5 534.015,-3692.5"/>
+<path fill="none" stroke="midnightblue" d="M534.266,-3359C557.09,-3359 582.926,-3359 605.36,-3359"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="534.015,-3355.5 524.015,-3359 534.015,-3362.5 534.015,-3355.5"/>
 </g>
 <!-- Node70 -->
 <g id="node70" class="node"><title>Node70</title>
 <g id="a_node70"><a xlink:href="classarm__compute_1_1_c_l_median3x3_kernel.xhtml" target="_top" xlink:title="Interface for the median 3x3 filter kernel. ">
-<polygon fill="white" stroke="black" points="611,-3648.5 611,-3667.5 715,-3667.5 715,-3648.5 611,-3648.5"/>
-<text text-anchor="middle" x="663" y="-3655.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMedian3x3Kernel</text>
+<polygon fill="white" stroke="black" points="611,-3311.5 611,-3330.5 715,-3330.5 715,-3311.5 611,-3311.5"/>
+<text text-anchor="middle" x="663" y="-3318.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMedian3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node70 -->
 <g id="edge69" class="edge"><title>Node55&#45;&gt;Node70</title>
-<path fill="none" stroke="midnightblue" d="M531.089,-3684.39C557.898,-3678.99 589.395,-3672.64 614.776,-3667.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="530.178,-3681 521.067,-3686.41 531.561,-3687.87 530.178,-3681"/>
+<path fill="none" stroke="midnightblue" d="M531.089,-3347.39C557.898,-3341.99 589.395,-3335.64 614.776,-3330.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="530.178,-3344 521.067,-3349.41 531.561,-3350.87 530.178,-3344"/>
 </g>
 <!-- Node71 -->
 <g id="node71" class="node"><title>Node71</title>
 <g id="a_node71"><a xlink:href="classarm__compute_1_1_c_l_non_linear_filter_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to apply a non&#45;linear filter. ">
-<polygon fill="white" stroke="black" points="601.5,-3610.5 601.5,-3629.5 724.5,-3629.5 724.5,-3610.5 601.5,-3610.5"/>
-<text text-anchor="middle" x="663" y="-3617.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonLinearFilterKernel</text>
+<polygon fill="white" stroke="black" points="601.5,-3273.5 601.5,-3292.5 724.5,-3292.5 724.5,-3273.5 601.5,-3273.5"/>
+<text text-anchor="middle" x="663" y="-3280.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonLinearFilterKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node71 -->
 <g id="edge70" class="edge"><title>Node55&#45;&gt;Node71</title>
-<path fill="none" stroke="midnightblue" d="M498.566,-3681.24C520.892,-3668.6 554.766,-3650.65 586,-3639 595.812,-3635.34 606.597,-3632.16 616.883,-3629.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="496.68,-3678.29 489.746,-3686.3 500.162,-3684.36 496.68,-3678.29"/>
+<path fill="none" stroke="midnightblue" d="M498.566,-3344.24C520.892,-3331.6 554.766,-3313.65 586,-3302 595.812,-3298.34 606.597,-3295.16 616.883,-3292.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.68,-3341.29 489.746,-3349.3 500.162,-3347.36 496.68,-3341.29"/>
 </g>
 <!-- Node72 -->
 <g id="node72" class="node"><title>Node72</title>
 <g id="a_node72"><a xlink:href="classarm__compute_1_1_c_l_non_maxima_suppression3x3_kernel.xhtml" target="_top" xlink:title="Interface to perform Non&#45;Maxima suppression over a 3x3 window using OpenCL. ">
-<polygon fill="white" stroke="black" points="587,-3561 587,-3591 739,-3591 739,-3561 587,-3561"/>
-<text text-anchor="start" x="595" y="-3579" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonMaximaSuppression3x3</text>
-<text text-anchor="middle" x="663" y="-3568" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="587,-3224 587,-3254 739,-3254 739,-3224 587,-3224"/>
+<text text-anchor="start" x="595" y="-3242" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonMaximaSuppression3x3</text>
+<text text-anchor="middle" x="663" y="-3231" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node72 -->
 <g id="edge71" class="edge"><title>Node55&#45;&gt;Node72</title>
-<path fill="none" stroke="midnightblue" d="M489.482,-3678.96C510.016,-3657.97 547.611,-3622.45 586,-3601 592.669,-3597.27 599.981,-3593.99 607.351,-3591.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="486.893,-3676.61 482.482,-3686.24 491.937,-3681.46 486.893,-3676.61"/>
+<path fill="none" stroke="midnightblue" d="M489.482,-3341.96C510.016,-3320.97 547.611,-3285.45 586,-3264 592.669,-3260.27 599.981,-3256.99 607.351,-3254.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="486.893,-3339.61 482.482,-3349.24 491.937,-3344.46 486.893,-3339.61"/>
 </g>
 <!-- Node73 -->
 <g id="node73" class="node"><title>Node73</title>
 <g id="a_node73"><a xlink:href="classarm__compute_1_1_c_l_scale_kernel.xhtml" target="_top" xlink:title="Interface for the warp affine kernel. ">
-<polygon fill="white" stroke="black" points="622,-3522.5 622,-3541.5 704,-3541.5 704,-3522.5 622,-3522.5"/>
-<text text-anchor="middle" x="663" y="-3529.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScaleKernel</text>
+<polygon fill="white" stroke="black" points="622,-3185.5 622,-3204.5 704,-3204.5 704,-3185.5 622,-3185.5"/>
+<text text-anchor="middle" x="663" y="-3192.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScaleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node73 -->
 <g id="edge72" class="edge"><title>Node55&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M482.872,-3677.26C499.35,-3646.29 536.513,-3584.6 586,-3552 596.596,-3545.02 609.524,-3540.47 621.69,-3537.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="479.752,-3675.67 478.259,-3686.16 485.968,-3678.89 479.752,-3675.67"/>
+<path fill="none" stroke="midnightblue" d="M482.872,-3340.26C499.35,-3309.29 536.513,-3247.6 586,-3215 596.596,-3208.02 609.524,-3203.47 621.69,-3200.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="479.752,-3338.67 478.259,-3349.16 485.968,-3341.89 479.752,-3338.67"/>
 </g>
 <!-- Node74 -->
 <g id="node74" class="node"><title>Node74</title>
 <g id="a_node74"><a xlink:href="classarm__compute_1_1_c_l_separable_convolution_hor_kernel.xhtml" target="_top" xlink:title="Kernel for the Horizontal pass of a Separable Convolution. ">
-<polygon fill="white" stroke="black" points="593,-3473 593,-3503 733,-3503 733,-3473 593,-3473"/>
-<text text-anchor="start" x="601" y="-3491" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionHor</text>
-<text text-anchor="middle" x="663" y="-3480" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="593,-3136 593,-3166 733,-3166 733,-3136 593,-3136"/>
+<text text-anchor="start" x="601" y="-3154" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionHor</text>
+<text text-anchor="middle" x="663" y="-3143" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node74 -->
 <g id="edge73" class="edge"><title>Node55&#45;&gt;Node74</title>
-<path fill="none" stroke="midnightblue" d="M480.14,-3676.81C493.946,-3639.7 529.272,-3557.82 586,-3513 590.904,-3509.12 596.433,-3505.84 602.214,-3503.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="476.777,-3675.82 476.68,-3686.41 483.363,-3678.19 476.777,-3675.82"/>
+<path fill="none" stroke="midnightblue" d="M480.14,-3339.81C493.946,-3302.7 529.272,-3220.82 586,-3176 590.904,-3172.12 596.433,-3168.84 602.214,-3166.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="476.777,-3338.82 476.68,-3349.41 483.363,-3341.19 476.777,-3338.82"/>
 </g>
 <!-- Node76 -->
 <g id="node76" class="node"><title>Node76</title>
 <g id="a_node76"><a xlink:href="classarm__compute_1_1_c_l_separable_convolution_vert_kernel.xhtml" target="_top" xlink:title="Kernel for the Vertical pass of a Separable Convolution. ">
-<polygon fill="white" stroke="black" points="591.5,-3424 591.5,-3454 734.5,-3454 734.5,-3424 591.5,-3424"/>
-<text text-anchor="start" x="599.5" y="-3442" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionVert</text>
-<text text-anchor="middle" x="663" y="-3431" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="591.5,-3087 591.5,-3117 734.5,-3117 734.5,-3087 591.5,-3087"/>
+<text text-anchor="start" x="599.5" y="-3105" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionVert</text>
+<text text-anchor="middle" x="663" y="-3094" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node76 -->
 <g id="edge75" class="edge"><title>Node55&#45;&gt;Node76</title>
-<path fill="none" stroke="midnightblue" d="M477.473,-3676.66C487.554,-3632.44 518.281,-3523.22 586,-3464 590.391,-3460.16 595.388,-3456.91 600.672,-3454.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="474.053,-3675.91 475.345,-3686.43 480.893,-3677.4 474.053,-3675.91"/>
+<path fill="none" stroke="midnightblue" d="M477.473,-3339.66C487.554,-3295.44 518.281,-3186.22 586,-3127 590.391,-3123.16 595.388,-3119.91 600.672,-3117.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="474.053,-3338.91 475.345,-3349.43 480.893,-3340.4 474.053,-3338.91"/>
 </g>
 <!-- Node78 -->
 <g id="node78" class="node"><title>Node78</title>
 <g id="a_node78"><a xlink:href="classarm__compute_1_1_c_l_table_lookup_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform table lookup calculations. ">
-<polygon fill="white" stroke="black" points="606.5,-3385.5 606.5,-3404.5 719.5,-3404.5 719.5,-3385.5 606.5,-3385.5"/>
-<text text-anchor="middle" x="663" y="-3392.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTableLookupKernel</text>
+<polygon fill="white" stroke="black" points="606.5,-3048.5 606.5,-3067.5 719.5,-3067.5 719.5,-3048.5 606.5,-3048.5"/>
+<text text-anchor="middle" x="663" y="-3055.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTableLookupKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node78 -->
 <g id="edge77" class="edge"><title>Node55&#45;&gt;Node78</title>
-<path fill="none" stroke="midnightblue" d="M475.421,-3676.18C481.482,-3624.85 504.907,-3486.65 586,-3415 591.828,-3409.85 598.828,-3406 606.19,-3403.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="471.926,-3675.95 474.326,-3686.26 478.885,-3676.7 471.926,-3675.95"/>
+<path fill="none" stroke="midnightblue" d="M475.421,-3339.18C481.482,-3287.85 504.907,-3149.65 586,-3078 591.828,-3072.85 598.828,-3069 606.19,-3066.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="471.926,-3338.95 474.326,-3349.26 478.885,-3339.7 471.926,-3338.95"/>
 </g>
 <!-- Node79 -->
 <g id="node79" class="node"><title>Node79</title>
 <g id="a_node79"><a xlink:href="classarm__compute_1_1_c_l_threshold_kernel.xhtml" target="_top" xlink:title="Interface for the thresholding kernel. ">
-<polygon fill="white" stroke="black" points="613,-3347.5 613,-3366.5 713,-3366.5 713,-3347.5 613,-3347.5"/>
-<text text-anchor="middle" x="663" y="-3354.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLThresholdKernel</text>
+<polygon fill="white" stroke="black" points="613,-3010.5 613,-3029.5 713,-3029.5 713,-3010.5 613,-3010.5"/>
+<text text-anchor="middle" x="663" y="-3017.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLThresholdKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node79 -->
 <g id="edge78" class="edge"><title>Node55&#45;&gt;Node79</title>
-<path fill="none" stroke="midnightblue" d="M474.277,-3676.08C477.588,-3619.91 494.962,-3458.94 586,-3376 593.44,-3369.22 602.929,-3364.78 612.661,-3361.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="470.765,-3676.25 473.763,-3686.41 477.756,-3676.6 470.765,-3676.25"/>
+<path fill="none" stroke="midnightblue" d="M474.277,-3339.08C477.588,-3282.91 494.962,-3121.94 586,-3039 593.44,-3032.22 602.929,-3027.78 612.661,-3024.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="470.765,-3339.25 473.763,-3349.41 477.756,-3339.6 470.765,-3339.25"/>
 </g>
 <!-- Node80 -->
 <g id="node80" class="node"><title>Node80</title>
 <g id="a_node80"><a xlink:href="classarm__compute_1_1_c_l_transpose_kernel.xhtml" target="_top" xlink:title="OpenCL kernel which transposes the elements of a matrix. ">
-<polygon fill="white" stroke="black" points="611.5,-3309.5 611.5,-3328.5 714.5,-3328.5 714.5,-3309.5 611.5,-3309.5"/>
-<text text-anchor="middle" x="663" y="-3316.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTransposeKernel</text>
+<polygon fill="white" stroke="black" points="611.5,-2972.5 611.5,-2991.5 714.5,-2991.5 714.5,-2972.5 611.5,-2972.5"/>
+<text text-anchor="middle" x="663" y="-2979.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTransposeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node80 -->
 <g id="edge79" class="edge"><title>Node55&#45;&gt;Node80</title>
-<path fill="none" stroke="midnightblue" d="M473.421,-3676.17C474.309,-3615.81 485.548,-3432.65 586,-3338 593.028,-3331.38 602.004,-3326.97 611.306,-3324.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="469.92,-3676.23 473.357,-3686.26 476.92,-3676.28 469.92,-3676.23"/>
+<path fill="none" stroke="midnightblue" d="M473.421,-3339.17C474.309,-3278.81 485.548,-3095.65 586,-3001 593.028,-2994.38 602.004,-2989.97 611.306,-2987.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="469.92,-3339.23 473.357,-3349.26 476.92,-3339.28 469.92,-3339.23"/>
 </g>
 <!-- Node81 -->
 <g id="node81" class="node"><title>Node81</title>
 <g id="a_node81"><a xlink:href="classarm__compute_1_1_c_l_warp_affine_kernel.xhtml" target="_top" xlink:title="Interface for the warp affine kernel. ">
-<polygon fill="white" stroke="black" points="610,-3271.5 610,-3290.5 716,-3290.5 716,-3271.5 610,-3271.5"/>
-<text text-anchor="middle" x="663" y="-3278.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpAffineKernel</text>
+<polygon fill="white" stroke="black" points="610,-2934.5 610,-2953.5 716,-2953.5 716,-2934.5 610,-2934.5"/>
+<text text-anchor="middle" x="663" y="-2941.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpAffineKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node81 -->
 <g id="edge80" class="edge"><title>Node55&#45;&gt;Node81</title>
-<path fill="none" stroke="midnightblue" d="M472.723,-3676.24C471.333,-3611.91 476.07,-3406.49 586,-3300 592.643,-3293.57 601.119,-3289.21 609.986,-3286.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="469.224,-3676.36 473.018,-3686.25 476.221,-3676.15 469.224,-3676.36"/>
+<path fill="none" stroke="midnightblue" d="M472.723,-3339.24C471.333,-3274.91 476.07,-3069.49 586,-2963 592.643,-2956.57 601.119,-2952.21 609.986,-2949.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="469.224,-3339.36 473.018,-3349.25 476.221,-3339.15 469.224,-3339.36"/>
 </g>
 <!-- Node82 -->
 <g id="node82" class="node"><title>Node82</title>
 <g id="a_node82"><a xlink:href="classarm__compute_1_1_c_l_warp_perspective_kernel.xhtml" target="_top" xlink:title="Interface for the warp perspective kernel. ">
-<polygon fill="white" stroke="black" points="597,-3233.5 597,-3252.5 729,-3252.5 729,-3233.5 597,-3233.5"/>
-<text text-anchor="middle" x="663" y="-3240.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpPerspectiveKernel</text>
+<polygon fill="white" stroke="black" points="597,-2896.5 597,-2915.5 729,-2915.5 729,-2896.5 597,-2896.5"/>
+<text text-anchor="middle" x="663" y="-2903.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpPerspectiveKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node82 -->
 <g id="edge81" class="edge"><title>Node55&#45;&gt;Node82</title>
-<path fill="none" stroke="midnightblue" d="M475.979,-3675.95C485.915,-3598.77 525.272,-3322.2 586,-3262 589.863,-3258.17 594.375,-3255.07 599.238,-3252.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="472.465,-3675.84 474.682,-3686.2 479.409,-3676.72 472.465,-3675.84"/>
+<path fill="none" stroke="midnightblue" d="M475.979,-3338.95C485.915,-3261.77 525.272,-2985.2 586,-2925 589.863,-2921.17 594.375,-2918.07 599.238,-2915.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="472.465,-3338.84 474.682,-3349.2 479.409,-3339.72 472.465,-3338.84"/>
 </g>
 <!-- Node83 -->
 <g id="node83" class="node"><title>Node83</title>
 <g id="a_node83"><a xlink:href="classarm__compute_1_1_i_c_l_simple3_d_kernel.xhtml" target="_top" xlink:title="Interface for simple OpenCL kernels having 1 tensor input and 1 tensor output. ">
-<polygon fill="white" stroke="black" points="611.5,-3195.5 611.5,-3214.5 714.5,-3214.5 714.5,-3195.5 611.5,-3195.5"/>
-<text text-anchor="middle" x="663" y="-3202.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple3DKernel</text>
+<polygon fill="white" stroke="black" points="611.5,-2858.5 611.5,-2877.5 714.5,-2877.5 714.5,-2858.5 611.5,-2858.5"/>
+<text text-anchor="middle" x="663" y="-2865.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple3DKernel</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node83 -->
 <g id="edge82" class="edge"><title>Node55&#45;&gt;Node83</title>
-<path fill="none" stroke="midnightblue" d="M475.548,-3675.79C484.219,-3594.2 520.505,-3290.22 586,-3224 592.886,-3217.04 601.91,-3212.49 611.326,-3209.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="472.023,-3675.86 474.469,-3686.16 478.985,-3676.58 472.023,-3675.86"/>
+<path fill="none" stroke="midnightblue" d="M475.548,-3338.79C484.219,-3257.2 520.505,-2953.22 586,-2887 592.886,-2880.04 601.91,-2875.49 611.326,-2872.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="472.023,-3338.86 474.469,-3349.16 478.985,-3339.58 472.023,-3338.86"/>
 </g>
 <!-- Node75 -->
 <g id="node75" class="node"><title>Node75</title>
 <g id="a_node75"><a xlink:href="classarm__compute_1_1_c_l_gaussian5x5_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 5x5 Gaussian filter on a tensor. ">
-<polygon fill="white" stroke="black" points="777,-3478.5 777,-3497.5 907,-3497.5 907,-3478.5 777,-3478.5"/>
-<text text-anchor="middle" x="842" y="-3485.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5HorKernel</text>
+<polygon fill="white" stroke="black" points="777,-3141.5 777,-3160.5 907,-3160.5 907,-3141.5 777,-3141.5"/>
+<text text-anchor="middle" x="842" y="-3148.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5HorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node74&#45;&gt;Node75 -->
 <g id="edge74" class="edge"><title>Node74&#45;&gt;Node75</title>
-<path fill="none" stroke="midnightblue" d="M743.38,-3488C754.554,-3488 765.925,-3488 776.768,-3488"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="743.193,-3484.5 733.193,-3488 743.193,-3491.5 743.193,-3484.5"/>
+<path fill="none" stroke="midnightblue" d="M743.38,-3151C754.554,-3151 765.925,-3151 776.768,-3151"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="743.193,-3147.5 733.193,-3151 743.193,-3154.5 743.193,-3147.5"/>
 </g>
 <!-- Node77 -->
 <g id="node77" class="node"><title>Node77</title>
 <g id="a_node77"><a xlink:href="classarm__compute_1_1_c_l_gaussian5x5_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 5x5 Gaussian filter on a tensor. ">
-<polygon fill="white" stroke="black" points="776,-3429.5 776,-3448.5 908,-3448.5 908,-3429.5 776,-3429.5"/>
-<text text-anchor="middle" x="842" y="-3436.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5VertKernel</text>
+<polygon fill="white" stroke="black" points="776,-3092.5 776,-3111.5 908,-3111.5 908,-3092.5 776,-3092.5"/>
+<text text-anchor="middle" x="842" y="-3099.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5VertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node76&#45;&gt;Node77 -->
 <g id="edge76" class="edge"><title>Node76&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M744.989,-3439C755.327,-3439 765.803,-3439 775.846,-3439"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="744.718,-3435.5 734.718,-3439 744.718,-3442.5 744.718,-3435.5"/>
+<path fill="none" stroke="midnightblue" d="M744.989,-3102C755.327,-3102 765.803,-3102 775.846,-3102"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="744.718,-3098.5 734.718,-3102 744.718,-3105.5 744.718,-3098.5"/>
 </g>
 <!-- Node85 -->
 <g id="node85" class="node"><title>Node85</title>
 <g id="a_node85"><a xlink:href="classarm__compute_1_1_c_p_p_corner_candidates_kernel.xhtml" target="_top" xlink:title="CPP kernel to perform corner candidates. ">
-<polygon fill="white" stroke="black" points="201,-2654.5 201,-2673.5 345,-2673.5 345,-2654.5 201,-2654.5"/>
-<text text-anchor="middle" x="273" y="-2661.5" font-family="Helvetica,sans-Serif" font-size="10.00">CPPCornerCandidatesKernel</text>
+<polygon fill="white" stroke="black" points="201,-2488.5 201,-2507.5 345,-2507.5 345,-2488.5 201,-2488.5"/>
+<text text-anchor="middle" x="273" y="-2495.5" font-family="Helvetica,sans-Serif" font-size="10.00">CPPCornerCandidatesKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node85 -->
 <g id="edge84" class="edge"><title>Node84&#45;&gt;Node85</title>
-<path fill="none" stroke="midnightblue" d="M118.256,-1209.65C120.549,-1379.01 138.576,-2587.41 187,-2645 190.893,-2649.63 195.644,-2653.28 200.89,-2656.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.756,-1209.6 118.123,-1199.65 114.757,-1209.69 121.756,-1209.6"/>
+<path fill="none" stroke="midnightblue" d="M118.372,-1191.05C121.439,-1351.92 143.541,-2427.59 187,-2479 190.905,-2483.62 195.665,-2487.26 200.917,-2490.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.865,-1190.66 118.177,-1180.73 114.866,-1190.79 121.865,-1190.66"/>
 </g>
 <!-- Node86 -->
 <g id="node86" class="node"><title>Node86</title>
 <g id="a_node86"><a xlink:href="classarm__compute_1_1_c_p_p_sort_euclidean_distance_kernel.xhtml" target="_top" xlink:title="CPP kernel to perform sorting and euclidean distance. ">
-<polygon fill="white" stroke="black" points="204.5,-2605 204.5,-2635 341.5,-2635 341.5,-2605 204.5,-2605"/>
-<text text-anchor="start" x="212.5" y="-2623" font-family="Helvetica,sans-Serif" font-size="10.00">CPPSortEuclideanDistance</text>
-<text text-anchor="middle" x="273" y="-2612" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="204.5,-2439 204.5,-2469 341.5,-2469 341.5,-2439 204.5,-2439"/>
+<text text-anchor="start" x="212.5" y="-2457" font-family="Helvetica,sans-Serif" font-size="10.00">CPPSortEuclideanDistance</text>
+<text text-anchor="middle" x="273" y="-2446" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node86 -->
 <g id="edge85" class="edge"><title>Node84&#45;&gt;Node86</title>
-<path fill="none" stroke="midnightblue" d="M118.325,-1209.96C121.122,-1377.02 142.144,-2538.02 187,-2595 191.662,-2600.92 197.654,-2605.49 204.295,-2609.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.82,-1209.61 118.155,-1199.67 114.82,-1209.73 121.82,-1209.61"/>
+<path fill="none" stroke="midnightblue" d="M118.438,-1190.75C121.979,-1346.93 146.844,-2378.29 187,-2429 191.679,-2434.91 197.681,-2439.47 204.328,-2442.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.936,-1190.61 118.212,-1180.69 114.937,-1190.77 121.936,-1190.61"/>
 </g>
 <!-- Node87 -->
 <g id="node87" class="node"><title>Node87</title>
 <g id="a_node87"><a xlink:href="classarm__compute_1_1_i_c_p_p_simple_kernel.xhtml" target="_top" xlink:title="Interface for simple NEON kernels having 1 tensor input and 1 tensor output. ">
-<polygon fill="white" stroke="black" points="224,-2566.5 224,-2585.5 322,-2585.5 322,-2566.5 224,-2566.5"/>
-<text text-anchor="middle" x="273" y="-2573.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPSimpleKernel</text>
+<polygon fill="white" stroke="black" points="224,-2400.5 224,-2419.5 322,-2419.5 322,-2400.5 224,-2400.5"/>
+<text text-anchor="middle" x="273" y="-2407.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPSimpleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node87 -->
 <g id="edge86" class="edge"><title>Node84&#45;&gt;Node87</title>
-<path fill="none" stroke="midnightblue" d="M118.064,-1209.93C118.664,-1315.44 124.809,-1819.22 187,-2225 208.087,-2362.58 256.522,-2525.5 269.016,-2566.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.563,-1209.76 118.017,-1199.77 114.563,-1209.79 121.563,-1209.76"/>
+<path fill="none" stroke="midnightblue" d="M118.546,-1190.81C122.087,-1314.92 143.045,-1986.67 187,-2187 205.824,-2272.8 251.763,-2369.42 266.998,-2400.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.037,-1190.44 118.258,-1180.54 115.04,-1190.64 122.037,-1190.44"/>
+</g>
+<!-- Node114 -->
+<g id="node114" class="node"><title>Node114</title>
+<g id="a_node114"><a xlink:href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml" target="_top" xlink:title="Common interface for all Harris Score kernels. ">
+<polygon fill="white" stroke="black" points="216.5,-2158.5 216.5,-2177.5 329.5,-2177.5 329.5,-2158.5 216.5,-2158.5"/>
+<text text-anchor="middle" x="273" y="-2165.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEHarrisScoreKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node114 -->
+<g id="edge113" class="edge"><title>Node84&#45;&gt;Node114</title>
+<path fill="none" stroke="midnightblue" d="M118.004,-1191.08C118.212,-1323.98 122.263,-2073.78 187,-2149 194.497,-2157.71 205.034,-2162.92 216.145,-2165.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.504,-1190.77 117.994,-1180.77 114.504,-1190.77 121.504,-1190.77"/>
+</g>
+<!-- Node117 -->
+<g id="node117" class="node"><title>Node117</title>
+<g id="a_node117"><a xlink:href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml" target="_top" xlink:title="Common interface for warp affine and warp perspective. ">
+<polygon fill="white" stroke="black" points="230.5,-2120.5 230.5,-2139.5 315.5,-2139.5 315.5,-2120.5 230.5,-2120.5"/>
+<text text-anchor="middle" x="273" y="-2127.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEWarpKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node117 -->
+<g id="edge116" class="edge"><title>Node84&#45;&gt;Node117</title>
+<path fill="none" stroke="midnightblue" d="M118.063,-1190.7C118.652,-1319.55 124.728,-2038.85 187,-2111 197.671,-2123.36 214.466,-2128.68 230.319,-2130.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.563,-1190.67 118.023,-1180.69 114.563,-1190.7 121.563,-1190.67"/>
+</g>
+<!-- Node120 -->
+<g id="node120" class="node"><title>Node120</title>
+<g id="a_node120"><a xlink:href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml" target="_top" xlink:title="Interface for the absolute difference kernel. ">
+<polygon fill="white" stroke="black" points="202,-2082.5 202,-2101.5 344,-2101.5 344,-2082.5 202,-2082.5"/>
+<text text-anchor="middle" x="273" y="-2089.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAbsoluteDifferenceKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node120 -->
+<g id="edge119" class="edge"><title>Node84&#45;&gt;Node120</title>
+<path fill="none" stroke="midnightblue" d="M118.127,-1190.68C119.117,-1316.38 127.248,-2003.99 187,-2073 191.157,-2077.8 196.238,-2081.54 201.828,-2084.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.626,-1190.56 118.054,-1180.58 114.627,-1190.61 121.626,-1190.56"/>
+</g>
+<!-- Node121 -->
+<g id="node121" class="node"><title>Node121</title>
+<g id="a_node121"><a xlink:href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform addition between two tensors. ">
+<polygon fill="white" stroke="black" points="204,-2044.5 204,-2063.5 342,-2063.5 342,-2044.5 204,-2044.5"/>
+<text text-anchor="middle" x="273" y="-2051.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticAdditionKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node121 -->
+<g id="edge120" class="edge"><title>Node84&#45;&gt;Node121</title>
+<path fill="none" stroke="midnightblue" d="M118.201,-1190.98C119.619,-1314.33 129.817,-1969.18 187,-2035 191.661,-2040.37 197.476,-2044.4 203.863,-2047.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.698,-1190.7 118.089,-1180.74 114.698,-1190.78 121.698,-1190.7"/>
+</g>
+<!-- Node122 -->
+<g id="node122" class="node"><title>Node122</title>
+<g id="a_node122"><a xlink:href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform subtraction between two tensors. ">
+<polygon fill="white" stroke="black" points="197,-2006.5 197,-2025.5 349,-2025.5 349,-2006.5 197,-2006.5"/>
+<text text-anchor="middle" x="273" y="-2013.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticSubtractionKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node122 -->
+<g id="edge121" class="edge"><title>Node84&#45;&gt;Node122</title>
+<path fill="none" stroke="midnightblue" d="M118.276,-1190.84C120.12,-1310.61 132.313,-1934.28 187,-1997 190.279,-2000.76 194.126,-2003.87 198.339,-2006.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.772,-1190.53 118.125,-1180.59 114.773,-1190.64 121.772,-1190.53"/>
 </g>
 <!-- Node123 -->
 <g id="node123" class="node"><title>Node123</title>
-<g id="a_node123"><a xlink:href="classarm__compute_1_1_i_n_e_harris_score_kernel.xhtml" target="_top" xlink:title="Common interface for all Harris Score kernels. ">
-<polygon fill="white" stroke="black" points="216.5,-2196.5 216.5,-2215.5 329.5,-2215.5 329.5,-2196.5 216.5,-2196.5"/>
-<text text-anchor="middle" x="273" y="-2203.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEHarrisScoreKernel</text>
+<g id="a_node123"><a xlink:href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise AND between XY&#45;planes of two tensors. ...">
+<polygon fill="white" stroke="black" points="219,-1968.5 219,-1987.5 327,-1987.5 327,-1968.5 219,-1968.5"/>
+<text text-anchor="middle" x="273" y="-1975.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseAndKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node123 -->
 <g id="edge122" class="edge"><title>Node84&#45;&gt;Node123</title>
-<path fill="none" stroke="midnightblue" d="M117.975,-1210.05C117.992,-1344.35 120.994,-2110.21 187,-2187 194.491,-2195.72 205.025,-2200.93 216.136,-2203.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.475,-1209.65 117.98,-1199.65 114.475,-1209.65 121.475,-1209.65"/>
+<path fill="none" stroke="midnightblue" d="M118.363,-1191C120.667,-1307.89 134.854,-1899.44 187,-1959 195.168,-1968.33 206.824,-1973.63 218.896,-1976.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.857,-1190.61 118.167,-1180.68 114.858,-1190.74 121.857,-1190.61"/>
+</g>
+<!-- Node124 -->
+<g id="node124" class="node"><title>Node124</title>
+<g id="a_node124"><a xlink:href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise NOT operation. ">
+<polygon fill="white" stroke="black" points="219.5,-1930.5 219.5,-1949.5 326.5,-1949.5 326.5,-1930.5 219.5,-1930.5"/>
+<text text-anchor="middle" x="273" y="-1937.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseNotKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node124 -->
+<g id="edge123" class="edge"><title>Node84&#45;&gt;Node124</title>
+<path fill="none" stroke="midnightblue" d="M118.451,-1190.75C121.205,-1303.66 137.328,-1864.52 187,-1921 195.288,-1930.42 207.137,-1935.74 219.366,-1938.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.949,-1190.65 118.213,-1180.74 114.951,-1190.82 121.949,-1190.65"/>
+</g>
+<!-- Node125 -->
+<g id="node125" class="node"><title>Node125</title>
+<g id="a_node125"><a xlink:href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise inclusive OR between two tensors. ">
+<polygon fill="white" stroke="black" points="222.5,-1892.5 222.5,-1911.5 323.5,-1911.5 323.5,-1892.5 222.5,-1892.5"/>
+<text text-anchor="middle" x="273" y="-1899.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseOrKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node125 -->
+<g id="edge124" class="edge"><title>Node84&#45;&gt;Node125</title>
+<path fill="none" stroke="midnightblue" d="M118.553,-1190.76C121.796,-1300.27 139.84,-1829.63 187,-1883 196.012,-1893.2 209.193,-1898.57 222.498,-1901.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.051,-1190.65 118.264,-1180.75 115.054,-1190.85 122.051,-1190.65"/>
 </g>
 <!-- Node126 -->
 <g id="node126" class="node"><title>Node126</title>
-<g id="a_node126"><a xlink:href="classarm__compute_1_1_i_n_e_warp_kernel.xhtml" target="_top" xlink:title="Common interface for warp affine and warp perspective. ">
-<polygon fill="white" stroke="black" points="230.5,-2158.5 230.5,-2177.5 315.5,-2177.5 315.5,-2158.5 230.5,-2158.5"/>
-<text text-anchor="middle" x="273" y="-2165.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEWarpKernel</text>
+<g id="a_node126"><a xlink:href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. ">
+<polygon fill="white" stroke="black" points="220,-1854.5 220,-1873.5 326,-1873.5 326,-1854.5 220,-1854.5"/>
+<text text-anchor="middle" x="273" y="-1861.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseXorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node126 -->
 <g id="edge125" class="edge"><title>Node84&#45;&gt;Node126</title>
-<path fill="none" stroke="midnightblue" d="M118.033,-1209.69C118.426,-1340.01 123.463,-2075.28 187,-2149 197.662,-2161.37 214.456,-2166.68 230.31,-2168.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.532,-1209.57 118.008,-1199.58 114.532,-1209.59 121.532,-1209.57"/>
+<path fill="none" stroke="midnightblue" d="M118.676,-1191.01C122.45,-1297.51 142.381,-1794.78 187,-1845 195.437,-1854.5 207.488,-1859.8 219.875,-1862.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.164,-1190.6 118.319,-1180.73 115.168,-1190.84 122.164,-1190.6"/>
+</g>
+<!-- Node127 -->
+<g id="node127" class="node"><title>Node127</title>
+<g id="a_node127"><a xlink:href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml" target="_top" xlink:title="Interface for the channel combine kernel. ">
+<polygon fill="white" stroke="black" points="206,-1816.5 206,-1835.5 340,-1835.5 340,-1816.5 206,-1816.5"/>
+<text text-anchor="middle" x="273" y="-1823.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelCombineKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node127 -->
+<g id="edge126" class="edge"><title>Node84&#45;&gt;Node127</title>
+<path fill="none" stroke="midnightblue" d="M118.797,-1190.84C123.091,-1293.33 144.859,-1759.86 187,-1807 192.14,-1812.75 198.605,-1816.96 205.664,-1820.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.286,-1190.5 118.378,-1180.66 115.292,-1190.79 122.286,-1190.5"/>
+</g>
+<!-- Node128 -->
+<g id="node128" class="node"><title>Node128</title>
+<g id="a_node128"><a xlink:href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform col2im reshaping. ">
+<polygon fill="white" stroke="black" points="228,-1778.5 228,-1797.5 318,-1797.5 318,-1778.5 228,-1778.5"/>
+<text text-anchor="middle" x="273" y="-1785.5" font-family="Helvetica,sans-Serif" font-size="10.00">NECol2ImKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node128 -->
+<g id="edge127" class="edge"><title>Node84&#45;&gt;Node128</title>
+<path fill="none" stroke="midnightblue" d="M118.927,-1190.57C123.755,-1288.78 147.32,-1724.92 187,-1769 197.319,-1780.46 212.908,-1785.81 227.931,-1788.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.421,-1190.36 118.442,-1180.54 115.43,-1190.7 122.421,-1190.36"/>
 </g>
 <!-- Node129 -->
 <g id="node129" class="node"><title>Node129</title>
-<g id="a_node129"><a xlink:href="classarm__compute_1_1_n_e_absolute_difference_kernel.xhtml" target="_top" xlink:title="Interface for the absolute difference kernel. ">
-<polygon fill="white" stroke="black" points="202,-2120.5 202,-2139.5 344,-2139.5 344,-2120.5 202,-2120.5"/>
-<text text-anchor="middle" x="273" y="-2127.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAbsoluteDifferenceKernel</text>
+<g id="a_node129"><a xlink:href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml" target="_top" xlink:title="Interface for the color convert kernel. ">
+<polygon fill="white" stroke="black" points="215,-1740.5 215,-1759.5 331,-1759.5 331,-1740.5 215,-1740.5"/>
+<text text-anchor="middle" x="273" y="-1747.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEColorConvertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node129 -->
 <g id="edge128" class="edge"><title>Node84&#45;&gt;Node129</title>
-<path fill="none" stroke="midnightblue" d="M118.097,-1210.09C118.897,-1338.43 126.051,-2040.5 187,-2111 191.153,-2115.8 196.232,-2119.54 201.82,-2122.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.595,-1209.76 118.039,-1199.78 114.595,-1209.8 121.595,-1209.76"/>
+<path fill="none" stroke="midnightblue" d="M119.118,-1191.1C124.601,-1286.42 149.882,-1690.08 187,-1731 194.315,-1739.06 204.239,-1744.09 214.725,-1747.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.597,-1190.61 118.536,-1180.83 115.608,-1191.01 122.597,-1190.61"/>
 </g>
 <!-- Node130 -->
 <g id="node130" class="node"><title>Node130</title>
-<g id="a_node130"><a xlink:href="classarm__compute_1_1_n_e_arithmetic_addition_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform addition between two tensors. ">
-<polygon fill="white" stroke="black" points="204,-2082.5 204,-2101.5 342,-2101.5 342,-2082.5 204,-2082.5"/>
-<text text-anchor="middle" x="273" y="-2089.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticAdditionKernel</text>
+<g id="a_node130"><a xlink:href="classarm__compute_1_1_n_e_convolution_layer_weights_reshape_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform reshaping on the weights used by convolution layer. ">
+<polygon fill="white" stroke="black" points="201.5,-1691 201.5,-1721 344.5,-1721 344.5,-1691 201.5,-1691"/>
+<text text-anchor="start" x="209.5" y="-1709" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionLayerWeights</text>
+<text text-anchor="middle" x="273" y="-1698" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node130 -->
 <g id="edge129" class="edge"><title>Node84&#45;&gt;Node130</title>
-<path fill="none" stroke="midnightblue" d="M118.165,-1210.03C119.374,-1335.08 128.564,-2005.62 187,-2073 191.656,-2078.37 197.468,-2082.41 203.854,-2085.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.661,-1209.63 118.071,-1199.66 114.662,-1209.7 121.661,-1209.63"/>
+<path fill="none" stroke="midnightblue" d="M117.908,-1190.74C117.917,-1275.24 122.161,-1605.51 187,-1681 191.009,-1685.67 195.84,-1689.49 201.139,-1692.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.408,-1190.71 117.929,-1180.7 114.408,-1190.69 121.408,-1190.71"/>
 </g>
 <!-- Node131 -->
 <g id="node131" class="node"><title>Node131</title>
-<g id="a_node131"><a xlink:href="classarm__compute_1_1_n_e_arithmetic_subtraction_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform subtraction between two tensors. ">
-<polygon fill="white" stroke="black" points="197,-2044.5 197,-2063.5 349,-2063.5 349,-2044.5 197,-2044.5"/>
-<text text-anchor="middle" x="273" y="-2051.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticSubtractionKernel</text>
+<g id="a_node131"><a xlink:href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml" target="_top" xlink:title="Kernel for the running convolution on a rectangle matrix. ">
+<polygon fill="white" stroke="black" points="195.5,-1652.5 195.5,-1671.5 350.5,-1671.5 350.5,-1652.5 195.5,-1652.5"/>
+<text text-anchor="middle" x="273" y="-1659.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionRectangleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node131 -->
 <g id="edge130" class="edge"><title>Node84&#45;&gt;Node131</title>
-<path fill="none" stroke="midnightblue" d="M118.233,-1209.54C119.844,-1330.19 131.009,-1970.67 187,-2035 190.276,-2038.76 194.12,-2041.87 198.331,-2044.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.732,-1209.48 118.105,-1199.53 114.733,-1209.57 121.732,-1209.48"/>
+<path fill="none" stroke="midnightblue" d="M118.025,-1191.16C118.55,-1272.55 124.72,-1575.88 187,-1643 190.497,-1646.77 194.564,-1649.87 198.989,-1652.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.524,-1190.8 117.983,-1180.81 114.524,-1190.83 121.524,-1190.8"/>
 </g>
 <!-- Node132 -->
 <g id="node132" class="node"><title>Node132</title>
-<g id="a_node132"><a xlink:href="classarm__compute_1_1_n_e_bitwise_and_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise AND between XY&#45;planes of two tensors. ...">
-<polygon fill="white" stroke="black" points="219,-2006.5 219,-2025.5 327,-2025.5 327,-2006.5 219,-2006.5"/>
-<text text-anchor="middle" x="273" y="-2013.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseAndKernel</text>
+<g id="a_node132"><a xlink:href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml" target="_top" xlink:title="Interface for the cumulative distribution (cummulative summmation) calculation kernel. ">
+<polygon fill="white" stroke="black" points="208,-1603 208,-1633 338,-1633 338,-1603 208,-1603"/>
+<text text-anchor="start" x="216" y="-1621" font-family="Helvetica,sans-Serif" font-size="10.00">NECumulativeDistribution</text>
+<text text-anchor="middle" x="273" y="-1610" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node132 -->
 <g id="edge131" class="edge"><title>Node84&#45;&gt;Node132</title>
-<path fill="none" stroke="midnightblue" d="M118.315,-1209.75C120.377,-1327.68 133.558,-1935.83 187,-1997 195.158,-2006.34 206.811,-2011.64 218.883,-2014.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.813,-1209.58 118.145,-1199.64 114.814,-1209.7 121.813,-1209.58"/>
+<path fill="none" stroke="midnightblue" d="M118.527,-1190.83C120.922,-1265.96 133.131,-1532 187,-1593 192.702,-1599.46 199.977,-1604.28 207.863,-1607.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.025,-1190.71 118.232,-1180.82 115.029,-1190.92 122.025,-1190.71"/>
 </g>
 <!-- Node133 -->
 <g id="node133" class="node"><title>Node133</title>
-<g id="a_node133"><a xlink:href="classarm__compute_1_1_n_e_bitwise_not_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise NOT operation. ">
-<polygon fill="white" stroke="black" points="219.5,-1968.5 219.5,-1987.5 326.5,-1987.5 326.5,-1968.5 219.5,-1968.5"/>
-<text text-anchor="middle" x="273" y="-1975.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseNotKernel</text>
+<g id="a_node133"><a xlink:href="classarm__compute_1_1_n_e_derivative_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the derivative along the X/Y directions on a tensor. ">
+<polygon fill="white" stroke="black" points="221.5,-1564.5 221.5,-1583.5 324.5,-1583.5 324.5,-1564.5 221.5,-1564.5"/>
+<text text-anchor="middle" x="273" y="-1571.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDerivativeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node133 -->
 <g id="edge132" class="edge"><title>Node84&#45;&gt;Node133</title>
-<path fill="none" stroke="midnightblue" d="M118.406,-1209.88C120.934,-1324.81 136.092,-1900.98 187,-1959 195.277,-1968.43 207.122,-1973.75 219.352,-1976.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.902,-1209.64 118.19,-1199.71 114.904,-1209.78 121.902,-1209.64"/>
+<path fill="none" stroke="midnightblue" d="M118.758,-1190.94C121.874,-1262.05 136.046,-1501.85 187,-1555 196,-1564.39 208.545,-1569.61 221.239,-1572.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.244,-1190.54 118.336,-1180.69 115.25,-1190.82 122.244,-1190.54"/>
 </g>
 <!-- Node134 -->
 <g id="node134" class="node"><title>Node134</title>
-<g id="a_node134"><a xlink:href="classarm__compute_1_1_n_e_bitwise_or_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise inclusive OR between two tensors. ">
-<polygon fill="white" stroke="black" points="222.5,-1930.5 222.5,-1949.5 323.5,-1949.5 323.5,-1930.5 222.5,-1930.5"/>
-<text text-anchor="middle" x="273" y="-1937.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseOrKernel</text>
+<g id="a_node134"><a xlink:href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Non&#45;Maxima suppression for Canny Edge. ">
+<polygon fill="white" stroke="black" points="187,-1526.5 187,-1545.5 359,-1545.5 359,-1526.5 187,-1526.5"/>
+<text text-anchor="middle" x="273" y="-1533.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEEdgeNonMaxSuppressionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node134 -->
 <g id="edge133" class="edge"><title>Node84&#45;&gt;Node134</title>
-<path fill="none" stroke="midnightblue" d="M118.505,-1209.93C121.515,-1321.56 138.611,-1866.11 187,-1921 195.999,-1931.21 209.176,-1936.59 222.482,-1939.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.999,-1209.65 118.238,-1199.75 115.002,-1209.84 121.999,-1209.65"/>
+<path fill="none" stroke="midnightblue" d="M119.196,-1191.08C123.577,-1257.7 140.962,-1469.89 187,-1517 190.699,-1520.79 194.975,-1523.89 199.602,-1526.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.666,-1190.48 118.544,-1180.72 115.679,-1190.92 122.666,-1190.48"/>
 </g>
 <!-- Node135 -->
 <g id="node135" class="node"><title>Node135</title>
-<g id="a_node135"><a xlink:href="classarm__compute_1_1_n_e_bitwise_xor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform bitwise exclusive OR (XOR) between two tensors. ">
-<polygon fill="white" stroke="black" points="220,-1892.5 220,-1911.5 326,-1911.5 326,-1892.5 220,-1892.5"/>
-<text text-anchor="middle" x="273" y="-1899.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseXorKernel</text>
+<g id="a_node135"><a xlink:href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Edge tracing. ">
+<polygon fill="white" stroke="black" points="220,-1488.5 220,-1507.5 326,-1507.5 326,-1488.5 220,-1488.5"/>
+<text text-anchor="middle" x="273" y="-1495.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEEdgeTraceKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node135 -->
 <g id="edge134" class="edge"><title>Node84&#45;&gt;Node135</title>
-<path fill="none" stroke="midnightblue" d="M118.613,-1209.9C122.119,-1317.95 141.113,-1831.21 187,-1883 195.424,-1892.51 207.471,-1897.82 219.857,-1900.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.106,-1209.63 118.291,-1199.74 115.11,-1209.85 122.106,-1209.63"/>
+<path fill="none" stroke="midnightblue" d="M119.71,-1190.84C125.408,-1252.29 145.765,-1437.78 187,-1479 195.77,-1487.77 207.642,-1492.87 219.73,-1495.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.169,-1190.23 118.789,-1180.58 116.197,-1190.85 123.169,-1190.23"/>
 </g>
 <!-- Node136 -->
 <g id="node136" class="node"><title>Node136</title>
-<g id="a_node136"><a xlink:href="classarm__compute_1_1_n_e_channel_combine_kernel.xhtml" target="_top" xlink:title="Interface for the channel combine kernel. ">
-<polygon fill="white" stroke="black" points="206,-1854.5 206,-1873.5 340,-1873.5 340,-1854.5 206,-1854.5"/>
-<text text-anchor="middle" x="273" y="-1861.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelCombineKernel</text>
+<g id="a_node136"><a xlink:href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform fast corners. ">
+<polygon fill="white" stroke="black" points="216.5,-1450.5 216.5,-1469.5 329.5,-1469.5 329.5,-1450.5 216.5,-1450.5"/>
+<text text-anchor="middle" x="273" y="-1457.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFastCornersKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node136 -->
 <g id="edge135" class="edge"><title>Node84&#45;&gt;Node136</title>
-<path fill="none" stroke="midnightblue" d="M118.742,-1210.11C122.791,-1314.99 143.646,-1796.35 187,-1845 192.131,-1850.76 198.591,-1854.97 205.647,-1858.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.233,-1209.8 118.357,-1199.94 115.238,-1210.07 122.233,-1209.8"/>
+<path fill="none" stroke="midnightblue" d="M120.348,-1190.57C127.459,-1246.56 150.534,-1405.62 187,-1441 195.031,-1448.79 205.522,-1453.67 216.379,-1456.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.809,-1190.03 119.107,-1180.54 116.862,-1190.89 123.809,-1190.03"/>
 </g>
 <!-- Node137 -->
 <g id="node137" class="node"><title>Node137</title>
-<g id="a_node137"><a xlink:href="classarm__compute_1_1_n_e_col2_im_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform col2im reshaping. ">
-<polygon fill="white" stroke="black" points="228,-1816.5 228,-1835.5 318,-1835.5 318,-1816.5 228,-1816.5"/>
-<text text-anchor="middle" x="273" y="-1823.5" font-family="Helvetica,sans-Serif" font-size="10.00">NECol2ImKernel</text>
+<g id="a_node137"><a xlink:href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml" target="_top" xlink:title="This kernel adds all texels greater than or equal to the threshold value to the keypoint array...">
+<polygon fill="white" stroke="black" points="225.5,-1412.5 225.5,-1431.5 320.5,-1431.5 320.5,-1412.5 225.5,-1412.5"/>
+<text text-anchor="middle" x="273" y="-1419.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillArrayKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node137 -->
 <g id="edge136" class="edge"><title>Node84&#45;&gt;Node137</title>
-<path fill="none" stroke="midnightblue" d="M118.869,-1209.88C123.446,-1310.59 146.114,-1761.42 187,-1807 197.298,-1818.48 212.884,-1823.83 227.909,-1826.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.363,-1209.68 118.42,-1199.84 115.37,-1209.99 122.363,-1209.68"/>
+<path fill="none" stroke="midnightblue" d="M117.637,-1190.85C117.962,-1235.72 125.387,-1345.51 187,-1403 197.392,-1412.7 211.613,-1417.83 225.449,-1420.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="121.138,-1190.7 117.682,-1180.69 114.138,-1190.67 121.138,-1190.7"/>
 </g>
 <!-- Node138 -->
 <g id="node138" class="node"><title>Node138</title>
-<g id="a_node138"><a xlink:href="classarm__compute_1_1_n_e_color_convert_kernel.xhtml" target="_top" xlink:title="Interface for the color convert kernel. ">
-<polygon fill="white" stroke="black" points="215,-1778.5 215,-1797.5 331,-1797.5 331,-1778.5 215,-1778.5"/>
-<text text-anchor="middle" x="273" y="-1785.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEColorConvertKernel</text>
+<g id="a_node138"><a xlink:href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to fill borders. ">
+<polygon fill="white" stroke="black" points="223,-1374.5 223,-1393.5 323,-1393.5 323,-1374.5 223,-1374.5"/>
+<text text-anchor="middle" x="273" y="-1381.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillBorderKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node138 -->
 <g id="edge137" class="edge"><title>Node84&#45;&gt;Node138</title>
-<path fill="none" stroke="midnightblue" d="M119.02,-1209.85C124.172,-1306.69 148.605,-1726.5 187,-1769 194.299,-1777.08 204.216,-1782.12 214.701,-1785.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.506,-1209.5 118.488,-1199.69 115.516,-1209.86 122.506,-1209.5"/>
+<path fill="none" stroke="midnightblue" d="M119.006,-1191.06C122.118,-1230.63 134.861,-1318.85 187,-1365 196.851,-1373.72 209.824,-1378.71 222.658,-1381.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="122.483,-1190.61 118.337,-1180.86 115.498,-1191.07 122.483,-1190.61"/>
 </g>
 <!-- Node139 -->
 <g id="node139" class="node"><title>Node139</title>
-<g id="a_node139"><a xlink:href="classarm__compute_1_1_n_e_convolution_layer_weights_reshape_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform reshaping on the weights used by convolution layer. ">
-<polygon fill="white" stroke="black" points="201.5,-1729 201.5,-1759 344.5,-1759 344.5,-1729 201.5,-1729"/>
-<text text-anchor="start" x="209.5" y="-1747" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionLayerWeights</text>
-<text text-anchor="middle" x="273" y="-1736" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
+<g id="a_node139"><a xlink:href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to fill the interior borders. ">
+<polygon fill="white" stroke="black" points="212,-1336.5 212,-1355.5 334,-1355.5 334,-1336.5 212,-1336.5"/>
+<text text-anchor="middle" x="273" y="-1343.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillInnerBorderKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node139 -->
 <g id="edge138" class="edge"><title>Node84&#45;&gt;Node139</title>
-<path fill="none" stroke="midnightblue" d="M117.802,-1209.65C117.334,-1295.92 119.763,-1640.33 187,-1719 190.998,-1723.68 195.821,-1727.5 201.115,-1730.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.302,-1209.66 117.877,-1199.64 114.302,-1209.61 121.302,-1209.66"/>
+<path fill="none" stroke="midnightblue" d="M120.93,-1190.82C126.964,-1224.27 144.011,-1291.73 187,-1327 194.131,-1332.85 202.689,-1336.99 211.59,-1339.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="124.37,-1190.17 119.285,-1180.87 117.464,-1191.31 124.37,-1190.17"/>
 </g>
 <!-- Node140 -->
 <g id="node140" class="node"><title>Node140</title>
-<g id="a_node140"><a xlink:href="classarm__compute_1_1_n_e_convolution_rectangle_kernel.xhtml" target="_top" xlink:title="Kernel for the running convolution on a rectangle matrix. ">
-<polygon fill="white" stroke="black" points="195.5,-1690.5 195.5,-1709.5 350.5,-1709.5 350.5,-1690.5 195.5,-1690.5"/>
-<text text-anchor="middle" x="273" y="-1697.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionRectangleKernel</text>
+<g id="a_node140"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml" target="_top" xlink:title="NEON kernel to multiply matrices. ">
+<polygon fill="white" stroke="black" points="200,-1287 200,-1317 346,-1317 346,-1287 200,-1287"/>
+<text text-anchor="start" x="208" y="-1305" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMLowpMatrixMultiply</text>
+<text text-anchor="middle" x="273" y="-1294" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node140 -->
 <g id="edge139" class="edge"><title>Node84&#45;&gt;Node140</title>
-<path fill="none" stroke="midnightblue" d="M117.899,-1209.9C117.897,-1292.95 122.186,-1610.76 187,-1681 190.487,-1684.78 194.546,-1687.89 198.965,-1690.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.399,-1209.8 117.922,-1199.79 114.399,-1209.79 121.399,-1209.8"/>
+<path fill="none" stroke="midnightblue" d="M125.298,-1190.14C135.467,-1214.23 156.189,-1255.22 187,-1278 191.685,-1281.46 196.853,-1284.43 202.256,-1286.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="128.464,-1188.63 121.478,-1180.66 121.972,-1191.25 128.464,-1188.63"/>
 </g>
 <!-- Node141 -->
 <g id="node141" class="node"><title>Node141</title>
-<g id="a_node141"><a xlink:href="classarm__compute_1_1_n_e_cumulative_distribution_kernel.xhtml" target="_top" xlink:title="Interface for the cumulative distribution (cummulative summmation) calculation kernel. ">
-<polygon fill="white" stroke="black" points="208,-1641 208,-1671 338,-1671 338,-1641 208,-1641"/>
-<text text-anchor="start" x="216" y="-1659" font-family="Helvetica,sans-Serif" font-size="10.00">NECumulativeDistribution</text>
-<text text-anchor="middle" x="273" y="-1648" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<g id="a_node141"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml" target="_top" xlink:title="NEON kernel to add a bias to each row of the input tensor. ">
+<polygon fill="white" stroke="black" points="188,-1238 188,-1268 358,-1268 358,-1238 188,-1238"/>
+<text text-anchor="start" x="196" y="-1256" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixAccumulateBiases</text>
+<text text-anchor="middle" x="273" y="-1245" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node141 -->
 <g id="edge140" class="edge"><title>Node84&#45;&gt;Node141</title>
-<path fill="none" stroke="midnightblue" d="M118.382,-1210.2C120.261,-1288 130.865,-1566.99 187,-1631 192.68,-1637.48 199.942,-1642.32 207.823,-1645.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.874,-1209.79 118.157,-1199.87 114.876,-1209.94 121.874,-1209.79"/>
+<path fill="none" stroke="midnightblue" d="M134.693,-1188.13C147.852,-1200.76 167.227,-1217.5 187,-1228 194.2,-1231.82 202.062,-1235.14 210.003,-1237.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="136.931,-1185.42 127.354,-1180.89 132.016,-1190.41 136.931,-1185.42"/>
 </g>
 <!-- Node142 -->
 <g id="node142" class="node"><title>Node142</title>
-<g id="a_node142"><a xlink:href="classarm__compute_1_1_n_e_derivative_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the derivative along the X/Y directions on a tensor. ">
-<polygon fill="white" stroke="black" points="221.5,-1602.5 221.5,-1621.5 324.5,-1621.5 324.5,-1602.5 221.5,-1602.5"/>
-<text text-anchor="middle" x="273" y="-1609.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDerivativeKernel</text>
+<g id="a_node142"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml" target="_top" xlink:title="NEON kernel to multiply two input matrices &quot;A&quot; and &quot;B&quot;. ">
+<polygon fill="white" stroke="black" points="198,-1199.5 198,-1218.5 348,-1218.5 348,-1199.5 198,-1199.5"/>
+<text text-anchor="middle" x="273" y="-1206.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixMultiplyKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node142 -->
 <g id="edge141" class="edge"><title>Node84&#45;&gt;Node142</title>
-<path fill="none" stroke="midnightblue" d="M118.574,-1209.97C121.099,-1283.37 133.606,-1536.85 187,-1593 195.961,-1602.42 208.494,-1607.66 221.188,-1610.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.067,-1209.68 118.25,-1199.8 115.07,-1209.9 122.067,-1209.68"/>
+<path fill="none" stroke="midnightblue" d="M161.083,-1183.21C169.65,-1185.54 178.595,-1187.9 187,-1190 200.058,-1193.26 214.31,-1196.54 227.348,-1199.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="161.825,-1179.79 151.255,-1180.51 159.969,-1186.54 161.825,-1179.79"/>
 </g>
 <!-- Node143 -->
 <g id="node143" class="node"><title>Node143</title>
-<g id="a_node143"><a xlink:href="classarm__compute_1_1_n_e_edge_non_max_suppression_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Non&#45;Maxima suppression for Canny Edge. ">
-<polygon fill="white" stroke="black" points="187,-1564.5 187,-1583.5 359,-1583.5 359,-1564.5 187,-1564.5"/>
-<text text-anchor="middle" x="273" y="-1571.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEEdgeNonMaxSuppressionKernel</text>
+<g id="a_node143"><a xlink:href="classarm__compute_1_1_n_e_gradient_kernel.xhtml" target="_top" xlink:title="Computes magnitude and quantised phase from inputs gradients. ">
+<polygon fill="white" stroke="black" points="225.5,-1161.5 225.5,-1180.5 320.5,-1180.5 320.5,-1161.5 225.5,-1161.5"/>
+<text text-anchor="middle" x="273" y="-1168.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGradientKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node143 -->
 <g id="edge142" class="edge"><title>Node84&#45;&gt;Node143</title>
-<path fill="none" stroke="midnightblue" d="M118.956,-1209.83C122.674,-1278.51 138.465,-1504.83 187,-1555 190.68,-1558.8 194.942,-1561.92 199.559,-1564.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.436,-1209.36 118.427,-1199.55 115.446,-1209.72 122.436,-1209.36"/>
-</g>
-<!-- Node144 -->
-<g id="node144" class="node"><title>Node144</title>
-<g id="a_node144"><a xlink:href="classarm__compute_1_1_n_e_edge_trace_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Edge tracing. ">
-<polygon fill="white" stroke="black" points="220,-1526.5 220,-1545.5 326,-1545.5 326,-1526.5 220,-1526.5"/>
-<text text-anchor="middle" x="273" y="-1533.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEEdgeTraceKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node144 -->
-<g id="edge143" class="edge"><title>Node84&#45;&gt;Node144</title>
-<path fill="none" stroke="midnightblue" d="M119.427,-1209.8C124.435,-1273.69 143.33,-1472.8 187,-1517 195.715,-1525.82 207.568,-1530.94 219.655,-1533.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="122.893,-1209.22 118.65,-1199.51 115.913,-1209.75 122.893,-1209.22"/>
+<path fill="none" stroke="midnightblue" d="M161.102,-1171C181.086,-1171 204.876,-1171 225.288,-1171"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="161.037,-1167.5 151.037,-1171 161.037,-1174.5 161.037,-1167.5"/>
 </g>
 <!-- Node145 -->
 <g id="node145" class="node"><title>Node145</title>
-<g id="a_node145"><a xlink:href="classarm__compute_1_1_n_e_fast_corners_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform fast corners. ">
-<polygon fill="white" stroke="black" points="216.5,-1488.5 216.5,-1507.5 329.5,-1507.5 329.5,-1488.5 216.5,-1488.5"/>
-<text text-anchor="middle" x="273" y="-1495.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFastCornersKernel</text>
+<g id="a_node145"><a xlink:href="classarm__compute_1_1_n_e_histogram_kernel.xhtml" target="_top" xlink:title="Interface for the histogram kernel. ">
+<polygon fill="white" stroke="black" points="221,-1123.5 221,-1142.5 325,-1142.5 325,-1123.5 221,-1123.5"/>
+<text text-anchor="middle" x="273" y="-1130.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHistogramKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node145 -->
 <g id="edge144" class="edge"><title>Node84&#45;&gt;Node145</title>
-<path fill="none" stroke="midnightblue" d="M120.017,-1209.77C126.416,-1268.58 148.167,-1440.72 187,-1479 194.969,-1486.85 205.434,-1491.76 216.285,-1494.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.473,-1209.17 118.941,-1199.59 116.512,-1209.9 123.473,-1209.17"/>
+<path fill="none" stroke="midnightblue" d="M161.083,-1158.79C169.65,-1156.46 178.595,-1154.1 187,-1152 200.058,-1148.74 214.31,-1145.46 227.348,-1142.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="159.969,-1155.46 151.255,-1161.49 161.825,-1162.21 159.969,-1155.46"/>
 </g>
 <!-- Node146 -->
 <g id="node146" class="node"><title>Node146</title>
-<g id="a_node146"><a xlink:href="classarm__compute_1_1_n_e_fill_array_kernel.xhtml" target="_top" xlink:title="This kernel adds all texels greater than or equal to the threshold value to the keypoint array...">
-<polygon fill="white" stroke="black" points="225.5,-1450.5 225.5,-1469.5 320.5,-1469.5 320.5,-1450.5 225.5,-1450.5"/>
-<text text-anchor="middle" x="273" y="-1457.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillArrayKernel</text>
+<g id="a_node146"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG block normalization. ">
+<polygon fill="white" stroke="black" points="190,-1085.5 190,-1104.5 356,-1104.5 356,-1085.5 190,-1085.5"/>
+<text text-anchor="middle" x="273" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGBlockNormalizationKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node146 -->
 <g id="edge145" class="edge"><title>Node84&#45;&gt;Node146</title>
-<path fill="none" stroke="midnightblue" d="M120.807,-1209.93C128.746,-1263.48 153.012,-1408.62 187,-1441 197.291,-1450.8 211.485,-1455.97 225.328,-1458.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="124.223,-1209.1 119.325,-1199.7 117.295,-1210.1 124.223,-1209.1"/>
+<path fill="none" stroke="midnightblue" d="M134.052,-1153.93C147.114,-1141.05 166.659,-1123.96 187,-1114 194.877,-1110.14 203.548,-1107.06 212.249,-1104.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="131.32,-1151.72 126.807,-1161.3 136.313,-1156.62 131.32,-1151.72"/>
 </g>
 <!-- Node147 -->
 <g id="node147" class="node"><title>Node147</title>
-<g id="a_node147"><a xlink:href="classarm__compute_1_1_n_e_fill_border_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to fill borders. ">
-<polygon fill="white" stroke="black" points="223,-1412.5 223,-1431.5 323,-1431.5 323,-1412.5 223,-1412.5"/>
-<text text-anchor="middle" x="273" y="-1419.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillBorderKernel</text>
+<g id="a_node147"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG detector kernel using linear SVM. ">
+<polygon fill="white" stroke="black" points="213.5,-1047.5 213.5,-1066.5 332.5,-1066.5 332.5,-1047.5 213.5,-1047.5"/>
+<text text-anchor="middle" x="273" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGDetectorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node147 -->
 <g id="edge146" class="edge"><title>Node84&#45;&gt;Node147</title>
-<path fill="none" stroke="midnightblue" d="M118.262,-1209.96C119.954,-1252.24 130.138,-1351.21 187,-1403 196.838,-1411.96 209.956,-1417 222.937,-1419.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="121.757,-1209.73 117.981,-1199.83 114.76,-1209.93 121.757,-1209.73"/>
+<path fill="none" stroke="midnightblue" d="M126.476,-1152.17C137.31,-1130.34 158.174,-1094.94 187,-1076 194.962,-1070.77 204.153,-1066.96 213.485,-1064.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="123.22,-1150.87 122.091,-1161.41 129.543,-1153.87 123.22,-1150.87"/>
 </g>
 <!-- Node148 -->
 <g id="node148" class="node"><title>Node148</title>
-<g id="a_node148"><a xlink:href="classarm__compute_1_1_n_e_fill_inner_border_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to fill the interior borders. ">
-<polygon fill="white" stroke="black" points="212,-1374.5 212,-1393.5 334,-1393.5 334,-1374.5 212,-1374.5"/>
-<text text-anchor="middle" x="273" y="-1381.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEFillInnerBorderKernel</text>
+<g id="a_node148"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_non_maxima_suppression_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform in&#45;place computation of euclidean distance based non&#45;maxima suppression for HO...">
+<polygon fill="white" stroke="black" points="193,-998 193,-1028 353,-1028 353,-998 193,-998"/>
+<text text-anchor="start" x="201" y="-1016" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGNonMaximaSuppression</text>
+<text text-anchor="middle" x="273" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node148 -->
 <g id="edge147" class="edge"><title>Node84&#45;&gt;Node148</title>
-<path fill="none" stroke="midnightblue" d="M119.897,-1210.1C124.472,-1246.76 139.523,-1324.39 187,-1365 194.125,-1371.09 202.784,-1375.35 211.816,-1378.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="123.329,-1209.3 118.751,-1199.74 116.371,-1210.07 123.329,-1209.3"/>
+<path fill="none" stroke="midnightblue" d="M122.834,-1151.53C131.049,-1122.49 150.506,-1068.07 187,-1038 191.749,-1034.09 197.089,-1030.79 202.719,-1028"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="119.421,-1150.74 120.224,-1161.3 126.184,-1152.55 119.421,-1150.74"/>
 </g>
 <!-- Node149 -->
 <g id="node149" class="node"><title>Node149</title>
-<g id="a_node149"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_lowp_matrix_multiply_kernel.xhtml" target="_top" xlink:title="NEON kernel to multiply matrices. ">
-<polygon fill="white" stroke="black" points="200,-1325 200,-1355 346,-1355 346,-1325 200,-1325"/>
-<text text-anchor="start" x="208" y="-1343" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMLowpMatrixMultiply</text>
-<text text-anchor="middle" x="273" y="-1332" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<g id="a_node149"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG Orientation Binning. ">
+<polygon fill="white" stroke="black" points="192.5,-959.5 192.5,-978.5 353.5,-978.5 353.5,-959.5 192.5,-959.5"/>
+<text text-anchor="middle" x="273" y="-966.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGOrientationBinningKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node149 -->
 <g id="edge148" class="edge"><title>Node84&#45;&gt;Node149</title>
-<path fill="none" stroke="midnightblue" d="M123.334,-1209.28C132.015,-1237.05 151.863,-1288.02 187,-1316 191.318,-1319.44 196.103,-1322.38 201.138,-1324.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="126.651,-1208.16 120.458,-1199.56 119.938,-1210.14 126.651,-1208.16"/>
+<path fill="none" stroke="midnightblue" d="M119.567,-1151.19C123.64,-1113.63 137.95,-1032 187,-989 191.902,-984.703 197.555,-981.285 203.569,-978.572"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="116.065,-1151.05 118.605,-1161.34 123.033,-1151.71 116.065,-1151.05"/>
 </g>
 <!-- Node150 -->
 <g id="node150" class="node"><title>Node150</title>
-<g id="a_node150"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_matrix_accumulate_biases_kernel.xhtml" target="_top" xlink:title="NEON kernel to add a bias to each row of the input tensor. ">
-<polygon fill="white" stroke="black" points="188,-1276 188,-1306 358,-1306 358,-1276 188,-1276"/>
-<text text-anchor="start" x="196" y="-1294" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixAccumulateBiases</text>
-<text text-anchor="middle" x="273" y="-1283" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<g id="a_node150"><a xlink:href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml" target="_top" xlink:title="Interface for the im2col reshape kernel. ">
+<polygon fill="white" stroke="black" points="228,-921.5 228,-940.5 318,-940.5 318,-921.5 228,-921.5"/>
+<text text-anchor="middle" x="273" y="-928.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIm2ColKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node150 -->
 <g id="edge149" class="edge"><title>Node84&#45;&gt;Node150</title>
-<path fill="none" stroke="midnightblue" d="M130.155,-1208.38C142.507,-1225.67 163.174,-1251.07 187,-1266 193.126,-1269.84 199.867,-1273.11 206.792,-1275.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="132.743,-1205.97 124.182,-1199.73 126.983,-1209.95 132.743,-1205.97"/>
+<path fill="none" stroke="midnightblue" d="M117.983,-1151.2C119.081,-1107.87 128.091,-1004.23 187,-950 198.014,-939.861 213.221,-934.723 227.731,-932.233"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.482,-1151.24 117.848,-1161.29 121.482,-1151.34 114.482,-1151.24"/>
 </g>
 <!-- Node151 -->
 <g id="node151" class="node"><title>Node151</title>
-<g id="a_node151"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_matrix_multiply_kernel.xhtml" target="_top" xlink:title="NEON kernel to multiply two input matrices &quot;A&quot; and &quot;B&quot;. ">
-<polygon fill="white" stroke="black" points="198,-1237.5 198,-1256.5 348,-1256.5 348,-1237.5 198,-1237.5"/>
-<text text-anchor="middle" x="273" y="-1244.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixMultiplyKernel</text>
+<g id="a_node151"><a xlink:href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml" target="_top" xlink:title="Interface for the Lucas&#45;Kanade tracker kernel. ">
+<polygon fill="white" stroke="black" points="221,-883.5 221,-902.5 325,-902.5 325,-883.5 221,-883.5"/>
+<text text-anchor="middle" x="273" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELKTrackerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node151 -->
 <g id="edge150" class="edge"><title>Node84&#45;&gt;Node151</title>
-<path fill="none" stroke="midnightblue" d="M141.238,-1204.97C154.259,-1212.79 171.046,-1221.96 187,-1228 196.9,-1231.75 207.741,-1234.86 218.269,-1237.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="142.837,-1201.84 132.488,-1199.58 139.165,-1207.8 142.837,-1201.84"/>
+<path fill="none" stroke="midnightblue" d="M120.614,-1151.15C128.21,-1096.5 151.984,-945.627 187,-912 196.161,-903.202 208.462,-898.132 220.856,-895.291"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="117.116,-1150.9 119.24,-1161.28 124.053,-1151.84 117.116,-1150.9"/>
 </g>
 <!-- Node152 -->
 <g id="node152" class="node"><title>Node152</title>
-<g id="a_node152"><a xlink:href="classarm__compute_1_1_n_e_gradient_kernel.xhtml" target="_top" xlink:title="Computes magnitude and quantised phase from inputs gradients. ">
-<polygon fill="white" stroke="black" points="225.5,-1199.5 225.5,-1218.5 320.5,-1218.5 320.5,-1199.5 225.5,-1199.5"/>
-<text text-anchor="middle" x="273" y="-1206.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGradientKernel</text>
+<g id="a_node152"><a xlink:href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml" target="_top" xlink:title="Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by...">
+<polygon fill="white" stroke="black" points="212,-845.5 212,-864.5 334,-864.5 334,-845.5 212,-845.5"/>
+<text text-anchor="middle" x="273" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DNormKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node152 -->
 <g id="edge151" class="edge"><title>Node84&#45;&gt;Node152</title>
-<path fill="none" stroke="midnightblue" d="M161.102,-1195.32C181.086,-1197.78 204.876,-1200.72 225.288,-1203.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="161.39,-1191.83 151.037,-1194.08 160.533,-1198.77 161.39,-1191.83"/>
+<path fill="none" stroke="midnightblue" d="M119.856,-1151.46C125.921,-1091.79 147.098,-913.57 187,-874 193.872,-867.186 202.62,-862.591 211.877,-859.532"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="116.369,-1151.16 118.871,-1161.46 123.335,-1151.85 116.369,-1151.16"/>
+</g>
+<!-- Node153 -->
+<g id="node153" class="node"><title>Node153</title>
+<g id="a_node153"><a xlink:href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml" target="_top" xlink:title="Interface for shifting the logits values around the max value and exponentiating the result...">
+<polygon fill="white" stroke="black" points="195.5,-807.5 195.5,-826.5 350.5,-826.5 350.5,-807.5 195.5,-807.5"/>
+<text text-anchor="middle" x="273" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DShiftExpSumKernel</text>
+</a>
+</g>
+</g>
+<!-- Node84&#45;&gt;Node153 -->
+<g id="edge152" class="edge"><title>Node84&#45;&gt;Node153</title>
+<path fill="none" stroke="midnightblue" d="M119.324,-1151.13C124.061,-1086.13 142.323,-881.433 187,-836 190.711,-832.226 194.996,-829.13 199.628,-826.595"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.822,-1151.04 118.614,-1161.26 122.805,-1151.53 115.822,-1151.04"/>
 </g>
 <!-- Node154 -->
 <g id="node154" class="node"><title>Node154</title>
-<g id="a_node154"><a xlink:href="classarm__compute_1_1_n_e_histogram_border_kernel.xhtml" target="_top" xlink:title="Interface for the histogram border handling kernel. ">
-<polygon fill="white" stroke="black" points="207,-1161.5 207,-1180.5 339,-1180.5 339,-1161.5 207,-1161.5"/>
-<text text-anchor="middle" x="273" y="-1168.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHistogramBorderKernel</text>
+<g id="a_node154"><a xlink:href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute magnitude and phase. ">
+<polygon fill="white" stroke="black" points="195.5,-758 195.5,-788 350.5,-788 350.5,-758 195.5,-758"/>
+<text text-anchor="start" x="203.5" y="-776" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseFP16Kernel</text>
+<text text-anchor="middle" x="273" y="-765" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node154 -->
 <g id="edge153" class="edge"><title>Node84&#45;&gt;Node154</title>
-<path fill="none" stroke="midnightblue" d="M160.979,-1184.7C175.15,-1182.95 191.245,-1180.96 206.697,-1179.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="160.533,-1181.23 151.037,-1185.92 161.39,-1188.17 160.533,-1181.23"/>
+<path fill="none" stroke="midnightblue" d="M118.988,-1151.29C122.853,-1082.01 139.163,-851.044 187,-798 190.503,-794.116 194.574,-790.823 199.002,-788.032"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.492,-1151.12 118.455,-1161.3 122.482,-1151.5 115.492,-1151.12"/>
 </g>
 <!-- Node155 -->
 <g id="node155" class="node"><title>Node155</title>
-<g id="a_node155"><a xlink:href="classarm__compute_1_1_n_e_histogram_kernel.xhtml" target="_top" xlink:title="Interface for the histogram kernel. ">
-<polygon fill="white" stroke="black" points="221,-1123.5 221,-1142.5 325,-1142.5 325,-1123.5 221,-1123.5"/>
-<text text-anchor="middle" x="273" y="-1130.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHistogramKernel</text>
+<g id="a_node155"><a xlink:href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute magnitude and phase. ">
+<polygon fill="white" stroke="black" points="206,-709 206,-739 340,-739 340,-709 206,-709"/>
+<text text-anchor="start" x="214" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseKernel</text>
+<text text-anchor="middle" x="273" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node155 -->
 <g id="edge154" class="edge"><title>Node84&#45;&gt;Node155</title>
-<path fill="none" stroke="midnightblue" d="M141.238,-1175.03C154.259,-1167.21 171.046,-1158.04 187,-1152 197.749,-1147.93 209.607,-1144.61 220.968,-1141.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="139.165,-1172.2 132.488,-1180.42 142.837,-1178.16 139.165,-1172.2"/>
+<path fill="none" stroke="midnightblue" d="M118.527,-1151.17C120.922,-1076.04 133.131,-809.999 187,-749 192.193,-743.12 198.69,-738.59 205.766,-735.107"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.029,-1151.08 118.232,-1161.18 122.025,-1151.29 115.029,-1151.08"/>
 </g>
 <!-- Node156 -->
 <g id="node156" class="node"><title>Node156</title>
-<g id="a_node156"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_block_normalization_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG block normalization. ">
-<polygon fill="white" stroke="black" points="190,-1085.5 190,-1104.5 356,-1104.5 356,-1085.5 190,-1085.5"/>
-<text text-anchor="middle" x="273" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGBlockNormalizationKernel</text>
+<g id="a_node156"><a xlink:href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to calculate mean and standard deviation of input image pixels. ">
+<polygon fill="white" stroke="black" points="215,-670.5 215,-689.5 331,-689.5 331,-670.5 215,-670.5"/>
+<text text-anchor="middle" x="273" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMeanStdDevKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node156 -->
 <g id="edge155" class="edge"><title>Node84&#45;&gt;Node156</title>
-<path fill="none" stroke="midnightblue" d="M129.748,-1171.55C141.918,-1153.99 162.564,-1128.21 187,-1114 193.666,-1110.12 201.05,-1107.04 208.601,-1104.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="126.528,-1170.07 123.889,-1180.33 132.351,-1173.95 126.528,-1170.07"/>
+<path fill="none" stroke="midnightblue" d="M118.053,-1150.91C118.685,-1069.75 125.214,-767.317 187,-700 194.381,-691.959 204.333,-686.858 214.828,-683.681"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.551,-1151.2 117.996,-1161.22 121.551,-1151.24 114.551,-1151.2"/>
 </g>
 <!-- Node157 -->
 <g id="node157" class="node"><title>Node157</title>
-<g id="a_node157"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_detector_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG detector kernel using linear SVM. ">
-<polygon fill="white" stroke="black" points="213.5,-1047.5 213.5,-1066.5 332.5,-1066.5 332.5,-1047.5 213.5,-1047.5"/>
-<text text-anchor="middle" x="273" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGDetectorKernel</text>
+<g id="a_node157"><a xlink:href="classarm__compute_1_1_n_e_min_max_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform min max search on an image. ">
+<polygon fill="white" stroke="black" points="226.5,-632.5 226.5,-651.5 319.5,-651.5 319.5,-632.5 226.5,-632.5"/>
+<text text-anchor="middle" x="273" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node157 -->
 <g id="edge156" class="edge"><title>Node84&#45;&gt;Node157</title>
-<path fill="none" stroke="midnightblue" d="M124.337,-1170.47C133.751,-1144.67 153.961,-1099.75 187,-1076 194.735,-1070.44 203.811,-1066.47 213.1,-1063.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="120.92,-1169.64 120.958,-1180.23 127.535,-1171.93 120.92,-1169.64"/>
+<path fill="none" stroke="midnightblue" d="M117.784,-1151.15C117.278,-1066.2 119.701,-734.31 187,-661 197.021,-650.084 211.826,-644.741 226.284,-642.304"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.285,-1151.28 117.866,-1161.25 121.285,-1151.22 114.285,-1151.28"/>
 </g>
 <!-- Node158 -->
 <g id="node158" class="node"><title>Node158</title>
-<g id="a_node158"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_non_maxima_suppression_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform in&#45;place computation of euclidean distance based non&#45;maxima suppression for HO...">
-<polygon fill="white" stroke="black" points="193,-998 193,-1028 353,-1028 353,-998 193,-998"/>
-<text text-anchor="start" x="201" y="-1016" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGNonMaximaSuppression</text>
-<text text-anchor="middle" x="273" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<g id="a_node158"><a xlink:href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to find min max locations of an image. ">
+<polygon fill="white" stroke="black" points="208,-594.5 208,-613.5 338,-613.5 338,-594.5 208,-594.5"/>
+<text text-anchor="middle" x="273" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxLocationKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node158 -->
 <g id="edge157" class="edge"><title>Node84&#45;&gt;Node158</title>
-<path fill="none" stroke="midnightblue" d="M121.522,-1170.08C128.311,-1137.62 146.297,-1073.37 187,-1038 191.412,-1034.17 196.388,-1030.92 201.661,-1028.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="118.039,-1169.66 119.569,-1180.14 124.911,-1170.99 118.039,-1169.66"/>
+<path fill="none" stroke="midnightblue" d="M117.581,-1151.38C116.108,-1062.98 114.681,-702.511 187,-623 192.698,-616.736 199.97,-612.303 207.855,-609.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.082,-1151.46 117.769,-1161.39 121.08,-1151.33 114.082,-1151.46"/>
 </g>
 <!-- Node159 -->
 <g id="node159" class="node"><title>Node159</title>
-<g id="a_node159"><a xlink:href="classarm__compute_1_1_n_e_h_o_g_orientation_binning_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG Orientation Binning. ">
-<polygon fill="white" stroke="black" points="192.5,-959.5 192.5,-978.5 353.5,-978.5 353.5,-959.5 192.5,-959.5"/>
-<text text-anchor="middle" x="273" y="-966.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGOrientationBinningKernel</text>
+<g id="a_node159"><a xlink:href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to apply a non&#45;linear filter. ">
+<polygon fill="white" stroke="black" points="210.5,-556.5 210.5,-575.5 335.5,-575.5 335.5,-556.5 210.5,-556.5"/>
+<text text-anchor="middle" x="273" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENonLinearFilterKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node159 -->
 <g id="edge158" class="edge"><title>Node84&#45;&gt;Node159</title>
-<path fill="none" stroke="midnightblue" d="M118.754,-1170.11C121.409,-1129.67 133.357,-1037.55 187,-989 191.721,-984.727 197.18,-981.318 203.01,-978.605"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.25,-1170.11 118.217,-1180.28 122.24,-1170.48 115.25,-1170.11"/>
+<path fill="none" stroke="midnightblue" d="M119.003,-1150.91C124.073,-1052.9 148.177,-628.03 187,-585 193.28,-578.039 201.504,-573.336 210.362,-570.204"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.493,-1151.02 118.479,-1161.19 122.483,-1151.38 115.493,-1151.02"/>
 </g>
 <!-- Node160 -->
 <g id="node160" class="node"><title>Node160</title>
-<g id="a_node160"><a xlink:href="classarm__compute_1_1_n_e_im2_col_kernel.xhtml" target="_top" xlink:title="Interface for the im2col reshape kernel. ">
-<polygon fill="white" stroke="black" points="228,-921.5 228,-940.5 318,-940.5 318,-921.5 228,-921.5"/>
-<text text-anchor="middle" x="273" y="-928.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIm2ColKernel</text>
+<g id="a_node160"><a xlink:href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml" target="_top" xlink:title="Interface to perform Non&#45;Maxima suppression over a 3x3 window using NEON. ">
+<polygon fill="white" stroke="black" points="196.5,-507 196.5,-537 349.5,-537 349.5,-507 196.5,-507"/>
+<text text-anchor="start" x="204.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">NENonMaximaSuppression3x3</text>
+<text text-anchor="middle" x="273" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node160 -->
 <g id="edge159" class="edge"><title>Node84&#45;&gt;Node160</title>
-<path fill="none" stroke="midnightblue" d="M117.404,-1170.41C117.149,-1124.63 123.278,-1010.01 187,-950 197.898,-939.737 213.079,-934.57 227.601,-932.093"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="113.906,-1170.55 117.576,-1180.49 120.905,-1170.43 113.906,-1170.55"/>
-</g>
-<!-- Node161 -->
-<g id="node161" class="node"><title>Node161</title>
-<g id="a_node161"><a xlink:href="classarm__compute_1_1_n_e_l_k_tracker_kernel.xhtml" target="_top" xlink:title="Interface for the Lucas&#45;Kanade tracker kernel. ">
-<polygon fill="white" stroke="black" points="221,-883.5 221,-902.5 325,-902.5 325,-883.5 221,-883.5"/>
-<text text-anchor="middle" x="273" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELKTrackerKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node161 -->
-<g id="edge160" class="edge"><title>Node84&#45;&gt;Node161</title>
-<path fill="none" stroke="midnightblue" d="M120.216,-1170.24C127.04,-1112.96 149.561,-948.574 187,-912 196.086,-903.124 208.361,-898.027 220.754,-895.185"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="116.705,-1170.14 119.03,-1180.48 123.658,-1170.95 116.705,-1170.14"/>
+<path fill="none" stroke="midnightblue" d="M118.911,-1150.94C123.697,-1049.34 147.232,-594.461 187,-547 190.26,-543.109 194.092,-539.806 198.295,-537.004"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.408,-1150.92 118.441,-1161.07 122.401,-1151.24 115.408,-1150.92"/>
 </g>
 <!-- Node162 -->
 <g id="node162" class="node"><title>Node162</title>
-<g id="a_node162"><a xlink:href="classarm__compute_1_1_n_e_logits1_d_norm_kernel.xhtml" target="_top" xlink:title="Interface for calculating the final step of the Softmax Layer where each logit value is multiplied by...">
-<polygon fill="white" stroke="black" points="212,-845.5 212,-864.5 334,-864.5 334,-845.5 212,-845.5"/>
-<text text-anchor="middle" x="273" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DNormKernel</text>
+<g id="a_node162"><a xlink:href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml" target="_top" xlink:title="Interface for the normalization layer kernel. ">
+<polygon fill="white" stroke="black" points="201.5,-468.5 201.5,-487.5 344.5,-487.5 344.5,-468.5 201.5,-468.5"/>
+<text text-anchor="middle" x="273" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENormalizationLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node162 -->
 <g id="edge161" class="edge"><title>Node84&#45;&gt;Node162</title>
-<path fill="none" stroke="midnightblue" d="M119.563,-1170.45C124.933,-1108.25 144.678,-916.531 187,-874 193.826,-867.14 202.552,-862.523 211.8,-859.455"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="116.069,-1170.24 118.725,-1180.49 123.044,-1170.82 116.069,-1170.24"/>
+<path fill="none" stroke="midnightblue" d="M118.688,-1151.03C122.524,-1044.73 142.724,-548.387 187,-498 191.003,-493.445 195.83,-489.825 201.126,-486.959"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.18,-1151.18 118.325,-1161.29 122.176,-1151.42 115.18,-1151.18"/>
 </g>
 <!-- Node163 -->
 <g id="node163" class="node"><title>Node163</title>
-<g id="a_node163"><a xlink:href="classarm__compute_1_1_n_e_logits1_d_shift_exp_sum_kernel.xhtml" target="_top" xlink:title="Interface for shifting the logits values around the max value and exponentiating the result...">
-<polygon fill="white" stroke="black" points="195.5,-807.5 195.5,-826.5 350.5,-826.5 350.5,-807.5 195.5,-807.5"/>
-<text text-anchor="middle" x="273" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DShiftExpSumKernel</text>
+<g id="a_node163"><a xlink:href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform addition between two tensors. ">
+<polygon fill="white" stroke="black" points="207,-419 207,-449 339,-449 339,-419 207,-419"/>
+<text text-anchor="start" x="215" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">NEPixelWiseMultiplication</text>
+<text text-anchor="middle" x="273" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node163 -->
 <g id="edge162" class="edge"><title>Node84&#45;&gt;Node163</title>
-<path fill="none" stroke="midnightblue" d="M119.073,-1170.33C123.141,-1103.17 139.842,-884.469 187,-836 190.691,-832.207 194.961,-829.096 199.583,-826.551"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.574,-1170.21 118.491,-1180.4 122.562,-1170.62 115.574,-1170.21"/>
+<path fill="none" stroke="midnightblue" d="M118.622,-1150.96C122.207,-1040.98 141.676,-513.84 187,-459 192.292,-452.597 199.133,-447.784 206.635,-444.173"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="115.114,-1151.17 118.293,-1161.27 122.11,-1151.39 115.114,-1151.17"/>
 </g>
 <!-- Node164 -->
 <g id="node164" class="node"><title>Node164</title>
-<g id="a_node164"><a xlink:href="classarm__compute_1_1_n_e_magnitude_phase_f_p16_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute magnitude and phase. ">
-<polygon fill="white" stroke="black" points="195.5,-758 195.5,-788 350.5,-788 350.5,-758 195.5,-758"/>
-<text text-anchor="start" x="203.5" y="-776" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseFP16Kernel</text>
-<text text-anchor="middle" x="273" y="-765" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
+<g id="a_node164"><a xlink:href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml" target="_top" xlink:title="Interface for the pooling layer kernel. ">
+<polygon fill="white" stroke="black" points="215.5,-380.5 215.5,-399.5 330.5,-399.5 330.5,-380.5 215.5,-380.5"/>
+<text text-anchor="middle" x="273" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEPoolingLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node164 -->
 <g id="edge163" class="edge"><title>Node84&#45;&gt;Node164</title>
-<path fill="none" stroke="midnightblue" d="M118.819,-1169.77C122.142,-1097.58 136.938,-853.998 187,-798 190.383,-794.216 194.306,-790.992 198.575,-788.246"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.304,-1170.03 118.366,-1180.17 122.298,-1170.33 115.304,-1170.03"/>
+<path fill="none" stroke="midnightblue" d="M118.431,-1151.33C121.098,-1037.65 136.912,-467.68 187,-410 194.355,-401.53 204.561,-396.285 215.354,-393.109"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.931,-1151.32 118.202,-1161.39 121.929,-1151.47 114.931,-1151.32"/>
 </g>
 <!-- Node165 -->
 <g id="node165" class="node"><title>Node165</title>
-<g id="a_node165"><a xlink:href="classarm__compute_1_1_n_e_magnitude_phase_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute magnitude and phase. ">
-<polygon fill="white" stroke="black" points="206,-709 206,-739 340,-739 340,-709 206,-709"/>
-<text text-anchor="start" x="214" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseKernel</text>
-<text text-anchor="middle" x="273" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
+<g id="a_node165"><a xlink:href="classarm__compute_1_1_n_e_remap_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a remap on a tensor. ">
+<polygon fill="white" stroke="black" points="228,-342.5 228,-361.5 318,-361.5 318,-342.5 228,-342.5"/>
+<text text-anchor="middle" x="273" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">NERemapKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node165 -->
 <g id="edge164" class="edge"><title>Node84&#45;&gt;Node165</title>
-<path fill="none" stroke="midnightblue" d="M118.382,-1169.8C120.261,-1092 130.865,-813.007 187,-749 192.173,-743.102 198.658,-738.562 205.727,-735.073"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.876,-1170.06 118.157,-1180.13 121.874,-1170.21 114.876,-1170.06"/>
+<path fill="none" stroke="midnightblue" d="M118.328,-1151.42C120.462,-1034.51 133.996,-431.621 187,-371 197.152,-359.389 212.708,-354.014 227.75,-351.749"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.828,-1151.39 118.152,-1161.45 121.827,-1151.51 114.828,-1151.39"/>
 </g>
 <!-- Node166 -->
 <g id="node166" class="node"><title>Node166</title>
-<g id="a_node166"><a xlink:href="classarm__compute_1_1_n_e_mean_std_dev_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to calculate mean and standard deviation of input image pixels. ">
-<polygon fill="white" stroke="black" points="215,-670.5 215,-689.5 331,-689.5 331,-670.5 215,-670.5"/>
-<text text-anchor="middle" x="273" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMeanStdDevKernel</text>
+<g id="a_node166"><a xlink:href="classarm__compute_1_1_n_e_scale_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform scaling on a tensor. ">
+<polygon fill="white" stroke="black" points="231.5,-304.5 231.5,-323.5 314.5,-323.5 314.5,-304.5 231.5,-304.5"/>
+<text text-anchor="middle" x="273" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScaleKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node166 -->
 <g id="edge165" class="edge"><title>Node84&#45;&gt;Node166</title>
-<path fill="none" stroke="midnightblue" d="M117.926,-1170.16C118.033,-1087.35 122.699,-770.45 187,-700 194.358,-691.938 204.301,-686.829 214.793,-683.649"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.426,-1170.24 117.936,-1180.24 121.426,-1170.23 114.426,-1170.24"/>
+<path fill="none" stroke="midnightblue" d="M118.25,-1151.24C119.951,-1030.64 131.506,-396.719 187,-333 197.924,-320.457 215.154,-315.185 231.254,-313.252"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.75,-1151.23 118.115,-1161.27 121.749,-1151.32 114.75,-1151.23"/>
 </g>
 <!-- Node167 -->
 <g id="node167" class="node"><title>Node167</title>
-<g id="a_node167"><a xlink:href="classarm__compute_1_1_n_e_min_max_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform min max search on an image. ">
-<polygon fill="white" stroke="black" points="226.5,-632.5 226.5,-651.5 319.5,-651.5 319.5,-632.5 226.5,-632.5"/>
-<text text-anchor="middle" x="273" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxKernel</text>
+<g id="a_node167"><a xlink:href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Scharr filter on a tensor. ">
+<polygon fill="white" stroke="black" points="221.5,-266.5 221.5,-285.5 324.5,-285.5 324.5,-266.5 221.5,-266.5"/>
+<text text-anchor="middle" x="273" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScharr3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node167 -->
 <g id="edge166" class="edge"><title>Node84&#45;&gt;Node167</title>
-<path fill="none" stroke="midnightblue" d="M117.678,-1170.24C116.682,-1083.51 117.199,-737.4 187,-661 196.995,-650.06 211.794,-644.711 226.254,-642.277"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.179,-1170.36 117.815,-1180.31 121.178,-1170.26 114.179,-1170.36"/>
+<path fill="none" stroke="midnightblue" d="M118.176,-1151.13C119.456,-1027.07 129.003,-361.831 187,-295 195.721,-284.95 208.491,-279.564 221.495,-276.824"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.674,-1151.38 118.077,-1161.41 121.673,-1151.45 114.674,-1151.38"/>
 </g>
 <!-- Node168 -->
 <g id="node168" class="node"><title>Node168</title>
-<g id="a_node168"><a xlink:href="classarm__compute_1_1_n_e_min_max_location_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to find min max locations of an image. ">
-<polygon fill="white" stroke="black" points="208,-594.5 208,-613.5 338,-613.5 338,-594.5 208,-594.5"/>
-<text text-anchor="middle" x="273" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxLocationKernel</text>
+<g id="a_node168"><a xlink:href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Sobel X filter on a tensor. ">
+<polygon fill="white" stroke="black" points="223.5,-228.5 223.5,-247.5 322.5,-247.5 322.5,-228.5 223.5,-228.5"/>
+<text text-anchor="middle" x="273" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node168 -->
 <g id="edge167" class="edge"><title>Node84&#45;&gt;Node168</title>
-<path fill="none" stroke="midnightblue" d="M119.084,-1169.95C124.449,-1073.98 149.417,-664.493 187,-623 192.685,-616.724 199.95,-612.284 207.832,-609.178"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.583,-1169.87 118.527,-1180.05 122.572,-1170.26 115.583,-1169.87"/>
+<path fill="none" stroke="midnightblue" d="M118.108,-1151.06C118.978,-1023.69 126.492,-326.954 187,-257 196.101,-246.478 209.638,-241.065 223.248,-238.448"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.607,-1151.27 118.045,-1161.29 121.607,-1151.31 114.607,-1151.27"/>
 </g>
 <!-- Node169 -->
 <g id="node169" class="node"><title>Node169</title>
-<g id="a_node169"><a xlink:href="classarm__compute_1_1_n_e_non_linear_filter_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to apply a non&#45;linear filter. ">
-<polygon fill="white" stroke="black" points="210.5,-556.5 210.5,-575.5 335.5,-575.5 335.5,-556.5 210.5,-556.5"/>
-<text text-anchor="middle" x="273" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENonLinearFilterKernel</text>
+<g id="a_node169"><a xlink:href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. ">
+<polygon fill="white" stroke="black" points="215.5,-190.5 215.5,-209.5 330.5,-209.5 330.5,-190.5 215.5,-190.5"/>
+<text text-anchor="middle" x="273" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel5x5HorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node84&#45;&gt;Node169 -->
 <g id="edge168" class="edge"><title>Node84&#45;&gt;Node169</title>
-<path fill="none" stroke="midnightblue" d="M118.911,-1170.2C123.658,-1070.85 146.891,-629.619 187,-585 193.267,-578.028 201.485,-573.318 210.34,-570.185"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.407,-1170.2 118.434,-1180.35 122.4,-1170.52 115.407,-1170.2"/>
+<path fill="none" stroke="midnightblue" d="M118.043,-1151.45C118.505,-1022.08 123.905,-292.167 187,-219 194.307,-210.526 204.493,-205.363 215.281,-202.306"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.543,-1151.48 118.013,-1161.49 121.543,-1151.5 114.543,-1151.48"/>
 </g>
 <!-- Node170 -->
 <g id="node170" class="node"><title>Node170</title>
-<g id="a_node170"><a xlink:href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_kernel.xhtml" target="_top" xlink:title="Interface to perform Non&#45;Maxima suppression over a 3x3 window using NEON. ">
-<polygon fill="white" stroke="black" points="196.5,-507 196.5,-537 349.5,-537 349.5,-507 196.5,-507"/>
-<text text-anchor="start" x="204.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">NENonMaximaSuppression3x3</text>
-<text text-anchor="middle" x="273" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node170 -->
-<g id="edge169" class="edge"><title>Node84&#45;&gt;Node170</title>
-<path fill="none" stroke="midnightblue" d="M118.84,-1169.99C123.35,-1066.64 146.028,-596.059 187,-547 190.155,-543.222 193.85,-539.998 197.9,-537.248"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.331,-1170.12 118.399,-1180.26 122.325,-1170.42 115.331,-1170.12"/>
-</g>
-<!-- Node172 -->
-<g id="node172" class="node"><title>Node172</title>
-<g id="a_node172"><a xlink:href="classarm__compute_1_1_n_e_normalization_layer_kernel.xhtml" target="_top" xlink:title="Interface for the normalization layer kernel. ">
-<polygon fill="white" stroke="black" points="201.5,-468.5 201.5,-487.5 344.5,-487.5 344.5,-468.5 201.5,-468.5"/>
-<text text-anchor="middle" x="273" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENormalizationLayerKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node172 -->
-<g id="edge171" class="edge"><title>Node84&#45;&gt;Node172</title>
-<path fill="none" stroke="midnightblue" d="M118.625,-1170.14C122.194,-1062.29 141.465,-549.965 187,-498 190.996,-493.439 195.819,-489.815 201.112,-486.947"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.122,-1170.17 118.297,-1180.27 122.118,-1170.39 115.122,-1170.17"/>
-</g>
-<!-- Node173 -->
-<g id="node173" class="node"><title>Node173</title>
-<g id="a_node173"><a xlink:href="classarm__compute_1_1_n_e_pixel_wise_multiplication_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform addition between two tensors. ">
-<polygon fill="white" stroke="black" points="207,-419 207,-449 339,-449 339,-419 207,-419"/>
-<text text-anchor="start" x="215" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">NEPixelWiseMultiplication</text>
-<text text-anchor="middle" x="273" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node173 -->
-<g id="edge172" class="edge"><title>Node84&#45;&gt;Node173</title>
-<path fill="none" stroke="midnightblue" d="M118.564,-1170.12C121.894,-1058.76 140.452,-515.465 187,-459 192.284,-452.591 199.12,-447.773 206.62,-444.161"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115.061,-1170.18 118.267,-1180.28 122.058,-1170.38 115.061,-1170.18"/>
-</g>
-<!-- Node174 -->
-<g id="node174" class="node"><title>Node174</title>
-<g id="a_node174"><a xlink:href="classarm__compute_1_1_n_e_pooling_layer_kernel.xhtml" target="_top" xlink:title="Interface for the pooling layer kernel. ">
-<polygon fill="white" stroke="black" points="215.5,-380.5 215.5,-399.5 330.5,-399.5 330.5,-380.5 215.5,-380.5"/>
-<text text-anchor="middle" x="273" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEPoolingLayerKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node174 -->
-<g id="edge173" class="edge"><title>Node84&#45;&gt;Node174</title>
-<path fill="none" stroke="midnightblue" d="M118.388,-1170.21C120.831,-1054.55 135.683,-469.227 187,-410 194.346,-401.522 204.548,-396.274 215.34,-393.097"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.884,-1170.35 118.179,-1180.42 121.883,-1170.5 114.884,-1170.35"/>
-</g>
-<!-- Node175 -->
-<g id="node175" class="node"><title>Node175</title>
-<g id="a_node175"><a xlink:href="classarm__compute_1_1_n_e_remap_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a remap on a tensor. ">
-<polygon fill="white" stroke="black" points="228,-342.5 228,-361.5 318,-361.5 318,-342.5 228,-342.5"/>
-<text text-anchor="middle" x="273" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">NERemapKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node175 -->
-<g id="edge174" class="edge"><title>Node84&#45;&gt;Node175</title>
-<path fill="none" stroke="midnightblue" d="M118.288,-1170.33C120.204,-1051.57 132.751,-433.169 187,-371 197.141,-359.379 212.694,-354.002 227.738,-351.738"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.786,-1170.44 118.131,-1180.49 121.785,-1170.55 114.786,-1170.44"/>
-</g>
-<!-- Node176 -->
-<g id="node176" class="node"><title>Node176</title>
-<g id="a_node176"><a xlink:href="classarm__compute_1_1_n_e_scale_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform scaling on a tensor. ">
-<polygon fill="white" stroke="black" points="231.5,-304.5 231.5,-323.5 314.5,-323.5 314.5,-304.5 231.5,-304.5"/>
-<text text-anchor="middle" x="273" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScaleKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node176 -->
-<g id="edge175" class="edge"><title>Node84&#45;&gt;Node176</title>
-<path fill="none" stroke="midnightblue" d="M118.212,-1170.18C119.702,-1047.82 130.256,-398.273 187,-333 197.913,-320.447 215.141,-315.174 231.243,-313.242"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.711,-1170.3 118.095,-1180.34 121.71,-1170.38 114.711,-1170.3"/>
-</g>
-<!-- Node177 -->
-<g id="node177" class="node"><title>Node177</title>
-<g id="a_node177"><a xlink:href="classarm__compute_1_1_n_e_scharr3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Scharr filter on a tensor. ">
-<polygon fill="white" stroke="black" points="221.5,-266.5 221.5,-285.5 324.5,-285.5 324.5,-266.5 221.5,-266.5"/>
-<text text-anchor="middle" x="273" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScharr3x3Kernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node177 -->
-<g id="edge176" class="edge"><title>Node84&#45;&gt;Node177</title>
-<path fill="none" stroke="midnightblue" d="M118.138,-1170.48C119.197,-1045.75 127.688,-363.461 187,-295 195.713,-284.943 208.48,-279.555 221.484,-276.814"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.638,-1170.47 118.059,-1180.49 121.638,-1170.52 114.638,-1170.47"/>
-</g>
-<!-- Node178 -->
-<g id="node178" class="node"><title>Node178</title>
-<g id="a_node178"><a xlink:href="classarm__compute_1_1_n_e_sobel3x3_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run a 3x3 Sobel X filter on a tensor. ">
-<polygon fill="white" stroke="black" points="223.5,-228.5 223.5,-247.5 322.5,-247.5 322.5,-228.5 223.5,-228.5"/>
-<text text-anchor="middle" x="273" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel3x3Kernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node178 -->
-<g id="edge177" class="edge"><title>Node84&#45;&gt;Node178</title>
-<path fill="none" stroke="midnightblue" d="M118.076,-1170.05C118.745,-1041.12 125.232,-328.522 187,-257 196.093,-246.471 209.628,-241.056 223.238,-238.439"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.574,-1170.37 118.028,-1180.39 121.574,-1170.4 114.574,-1170.37"/>
-</g>
-<!-- Node179 -->
-<g id="node179" class="node"><title>Node179</title>
-<g id="a_node179"><a xlink:href="classarm__compute_1_1_n_e_sobel5x5_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 5x5 Sobel filter on a tensor. ">
-<polygon fill="white" stroke="black" points="215.5,-190.5 215.5,-209.5 330.5,-209.5 330.5,-190.5 215.5,-190.5"/>
-<text text-anchor="middle" x="273" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel5x5HorKernel</text>
-</a>
-</g>
-</g>
-<!-- Node84&#45;&gt;Node179 -->
-<g id="edge178" class="edge"><title>Node84&#45;&gt;Node179</title>
-<path fill="none" stroke="midnightblue" d="M118.015,-1170.06C118.291,-1038.11 122.705,-293.665 187,-219 194.302,-210.521 204.484,-205.356 215.272,-202.298"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.514,-1170.29 117.999,-1180.3 121.514,-1170.3 114.514,-1170.29"/>
-</g>
-<!-- Node180 -->
-<g id="node180" class="node"><title>Node180</title>
-<g id="a_node180"><a xlink:href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. ">
+<g id="a_node170"><a xlink:href="classarm__compute_1_1_n_e_sobel5x5_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 5x5 Sobel Y filter on a tensor. ">
 <polygon fill="white" stroke="black" points="214.5,-152.5 214.5,-171.5 331.5,-171.5 331.5,-152.5 214.5,-152.5"/>
 <text text-anchor="middle" x="273" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel5x5VertKernel</text>
 </a>
 </g>
 </g>
-<!-- Node84&#45;&gt;Node180 -->
-<g id="edge179" class="edge"><title>Node84&#45;&gt;Node180</title>
-<path fill="none" stroke="midnightblue" d="M117.958,-1170.12C117.854,-1035.35 120.168,-258.82 187,-181 194.093,-172.741 203.92,-167.624 214.382,-164.536"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.458,-1170.24 117.972,-1180.23 121.458,-1170.23 114.458,-1170.24"/>
+<!-- Node84&#45;&gt;Node170 -->
+<g id="edge169" class="edge"><title>Node84&#45;&gt;Node170</title>
+<path fill="none" stroke="midnightblue" d="M117.986,-1151.09C118.07,-1017.73 121.437,-257.242 187,-181 194.099,-172.745 203.928,-167.631 214.39,-164.543"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.486,-1151.42 117.985,-1161.42 121.486,-1151.42 114.486,-1151.42"/>
 </g>
-<!-- Node181 -->
-<g id="node181" class="node"><title>Node181</title>
-<g id="a_node181"><a xlink:href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. ">
+<!-- Node171 -->
+<g id="node171" class="node"><title>Node171</title>
+<g id="a_node171"><a xlink:href="classarm__compute_1_1_n_e_sobel7x7_hor_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the horizontal pass of 7x7 Sobel filter on a tensor. ">
 <polygon fill="white" stroke="black" points="215.5,-114.5 215.5,-133.5 330.5,-133.5 330.5,-114.5 215.5,-114.5"/>
 <text text-anchor="middle" x="273" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel7x7HorKernel</text>
 </a>
 </g>
 </g>
-<!-- Node84&#45;&gt;Node181 -->
-<g id="edge180" class="edge"><title>Node84&#45;&gt;Node181</title>
-<path fill="none" stroke="midnightblue" d="M117.906,-1170.23C117.433,-1032.9 117.618,-223.991 187,-143 194.28,-134.502 204.453,-129.33 215.239,-126.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.407,-1170.51 117.947,-1180.5 121.407,-1170.48 114.407,-1170.51"/>
+<!-- Node84&#45;&gt;Node171 -->
+<g id="edge170" class="edge"><title>Node84&#45;&gt;Node171</title>
+<path fill="none" stroke="midnightblue" d="M117.932,-1151.17C117.641,-1015.09 118.894,-222.404 187,-143 194.285,-134.507 204.461,-129.336 215.247,-126.277"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.432,-1151.37 117.959,-1161.36 121.432,-1151.35 114.432,-1151.37"/>
 </g>
-<!-- Node182 -->
-<g id="node182" class="node"><title>Node182</title>
-<g id="a_node182"><a xlink:href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. ">
+<!-- Node172 -->
+<g id="node172" class="node"><title>Node172</title>
+<g id="a_node172"><a xlink:href="classarm__compute_1_1_n_e_sobel7x7_vert_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run the vertical pass of 7x7 Sobel Y filter on a tensor. ">
 <polygon fill="white" stroke="black" points="214.5,-76.5 214.5,-95.5 331.5,-95.5 331.5,-76.5 214.5,-76.5"/>
 <text text-anchor="middle" x="273" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel7x7VertKernel</text>
 </a>
 </g>
 </g>
-<!-- Node84&#45;&gt;Node182 -->
-<g id="edge181" class="edge"><title>Node84&#45;&gt;Node182</title>
-<path fill="none" stroke="midnightblue" d="M117.859,-1170.38C117.03,-1030.64 115.061,-189.173 187,-105 194.073,-96.7237 203.892,-91.5999 214.351,-88.5099"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.359,-1170.49 117.924,-1180.47 121.359,-1170.45 114.359,-1170.49"/>
+<!-- Node84&#45;&gt;Node172 -->
+<g id="edge171" class="edge"><title>Node84&#45;&gt;Node172</title>
+<path fill="none" stroke="midnightblue" d="M117.882,-1151.3C117.23,-1012.71 116.342,-187.579 187,-105 194.078,-96.7277 203.898,-91.6056 214.359,-88.5161"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.382,-1151.34 117.935,-1161.32 121.382,-1151.31 114.382,-1151.34"/>
 </g>
-<!-- Node183 -->
-<g id="node183" class="node"><title>Node183</title>
-<g id="a_node183"><a xlink:href="classarm__compute_1_1_n_e_threshold_kernel.xhtml" target="_top" xlink:title="Interface for the thresholding kernel. ">
+<!-- Node173 -->
+<g id="node173" class="node"><title>Node173</title>
+<g id="a_node173"><a xlink:href="classarm__compute_1_1_n_e_threshold_kernel.xhtml" target="_top" xlink:title="Interface for the thresholding kernel. ">
 <polygon fill="white" stroke="black" points="222.5,-38.5 222.5,-57.5 323.5,-57.5 323.5,-38.5 222.5,-38.5"/>
 <text text-anchor="middle" x="273" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEThresholdKernel</text>
 </a>
 </g>
 </g>
-<!-- Node84&#45;&gt;Node183 -->
-<g id="edge182" class="edge"><title>Node84&#45;&gt;Node183</title>
-<path fill="none" stroke="midnightblue" d="M117.812,-1170.14C116.635,-1026.87 112.567,-154.279 187,-67 195.831,-56.6451 208.958,-51.2227 222.269,-48.5444"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="114.315,-1170.49 117.902,-1180.46 121.315,-1170.43 114.315,-1170.49"/>
+<!-- Node84&#45;&gt;Node173 -->
+<g id="edge172" class="edge"><title>Node84&#45;&gt;Node173</title>
+<path fill="none" stroke="midnightblue" d="M117.833,-1151.04C116.829,-1008.85 113.853,-152.681 187,-67 195.836,-56.6498 208.965,-51.2287 222.276,-48.5503"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.336,-1151.33 117.912,-1161.3 121.335,-1151.28 114.336,-1151.33"/>
 </g>
-<!-- Node184 -->
-<g id="node184" class="node"><title>Node184</title>
-<g id="a_node184"><a xlink:href="classarm__compute_1_1_n_e_transpose_kernel.xhtml" target="_top" xlink:title="NEON kernel which transposes the elements of a matrix. ">
+<!-- Node174 -->
+<g id="node174" class="node"><title>Node174</title>
+<g id="a_node174"><a xlink:href="classarm__compute_1_1_n_e_transpose_kernel.xhtml" target="_top" xlink:title="NEON kernel which transposes the elements of a matrix. ">
 <polygon fill="white" stroke="black" points="221,-0.5 221,-19.5 325,-19.5 325,-0.5 221,-0.5"/>
 <text text-anchor="middle" x="273" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">NETransposeKernel</text>
 </a>
 </g>
 </g>
-<!-- Node84&#45;&gt;Node184 -->
-<g id="edge183" class="edge"><title>Node84&#45;&gt;Node184</title>
-<path fill="none" stroke="midnightblue" d="M118.509,-1169.96C122.412,-1019.71 148.456,-74.2881 187,-29 195.526,-18.9818 208.074,-13.5784 220.926,-10.8103"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="115,-1170.29 118.241,-1180.38 121.997,-1170.47 115,-1170.29"/>
+<!-- Node84&#45;&gt;Node174 -->
+<g id="edge173" class="edge"><title>Node84&#45;&gt;Node174</title>
+<path fill="none" stroke="midnightblue" d="M117.791,-1151.24C116.446,-1006.9 111.282,-117.878 187,-29 195.531,-18.986 208.081,-13.584 220.932,-10.8158"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="114.292,-1151.34 117.891,-1161.3 121.292,-1151.27 114.292,-1151.34"/>
 </g>
 <!-- Node88 -->
 <g id="node88" class="node"><title>Node88</title>
 <g id="a_node88"><a xlink:href="classarm__compute_1_1_n_e_accumulate_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate kernel. ">
-<polygon fill="white" stroke="black" points="417.5,-3243.5 417.5,-3262.5 527.5,-3262.5 527.5,-3243.5 417.5,-3243.5"/>
-<text text-anchor="middle" x="472.5" y="-3250.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateKernel</text>
+<polygon fill="white" stroke="black" points="417.5,-2906.5 417.5,-2925.5 527.5,-2925.5 527.5,-2906.5 417.5,-2906.5"/>
+<text text-anchor="middle" x="472.5" y="-2913.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node88 -->
 <g id="edge87" class="edge"><title>Node87&#45;&gt;Node88</title>
-<path fill="none" stroke="midnightblue" d="M331.752,-2579.19C342.2,-2582.4 351.988,-2587.64 359,-2596 450.268,-2704.79 304.406,-3124.65 395,-3234 400.762,-3240.96 408.638,-3245.59 417.154,-3248.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.581,-2575.79 322.032,-2576.78 330.894,-2582.58 332.581,-2575.79"/>
+<path fill="none" stroke="midnightblue" d="M332.269,-2413.5C342.484,-2416.72 352.049,-2421.89 359,-2430 426.714,-2509.05 327.775,-2817.53 395,-2897 400.833,-2903.9 408.744,-2908.5 417.272,-2911.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.896,-2410.05 322.342,-2410.98 331.17,-2416.83 332.896,-2410.05"/>
 </g>
 <!-- Node89 -->
 <g id="node89" class="node"><title>Node89</title>
 <g id="a_node89"><a xlink:href="classarm__compute_1_1_n_e_accumulate_squared_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate squared kernel. ">
-<polygon fill="white" stroke="black" points="399.5,-3205.5 399.5,-3224.5 545.5,-3224.5 545.5,-3205.5 399.5,-3205.5"/>
-<text text-anchor="middle" x="472.5" y="-3212.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateSquaredKernel</text>
+<polygon fill="white" stroke="black" points="399.5,-2868.5 399.5,-2887.5 545.5,-2887.5 545.5,-2868.5 399.5,-2868.5"/>
+<text text-anchor="middle" x="472.5" y="-2875.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateSquaredKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node89 -->
 <g id="edge88" class="edge"><title>Node87&#45;&gt;Node89</title>
-<path fill="none" stroke="midnightblue" d="M331.729,-2579.21C342.179,-2582.42 351.973,-2587.65 359,-2596 445.031,-2698.18 309.601,-3093.29 395,-3196 398.15,-3199.79 401.926,-3202.89 406.091,-3205.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.558,-2575.81 322.009,-2576.79 330.871,-2582.6 332.558,-2575.81"/>
+<path fill="none" stroke="midnightblue" d="M332.226,-2413.54C342.444,-2416.76 352.022,-2421.91 359,-2430 421.484,-2502.44 332.964,-2786.17 395,-2859 398.195,-2862.75 402.003,-2865.82 406.191,-2868.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.852,-2410.09 322.298,-2411.01 331.126,-2416.87 332.852,-2410.09"/>
 </g>
 <!-- Node90 -->
 <g id="node90" class="node"><title>Node90</title>
 <g id="a_node90"><a xlink:href="classarm__compute_1_1_n_e_accumulate_weighted_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate weighted kernel. ">
-<polygon fill="white" stroke="black" points="396.5,-3167.5 396.5,-3186.5 548.5,-3186.5 548.5,-3167.5 396.5,-3167.5"/>
-<text text-anchor="middle" x="472.5" y="-3174.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedKernel</text>
+<polygon fill="white" stroke="black" points="396.5,-2830.5 396.5,-2849.5 548.5,-2849.5 548.5,-2830.5 396.5,-2830.5"/>
+<text text-anchor="middle" x="472.5" y="-2837.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node90 -->
 <g id="edge89" class="edge"><title>Node87&#45;&gt;Node90</title>
-<path fill="none" stroke="midnightblue" d="M332.352,-2579.43C342.56,-2582.66 352.102,-2587.84 359,-2596 439.796,-2691.57 314.795,-3061.94 395,-3158 398.157,-3161.78 401.94,-3164.88 406.108,-3167.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.981,-2575.98 322.426,-2576.9 331.254,-2582.76 332.981,-2575.98"/>
+<path fill="none" stroke="midnightblue" d="M332.175,-2413.58C342.396,-2416.8 351.989,-2421.94 359,-2430 416.257,-2495.84 338.151,-2754.8 395,-2821 398.21,-2824.74 402.03,-2827.8 406.224,-2830.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.799,-2410.13 322.245,-2411.06 331.074,-2416.92 332.799,-2410.13"/>
 </g>
 <!-- Node92 -->
 <g id="node92" class="node"><title>Node92</title>
 <g id="a_node92"><a xlink:href="classarm__compute_1_1_n_e_activation_layer_kernel.xhtml" target="_top" xlink:title="Interface for the activation layer kernel. ">
-<polygon fill="white" stroke="black" points="409.5,-3129.5 409.5,-3148.5 535.5,-3148.5 535.5,-3129.5 409.5,-3129.5"/>
-<text text-anchor="middle" x="472.5" y="-3136.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEActivationLayerKernel</text>
+<polygon fill="white" stroke="black" points="409.5,-2792.5 409.5,-2811.5 535.5,-2811.5 535.5,-2792.5 409.5,-2792.5"/>
+<text text-anchor="middle" x="472.5" y="-2799.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEActivationLayerKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node92 -->
 <g id="edge91" class="edge"><title>Node87&#45;&gt;Node92</title>
-<path fill="none" stroke="midnightblue" d="M332.323,-2579.46C342.533,-2582.68 352.083,-2587.86 359,-2596 434.562,-2684.96 319.989,-3030.58 395,-3120 398.958,-3124.72 403.888,-3128.36 409.326,-3131.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.951,-2576.01 322.396,-2576.93 331.224,-2582.79 332.951,-2576.01"/>
+<path fill="none" stroke="midnightblue" d="M332.112,-2413.64C342.339,-2416.85 351.95,-2421.97 359,-2430 463.066,-2548.49 291.668,-2663.87 395,-2783 399.035,-2787.65 404.015,-2791.26 409.484,-2794.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.736,-2410.19 322.182,-2411.12 331.012,-2416.97 332.736,-2410.19"/>
 </g>
 <!-- Node93 -->
 <g id="node93" class="node"><title>Node93</title>
 <g id="a_node93"><a xlink:href="classarm__compute_1_1_n_e_box3x3_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a Box 3x3 filter. ">
-<polygon fill="white" stroke="black" points="426.5,-3091.5 426.5,-3110.5 518.5,-3110.5 518.5,-3091.5 426.5,-3091.5"/>
-<text text-anchor="middle" x="472.5" y="-3098.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3Kernel</text>
+<polygon fill="white" stroke="black" points="426.5,-2754.5 426.5,-2773.5 518.5,-2773.5 518.5,-2754.5 426.5,-2754.5"/>
+<text text-anchor="middle" x="472.5" y="-2761.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node93 -->
 <g id="edge92" class="edge"><title>Node87&#45;&gt;Node93</title>
-<path fill="none" stroke="midnightblue" d="M332.288,-2579.49C342.501,-2582.71 352.061,-2587.88 359,-2596 429.33,-2678.35 325.18,-2999.22 395,-3082 402.852,-3091.31 414.491,-3096.44 426.334,-3099.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.916,-2576.03 322.361,-2576.96 331.189,-2582.82 332.916,-2576.03"/>
+<path fill="none" stroke="midnightblue" d="M332.036,-2413.71C342.269,-2416.91 351.901,-2422.02 359,-2430 452.628,-2535.31 302.024,-2639.12 395,-2745 402.946,-2754.05 414.469,-2759.12 426.17,-2761.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.658,-2410.25 322.104,-2411.18 330.935,-2417.04 332.658,-2410.25"/>
 </g>
 <!-- Node95 -->
 <g id="node95" class="node"><title>Node95</title>
 <g id="a_node95"><a xlink:href="classarm__compute_1_1_n_e_channel_extract_kernel.xhtml" target="_top" xlink:title="Interface for the channel extract kernel. ">
-<polygon fill="white" stroke="black" points="409.5,-3053.5 409.5,-3072.5 535.5,-3072.5 535.5,-3053.5 409.5,-3053.5"/>
-<text text-anchor="middle" x="472.5" y="-3060.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelExtractKernel</text>
+<polygon fill="white" stroke="black" points="409.5,-2716.5 409.5,-2735.5 535.5,-2735.5 535.5,-2716.5 409.5,-2716.5"/>
+<text text-anchor="middle" x="472.5" y="-2723.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelExtractKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node95 -->
 <g id="edge94" class="edge"><title>Node87&#45;&gt;Node95</title>
-<path fill="none" stroke="midnightblue" d="M332.249,-2579.52C342.464,-2582.74 352.036,-2587.9 359,-2596 424.099,-2671.75 330.37,-2967.85 395,-3044 398.985,-3048.7 403.933,-3052.33 409.382,-3055.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.875,-2576.07 322.321,-2576.99 331.149,-2582.85 332.875,-2576.07"/>
+<path fill="none" stroke="midnightblue" d="M331.939,-2413.79C342.179,-2416.99 351.839,-2422.07 359,-2430 442.202,-2522.14 312.368,-2614.35 395,-2707 399.008,-2711.49 403.898,-2715 409.248,-2717.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.559,-2410.34 322.005,-2411.27 330.837,-2417.12 332.559,-2410.34"/>
 </g>
 <!-- Node96 -->
 <g id="node96" class="node"><title>Node96</title>
 <g id="a_node96"><a xlink:href="classarm__compute_1_1_n_e_convolution_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to run an arbitrary size convolution on a tensor. ">
-<polygon fill="white" stroke="black" points="417.5,-3004 417.5,-3034 527.5,-3034 527.5,-3004 417.5,-3004"/>
-<text text-anchor="start" x="425.5" y="-3022" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel</text>
-<text text-anchor="middle" x="472.5" y="-3011" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="417.5,-2667 417.5,-2697 527.5,-2697 527.5,-2667 417.5,-2667"/>
+<text text-anchor="start" x="425.5" y="-2685" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel</text>
+<text text-anchor="middle" x="472.5" y="-2674" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node96 -->
 <g id="edge95" class="edge"><title>Node87&#45;&gt;Node96</title>
-<path fill="none" stroke="midnightblue" d="M332.185,-2579.58C342.406,-2582.79 351.996,-2587.93 359,-2596 417.22,-2663.06 339.674,-2924.53 395,-2994 400.745,-3001.21 408.613,-3006.37 417.127,-3010.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.81,-2576.12 322.256,-2577.05 331.085,-2582.91 332.81,-2576.12"/>
+<path fill="none" stroke="midnightblue" d="M332.095,-2414.06C342.228,-2417.25 351.807,-2422.26 359,-2430 428.517,-2504.85 328.717,-2579.28 395,-2657 400.893,-2663.91 408.726,-2668.92 417.132,-2672.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.828,-2410.63 322.271,-2411.53 331.082,-2417.41 332.828,-2410.63"/>
 </g>
 <!-- Node97 -->
 <g id="node97" class="node"><title>Node97</title>
 <g id="a_node97"><a xlink:href="classarm__compute_1_1_n_e_depth_convert_kernel.xhtml" target="_top" xlink:title="Depth conversion kernel. ">
-<polygon fill="white" stroke="black" points="413,-2965.5 413,-2984.5 532,-2984.5 532,-2965.5 413,-2965.5"/>
-<text text-anchor="middle" x="472.5" y="-2972.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDepthConvertKernel</text>
+<polygon fill="white" stroke="black" points="413,-2628.5 413,-2647.5 532,-2647.5 532,-2628.5 413,-2628.5"/>
+<text text-anchor="middle" x="472.5" y="-2635.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDepthConvertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node97 -->
 <g id="edge96" class="edge"><title>Node87&#45;&gt;Node97</title>
-<path fill="none" stroke="midnightblue" d="M332.125,-2579.63C342.35,-2582.84 351.958,-2587.97 359,-2596 464.99,-2716.92 289.759,-2834.43 395,-2956 399.837,-2961.59 406.037,-2965.66 412.81,-2968.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.749,-2576.18 322.195,-2577.1 331.024,-2582.96 332.749,-2576.18"/>
+<path fill="none" stroke="midnightblue" d="M331.906,-2414.23C342.055,-2417.41 351.688,-2422.37 359,-2430 418.155,-2491.75 336.227,-2556.89 395,-2619 399.985,-2624.27 406.185,-2628.17 412.883,-2631.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.634,-2410.81 322.078,-2411.71 330.891,-2417.59 332.634,-2410.81"/>
 </g>
 <!-- Node98 -->
 <g id="node98" class="node"><title>Node98</title>
 <g id="a_node98"><a xlink:href="classarm__compute_1_1_n_e_dilate_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform boolean image dilatation. ">
-<polygon fill="white" stroke="black" points="430.5,-2927.5 430.5,-2946.5 514.5,-2946.5 514.5,-2927.5 430.5,-2927.5"/>
-<text text-anchor="middle" x="472.5" y="-2934.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDilateKernel</text>
+<polygon fill="white" stroke="black" points="430.5,-2590.5 430.5,-2609.5 514.5,-2609.5 514.5,-2590.5 430.5,-2590.5"/>
+<text text-anchor="middle" x="472.5" y="-2597.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDilateKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node98 -->
 <g id="edge97" class="edge"><title>Node87&#45;&gt;Node98</title>
-<path fill="none" stroke="midnightblue" d="M332.051,-2579.69C342.283,-2582.9 351.911,-2588.01 359,-2596 454.55,-2703.74 300.117,-2809.68 395,-2918 403.836,-2928.09 417.118,-2933.24 430.147,-2935.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.673,-2576.24 322.119,-2577.17 330.95,-2583.02 332.673,-2576.24"/>
+<path fill="none" stroke="midnightblue" d="M331.963,-2414.61C342.014,-2417.76 351.597,-2422.62 359,-2430 407.857,-2478.71 346.445,-2531.99 395,-2581 404.342,-2590.43 417.588,-2595.44 430.437,-2598.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.799,-2411.21 322.239,-2412.08 331.035,-2417.98 332.799,-2411.21"/>
 </g>
 <!-- Node99 -->
 <g id="node99" class="node"><title>Node99</title>
 <g id="a_node99"><a xlink:href="classarm__compute_1_1_n_e_erode_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform boolean image erosion. ">
-<polygon fill="white" stroke="black" points="430.5,-2889.5 430.5,-2908.5 514.5,-2908.5 514.5,-2889.5 430.5,-2889.5"/>
-<text text-anchor="middle" x="472.5" y="-2896.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEErodeKernel</text>
+<polygon fill="white" stroke="black" points="430.5,-2552.5 430.5,-2571.5 514.5,-2571.5 514.5,-2552.5 430.5,-2552.5"/>
+<text text-anchor="middle" x="472.5" y="-2559.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEErodeKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node99 -->
 <g id="edge98" class="edge"><title>Node87&#45;&gt;Node99</title>
-<path fill="none" stroke="midnightblue" d="M331.958,-2579.78C342.198,-2582.97 351.852,-2588.06 359,-2596 444.122,-2690.56 310.464,-2784.91 395,-2880 403.911,-2890.02 417.21,-2895.16 430.232,-2897.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.579,-2576.32 322.025,-2577.25 330.857,-2583.11 332.579,-2576.32"/>
+<path fill="none" stroke="midnightblue" d="M332.173,-2415.26C342.031,-2418.37 351.49,-2423.05 359,-2430 397.684,-2465.8 356.538,-2506.96 395,-2543 404.586,-2551.98 417.741,-2556.9 430.439,-2559.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.801,-2411.8 322.239,-2412.63 331.013,-2418.57 332.801,-2411.8"/>
 </g>
 <!-- Node100 -->
 <g id="node100" class="node"><title>Node100</title>
 <g id="a_node100"><a xlink:href="classarm__compute_1_1_n_e_gaussian3x3_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a Gaussian 3x3 filter. ">
-<polygon fill="white" stroke="black" points="414.5,-2851.5 414.5,-2870.5 530.5,-2870.5 530.5,-2851.5 414.5,-2851.5"/>
-<text text-anchor="middle" x="472.5" y="-2858.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian3x3Kernel</text>
+<polygon fill="white" stroke="black" points="414.5,-2514.5 414.5,-2533.5 530.5,-2533.5 530.5,-2514.5 414.5,-2514.5"/>
+<text text-anchor="middle" x="472.5" y="-2521.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node100 -->
 <g id="edge99" class="edge"><title>Node87&#45;&gt;Node100</title>
-<path fill="none" stroke="midnightblue" d="M332.169,-2579.99C342.295,-2583.18 351.854,-2588.21 359,-2596 433.712,-2677.41 320.792,-2760.13 395,-2842 400.238,-2847.78 406.937,-2851.93 414.185,-2854.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.904,-2576.56 322.346,-2577.46 331.156,-2583.34 332.904,-2576.56"/>
+<path fill="none" stroke="midnightblue" d="M332.078,-2416.34C341.776,-2419.36 351.202,-2423.73 359,-2430 387.816,-2453.17 366.328,-2481.65 395,-2505 400.73,-2509.67 407.447,-2513.21 414.479,-2515.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.905,-2412.94 322.341,-2413.73 331.098,-2419.7 332.905,-2412.94"/>
 </g>
 <!-- Node101 -->
 <g id="node101" class="node"><title>Node101</title>
 <g id="a_node101"><a xlink:href="classarm__compute_1_1_n_e_gaussian5x5_hor_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a Gaussian 5x5 filter (horizontal pass) ">
-<polygon fill="white" stroke="black" points="407,-2813.5 407,-2832.5 538,-2832.5 538,-2813.5 407,-2813.5"/>
-<text text-anchor="middle" x="472.5" y="-2820.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5HorKernel</text>
+<polygon fill="white" stroke="black" points="407,-2476.5 407,-2495.5 538,-2495.5 538,-2476.5 407,-2476.5"/>
+<text text-anchor="middle" x="472.5" y="-2483.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5HorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node101 -->
 <g id="edge100" class="edge"><title>Node87&#45;&gt;Node101</title>
-<path fill="none" stroke="midnightblue" d="M332.009,-2580.14C342.149,-2583.32 351.753,-2588.31 359,-2596 423.33,-2664.29 331.093,-2735.31 395,-2804 398.542,-2807.81 402.718,-2810.9 407.262,-2813.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.739,-2576.71 322.183,-2577.61 330.995,-2583.49 332.739,-2576.71"/>
+<path fill="none" stroke="midnightblue" d="M331.88,-2418.93C341.294,-2421.68 350.677,-2425.29 359,-2430 378.967,-2441.3 375.103,-2455.57 395,-2467 401.764,-2470.88 409.309,-2473.98 416.951,-2476.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.662,-2415.52 322.1,-2416.35 330.879,-2422.28 332.662,-2415.52"/>
 </g>
 <!-- Node102 -->
 <g id="node102" class="node"><title>Node102</title>
 <g id="a_node102"><a xlink:href="classarm__compute_1_1_n_e_gaussian5x5_vert_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a Gaussian 5x5 filter (vertical pass) ">
-<polygon fill="white" stroke="black" points="405.5,-2775.5 405.5,-2794.5 539.5,-2794.5 539.5,-2775.5 405.5,-2775.5"/>
-<text text-anchor="middle" x="472.5" y="-2782.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5VertKernel</text>
+<polygon fill="white" stroke="black" points="405.5,-2438.5 405.5,-2457.5 539.5,-2457.5 539.5,-2438.5 405.5,-2438.5"/>
+<text text-anchor="middle" x="472.5" y="-2445.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5VertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node102 -->
 <g id="edge101" class="edge"><title>Node87&#45;&gt;Node102</title>
-<path fill="none" stroke="midnightblue" d="M332.114,-2580.46C342.152,-2583.63 351.691,-2588.53 359,-2596 412.995,-2651.22 341.347,-2710.45 395,-2766 398.708,-2769.84 403.061,-2772.95 407.778,-2775.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.954,-2577.06 322.394,-2577.92 331.187,-2583.83 332.954,-2577.06"/>
+<path fill="none" stroke="midnightblue" d="M331.906,-2421.14C360.446,-2426.63 394.511,-2433.19 421.845,-2438.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.543,-2417.7 322.061,-2419.25 331.22,-2424.57 332.543,-2417.7"/>
 </g>
 <!-- Node103 -->
 <g id="node103" class="node"><title>Node103</title>
 <g id="a_node103"><a xlink:href="classarm__compute_1_1_n_e_gaussian_pyramid_hor_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a GaussianPyramid (horizontal pass) ">
-<polygon fill="white" stroke="black" points="396.5,-2737.5 396.5,-2756.5 548.5,-2756.5 548.5,-2737.5 396.5,-2737.5"/>
-<text text-anchor="middle" x="472.5" y="-2744.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidHorKernel</text>
+<polygon fill="white" stroke="black" points="396.5,-2400.5 396.5,-2419.5 548.5,-2419.5 548.5,-2400.5 396.5,-2400.5"/>
+<text text-anchor="middle" x="472.5" y="-2407.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidHorKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node103 -->
 <g id="edge102" class="edge"><title>Node87&#45;&gt;Node103</title>
-<path fill="none" stroke="midnightblue" d="M331.774,-2580.8C341.842,-2583.94 351.479,-2588.74 359,-2596 402.748,-2638.24 351.514,-2685.49 395,-2728 398.915,-2731.83 403.473,-2734.92 408.38,-2737.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.604,-2577.4 322.045,-2578.27 330.845,-2584.17 332.604,-2577.4"/>
+<path fill="none" stroke="midnightblue" d="M332.266,-2410C352.291,-2410 375.001,-2410 396.185,-2410"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="332.061,-2406.5 322.061,-2410 332.061,-2413.5 332.061,-2406.5"/>
 </g>
 <!-- Node104 -->
 <g id="node104" class="node"><title>Node104</title>
 <g id="a_node104"><a xlink:href="classarm__compute_1_1_n_e_gaussian_pyramid_vert_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a GaussianPyramid (vertical pass) ">
-<polygon fill="white" stroke="black" points="395.5,-2699.5 395.5,-2718.5 549.5,-2718.5 549.5,-2699.5 395.5,-2699.5"/>
-<text text-anchor="middle" x="472.5" y="-2706.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidVertKernel</text>
+<polygon fill="white" stroke="black" points="395.5,-2362.5 395.5,-2381.5 549.5,-2381.5 549.5,-2362.5 395.5,-2362.5"/>
+<text text-anchor="middle" x="472.5" y="-2369.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidVertKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node104 -->
 <g id="edge103" class="edge"><title>Node87&#45;&gt;Node104</title>
-<path fill="none" stroke="midnightblue" d="M332.183,-2581.71C341.954,-2584.8 351.379,-2589.34 359,-2596 392.69,-2625.43 361.492,-2660.36 395,-2690 399.305,-2693.81 404.256,-2696.88 409.526,-2699.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.915,-2578.29 322.351,-2579.1 331.113,-2585.05 332.915,-2578.29"/>
+<path fill="none" stroke="midnightblue" d="M331.906,-2398.86C360.446,-2393.37 394.511,-2386.81 421.845,-2381.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="331.22,-2395.43 322.061,-2400.75 332.543,-2402.3 331.22,-2395.43"/>
 </g>
 <!-- Node105 -->
 <g id="node105" class="node"><title>Node105</title>
 <g id="a_node105"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_interleave4x4_kernel.xhtml" target="_top" xlink:title="NEON kernel to interleave the elements of a matrix. ">
-<polygon fill="white" stroke="black" points="398.5,-2661.5 398.5,-2680.5 546.5,-2680.5 546.5,-2661.5 398.5,-2661.5"/>
-<text text-anchor="middle" x="472.5" y="-2668.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMInterleave4x4Kernel</text>
+<polygon fill="white" stroke="black" points="398.5,-2324.5 398.5,-2343.5 546.5,-2343.5 546.5,-2324.5 398.5,-2324.5"/>
+<text text-anchor="middle" x="472.5" y="-2331.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMInterleave4x4Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node105 -->
 <g id="edge104" class="edge"><title>Node87&#45;&gt;Node105</title>
-<path fill="none" stroke="midnightblue" d="M332.096,-2583.35C341.637,-2586.28 351.006,-2590.35 359,-2596 383.162,-2613.08 370.944,-2634.77 395,-2652 400.452,-2655.9 406.619,-2659.01 413.029,-2661.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.705,-2579.89 322.14,-2580.69 330.898,-2586.65 332.705,-2579.89"/>
+<path fill="none" stroke="midnightblue" d="M300.458,-2395.68C324.552,-2383.09 361.394,-2364.96 395,-2353 405.056,-2349.42 416.087,-2346.26 426.564,-2343.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="298.781,-2392.6 291.574,-2400.37 302.051,-2398.79 298.781,-2392.6"/>
 </g>
 <!-- Node106 -->
 <g id="node106" class="node"><title>Node106</title>
 <g id="a_node106"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_matrix_addition_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform the in&#45;place matrix addition between 2 matrices taking into account that the s...">
-<polygon fill="white" stroke="black" points="396.5,-2623.5 396.5,-2642.5 548.5,-2642.5 548.5,-2623.5 396.5,-2623.5"/>
-<text text-anchor="middle" x="472.5" y="-2630.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixAdditionKernel</text>
+<polygon fill="white" stroke="black" points="396.5,-2286.5 396.5,-2305.5 548.5,-2305.5 548.5,-2286.5 396.5,-2286.5"/>
+<text text-anchor="middle" x="472.5" y="-2293.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixAdditionKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node106 -->
 <g id="edge105" class="edge"><title>Node87&#45;&gt;Node106</title>
-<path fill="none" stroke="midnightblue" d="M332.041,-2587.75C341.167,-2590.14 350.416,-2592.89 359,-2596 375.82,-2602.09 378.218,-2607.81 395,-2614 404.886,-2617.65 415.745,-2620.82 426.099,-2623.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.775,-2584.32 322.224,-2585.29 331.077,-2591.11 332.775,-2584.32"/>
+<path fill="none" stroke="midnightblue" d="M290.563,-2393.16C312.507,-2371.82 353.325,-2335.36 395,-2315 402.869,-2311.15 411.585,-2308.04 420.232,-2305.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="288.013,-2390.76 283.366,-2400.28 292.936,-2395.74 288.013,-2390.76"/>
 </g>
 <!-- Node107 -->
 <g id="node107" class="node"><title>Node107</title>
 <g id="a_node107"><a xlink:href="classarm__compute_1_1_n_e_g_e_m_m_transpose1x_w_kernel.xhtml" target="_top" xlink:title="NEON kernel which transposes the elements of a matrix in chunks of 1x4 if the input data type is F32 ...">
-<polygon fill="white" stroke="black" points="395,-2585.5 395,-2604.5 550,-2604.5 550,-2585.5 395,-2585.5"/>
-<text text-anchor="middle" x="472.5" y="-2592.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMTranspose1xWKernel</text>
+<polygon fill="white" stroke="black" points="395,-2248.5 395,-2267.5 550,-2267.5 550,-2248.5 395,-2248.5"/>
+<text text-anchor="middle" x="472.5" y="-2255.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMTranspose1xWKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node107 -->
 <g id="edge106" class="edge"><title>Node87&#45;&gt;Node107</title>
-<path fill="none" stroke="midnightblue" d="M332.051,-2581.58C351.646,-2583.47 373.833,-2585.6 394.652,-2587.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="332.351,-2578.1 322.061,-2580.62 331.68,-2585.07 332.351,-2578.1"/>
+<path fill="none" stroke="midnightblue" d="M285.569,-2391.43C304.667,-2362.37 345.629,-2306.46 395,-2277 401.463,-2273.14 408.68,-2270.07 416.029,-2267.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="282.411,-2389.87 279.951,-2400.17 288.3,-2393.65 282.411,-2389.87"/>
 </g>
 <!-- Node108 -->
 <g id="node108" class="node"><title>Node108</title>
 <g id="a_node108"><a xlink:href="classarm__compute_1_1_n_e_integral_image_kernel.xhtml" target="_top" xlink:title="Kernel to perform an image integral on an image. ">
-<polygon fill="white" stroke="black" points="413.5,-2547.5 413.5,-2566.5 531.5,-2566.5 531.5,-2547.5 413.5,-2547.5"/>
-<text text-anchor="middle" x="472.5" y="-2554.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIntegralImageKernel</text>
+<polygon fill="white" stroke="black" points="413.5,-2210.5 413.5,-2229.5 531.5,-2229.5 531.5,-2210.5 413.5,-2210.5"/>
+<text text-anchor="middle" x="472.5" y="-2217.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIntegralImageKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node108 -->
 <g id="edge107" class="edge"><title>Node87&#45;&gt;Node108</title>
-<path fill="none" stroke="midnightblue" d="M332.352,-2570.39C357.905,-2567.93 387.819,-2565.05 413.349,-2562.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="331.68,-2566.93 322.061,-2571.38 332.351,-2573.9 331.68,-2566.93"/>
+<path fill="none" stroke="midnightblue" d="M281.858,-2391.2C297.718,-2355.64 337.052,-2278.58 395,-2239 400.65,-2235.14 407.012,-2232.06 413.591,-2229.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="278.618,-2389.87 277.852,-2400.44 285.041,-2392.65 278.618,-2389.87"/>
 </g>
 <!-- Node109 -->
 <g id="node109" class="node"><title>Node109</title>
 <g id="a_node109"><a xlink:href="classarm__compute_1_1_n_e_logits1_d_max_kernel.xhtml" target="_top" xlink:title="Interface for the identifying the max value of 1D Logits. ">
-<polygon fill="white" stroke="black" points="414.5,-2509.5 414.5,-2528.5 530.5,-2528.5 530.5,-2509.5 414.5,-2509.5"/>
-<text text-anchor="middle" x="472.5" y="-2516.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DMaxKernel</text>
+<polygon fill="white" stroke="black" points="414.5,-2172.5 414.5,-2191.5 530.5,-2191.5 530.5,-2172.5 414.5,-2172.5"/>
+<text text-anchor="middle" x="472.5" y="-2179.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DMaxKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node109 -->
 <g id="edge108" class="edge"><title>Node87&#45;&gt;Node109</title>
-<path fill="none" stroke="midnightblue" d="M312.376,-2563.29C336.079,-2555.61 367.178,-2545.82 395,-2538 406.726,-2534.71 419.544,-2531.41 431.279,-2528.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="311.125,-2560.02 302.701,-2566.44 313.294,-2566.67 311.125,-2560.02"/>
+<path fill="none" stroke="midnightblue" d="M279.546,-2390.54C292.449,-2348.91 328.554,-2250.96 395,-2201 400.797,-2196.64 407.473,-2193.27 414.415,-2190.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="276.146,-2389.69 276.638,-2400.27 282.853,-2391.69 276.146,-2389.69"/>
 </g>
 <!-- Node110 -->
 <g id="node110" class="node"><title>Node110</title>
 <g id="a_node110"><a xlink:href="classarm__compute_1_1_n_e_median3x3_kernel.xhtml" target="_top" xlink:title="Kernel to perform a median filter on a tensor. ">
-<polygon fill="white" stroke="black" points="419.5,-2471.5 419.5,-2490.5 525.5,-2490.5 525.5,-2471.5 419.5,-2471.5"/>
-<text text-anchor="middle" x="472.5" y="-2478.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMedian3x3Kernel</text>
+<polygon fill="white" stroke="black" points="419.5,-2134.5 419.5,-2153.5 525.5,-2153.5 525.5,-2134.5 419.5,-2134.5"/>
+<text text-anchor="middle" x="472.5" y="-2141.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMedian3x3Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node110 -->
 <g id="edge109" class="edge"><title>Node87&#45;&gt;Node110</title>
-<path fill="none" stroke="midnightblue" d="M294.376,-2560.34C317.566,-2543.23 357.147,-2516.1 395,-2500 403.815,-2496.25 413.529,-2493.13 422.992,-2490.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="292.236,-2557.57 286.329,-2566.37 296.431,-2563.18 292.236,-2557.57"/>
+<path fill="none" stroke="midnightblue" d="M277.747,-2390.3C287.759,-2343.27 319.669,-2223.84 395,-2163 402.027,-2157.33 410.515,-2153.31 419.244,-2150.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="274.26,-2389.89 275.705,-2400.38 281.12,-2391.28 274.26,-2389.89"/>
 </g>
 <!-- Node111 -->
 <g id="node111" class="node"><title>Node111</title>
 <g id="a_node111"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml" target="_top" xlink:title="Kernel for the Horizontal pass of a Separable Convolution. ">
-<polygon fill="white" stroke="black" points="401.5,-2422 401.5,-2452 543.5,-2452 543.5,-2422 401.5,-2422"/>
-<text text-anchor="start" x="409.5" y="-2440" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
-<text text-anchor="middle" x="472.5" y="-2429" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="401.5,-2085 401.5,-2115 543.5,-2115 543.5,-2085 401.5,-2085"/>
+<text text-anchor="start" x="409.5" y="-2103" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
+<text text-anchor="middle" x="472.5" y="-2092" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node111 -->
 <g id="edge110" class="edge"><title>Node87&#45;&gt;Node111</title>
-<path fill="none" stroke="midnightblue" d="M288.231,-2558.38C309.162,-2533.55 350.599,-2488.36 395,-2462 401.368,-2458.22 408.378,-2454.93 415.491,-2452.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="285.396,-2556.32 281.711,-2566.25 290.787,-2560.78 285.396,-2556.32"/>
+<path fill="none" stroke="midnightblue" d="M281.095,-2390.79C303.71,-2329.96 373.846,-2144.42 395,-2125 399.221,-2121.13 404.051,-2117.85 409.189,-2115.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="277.751,-2389.75 277.557,-2400.34 284.315,-2392.18 277.751,-2389.75"/>
 </g>
 <!-- Node112 -->
 <g id="node112" class="node"><title>Node112</title>
 <g id="a_node112"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml" target="_top" xlink:title="Kernel for the Vertical pass of a Separable Convolution. ">
-<polygon fill="white" stroke="black" points="400.5,-2373 400.5,-2403 544.5,-2403 544.5,-2373 400.5,-2373"/>
-<text text-anchor="start" x="408.5" y="-2391" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
-<text text-anchor="middle" x="472.5" y="-2380" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
+<polygon fill="white" stroke="black" points="400.5,-2036 400.5,-2066 544.5,-2066 544.5,-2036 400.5,-2036"/>
+<text text-anchor="start" x="408.5" y="-2054" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
+<text text-anchor="middle" x="472.5" y="-2043" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node112 -->
 <g id="edge111" class="edge"><title>Node87&#45;&gt;Node112</title>
-<path fill="none" stroke="midnightblue" d="M283.06,-2557.05C300.195,-2523.2 340.569,-2452.19 395,-2413 400.329,-2409.16 406.28,-2405.89 412.445,-2403.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="279.788,-2555.78 278.499,-2566.29 286.064,-2558.87 279.788,-2555.78"/>
+<path fill="none" stroke="midnightblue" d="M281.675,-2390.85C296.992,-2352.42 332.183,-2263.08 359,-2187 376.242,-2138.09 358.368,-2112.71 395,-2076 398.849,-2072.14 403.301,-2068.88 408.082,-2066.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="278.366,-2389.7 277.906,-2400.28 284.866,-2392.3 278.366,-2389.7"/>
 </g>
 <!-- Node113 -->
 <g id="node113" class="node"><title>Node113</title>
 <g id="a_node113"><a xlink:href="classarm__compute_1_1_n_e_table_lookup_kernel.xhtml" target="_top" xlink:title="Interface for the kernel to perform table lookup calculations. ">
-<polygon fill="white" stroke="black" points="415.5,-2334.5 415.5,-2353.5 529.5,-2353.5 529.5,-2334.5 415.5,-2334.5"/>
-<text text-anchor="middle" x="472.5" y="-2341.5" font-family="Helvetica,sans-Serif" font-size="10.00">NETableLookupKernel</text>
+<polygon fill="white" stroke="black" points="415.5,-1997.5 415.5,-2016.5 529.5,-2016.5 529.5,-1997.5 415.5,-1997.5"/>
+<text text-anchor="middle" x="472.5" y="-2004.5" font-family="Helvetica,sans-Serif" font-size="10.00">NETableLookupKernel</text>
 </a>
 </g>
 </g>
 <!-- Node87&#45;&gt;Node113 -->
 <g id="edge112" class="edge"><title>Node87&#45;&gt;Node113</title>
-<path fill="none" stroke="midnightblue" d="M279.508,-2556.32C292.338,-2514.23 328.307,-2415.12 395,-2364 400.993,-2359.41 407.941,-2355.86 415.159,-2353.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="276.077,-2555.59 276.618,-2566.17 282.793,-2557.56 276.077,-2555.59"/>
-</g>
-<!-- Node114 -->
-<g id="node114" class="node"><title>Node114</title>
-<g id="a_node114"><a xlink:href="classarm__compute_1_1_n_e_convolution_kernel.xhtml" target="_top" xlink:title="NEConvolutionKernel\&lt; 5 \&gt;">
-<polygon fill="white" stroke="black" points="405.5,-2296.5 405.5,-2315.5 539.5,-2315.5 539.5,-2296.5 405.5,-2296.5"/>
-<text text-anchor="middle" x="472.5" y="-2303.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel&lt; 5 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node114 -->
-<g id="edge113" class="edge"><title>Node87&#45;&gt;Node114</title>
-<path fill="none" stroke="midnightblue" d="M277.517,-2556.62C287.155,-2509.28 318.544,-2387.15 395,-2325 399.779,-2321.12 405.241,-2318.01 410.999,-2315.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="274.07,-2556 275.606,-2566.49 280.942,-2557.33 274.07,-2556"/>
-</g>
-<!-- Node115 -->
-<g id="node115" class="node"><title>Node115</title>
-<g id="a_node115"><a xlink:href="classarm__compute_1_1_n_e_convolution_kernel.xhtml" target="_top" xlink:title="NEConvolutionKernel\&lt; 7 \&gt;">
-<polygon fill="white" stroke="black" points="405.5,-2258.5 405.5,-2277.5 539.5,-2277.5 539.5,-2258.5 405.5,-2258.5"/>
-<text text-anchor="middle" x="472.5" y="-2265.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel&lt; 7 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node115 -->
-<g id="edge114" class="edge"><title>Node87&#45;&gt;Node115</title>
-<path fill="none" stroke="midnightblue" d="M276.179,-2556.56C283.094,-2504.42 309.409,-2360.4 395,-2287 399.467,-2283.17 404.592,-2280.09 410.027,-2277.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="272.704,-2556.14 274.954,-2566.5 279.652,-2557 272.704,-2556.14"/>
-</g>
-<!-- Node116 -->
-<g id="node116" class="node"><title>Node116</title>
-<g id="a_node116"><a xlink:href="classarm__compute_1_1_n_e_convolution_kernel.xhtml" target="_top" xlink:title="NEConvolutionKernel\&lt; 9 \&gt;">
-<polygon fill="white" stroke="black" points="405.5,-2220.5 405.5,-2239.5 539.5,-2239.5 539.5,-2220.5 405.5,-2220.5"/>
-<text text-anchor="middle" x="472.5" y="-2227.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel&lt; 9 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node116 -->
-<g id="edge115" class="edge"><title>Node87&#45;&gt;Node116</title>
-<path fill="none" stroke="midnightblue" d="M275.138,-2556.36C279.527,-2499.55 300.253,-2333.78 395,-2249 399.283,-2245.17 404.22,-2242.08 409.481,-2239.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="271.636,-2556.27 274.445,-2566.48 278.62,-2556.74 271.636,-2556.27"/>
-</g>
-<!-- Node117 -->
-<g id="node117" class="node"><title>Node117</title>
-<g id="a_node117"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionHor\lKernel\&lt; 5 \&gt;">
-<polygon fill="white" stroke="black" points="401.5,-2171 401.5,-2201 543.5,-2201 543.5,-2171 401.5,-2171"/>
-<text text-anchor="start" x="409.5" y="-2189" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
-<text text-anchor="middle" x="472.5" y="-2178" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 5 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node117 -->
-<g id="edge116" class="edge"><title>Node87&#45;&gt;Node117</title>
-<path fill="none" stroke="midnightblue" d="M274.613,-2556.08C277.57,-2495.37 294.784,-2310.79 395,-2211 398.861,-2207.15 403.322,-2203.9 408.109,-2201.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="271.11,-2556.08 274.201,-2566.21 278.104,-2556.37 271.11,-2556.08"/>
-</g>
-<!-- Node118 -->
-<g id="node118" class="node"><title>Node118</title>
-<g id="a_node118"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionHor\lKernel\&lt; 7 \&gt;">
-<polygon fill="white" stroke="black" points="401.5,-2122 401.5,-2152 543.5,-2152 543.5,-2122 401.5,-2122"/>
-<text text-anchor="start" x="409.5" y="-2140" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
-<text text-anchor="middle" x="472.5" y="-2129" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 7 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node118 -->
-<g id="edge117" class="edge"><title>Node87&#45;&gt;Node118</title>
-<path fill="none" stroke="midnightblue" d="M277.312,-2556.04C290.045,-2481.51 337.994,-2220.83 395,-2162 398.792,-2158.09 403.204,-2154.79 407.959,-2152"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="273.786,-2555.9 275.575,-2566.34 280.689,-2557.06 273.786,-2555.9"/>
-</g>
-<!-- Node119 -->
-<g id="node119" class="node"><title>Node119</title>
-<g id="a_node119"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_hor_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionHor\lKernel\&lt; 9 \&gt;">
-<polygon fill="white" stroke="black" points="401.5,-2073 401.5,-2103 543.5,-2103 543.5,-2073 401.5,-2073"/>
-<text text-anchor="start" x="409.5" y="-2091" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
-<text text-anchor="middle" x="472.5" y="-2080" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 9 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node119 -->
-<g id="edge118" class="edge"><title>Node87&#45;&gt;Node119</title>
-<path fill="none" stroke="midnightblue" d="M278.533,-2556.55C298.592,-2470.79 379.075,-2129.91 395,-2113 398.64,-2109.13 402.884,-2105.87 407.474,-2103.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="275.121,-2555.77 276.255,-2566.31 281.937,-2557.37 275.121,-2555.77"/>
-</g>
-<!-- Node120 -->
-<g id="node120" class="node"><title>Node120</title>
-<g id="a_node120"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionVert\lKernel\&lt; 5 \&gt;">
-<polygon fill="white" stroke="black" points="400.5,-2024 400.5,-2054 544.5,-2054 544.5,-2024 400.5,-2024"/>
-<text text-anchor="start" x="408.5" y="-2042" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
-<text text-anchor="middle" x="472.5" y="-2031" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 5 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node120 -->
-<g id="edge119" class="edge"><title>Node87&#45;&gt;Node120</title>
-<path fill="none" stroke="midnightblue" d="M278.866,-2556.44C292.064,-2503.26 329.528,-2351.56 359,-2225 375.629,-2153.59 345.697,-2118.27 395,-2064 398.476,-2060.17 402.546,-2056.93 406.964,-2054.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="275.443,-2555.7 276.429,-2566.24 282.237,-2557.38 275.443,-2555.7"/>
-</g>
-<!-- Node121 -->
-<g id="node121" class="node"><title>Node121</title>
-<g id="a_node121"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionVert\lKernel\&lt; 7 \&gt;">
-<polygon fill="white" stroke="black" points="400.5,-1975 400.5,-2005 544.5,-2005 544.5,-1975 400.5,-1975"/>
-<text text-anchor="start" x="408.5" y="-1993" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
-<text text-anchor="middle" x="472.5" y="-1982" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 7 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node121 -->
-<g id="edge120" class="edge"><title>Node87&#45;&gt;Node121</title>
-<path fill="none" stroke="midnightblue" d="M279.212,-2556.51C293.277,-2503.53 332.714,-2352.26 359,-2225 378.155,-2132.26 333.105,-2086.67 395,-2015 398.288,-2011.19 402.164,-2007.96 406.397,-2005.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="275.801,-2555.72 276.61,-2566.28 282.565,-2557.52 275.801,-2555.72"/>
-</g>
-<!-- Node122 -->
-<g id="node122" class="node"><title>Node122</title>
-<g id="a_node122"><a xlink:href="classarm__compute_1_1_n_e_separable_convolution_vert_kernel.xhtml" target="_top" xlink:title="NESeparableConvolutionVert\lKernel\&lt; 9 \&gt;">
-<polygon fill="white" stroke="black" points="400.5,-1926 400.5,-1956 544.5,-1956 544.5,-1926 400.5,-1926"/>
-<text text-anchor="start" x="408.5" y="-1944" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
-<text text-anchor="middle" x="472.5" y="-1933" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; 9 &gt;</text>
-</a>
-</g>
-</g>
-<!-- Node87&#45;&gt;Node122 -->
-<g id="edge121" class="edge"><title>Node87&#45;&gt;Node122</title>
-<path fill="none" stroke="midnightblue" d="M279.432,-2556.56C294.045,-2503.68 334.732,-2352.66 359,-2225 369.852,-2167.91 357.72,-2010.57 395,-1966 398.227,-1962.14 402.059,-1958.87 406.263,-1956.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="276.027,-2555.73 276.724,-2566.31 282.772,-2557.61 276.027,-2555.73"/>
+<path fill="none" stroke="midnightblue" d="M282.284,-2391.05C298.687,-2352.98 335.721,-2264.24 359,-2187 380.034,-2117.21 344.354,-2079.42 395,-2027 400.628,-2021.18 407.725,-2016.97 415.315,-2013.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="279,-2389.82 278.233,-2400.39 285.422,-2392.61 279,-2389.82"/>
 </g>
 <!-- Node91 -->
 <g id="node91" class="node"><title>Node91</title>
 <g id="a_node91"><a xlink:href="classarm__compute_1_1_n_e_accumulate_weighted_f_p16_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate weighted kernel using F16. ">
-<polygon fill="white" stroke="black" points="589.5,-3146 589.5,-3176 736.5,-3176 736.5,-3146 589.5,-3146"/>
-<text text-anchor="start" x="597.5" y="-3164" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedFP16</text>
-<text text-anchor="middle" x="663" y="-3153" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
+<polygon fill="white" stroke="black" points="589.5,-2809 589.5,-2839 736.5,-2839 736.5,-2809 589.5,-2809"/>
+<text text-anchor="start" x="597.5" y="-2827" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedFP16</text>
+<text text-anchor="middle" x="663" y="-2816" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node90&#45;&gt;Node91 -->
 <g id="edge90" class="edge"><title>Node90&#45;&gt;Node91</title>
-<path fill="none" stroke="midnightblue" d="M558.713,-3169.77C568.95,-3168.9 579.331,-3168.02 589.366,-3167.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="558.21,-3166.3 548.542,-3170.63 558.802,-3173.27 558.21,-3166.3"/>
+<path fill="none" stroke="midnightblue" d="M558.713,-2832.77C568.95,-2831.9 579.331,-2831.02 589.366,-2830.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="558.21,-2829.3 548.542,-2833.63 558.802,-2836.27 558.21,-2829.3"/>
 </g>
 <!-- Node94 -->
 <g id="node94" class="node"><title>Node94</title>
 <g id="a_node94"><a xlink:href="classarm__compute_1_1_n_e_box3x3_f_p16_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform a Box 3x3 filter using F16 simd. ">
-<polygon fill="white" stroke="black" points="605.5,-3091.5 605.5,-3110.5 720.5,-3110.5 720.5,-3091.5 605.5,-3091.5"/>
-<text text-anchor="middle" x="663" y="-3098.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3FP16Kernel</text>
+<polygon fill="white" stroke="black" points="605.5,-2754.5 605.5,-2773.5 720.5,-2773.5 720.5,-2754.5 605.5,-2754.5"/>
+<text text-anchor="middle" x="663" y="-2761.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3FP16Kernel</text>
 </a>
 </g>
 </g>
 <!-- Node93&#45;&gt;Node94 -->
 <g id="edge93" class="edge"><title>Node93&#45;&gt;Node94</title>
-<path fill="none" stroke="midnightblue" d="M528.713,-3101C552.842,-3101 581.115,-3101 605.399,-3101"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="528.65,-3097.5 518.65,-3101 528.65,-3104.5 528.65,-3097.5"/>
+<path fill="none" stroke="midnightblue" d="M528.713,-2764C552.842,-2764 581.115,-2764 605.399,-2764"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="528.65,-2760.5 518.65,-2764 528.65,-2767.5 528.65,-2760.5"/>
 </g>
-<!-- Node124 -->
-<g id="node124" class="node"><title>Node124</title>
-<g id="a_node124"><a xlink:href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate Weighted kernel using F16. ">
-<polygon fill="white" stroke="black" points="405.5,-1877 405.5,-1907 539.5,-1907 539.5,-1877 405.5,-1877"/>
-<text text-anchor="start" x="413.5" y="-1895" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreFP16Kernel</text>
-<text text-anchor="middle" x="472.5" y="-1884" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; block_size &gt;</text>
+<!-- Node115 -->
+<g id="node115" class="node"><title>Node115</title>
+<g id="a_node115"><a xlink:href="classarm__compute_1_1_n_e_harris_score_f_p16_kernel.xhtml" target="_top" xlink:title="Interface for the accumulate Weighted kernel using F16. ">
+<polygon fill="white" stroke="black" points="405.5,-1948 405.5,-1978 539.5,-1978 539.5,-1948 405.5,-1948"/>
+<text text-anchor="start" x="413.5" y="-1966" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreFP16Kernel</text>
+<text text-anchor="middle" x="472.5" y="-1955" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; block_size &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node123&#45;&gt;Node124 -->
-<g id="edge123" class="edge"><title>Node123&#45;&gt;Node124</title>
-<path fill="none" stroke="midnightblue" d="M339.477,-2200.21C346.839,-2197.14 353.613,-2192.88 359,-2187 440.784,-2097.74 317.59,-2010.08 395,-1917 398.216,-1913.13 402.041,-1909.86 406.239,-1907.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="338.231,-2196.93 329.898,-2203.48 340.493,-2203.56 338.231,-2196.93"/>
+<!-- Node114&#45;&gt;Node115 -->
+<g id="edge114" class="edge"><title>Node114&#45;&gt;Node115</title>
+<path fill="none" stroke="midnightblue" d="M339.298,-2161.63C346.623,-2158.65 353.436,-2154.56 359,-2149 410.849,-2097.15 345.697,-2042.27 395,-1988 398.476,-1984.17 402.546,-1980.93 406.964,-1978.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="338.153,-2158.32 329.801,-2164.84 340.395,-2164.95 338.153,-2158.32"/>
 </g>
-<!-- Node125 -->
-<g id="node125" class="node"><title>Node125</title>
-<g id="a_node125"><a xlink:href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml" target="_top" xlink:title="Template NEON kernel to perform Harris Score. ">
-<polygon fill="white" stroke="black" points="417.5,-1828 417.5,-1858 527.5,-1858 527.5,-1828 417.5,-1828"/>
-<text text-anchor="start" x="425.5" y="-1846" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreKernel</text>
-<text text-anchor="middle" x="472.5" y="-1835" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; block_size &gt;</text>
+<!-- Node116 -->
+<g id="node116" class="node"><title>Node116</title>
+<g id="a_node116"><a xlink:href="classarm__compute_1_1_n_e_harris_score_kernel.xhtml" target="_top" xlink:title="Template NEON kernel to perform Harris Score. ">
+<polygon fill="white" stroke="black" points="417.5,-1899 417.5,-1929 527.5,-1929 527.5,-1899 417.5,-1899"/>
+<text text-anchor="start" x="425.5" y="-1917" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreKernel</text>
+<text text-anchor="middle" x="472.5" y="-1906" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; block_size &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node123&#45;&gt;Node125 -->
-<g id="edge124" class="edge"><title>Node123&#45;&gt;Node125</title>
-<path fill="none" stroke="midnightblue" d="M339.296,-2200.43C346.753,-2197.34 353.602,-2193.01 359,-2187 454.321,-2080.84 304.88,-1978.61 395,-1868 400.825,-1860.85 408.731,-1855.73 417.258,-1852.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="337.94,-2197.19 329.587,-2203.71 340.181,-2203.83 337.94,-2197.19"/>
+<!-- Node114&#45;&gt;Node116 -->
+<g id="edge115" class="edge"><title>Node114&#45;&gt;Node116</title>
+<path fill="none" stroke="midnightblue" d="M339.272,-2162.01C346.666,-2158.98 353.505,-2154.78 359,-2149 424.26,-2080.38 333.105,-2010.67 395,-1939 400.936,-1932.13 408.79,-1927.13 417.204,-1923.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="338.02,-2158.74 329.667,-2165.26 340.261,-2165.37 338.02,-2158.74"/>
 </g>
-<!-- Node127 -->
-<g id="node127" class="node"><title>Node127</title>
-<g id="a_node127"><a xlink:href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute warp affine. ">
-<polygon fill="white" stroke="black" points="419,-1779 419,-1809 526,-1809 526,-1779 419,-1779"/>
-<text text-anchor="start" x="427" y="-1797" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpAffineKernel</text>
-<text text-anchor="middle" x="472.5" y="-1786" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; interpolation &gt;</text>
+<!-- Node118 -->
+<g id="node118" class="node"><title>Node118</title>
+<g id="a_node118"><a xlink:href="classarm__compute_1_1_n_e_warp_affine_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute warp affine. ">
+<polygon fill="white" stroke="black" points="419,-1850 419,-1880 526,-1880 526,-1850 419,-1850"/>
+<text text-anchor="start" x="427" y="-1868" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpAffineKernel</text>
+<text text-anchor="middle" x="472.5" y="-1857" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; interpolation &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node126&#45;&gt;Node127 -->
-<g id="edge126" class="edge"><title>Node126&#45;&gt;Node127</title>
-<path fill="none" stroke="midnightblue" d="M325.893,-2166.66C338.346,-2163.82 350.488,-2158.52 359,-2149 457.363,-2039.04 302.023,-1933.55 395,-1819 401.164,-1811.41 409.676,-1806.1 418.793,-1802.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="325.134,-2163.24 315.903,-2168.44 326.362,-2170.13 325.134,-2163.24"/>
+<!-- Node117&#45;&gt;Node118 -->
+<g id="edge117" class="edge"><title>Node117&#45;&gt;Node118</title>
+<path fill="none" stroke="midnightblue" d="M325.558,-2128.35C338.013,-2125.52 350.24,-2120.29 359,-2111 427.283,-2038.61 330.267,-1965.59 395,-1890 401.271,-1882.68 409.719,-1877.49 418.715,-1873.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="324.806,-2124.93 315.583,-2130.14 326.044,-2131.82 324.806,-2124.93"/>
 </g>
-<!-- Node128 -->
-<g id="node128" class="node"><title>Node128</title>
-<g id="a_node128"><a xlink:href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute warp perspective. ">
-<polygon fill="white" stroke="black" points="405.5,-1730 405.5,-1760 539.5,-1760 539.5,-1730 405.5,-1730"/>
-<text text-anchor="start" x="413.5" y="-1748" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpPerspectiveKernel</text>
-<text text-anchor="middle" x="472.5" y="-1737" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; interpolation &gt;</text>
+<!-- Node119 -->
+<g id="node119" class="node"><title>Node119</title>
+<g id="a_node119"><a xlink:href="classarm__compute_1_1_n_e_warp_perspective_kernel.xhtml" target="_top" xlink:title="Template interface for the kernel to compute warp perspective. ">
+<polygon fill="white" stroke="black" points="405.5,-1801 405.5,-1831 539.5,-1831 539.5,-1801 405.5,-1801"/>
+<text text-anchor="start" x="413.5" y="-1819" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpPerspectiveKernel</text>
+<text text-anchor="middle" x="472.5" y="-1808" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; interpolation &gt;</text>
 </a>
 </g>
 </g>
-<!-- Node126&#45;&gt;Node128 -->
-<g id="edge127" class="edge"><title>Node126&#45;&gt;Node128</title>
-<path fill="none" stroke="midnightblue" d="M325.633,-2166.82C338.208,-2164 350.476,-2158.66 359,-2149 414.962,-2085.55 342.145,-1836.06 395,-1770 398.055,-1766.18 401.705,-1762.94 405.73,-1760.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="324.8,-2163.41 315.548,-2168.57 326,-2170.31 324.8,-2163.41"/>
+<!-- Node117&#45;&gt;Node119 -->
+<g id="edge118" class="edge"><title>Node117&#45;&gt;Node119</title>
+<path fill="none" stroke="midnightblue" d="M325.74,-2128.52C338.194,-2125.68 350.375,-2120.41 359,-2111 440.784,-2021.74 317.59,-1934.08 395,-1841 398.216,-1837.13 402.041,-1833.86 406.239,-1831.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="324.984,-2125.1 315.757,-2130.31 326.217,-2131.99 324.984,-2125.1"/>
 </g>
-<!-- Node153 -->
-<g id="node153" class="node"><title>Node153</title>
-<g id="a_node153"><a xlink:href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Gradient computation. ">
-<polygon fill="white" stroke="black" points="413,-1199.5 413,-1218.5 532,-1218.5 532,-1199.5 413,-1199.5"/>
-<text text-anchor="middle" x="472.5" y="-1206.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGradientFP16Kernel</text>
+<!-- Node144 -->
+<g id="node144" class="node"><title>Node144</title>
+<g id="a_node144"><a xlink:href="classarm__compute_1_1_n_e_gradient_f_p16_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Gradient computation. ">
+<polygon fill="white" stroke="black" points="413,-1161.5 413,-1180.5 532,-1180.5 532,-1161.5 413,-1161.5"/>
+<text text-anchor="middle" x="472.5" y="-1168.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGradientFP16Kernel</text>
 </a>
 </g>
 </g>
-<!-- Node152&#45;&gt;Node153 -->
-<g id="edge152" class="edge"><title>Node152&#45;&gt;Node153</title>
-<path fill="none" stroke="midnightblue" d="M331.099,-1209C356.689,-1209 386.848,-1209 412.643,-1209"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="330.805,-1205.5 320.805,-1209 330.805,-1212.5 330.805,-1205.5"/>
+<!-- Node143&#45;&gt;Node144 -->
+<g id="edge143" class="edge"><title>Node143&#45;&gt;Node144</title>
+<path fill="none" stroke="midnightblue" d="M331.099,-1171C356.689,-1171 386.848,-1171 412.643,-1171"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="330.805,-1167.5 320.805,-1171 330.805,-1174.5 330.805,-1167.5"/>
 </g>
-<!-- Node171 -->
-<g id="node171" class="node"><title>Node171</title>
-<g id="a_node171"><a xlink:href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Non&#45;Maxima suppression 3x3. ">
+<!-- Node161 -->
+<g id="node161" class="node"><title>Node161</title>
+<g id="a_node161"><a xlink:href="classarm__compute_1_1_n_e_non_maxima_suppression3x3_f_p16_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform Non&#45;Maxima suppression 3x3 with intermediate results in F16 if the input data ...">
 <polygon fill="white" stroke="black" points="396,-507 396,-537 549,-537 549,-507 396,-507"/>
 <text text-anchor="start" x="404" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">NENonMaximaSuppression3x3</text>
 <text text-anchor="middle" x="472.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">FP16Kernel</text>
 </a>
 </g>
 </g>
-<!-- Node170&#45;&gt;Node171 -->
-<g id="edge170" class="edge"><title>Node170&#45;&gt;Node171</title>
+<!-- Node160&#45;&gt;Node161 -->
+<g id="edge160" class="edge"><title>Node160&#45;&gt;Node161</title>
 <path fill="none" stroke="midnightblue" d="M359.54,-522C371.572,-522 383.87,-522 395.703,-522"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="359.512,-518.5 349.512,-522 359.512,-525.5 359.512,-518.5"/>
 </g>