blob: c71663d4512b88cc7a1fce127ab5cc26a07279b6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
<svg width="928pt" height="5549pt"
viewBox="0.00 0.00 928.00 5549.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 5545)">
<title>Graphical Class Hierarchy</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-5545 924,-5545 924,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,-2828.5 0,-2847.5 47,-2847.5 47,-2828.5 0,-2828.5"/>
<text text-anchor="middle" x="23.5" y="-2835.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,-4422.5 87,-4441.5 147,-4441.5 147,-4422.5 87,-4422.5"/>
<text text-anchor="middle" x="117" y="-4429.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.6384,-2857.83C35.6414,-3032.09 108.361,-4298.92 115.445,-4422.34"/>
<polygon fill="midnightblue" stroke="midnightblue" points="29.128,-2857.55 25.0606,-2847.77 22.1395,-2857.95 29.128,-2857.55"/>
</g>
<!-- Node92 -->
<g id="node92" class="node"><title>Node92</title>
<g id="a_node92"><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,-1259.5 83,-1278.5 151,-1278.5 151,-1259.5 83,-1259.5"/>
<text text-anchor="middle" x="117" y="-1266.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPKernel</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node92 -->
<g id="edge91" class="edge"><title>Node1&#45;&gt;Node92</title>
<path fill="none" stroke="midnightblue" d="M25.6534,-2818.22C35.714,-2645.71 108.364,-1399.93 115.445,-1278.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="22.1488,-2818.2 25.0606,-2828.39 29.1369,-2818.61 22.1488,-2818.2"/>
</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,-5521.5 203,-5540.5 343,-5540.5 343,-5521.5 203,-5521.5"/>
<text text-anchor="middle" x="273" y="-5528.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="M117.863,-4451.96C117.08,-4592.37 115.453,-5428.31 187,-5512 191.422,-5517.17 196.915,-5521.11 202.967,-5524.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.364,-4451.82 117.925,-4441.8 114.364,-4451.78 121.364,-4451.82"/>
</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,-5483.5 204.5,-5502.5 341.5,-5502.5 341.5,-5483.5 204.5,-5483.5"/>
<text text-anchor="middle" x="273" y="-5490.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="M117.912,-4452.1C117.489,-4590.02 118.007,-5393.49 187,-5474 191.723,-5479.51 197.663,-5483.62 204.198,-5486.67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.413,-4451.78 117.949,-4441.77 114.413,-4451.76 121.413,-4451.78"/>
</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,-5445.5 197.5,-5464.5 348.5,-5464.5 348.5,-5445.5 197.5,-5445.5"/>
<text text-anchor="middle" x="273" y="-5452.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="M117.965,-4451.78C117.909,-4585.88 120.484,-5358.57 187,-5436 190.252,-5439.79 194.077,-5442.91 198.275,-5445.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.465,-4451.72 117.975,-4441.72 114.465,-4451.72 121.465,-4451.72"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="classarm__compute_1_1_c_l_batch_normalization_layer_kernel.xhtml" target="_top" xlink:title="Interface for the BatchNormalization layer kernel. ">
<polygon fill="white" stroke="black" points="203.5,-5396 203.5,-5426 342.5,-5426 342.5,-5396 203.5,-5396"/>
<text text-anchor="start" x="211.5" y="-5414" font-family="Helvetica,sans-Serif" font-size="10.00">CLBatchNormalizationLayer</text>
<text text-anchor="middle" x="273" y="-5403" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</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.098,-4451.54C118.92,-4580.87 126.238,-5310.63 187,-5386 191.441,-5391.51 197.03,-5395.84 203.212,-5399.25"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.598,-4451.49 118.041,-4441.51 114.598,-4451.53 121.598,-4451.49"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><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,-5357.5 219.5,-5376.5 326.5,-5376.5 326.5,-5357.5 219.5,-5357.5"/>
<text text-anchor="middle" x="273" y="-5364.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseAndKernel</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.105,-4451.98C118.955,-4579.63 126.366,-5277.89 187,-5348 195.21,-5357.49 207.031,-5362.83 219.259,-5365.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.603,-4451.71 118.043,-4441.73 114.603,-4451.75 121.603,-4451.71"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><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,-5319.5 223,-5338.5 323,-5338.5 323,-5319.5 223,-5319.5"/>
<text text-anchor="middle" x="273" y="-5326.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseOrKernel</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.173,-4451.91C119.433,-4576.26 128.878,-5243.01 187,-5310 196.018,-5320.39 209.365,-5325.8 222.824,-5328.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.67,-4451.58 118.075,-4441.61 114.67,-4451.64 121.67,-4451.58"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><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,-5281.5 221,-5300.5 325,-5300.5 325,-5281.5 221,-5281.5"/>
<text text-anchor="middle" x="273" y="-5288.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseXorKernel</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.246,-4451.8C119.927,-4572.69 131.381,-5208.13 187,-5272 195.54,-5281.81 207.934,-5287.17 220.63,-5289.97"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.745,-4451.7 118.113,-4441.75 114.746,-4451.79 121.745,-4451.7"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><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,-5243.5 207,-5262.5 339,-5262.5 339,-5243.5 207,-5243.5"/>
<text text-anchor="middle" x="273" y="-5250.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelCombineKernel</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.324,-4451.63C120.438,-4568.83 133.871,-5173.22 187,-5234 192.374,-5240.15 199.263,-5244.55 206.788,-5247.66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.823,-4451.52 118.15,-4441.58 114.824,-4451.64 121.823,-4451.52"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><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,-5205.5 210.5,-5224.5 335.5,-5224.5 335.5,-5205.5 210.5,-5205.5"/>
<text text-anchor="middle" x="273" y="-5212.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLChannelExtractKernel</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.416,-4451.75C120.996,-4565.93 136.404,-5138.37 187,-5196 193.185,-5203.05 201.36,-5207.79 210.198,-5210.94"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.913,-4451.57 118.194,-4441.65 114.914,-4451.72 121.913,-4451.57"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><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,-5167.5 228.5,-5186.5 317.5,-5186.5 317.5,-5167.5 228.5,-5167.5"/>
<text text-anchor="middle" x="273" y="-5174.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLCol2ImKernel</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.515,-4451.8C121.579,-4562.66 138.921,-5103.49 187,-5158 197.303,-5169.68 213.075,-5175.04 228.247,-5177.27"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.011,-4451.58 118.243,-4441.68 115.014,-4451.77 122.011,-4451.58"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><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,-5129.5 215.5,-5148.5 330.5,-5148.5 330.5,-5129.5 215.5,-5129.5"/>
<text text-anchor="middle" x="273" y="-5136.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLColorConvertKernel</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="M118.623,-4451.76C122.185,-4559.03 141.423,-5068.6 187,-5120 194.424,-5128.37 204.658,-5133.49 215.458,-5136.54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.119,-4451.56 118.296,-4441.67 115.122,-4451.78 122.119,-4451.56"/>
</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,-5091.5 196.5,-5110.5 349.5,-5110.5 349.5,-5091.5 196.5,-5091.5"/>
<text text-anchor="middle" x="273" y="-5098.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="M118.753,-4451.96C122.858,-4556.04 143.954,-5033.74 187,-5082 190.321,-5085.72 194.199,-5088.8 198.434,-5091.34"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.247,-4451.73 118.363,-4441.87 115.252,-4452 122.247,-4451.73"/>
</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,-5053.5 215.5,-5072.5 330.5,-5072.5 330.5,-5053.5 215.5,-5053.5"/>
<text text-anchor="middle" x="273" y="-5060.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="M118.894,-4452.03C123.561,-4552.53 146.462,-4998.85 187,-5044 194.374,-5052.21 204.454,-5057.29 215.098,-5060.35"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.378,-4451.59 118.426,-4441.76 115.386,-4451.91 122.378,-4451.59"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="classarm__compute_1_1_c_l_depth_concatenate_kernel.xhtml" target="_top" xlink:title="Interface for the depth concatenate kernel. ">
<polygon fill="white" stroke="black" points="203.5,-5015.5 203.5,-5034.5 342.5,-5034.5 342.5,-5015.5 203.5,-5015.5"/>
<text text-anchor="middle" x="273" y="-5022.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDepthConcatenateKernel</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="M119.033,-4451.68C124.243,-4547.69 148.91,-4963.89 187,-5006 191.564,-5011.05 197.15,-5014.91 203.258,-5017.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.523,-4451.41 118.494,-4441.61 115.533,-4451.78 122.523,-4451.41"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><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,-4977.5 222.5,-4996.5 323.5,-4996.5 323.5,-4977.5 222.5,-4977.5"/>
<text text-anchor="middle" x="273" y="-4984.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDerivativeKernel</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="M117.637,-4452.02C116.468,-4539.89 116.355,-4890.55 187,-4968 196.069,-4977.94 209.106,-4983.27 222.255,-4985.99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.14,-4451.87 117.795,-4441.82 114.14,-4451.76 121.14,-4451.87"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><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,-4939.5 188,-4958.5 358,-4958.5 358,-4939.5 188,-4939.5"/>
<text text-anchor="middle" x="273" y="-4946.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeNonMaxSuppressionKernel</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="M117.856,-4451.64C117.66,-4535.02 121.208,-4858.56 187,-4930 190.483,-4933.78 194.54,-4936.89 198.957,-4939.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.357,-4451.54 117.903,-4441.53 114.357,-4451.51 121.357,-4451.54"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><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,-4901.5 221,-4920.5 325,-4920.5 325,-4901.5 221,-4901.5"/>
<text text-anchor="middle" x="273" y="-4908.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLEdgeTraceKernel</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="M118.105,-4451.65C118.939,-4530.99 126.148,-4826.66 187,-4892 195.76,-4901.41 208.074,-4906.66 220.615,-4909.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.604,-4451.53 118.022,-4441.56 114.604,-4451.59 121.604,-4451.53"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><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,-4863.5 217.5,-4882.5 328.5,-4882.5 328.5,-4863.5 217.5,-4863.5"/>
<text text-anchor="middle" x="273" y="-4870.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFastCornersKernel</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="M118.404,-4451.91C120.349,-4527.42 131.137,-4794.81 187,-4854 194.992,-4862.47 205.866,-4867.56 217.165,-4870.54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.893,-4451.42 118.162,-4441.5 114.895,-4451.58 121.893,-4451.42"/>
</g>
<!-- Node21 -->
<g id="node21" class="node"><title>Node21</title>
<g id="a_node21"><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,-4825.5 224,-4844.5 322,-4844.5 322,-4825.5 224,-4825.5"/>
<text text-anchor="middle" x="273" y="-4832.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLFillBorderKernel</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="M118.758,-4451.94C121.874,-4523.05 136.046,-4762.85 187,-4816 196.628,-4826.04 210.313,-4831.32 223.896,-4833.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.244,-4451.54 118.336,-4441.69 115.25,-4451.82 122.244,-4451.54"/>
</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_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,-4787.5 200,-4806.5 346,-4806.5 346,-4787.5 200,-4787.5"/>
<text text-anchor="middle" x="273" y="-4794.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMInterleave4x4Kernel</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="M119.196,-4452.08C123.577,-4518.7 140.962,-4730.89 187,-4778 190.805,-4781.89 195.22,-4785.07 199.999,-4787.65"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.666,-4451.48 118.544,-4441.72 115.679,-4451.92 122.666,-4451.48"/>
</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_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,-4738 201,-4768 345,-4768 345,-4738 201,-4738"/>
<text text-anchor="start" x="209" y="-4756" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMLowpMatrixMultiply</text>
<text text-anchor="middle" x="273" y="-4745" 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="M119.995,-4451.84C126.397,-4511.62 148.292,-4688.43 187,-4729 191.022,-4733.22 195.724,-4736.71 200.813,-4739.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.468,-4451.39 118.95,-4441.8 116.505,-4452.11 123.468,-4451.39"/>
</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_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,-4689 188.5,-4719 357.5,-4719 357.5,-4689 188.5,-4689"/>
<text text-anchor="start" x="196.5" y="-4707" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAccumulateBiases</text>
<text text-anchor="middle" x="273" y="-4696" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</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="M117.484,-4451.86C117.4,-4498.33 123.874,-4615.01 187,-4679 190.781,-4682.83 195.117,-4686.08 199.785,-4688.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="120.987,-4451.68 117.616,-4441.64 113.987,-4451.59 120.987,-4451.68"/>
</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_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,-4650.5 198,-4669.5 348,-4669.5 348,-4650.5 198,-4650.5"/>
<text text-anchor="middle" x="273" y="-4657.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixAdditionKernel</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="M118.402,-4451.86C120.374,-4493.51 131.081,-4590.36 187,-4641 191.147,-4644.76 195.871,-4647.82 200.918,-4650.32"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.892,-4451.53 118.047,-4441.66 114.897,-4451.77 121.892,-4451.53"/>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<g id="a_node26"><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,-4612.5 198.5,-4631.5 347.5,-4631.5 347.5,-4612.5 198.5,-4612.5"/>
<text text-anchor="middle" x="273" y="-4619.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMMatrixMultiplyKernel</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="M120.046,-4451.66C124.866,-4487.49 140.303,-4563.38 187,-4603 191.497,-4606.82 196.596,-4609.91 202.01,-4612.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.497,-4451.04 118.828,-4441.53 116.547,-4451.87 123.497,-4451.04"/>
</g>
<!-- Node27 -->
<g id="node27" class="node"><title>Node27</title>
<g id="a_node27"><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,-4574.5 226,-4593.5 320,-4593.5 320,-4574.5 226,-4574.5"/>
<text text-anchor="middle" x="273" y="-4581.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGradientKernel</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="M122.588,-4451.78C130.484,-4481.22 149.531,-4536.16 187,-4565 198.023,-4573.49 212.101,-4578.33 225.615,-4581.05"/>
<polygon fill="midnightblue" stroke="midnightblue" points="125.926,-4450.7 120.093,-4441.86 119.137,-4452.41 125.926,-4450.7"/>
</g>
<!-- Node28 -->
<g id="node28" class="node"><title>Node28</title>
<g id="a_node28"><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,-4536.5 218.5,-4555.5 327.5,-4555.5 327.5,-4536.5 218.5,-4536.5"/>
<text text-anchor="middle" x="273" y="-4543.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHarrisScoreKernel</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="M126.476,-4450.83C137.31,-4472.66 158.174,-4508.06 187,-4527 196.352,-4533.14 207.4,-4537.32 218.381,-4540.16"/>
<polygon fill="midnightblue" stroke="midnightblue" points="129.543,-4449.13 122.091,-4441.59 123.22,-4452.13 129.543,-4449.13"/>
</g>
<!-- Node29 -->
<g id="node29" class="node"><title>Node29</title>
<g id="a_node29"><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,-4498.5 207.5,-4517.5 338.5,-4517.5 338.5,-4498.5 207.5,-4498.5"/>
<text text-anchor="middle" x="273" y="-4505.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramBorderKernel</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="M134.052,-4449.07C147.114,-4461.95 166.659,-4479.04 187,-4489 194.877,-4492.86 203.548,-4495.94 212.249,-4498.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="136.313,-4446.38 126.807,-4441.7 131.32,-4451.28 136.313,-4446.38"/>
</g>
<!-- Node30 -->
<g id="node30" class="node"><title>Node30</title>
<g id="a_node30"><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,-4460.5 222,-4479.5 324,-4479.5 324,-4460.5 222,-4460.5"/>
<text text-anchor="middle" x="273" y="-4467.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHistogramKernel</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="M156.995,-4443.09C166.767,-4445.78 177.247,-4448.57 187,-4451 200.058,-4454.26 214.31,-4457.54 227.348,-4460.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.698,-4439.66 147.126,-4440.36 155.828,-4446.4 157.698,-4439.66"/>
</g>
<!-- Node31 -->
<g id="node31" class="node"><title>Node31</title>
<g id="a_node31"><a xlink:href="classarm__compute_1_1_c_l_h_o_g_block_normalization_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform HOG block normalization. ">
<polygon fill="white" stroke="black" points="191,-4422.5 191,-4441.5 355,-4441.5 355,-4422.5 191,-4422.5"/>
<text text-anchor="middle" x="273" y="-4429.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHOGBlockNormalizationKernel</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="M157.561,-4432C167.83,-4432 179.274,-4432 190.843,-4432"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.329,-4428.5 147.329,-4432 157.329,-4435.5 157.329,-4428.5"/>
</g>
<!-- Node32 -->
<g id="node32" class="node"><title>Node32</title>
<g id="a_node32"><a xlink:href="classarm__compute_1_1_c_l_h_o_g_detector_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform HOG detector kernel using linear SVM. ">
<polygon fill="white" stroke="black" points="214.5,-4384.5 214.5,-4403.5 331.5,-4403.5 331.5,-4384.5 214.5,-4384.5"/>
<text text-anchor="middle" x="273" y="-4391.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHOGDetectorKernel</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="M156.995,-4420.91C166.767,-4418.22 177.247,-4415.43 187,-4413 200.058,-4409.74 214.31,-4406.46 227.348,-4403.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="155.828,-4417.6 147.126,-4423.64 157.698,-4424.34 155.828,-4417.6"/>
</g>
<!-- Node33 -->
<g id="node33" class="node"><title>Node33</title>
<g id="a_node33"><a xlink:href="classarm__compute_1_1_c_l_h_o_g_orientation_binning_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to perform HOG Orientation Binning. ">
<polygon fill="white" stroke="black" points="193.5,-4346.5 193.5,-4365.5 352.5,-4365.5 352.5,-4346.5 193.5,-4346.5"/>
<text text-anchor="middle" x="273" y="-4353.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLHOGOrientationBinningKernel</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="M134.052,-4414.93C147.114,-4402.05 166.659,-4384.96 187,-4375 194.877,-4371.14 203.548,-4368.06 212.249,-4365.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="131.32,-4412.72 126.807,-4422.3 136.313,-4417.62 131.32,-4412.72"/>
</g>
<!-- Node34 -->
<g id="node34" class="node"><title>Node34</title>
<g id="a_node34"><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,-4308.5 228.5,-4327.5 317.5,-4327.5 317.5,-4308.5 228.5,-4308.5"/>
<text text-anchor="middle" x="273" y="-4315.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIm2ColKernel</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="M126.476,-4413.17C137.31,-4391.34 158.174,-4355.94 187,-4337 199.132,-4329.03 214.118,-4324.36 228.112,-4321.65"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.22,-4411.87 122.091,-4422.41 129.543,-4414.87 123.22,-4411.87"/>
</g>
<!-- Node35 -->
<g id="node35" class="node"><title>Node35</title>
<g id="a_node35"><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,-4270.5 206,-4289.5 340,-4289.5 340,-4270.5 206,-4270.5"/>
<text text-anchor="middle" x="273" y="-4277.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageVertKernel</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="M122.588,-4412.22C130.484,-4382.78 149.531,-4327.84 187,-4299 192.632,-4294.66 199.06,-4291.28 205.804,-4288.65"/>
<polygon fill="midnightblue" stroke="midnightblue" points="119.137,-4411.59 120.093,-4422.14 125.926,-4413.3 119.137,-4411.59"/>
</g>
<!-- Node36 -->
<g id="node36" class="node"><title>Node36</title>
<g id="a_node36"><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,-4232.5 205,-4251.5 341,-4251.5 341,-4232.5 205,-4232.5"/>
<text text-anchor="middle" x="273" y="-4239.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerFinalizeKernel</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.046,-4412.34C124.866,-4376.51 140.303,-4300.62 187,-4261 192.304,-4256.5 198.446,-4253 204.954,-4250.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="116.547,-4412.13 118.828,-4422.47 123.497,-4412.96 116.547,-4412.13"/>
</g>
<!-- Node37 -->
<g id="node37" class="node"><title>Node37</title>
<g id="a_node37"><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,-4194.5 215,-4213.5 331,-4213.5 331,-4194.5 215,-4194.5"/>
<text text-anchor="middle" x="273" y="-4201.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerInitKernel</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="M118.402,-4412.14C120.374,-4370.49 131.081,-4273.64 187,-4223 194.734,-4216 204.473,-4211.39 214.576,-4208.39"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.897,-4412.23 118.047,-4422.34 121.892,-4412.47 114.897,-4412.23"/>
</g>
<!-- Node38 -->
<g id="node38" class="node"><title>Node38</title>
<g id="a_node38"><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,-4156.5 206.5,-4175.5 339.5,-4175.5 339.5,-4156.5 206.5,-4156.5"/>
<text text-anchor="middle" x="273" y="-4163.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage0Kernel</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="M117.215,-4412.47C116.475,-4365.82 121.505,-4247.14 187,-4185 192.485,-4179.8 199.069,-4175.9 206.115,-4173"/>
<polygon fill="midnightblue" stroke="midnightblue" points="113.716,-4412.57 117.484,-4422.47 120.713,-4412.38 113.716,-4412.57"/>
</g>
<!-- Node39 -->
<g id="node39" class="node"><title>Node39</title>
<g id="a_node39"><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,-4118.5 206.5,-4137.5 339.5,-4137.5 339.5,-4118.5 206.5,-4118.5"/>
<text text-anchor="middle" x="273" y="-4125.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLKTrackerStage1Kernel</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="M120.101,-4412.11C126.67,-4353.74 148.701,-4184.63 187,-4147 192.501,-4141.6 199.183,-4137.59 206.359,-4134.64"/>
<polygon fill="midnightblue" stroke="midnightblue" points="116.602,-4411.92 118.993,-4422.24 123.56,-4412.68 116.602,-4411.92"/>
</g>
<!-- Node40 -->
<g id="node40" class="node"><title>Node40</title>
<g id="a_node40"><a xlink:href="classarm__compute_1_1_c_l_locally_connected_matrix_multiply_kernel.xhtml" target="_top" xlink:title="OpenCL kernel to multiply each row of first tensor with low 2 dimensions of second tensor...">
<polygon fill="white" stroke="black" points="206,-4069 206,-4099 340,-4099 340,-4069 206,-4069"/>
<text text-anchor="start" x="214" y="-4087" font-family="Helvetica,sans-Serif" font-size="10.00">CLLocallyConnectedMatrix</text>
<text text-anchor="middle" x="273" y="-4076" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyKernel</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="M119.617,-4412.14C125.153,-4348.92 145.344,-4153.93 187,-4109 192.229,-4103.36 198.658,-4098.97 205.618,-4095.56"/>
<polygon fill="midnightblue" stroke="midnightblue" points="116.109,-4412.08 118.752,-4422.34 123.084,-4412.67 116.109,-4412.08"/>
</g>
<!-- Node41 -->
<g id="node41" class="node"><title>Node41</title>
<g id="a_node41"><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,-4030.5 213,-4049.5 333,-4049.5 333,-4030.5 213,-4030.5"/>
<text text-anchor="middle" x="273" y="-4037.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DNormKernel</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.896,-4412.25C122.449,-4342.84 137.839,-4111.56 187,-4060 194.009,-4052.65 203.171,-4047.78 212.88,-4044.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.398,-4412.12 118.409,-4422.28 122.39,-4412.46 115.398,-4412.12"/>
</g>
<!-- Node42 -->
<g id="node42" class="node"><title>Node42</title>
<g id="a_node42"><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,-3992.5 196,-4011.5 350,-4011.5 350,-3992.5 196,-3992.5"/>
<text text-anchor="middle" x="273" y="-3999.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DShiftExpSumKernel</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="M118.498,-4412.12C120.772,-4337.92 132.55,-4078.45 187,-4021 190.537,-4017.27 194.633,-4014.19 199.079,-4011.67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.992,-4412.29 118.21,-4422.38 121.99,-4412.48 114.992,-4412.29"/>
</g>
<!-- Node43 -->
<g id="node43" class="node"><title>Node43</title>
<g id="a_node43"><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,-3954.5 208,-3973.5 338,-3973.5 338,-3954.5 208,-3954.5"/>
<text text-anchor="middle" x="273" y="-3961.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMagnitudePhaseKernel</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="M118.192,-4411.83C119.365,-4332.93 127.706,-4046.43 187,-3983 192.679,-3976.92 199.841,-3972.58 207.587,-3969.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.687,-4412.24 118.062,-4422.28 121.686,-4412.33 114.687,-4412.24"/>
</g>
<!-- Node44 -->
<g id="node44" class="node"><title>Node44</title>
<g id="a_node44"><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,-3916.5 216,-3935.5 330,-3935.5 330,-3916.5 216,-3916.5"/>
<text text-anchor="middle" x="273" y="-3923.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMeanStdDevKernel</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="M117.924,-4412.26C118.024,-4329.88 122.665,-4014.64 187,-3945 194.593,-3936.78 204.899,-3931.73 215.714,-3928.69"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.424,-4412.29 117.935,-4422.29 121.424,-4412.28 114.424,-4412.29"/>
</g>
<!-- Node45 -->
<g id="node45" class="node"><title>Node45</title>
<g id="a_node45"><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,-3878.5 227,-3897.5 319,-3897.5 319,-3878.5 227,-3878.5"/>
<text text-anchor="middle" x="273" y="-3885.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxKernel</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="M117.699,-4412.13C116.806,-4325.61 117.751,-3982.72 187,-3907 197.103,-3895.95 212.103,-3890.61 226.703,-3888.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.202,-4412.43 117.827,-4422.38 121.201,-4412.34 114.202,-4412.43"/>
</g>
<!-- Node46 -->
<g id="node46" class="node"><title>Node46</title>
<g id="a_node46"><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,-3840.5 209,-3859.5 337,-3859.5 337,-3840.5 209,-3840.5"/>
<text text-anchor="middle" x="273" y="-3847.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMinMaxLocationKernel</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="M119.094,-4412.09C124.506,-4316.79 149.661,-3910.19 187,-3869 192.89,-3862.5 200.475,-3857.97 208.683,-3854.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.597,-4411.94 118.532,-4422.12 122.586,-4412.33 115.597,-4411.94"/>
</g>
<!-- Node47 -->
<g id="node47" class="node"><title>Node47</title>
<g id="a_node47"><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,-3802.5 202.5,-3821.5 343.5,-3821.5 343.5,-3802.5 202.5,-3802.5"/>
<text text-anchor="middle" x="273" y="-3809.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNormalizationLayerKernel</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.92,-4412.33C123.714,-4313.63 147.136,-3875.31 187,-3831 191.349,-3826.17 196.634,-3822.42 202.42,-3819.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.42,-4412.26 118.439,-4422.41 122.412,-4412.59 115.42,-4412.26"/>
</g>
<!-- Node48 -->
<g id="node48" class="node"><title>Node48</title>
<g id="a_node48"><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,-3753 207.5,-3783 338.5,-3783 338.5,-3753 207.5,-3753"/>
<text text-anchor="start" x="215.5" y="-3771" font-family="Helvetica,sans-Serif" font-size="10.00">CLPixelWiseMultiplication</text>
<text text-anchor="middle" x="273" y="-3760" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</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.848,-4412.12C123.402,-4309.4 146.263,-3841.74 187,-3793 192.425,-3786.51 199.443,-3781.65 207.118,-3778.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.343,-4412.18 118.404,-4422.32 122.336,-4412.49 115.343,-4412.18"/>
</g>
<!-- Node49 -->
<g id="node49" class="node"><title>Node49</title>
<g id="a_node49"><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,-3714.5 216.5,-3733.5 329.5,-3733.5 329.5,-3714.5 216.5,-3714.5"/>
<text text-anchor="middle" x="273" y="-3721.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLPoolingLayerKernel</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.633,-4412.25C122.246,-4305.02 141.71,-3795.65 187,-3744 194.596,-3735.34 205.173,-3730.05 216.292,-3726.91"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.132,-4412.22 118.301,-4422.33 122.128,-4412.45 115.132,-4412.22"/>
</g>
<!-- Node50 -->
<g id="node50" class="node"><title>Node50</title>
<g id="a_node50"><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,-3676.5 228.5,-3695.5 317.5,-3695.5 317.5,-3676.5 228.5,-3676.5"/>
<text text-anchor="middle" x="273" y="-3683.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLRemapKernel</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.513,-4412.18C121.566,-4301.16 138.859,-3759.58 187,-3705 197.302,-3693.32 213.074,-3687.96 228.247,-3685.73"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.011,-4412.21 118.242,-4422.3 122.009,-4412.4 115.011,-4412.21"/>
</g>
<!-- Node51 -->
<g id="node51" class="node"><title>Node51</title>
<g id="a_node51"><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,-3638.5 222.5,-3657.5 323.5,-3657.5 323.5,-3638.5 222.5,-3638.5"/>
<text text-anchor="middle" x="273" y="-3645.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScharr3x3Kernel</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.414,-4412.22C120.984,-4297.89 136.342,-3724.71 187,-3667 195.978,-3656.77 209.149,-3651.39 222.455,-3648.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.912,-4412.26 118.193,-4422.34 121.911,-4412.42 114.912,-4412.26"/>
</g>
<!-- Node52 -->
<g id="node52" class="node"><title>Node52</title>
<g id="a_node52"><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,-3600.5 224,-3619.5 322,-3619.5 322,-3600.5 224,-3600.5"/>
<text text-anchor="middle" x="273" y="-3607.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel3x3Kernel</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.323,-4412.35C120.426,-4295 133.808,-3689.86 187,-3629 196.255,-3618.41 210.003,-3613.01 223.759,-3610.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.822,-4412.35 118.149,-4422.41 121.821,-4412.47 114.822,-4412.35"/>
</g>
<!-- Node53 -->
<g id="node53" class="node"><title>Node53</title>
<g id="a_node53"><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,-3562.5 216.5,-3581.5 329.5,-3581.5 329.5,-3562.5 216.5,-3562.5"/>
<text text-anchor="middle" x="273" y="-3569.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5HorKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node53 -->
<g id="edge52" class="edge"><title>Node2&#45;&gt;Node53</title>
<path fill="none" stroke="midnightblue" d="M118.245,-4412.17C119.916,-4291.14 131.318,-3654.95 187,-3591 194.546,-3582.33 205.103,-3577.14 216.219,-3574.12"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.744,-4412.19 118.112,-4422.24 121.743,-4412.29 114.744,-4412.19"/>
</g>
<!-- Node54 -->
<g id="node54" class="node"><title>Node54</title>
<g id="a_node54"><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,-3524.5 215,-3543.5 331,-3543.5 331,-3524.5 215,-3524.5"/>
<text text-anchor="middle" x="273" y="-3531.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel5x5VertKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node54 -->
<g id="edge53" class="edge"><title>Node2&#45;&gt;Node54</title>
<path fill="none" stroke="midnightblue" d="M118.171,-4412.07C119.421,-4287.58 128.815,-3620.07 187,-3553 194.234,-3544.66 204.254,-3539.53 214.883,-3536.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.669,-4412.35 118.074,-4422.38 121.668,-4412.41 114.669,-4412.35"/>
</g>
<!-- Node55 -->
<g id="node55" class="node"><title>Node55</title>
<g id="a_node55"><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,-3486.5 216.5,-3505.5 329.5,-3505.5 329.5,-3486.5 216.5,-3486.5"/>
<text text-anchor="middle" x="273" y="-3493.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7HorKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node55 -->
<g id="edge54" class="edge"><title>Node2&#45;&gt;Node55</title>
<path fill="none" stroke="midnightblue" d="M118.103,-4412C118.943,-4284.21 126.303,-3585.19 187,-3515 194.517,-3506.31 205.062,-3501.1 216.175,-3498.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.602,-4412.24 118.042,-4422.26 121.602,-4412.28 114.602,-4412.24"/>
</g>
<!-- Node56 -->
<g id="node56" class="node"><title>Node56</title>
<g id="a_node56"><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,-3448.5 215,-3467.5 331,-3467.5 331,-3448.5 215,-3448.5"/>
<text text-anchor="middle" x="273" y="-3455.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLSobel7x7VertKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node56 -->
<g id="edge55" class="edge"><title>Node2&#45;&gt;Node56</title>
<path fill="none" stroke="midnightblue" d="M118.039,-4412.39C118.471,-4282.61 123.716,-3550.4 187,-3477 194.208,-3468.64 204.217,-3463.5 214.843,-3460.43"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.538,-4412.45 118.011,-4422.46 121.538,-4412.47 114.538,-4412.45"/>
</g>
<!-- Node57 -->
<g id="node57" class="node"><title>Node57</title>
<g id="a_node57"><a xlink:href="classarm__compute_1_1_c_l_weights_reshape_kernel.xhtml" target="_top" xlink:title="CLWeightsReshapeKernel">
<polygon fill="white" stroke="black" points="207,-3410.5 207,-3429.5 339,-3429.5 339,-3410.5 207,-3410.5"/>
<text text-anchor="middle" x="273" y="-3417.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWeightsReshapeKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node57 -->
<g id="edge56" class="edge"><title>Node2&#45;&gt;Node57</title>
<path fill="none" stroke="midnightblue" d="M117.981,-4412.03C118.037,-4278.27 121.247,-3515.48 187,-3439 192.323,-3432.81 199.183,-3428.38 206.694,-3425.26"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.481,-4412.39 117.983,-4422.39 121.481,-4412.39 114.481,-4412.39"/>
</g>
<!-- Node60 -->
<g id="node60" class="node"><title>Node60</title>
<g id="a_node60"><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,-3350.5 228,-3369.5 318,-3369.5 318,-3350.5 228,-3350.5"/>
<text text-anchor="middle" x="273" y="-3357.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimpleKernel</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node60 -->
<g id="edge59" class="edge"><title>Node2&#45;&gt;Node60</title>
<path fill="none" stroke="midnightblue" d="M118.141,-4412.27C119.258,-4276.9 128.273,-3487.94 187,-3401 197.455,-3385.52 215.454,-3375.7 232.206,-3369.56"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.64,-4412.39 118.062,-4422.41 121.64,-4412.44 114.64,-4412.39"/>
</g>
<!-- Node58 -->
<g id="node58" class="node"><title>Node58</title>
<g id="a_node58"><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="408,-3465 408,-3495 549,-3495 549,-3465 408,-3465"/>
<text text-anchor="start" x="416" y="-3483" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionLayerWeights</text>
<text text-anchor="middle" x="478.5" y="-3472" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
</a>
</g>
</g>
<!-- Node57&#45;&gt;Node58 -->
<g id="edge57" class="edge"><title>Node57&#45;&gt;Node58</title>
<path fill="none" stroke="midnightblue" d="M335.133,-3431.95C343.237,-3434.03 351.374,-3436.38 359,-3439 375.736,-3444.74 378.453,-3449.73 395,-3456 403.37,-3459.17 412.348,-3462.17 421.189,-3464.91"/>
<polygon fill="midnightblue" stroke="midnightblue" points="335.846,-3428.52 325.301,-3429.54 334.182,-3435.32 335.846,-3428.52"/>
</g>
<!-- Node59 -->
<g id="node59" class="node"><title>Node59</title>
<g id="a_node59"><a xlink:href="classarm__compute_1_1_c_l_locally_connected_layer_weights_reshape_kernel.xhtml" target="_top" xlink:title="Interface for the weights reshape kernel used by locally connected layers. ">
<polygon fill="white" stroke="black" points="395,-3416 395,-3446 562,-3446 562,-3416 395,-3416"/>
<text text-anchor="start" x="403" y="-3434" font-family="Helvetica,sans-Serif" font-size="10.00">CLLocallyConnectedLayerWeights</text>
<text text-anchor="middle" x="478.5" y="-3423" font-family="Helvetica,sans-Serif" font-size="10.00">ReshapeKernel</text>
</a>
</g>
</g>
<!-- Node57&#45;&gt;Node59 -->
<g id="edge58" class="edge"><title>Node57&#45;&gt;Node59</title>
<path fill="none" stroke="midnightblue" d="M349.33,-3424.07C364.131,-3424.87 379.733,-3425.72 394.761,-3426.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="349.403,-3420.57 339.228,-3423.53 349.025,-3427.56 349.403,-3420.57"/>
</g>
<!-- Node61 -->
<g id="node61" class="node"><title>Node61</title>
<g id="a_node61"><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="403.5,-3377.5 403.5,-3396.5 553.5,-3396.5 553.5,-3377.5 403.5,-3377.5"/>
<text text-anchor="middle" x="478.5" y="-3384.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidHorKernel</text>
</a>
</g>
</g>
<!-- Node60&#45;&gt;Node61 -->
<g id="edge60" class="edge"><title>Node60&#45;&gt;Node61</title>
<path fill="none" stroke="midnightblue" d="M328.075,-3367.17C351.913,-3370.34 380.262,-3374.1 405.827,-3377.49"/>
<polygon fill="midnightblue" stroke="midnightblue" points="328.53,-3363.7 318.156,-3365.86 327.609,-3370.64 328.53,-3363.7"/>
</g>
<!-- Node62 -->
<g id="node62" class="node"><title>Node62</title>
<g id="a_node62"><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="402.5,-3339.5 402.5,-3358.5 554.5,-3358.5 554.5,-3339.5 402.5,-3339.5"/>
<text text-anchor="middle" x="478.5" y="-3346.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussianPyramidVertKernel</text>
</a>
</g>
</g>
<!-- Node60&#45;&gt;Node62 -->
<g id="edge61" class="edge"><title>Node60&#45;&gt;Node62</title>
<path fill="none" stroke="midnightblue" d="M328.268,-3357.07C350.945,-3355.84 377.678,-3354.4 402.207,-3353.07"/>
<polygon fill="midnightblue" stroke="midnightblue" points="327.953,-3353.58 318.156,-3357.61 328.331,-3360.57 327.953,-3353.58"/>
</g>
<!-- Node63 -->
<g id="node63" class="node"><title>Node63</title>
<g id="a_node63"><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="427,-3301.5 427,-3320.5 530,-3320.5 530,-3301.5 427,-3301.5"/>
<text text-anchor="middle" x="478.5" y="-3308.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple2DKernel</text>
</a>
</g>
</g>
<!-- Node60&#45;&gt;Node63 -->
<g id="edge62" class="edge"><title>Node60&#45;&gt;Node63</title>
<path fill="none" stroke="midnightblue" d="M321.711,-3347.98C343.963,-3342.42 370.813,-3335.78 395,-3330 408.151,-3326.86 422.505,-3323.52 435.498,-3320.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="320.689,-3344.62 311.838,-3350.45 322.388,-3351.41 320.689,-3344.62"/>
</g>
<!-- Node64 -->
<g id="node64" class="node"><title>Node64</title>
<g id="a_node64"><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="620.5,-3788.5 620.5,-3807.5 729.5,-3807.5 729.5,-3788.5 620.5,-3788.5"/>
<text text-anchor="middle" x="675" y="-3795.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node64 -->
<g id="edge63" class="edge"><title>Node63&#45;&gt;Node64</title>
<path fill="none" stroke="midnightblue" d="M539.968,-3315.46C548.382,-3318.58 556.138,-3323.21 562,-3330 627.416,-3405.77 533.292,-3702.63 598,-3779 603.803,-3785.85 611.665,-3790.43 620.139,-3793.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.839,-3312.07 530.255,-3312.55 538.83,-3318.77 540.839,-3312.07"/>
</g>
<!-- Node65 -->
<g id="node65" class="node"><title>Node65</title>
<g id="a_node65"><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="602.5,-3750.5 602.5,-3769.5 747.5,-3769.5 747.5,-3750.5 602.5,-3750.5"/>
<text text-anchor="middle" x="675" y="-3757.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateSquaredKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node65 -->
<g id="edge64" class="edge"><title>Node63&#45;&gt;Node65</title>
<path fill="none" stroke="midnightblue" d="M539.925,-3315.5C548.344,-3318.61 556.113,-3323.23 562,-3330 622.172,-3399.17 538.475,-3671.27 598,-3741 601.267,-3744.83 605.177,-3747.95 609.477,-3750.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.792,-3312.1 530.209,-3312.59 538.785,-3318.81 540.792,-3312.1"/>
</g>
<!-- Node66 -->
<g id="node66" class="node"><title>Node66</title>
<g id="a_node66"><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="600,-3712.5 600,-3731.5 750,-3731.5 750,-3712.5 600,-3712.5"/>
<text text-anchor="middle" x="675" y="-3719.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLAccumulateWeightedKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node66 -->
<g id="edge65" class="edge"><title>Node63&#45;&gt;Node66</title>
<path fill="none" stroke="midnightblue" d="M539.873,-3315.54C548.298,-3318.65 556.083,-3323.26 562,-3330 616.93,-3392.59 543.655,-3639.9 598,-3703 601.284,-3706.81 605.206,-3709.92 609.514,-3712.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.736,-3312.15 530.153,-3312.64 538.732,-3318.86 540.736,-3312.15"/>
</g>
<!-- Node67 -->
<g id="node67" class="node"><title>Node67</title>
<g id="a_node67"><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="622.5,-3674.5 622.5,-3693.5 727.5,-3693.5 727.5,-3674.5 622.5,-3674.5"/>
<text text-anchor="middle" x="675" y="-3681.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBitwiseNotKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node67 -->
<g id="edge66" class="edge"><title>Node63&#45;&gt;Node67</title>
<path fill="none" stroke="midnightblue" d="M539.809,-3315.6C548.243,-3318.7 556.046,-3323.29 562,-3330 661.386,-3442.01 499.662,-3552.07 598,-3665 604.341,-3672.28 613.011,-3676.99 622.23,-3679.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.668,-3312.2 530.085,-3312.7 538.667,-3318.91 540.668,-3312.2"/>
</g>
<!-- Node68 -->
<g id="node68" class="node"><title>Node68</title>
<g id="a_node68"><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="630,-3636.5 630,-3655.5 720,-3655.5 720,-3636.5 630,-3636.5"/>
<text text-anchor="middle" x="675" y="-3643.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLBox3x3Kernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node68 -->
<g id="edge67" class="edge"><title>Node63&#45;&gt;Node68</title>
<path fill="none" stroke="midnightblue" d="M539.73,-3315.67C548.174,-3318.76 556.001,-3323.33 562,-3330 650.922,-3428.86 510.003,-3527.32 598,-3627 606.101,-3636.18 617.899,-3641.25 629.794,-3643.97"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.583,-3312.27 530,-3312.77 538.587,-3318.98 540.583,-3312.27"/>
</g>
<!-- Node69 -->
<g id="node69" class="node"><title>Node69</title>
<g id="a_node69"><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="620.5,-3587 620.5,-3617 729.5,-3617 729.5,-3587 620.5,-3587"/>
<text text-anchor="start" x="628.5" y="-3605" font-family="Helvetica,sans-Serif" font-size="10.00">CLConvolutionKernel</text>
<text text-anchor="middle" x="675" y="-3594" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node69 -->
<g id="edge68" class="edge"><title>Node63&#45;&gt;Node69</title>
<path fill="none" stroke="midnightblue" d="M539.893,-3315.91C548.239,-3318.98 555.994,-3323.48 562,-3330 637.179,-3411.58 526.628,-3492.07 598,-3577 603.898,-3584.02 611.806,-3589.08 620.296,-3592.73"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.865,-3312.54 530.281,-3313.01 538.847,-3319.25 540.865,-3312.54"/>
</g>
<!-- Node70 -->
<g id="node70" class="node"><title>Node70</title>
<g id="a_node70"><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="616,-3548.5 616,-3567.5 734,-3567.5 734,-3548.5 616,-3548.5"/>
<text text-anchor="middle" x="675" y="-3555.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDepthConvertKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node70 -->
<g id="edge69" class="edge"><title>Node63&#45;&gt;Node70</title>
<path fill="none" stroke="midnightblue" d="M539.746,-3316.04C548.111,-3319.1 555.91,-3323.56 562,-3330 626.765,-3398.48 533.875,-3469.92 598,-3539 602.904,-3544.28 609.035,-3548.19 615.674,-3551.07"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.707,-3312.68 530.123,-3313.16 538.697,-3319.38 540.707,-3312.68"/>
</g>
<!-- Node71 -->
<g id="node71" class="node"><title>Node71</title>
<g id="a_node71"><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="633.5,-3510.5 633.5,-3529.5 716.5,-3529.5 716.5,-3510.5 633.5,-3510.5"/>
<text text-anchor="middle" x="675" y="-3517.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLDilateKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node71 -->
<g id="edge70" class="edge"><title>Node63&#45;&gt;Node71</title>
<path fill="none" stroke="midnightblue" d="M540.109,-3316.45C548.286,-3319.47 555.933,-3323.82 562,-3330 616.398,-3385.43 544.121,-3445.06 598,-3501 607.246,-3510.6 620.551,-3515.63 633.452,-3518.19"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.915,-3313.04 530.33,-3313.48 538.88,-3319.74 540.915,-3313.04"/>
</g>
<!-- Node72 -->
<g id="node72" class="node"><title>Node72</title>
<g id="a_node72"><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="633.5,-3472.5 633.5,-3491.5 716.5,-3491.5 716.5,-3472.5 633.5,-3472.5"/>
<text text-anchor="middle" x="675" y="-3479.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLErodeKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node72 -->
<g id="edge71" class="edge"><title>Node63&#45;&gt;Node72</title>
<path fill="none" stroke="midnightblue" d="M540.102,-3316.87C548.208,-3319.85 555.836,-3324.07 562,-3330 606.117,-3372.47 554.281,-3420.12 598,-3463 607.418,-3472.24 620.611,-3477.2 633.365,-3479.81"/>
<polygon fill="midnightblue" stroke="midnightblue" points="541.011,-3313.49 530.425,-3313.92 538.97,-3320.19 541.011,-3313.49"/>
</g>
<!-- Node73 -->
<g id="node73" class="node"><title>Node73</title>
<g id="a_node73"><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="618,-3434.5 618,-3453.5 732,-3453.5 732,-3434.5 618,-3434.5"/>
<text text-anchor="middle" x="675" y="-3441.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian3x3Kernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node73 -->
<g id="edge72" class="edge"><title>Node63&#45;&gt;Node73</title>
<path fill="none" stroke="midnightblue" d="M539.898,-3317.53C547.963,-3320.42 555.632,-3324.44 562,-3330 596.021,-3359.69 564.257,-3395 598,-3425 603.692,-3430.06 610.53,-3433.82 617.741,-3436.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.888,-3314.18 530.303,-3314.63 538.862,-3320.88 540.888,-3314.18"/>
</g>
<!-- Node74 -->
<g id="node74" class="node"><title>Node74</title>
<g id="a_node74"><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="598,-3396.5 598,-3415.5 752,-3415.5 752,-3396.5 598,-3396.5"/>
<text text-anchor="middle" x="675" y="-3403.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGEMMTranspose1xWKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node74 -->
<g id="edge73" class="edge"><title>Node63&#45;&gt;Node74</title>
<path fill="none" stroke="midnightblue" d="M539.824,-3319.03C547.713,-3321.72 555.352,-3325.28 562,-3330 586.44,-3347.33 573.723,-3369.44 598,-3387 603.4,-3390.91 609.517,-3394.01 615.878,-3396.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.71,-3315.64 530.128,-3316.16 538.725,-3322.36 540.71,-3315.64"/>
</g>
<!-- Node75 -->
<g id="node75" class="node"><title>Node75</title>
<g id="a_node75"><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="609,-3358.5 609,-3377.5 741,-3377.5 741,-3358.5 609,-3358.5"/>
<text text-anchor="middle" x="675" y="-3365.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLIntegralImageHorKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node75 -->
<g id="edge74" class="edge"><title>Node63&#45;&gt;Node75</title>
<path fill="none" stroke="midnightblue" d="M540.073,-3323.04C547.544,-3325.08 555.007,-3327.4 562,-3330 578.957,-3336.31 581.102,-3342.54 598,-3349 607.527,-3352.64 617.995,-3355.78 628.035,-3358.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.841,-3319.63 530.284,-3320.51 539.091,-3326.4 540.841,-3319.63"/>
</g>
<!-- Node76 -->
<g id="node76" class="node"><title>Node76</title>
<g id="a_node76"><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="617.5,-3320.5 617.5,-3339.5 732.5,-3339.5 732.5,-3320.5 617.5,-3320.5"/>
<text text-anchor="middle" x="675" y="-3327.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLLogits1DMaxKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node76 -->
<g id="edge75" class="edge"><title>Node63&#45;&gt;Node76</title>
<path fill="none" stroke="midnightblue" d="M540.078,-3316.92C564.792,-3319.33 593.207,-3322.11 617.487,-3324.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.388,-3313.43 530.095,-3315.94 539.707,-3320.4 540.388,-3313.43"/>
</g>
<!-- Node77 -->
<g id="node77" class="node"><title>Node77</title>
<g id="a_node77"><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="623,-3282.5 623,-3301.5 727,-3301.5 727,-3282.5 623,-3282.5"/>
<text text-anchor="middle" x="675" y="-3289.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLMedian3x3Kernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node77 -->
<g id="edge76" class="edge"><title>Node63&#45;&gt;Node77</title>
<path fill="none" stroke="midnightblue" d="M540.062,-3305.08C566.669,-3302.48 597.571,-3299.47 622.983,-3296.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="539.707,-3301.6 530.095,-3306.06 540.388,-3308.57 539.707,-3301.6"/>
</g>
<!-- Node78 -->
<g id="node78" class="node"><title>Node78</title>
<g id="a_node78"><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="613.5,-3244.5 613.5,-3263.5 736.5,-3263.5 736.5,-3244.5 613.5,-3244.5"/>
<text text-anchor="middle" x="675" y="-3251.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonLinearFilterKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node78 -->
<g id="edge77" class="edge"><title>Node63&#45;&gt;Node78</title>
<path fill="none" stroke="midnightblue" d="M517.378,-3298.16C540.545,-3290.48 570.851,-3280.74 598,-3273 609.51,-3269.72 622.087,-3266.45 633.638,-3263.57"/>
<polygon fill="midnightblue" stroke="midnightblue" points="515.975,-3294.94 507.595,-3301.42 518.189,-3301.58 515.975,-3294.94"/>
</g>
<!-- Node79 -->
<g id="node79" class="node"><title>Node79</title>
<g id="a_node79"><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="599,-3195 599,-3225 751,-3225 751,-3195 599,-3195"/>
<text text-anchor="start" x="607" y="-3213" font-family="Helvetica,sans-Serif" font-size="10.00">CLNonMaximaSuppression3x3</text>
<text text-anchor="middle" x="675" y="-3202" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node79 -->
<g id="edge78" class="edge"><title>Node63&#45;&gt;Node79</title>
<path fill="none" stroke="midnightblue" d="M500.304,-3295.34C523.257,-3278.63 561.76,-3252.24 598,-3235 605.651,-3231.36 613.971,-3228.04 622.207,-3225.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="498.001,-3292.69 492.027,-3301.44 502.154,-3298.33 498.001,-3292.69"/>
</g>
<!-- Node80 -->
<g id="node80" class="node"><title>Node80</title>
<g id="a_node80"><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="634,-3156.5 634,-3175.5 716,-3175.5 716,-3156.5 634,-3156.5"/>
<text text-anchor="middle" x="675" y="-3163.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLScaleKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node80 -->
<g id="edge79" class="edge"><title>Node63&#45;&gt;Node80</title>
<path fill="none" stroke="midnightblue" d="M491.588,-3292.88C510.821,-3265.49 551.048,-3213.81 598,-3186 608.8,-3179.6 621.653,-3175.22 633.689,-3172.23"/>
<polygon fill="midnightblue" stroke="midnightblue" points="488.461,-3291.25 485.685,-3301.47 494.231,-3295.21 488.461,-3291.25"/>
</g>
<!-- Node81 -->
<g id="node81" class="node"><title>Node81</title>
<g id="a_node81"><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="605,-3107 605,-3137 745,-3137 745,-3107 605,-3107"/>
<text text-anchor="start" x="613" y="-3125" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionHor</text>
<text text-anchor="middle" x="675" y="-3114" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node81 -->
<g id="edge80" class="edge"><title>Node63&#45;&gt;Node81</title>
<path fill="none" stroke="midnightblue" d="M488.244,-3291.94C504.819,-3257.89 544.039,-3186.46 598,-3147 603.269,-3143.15 609.166,-3139.86 615.281,-3137.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="484.959,-3290.7 483.836,-3301.24 491.284,-3293.7 484.959,-3290.7"/>
</g>
<!-- Node83 -->
<g id="node83" class="node"><title>Node83</title>
<g id="a_node83"><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="603.5,-3058 603.5,-3088 746.5,-3088 746.5,-3058 603.5,-3058"/>
<text text-anchor="start" x="611.5" y="-3076" font-family="Helvetica,sans-Serif" font-size="10.00">CLSeparableConvolutionVert</text>
<text text-anchor="middle" x="675" y="-3065" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node83 -->
<g id="edge82" class="edge"><title>Node63&#45;&gt;Node83</title>
<path fill="none" stroke="midnightblue" d="M484.99,-3291.55C497.741,-3249.88 533.312,-3151.44 598,-3098 602.712,-3094.11 608.049,-3090.81 613.658,-3088.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="481.59,-3290.71 482.114,-3301.29 488.303,-3292.69 481.59,-3290.71"/>
</g>
<!-- Node85 -->
<g id="node85" class="node"><title>Node85</title>
<g id="a_node85"><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="618.5,-3019.5 618.5,-3038.5 731.5,-3038.5 731.5,-3019.5 618.5,-3019.5"/>
<text text-anchor="middle" x="675" y="-3026.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTableLookupKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node85 -->
<g id="edge84" class="edge"><title>Node63&#45;&gt;Node85</title>
<path fill="none" stroke="midnightblue" d="M482.483,-3291.5C490.992,-3242.79 520.002,-3114.92 598,-3049 603.94,-3043.98 611.002,-3040.2 618.393,-3037.37"/>
<polygon fill="midnightblue" stroke="midnightblue" points="479.028,-3290.95 480.854,-3301.38 485.934,-3292.08 479.028,-3290.95"/>
</g>
<!-- Node86 -->
<g id="node86" class="node"><title>Node86</title>
<g id="a_node86"><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="625,-2981.5 625,-3000.5 725,-3000.5 725,-2981.5 625,-2981.5"/>
<text text-anchor="middle" x="675" y="-2988.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLThresholdKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node86 -->
<g id="edge85" class="edge"><title>Node63&#45;&gt;Node86</title>
<path fill="none" stroke="midnightblue" d="M481.196,-3291.16C486.904,-3237.25 510.309,-3086.97 598,-3010 605.564,-3003.36 615.105,-2998.97 624.849,-2996.09"/>
<polygon fill="midnightblue" stroke="midnightblue" points="477.685,-3291.11 480.207,-3301.4 484.652,-3291.79 477.685,-3291.11"/>
</g>
<!-- Node87 -->
<g id="node87" class="node"><title>Node87</title>
<g id="a_node87"><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="623.5,-2943.5 623.5,-2962.5 726.5,-2962.5 726.5,-2943.5 623.5,-2943.5"/>
<text text-anchor="middle" x="675" y="-2950.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLTransposeKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node87 -->
<g id="edge86" class="edge"><title>Node63&#45;&gt;Node87</title>
<path fill="none" stroke="midnightblue" d="M480.193,-3291.43C483.348,-3233.37 500.86,-3060.65 598,-2972 605.133,-2965.49 614.155,-2961.13 623.47,-2958.23"/>
<polygon fill="midnightblue" stroke="midnightblue" points="476.695,-3291.3 479.734,-3301.45 483.688,-3291.62 476.695,-3291.3"/>
</g>
<!-- Node88 -->
<g id="node88" class="node"><title>Node88</title>
<g id="a_node88"><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="622,-2905.5 622,-2924.5 728,-2924.5 728,-2905.5 622,-2905.5"/>
<text text-anchor="middle" x="675" y="-2912.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpAffineKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node88 -->
<g id="edge87" class="edge"><title>Node63&#45;&gt;Node88</title>
<path fill="none" stroke="midnightblue" d="M479.401,-3291.35C480.209,-3229.07 491.521,-3034.32 598,-2934 604.632,-2927.75 612.999,-2923.47 621.738,-2920.56"/>
<polygon fill="midnightblue" stroke="midnightblue" points="475.901,-3291.36 479.352,-3301.38 482.901,-3291.4 475.901,-3291.36"/>
</g>
<!-- Node89 -->
<g id="node89" class="node"><title>Node89</title>
<g id="a_node89"><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="609,-2867.5 609,-2886.5 741,-2886.5 741,-2867.5 609,-2867.5"/>
<text text-anchor="middle" x="675" y="-2874.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLWarpPerspectiveKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node89 -->
<g id="edge88" class="edge"><title>Node63&#45;&gt;Node89</title>
<path fill="none" stroke="midnightblue" d="M478.737,-3291.17C477.326,-3224.77 482.169,-3008.05 598,-2896 601.91,-2892.22 606.454,-2889.15 611.337,-2886.67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="475.247,-3291.56 479.036,-3301.46 482.244,-3291.36 475.247,-3291.56"/>
</g>
<!-- Node90 -->
<g id="node90" class="node"><title>Node90</title>
<g id="a_node90"><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="623.5,-2829.5 623.5,-2848.5 726.5,-2848.5 726.5,-2829.5 623.5,-2829.5"/>
<text text-anchor="middle" x="675" y="-2836.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICLSimple3DKernel</text>
</a>
</g>
</g>
<!-- Node63&#45;&gt;Node90 -->
<g id="edge89" class="edge"><title>Node63&#45;&gt;Node90</title>
<path fill="none" stroke="midnightblue" d="M482.007,-3291.08C492.358,-3211.95 534.239,-2921.07 598,-2858 604.962,-2851.11 614.019,-2846.6 623.443,-2843.66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="478.514,-3290.8 480.71,-3301.17 485.457,-3291.69 478.514,-3290.8"/>
</g>
<!-- Node82 -->
<g id="node82" class="node"><title>Node82</title>
<g id="a_node82"><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="789,-3112.5 789,-3131.5 919,-3131.5 919,-3112.5 789,-3112.5"/>
<text text-anchor="middle" x="854" y="-3119.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5HorKernel</text>
</a>
</g>
</g>
<!-- Node81&#45;&gt;Node82 -->
<g id="edge81" class="edge"><title>Node81&#45;&gt;Node82</title>
<path fill="none" stroke="midnightblue" d="M755.38,-3122C766.554,-3122 777.925,-3122 788.768,-3122"/>
<polygon fill="midnightblue" stroke="midnightblue" points="755.193,-3118.5 745.193,-3122 755.193,-3125.5 755.193,-3118.5"/>
</g>
<!-- Node84 -->
<g id="node84" class="node"><title>Node84</title>
<g id="a_node84"><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="788,-3063.5 788,-3082.5 920,-3082.5 920,-3063.5 788,-3063.5"/>
<text text-anchor="middle" x="854" y="-3070.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLGaussian5x5VertKernel</text>
</a>
</g>
</g>
<!-- Node83&#45;&gt;Node84 -->
<g id="edge83" class="edge"><title>Node83&#45;&gt;Node84</title>
<path fill="none" stroke="midnightblue" d="M756.989,-3073C767.327,-3073 777.803,-3073 787.846,-3073"/>
<polygon fill="midnightblue" stroke="midnightblue" points="756.718,-3069.5 746.718,-3073 756.718,-3076.5 756.718,-3069.5"/>
</g>
<!-- Node91 -->
<g id="node91" class="node"><title>Node91</title>
<g id="a_node91"><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="791.5,-2829.5 791.5,-2848.5 916.5,-2848.5 916.5,-2829.5 791.5,-2829.5"/>
<text text-anchor="middle" x="854" y="-2836.5" font-family="Helvetica,sans-Serif" font-size="10.00">CLActivationLayerKernel</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="M736.861,-2839C754.441,-2839 773.639,-2839 791.272,-2839"/>
<polygon fill="midnightblue" stroke="midnightblue" points="736.721,-2835.5 726.721,-2839 736.721,-2842.5 736.721,-2835.5"/>
</g>
<!-- Node93 -->
<g id="node93" class="node"><title>Node93</title>
<g id="a_node93"><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,-2508.5 201,-2527.5 345,-2527.5 345,-2508.5 201,-2508.5"/>
<text text-anchor="middle" x="273" y="-2515.5" font-family="Helvetica,sans-Serif" font-size="10.00">CPPCornerCandidatesKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node93 -->
<g id="edge92" class="edge"><title>Node92&#45;&gt;Node93</title>
<path fill="none" stroke="midnightblue" d="M118.446,-1289.27C121.963,-1445.32 146.17,-2450.86 187,-2499 190.913,-2503.61 195.678,-2507.25 200.933,-2510.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.935,-1288.76 118.213,-1278.84 114.937,-1288.91 121.935,-1288.76"/>
</g>
<!-- Node94 -->
<g id="node94" class="node"><title>Node94</title>
<g id="a_node94"><a xlink:href="classarm__compute_1_1_c_p_p_detection_window_non_maxima_suppression_kernel.xhtml" target="_top" xlink:title="CPP kernel to perform in&#45;place computation of euclidean distance on IDetectionWindowArray. ">
<polygon fill="white" stroke="black" points="189.5,-2459 189.5,-2489 356.5,-2489 356.5,-2459 189.5,-2459"/>
<text text-anchor="start" x="197.5" y="-2477" font-family="Helvetica,sans-Serif" font-size="10.00">CPPDetectionWindowNonMaxima</text>
<text text-anchor="middle" x="273" y="-2466" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node94 -->
<g id="edge93" class="edge"><title>Node92&#45;&gt;Node94</title>
<path fill="none" stroke="midnightblue" d="M117.797,-1288.93C116.471,-1436.45 111.29,-2355.8 187,-2450 189.69,-2453.35 192.808,-2456.25 196.228,-2458.76"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.299,-1288.7 117.895,-1278.67 114.3,-1288.64 121.299,-1288.7"/>
</g>
<!-- Node95 -->
<g id="node95" class="node"><title>Node95</title>
<g id="a_node95"><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,-2410 204.5,-2440 341.5,-2440 341.5,-2410 204.5,-2410"/>
<text text-anchor="start" x="212.5" y="-2428" font-family="Helvetica,sans-Serif" font-size="10.00">CPPSortEuclideanDistance</text>
<text text-anchor="middle" x="273" y="-2417" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node95 -->
<g id="edge94" class="edge"><title>Node92&#45;&gt;Node95</title>
<path fill="none" stroke="midnightblue" d="M117.862,-1288.95C117.037,-1432.89 115.006,-2309.66 187,-2400 191.697,-2405.89 197.71,-2410.45 204.364,-2413.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.364,-1288.6 117.927,-1278.58 114.364,-1288.56 121.364,-1288.6"/>
</g>
<!-- Node96 -->
<g id="node96" class="node"><title>Node96</title>
<g id="a_node96"><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,-2371.5 224,-2390.5 322,-2390.5 322,-2371.5 224,-2371.5"/>
<text text-anchor="middle" x="273" y="-2378.5" font-family="Helvetica,sans-Serif" font-size="10.00">ICPPSimpleKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node96 -->
<g id="edge95" class="edge"><title>Node92&#45;&gt;Node96</title>
<path fill="none" stroke="midnightblue" d="M117.848,-1288.76C116.945,-1429.54 114.552,-2277.19 187,-2362 196.134,-2372.69 209.849,-2378.12 223.612,-2380.71"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.349,-1288.62 117.919,-1278.6 114.349,-1288.57 121.349,-1288.62"/>
</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,-2333.5 216.5,-2352.5 329.5,-2352.5 329.5,-2333.5 216.5,-2333.5"/>
<text text-anchor="middle" x="273" y="-2340.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEHarrisScoreKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node123 -->
<g id="edge122" class="edge"><title>Node92&#45;&gt;Node123</title>
<path fill="none" stroke="midnightblue" d="M117.895,-1288.92C117.347,-1427.3 117.111,-2242.38 187,-2324 194.474,-2332.73 205.002,-2337.95 216.112,-2340.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.397,-1288.59 117.942,-1278.58 114.397,-1288.56 121.397,-1288.59"/>
</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,-2295.5 230.5,-2314.5 315.5,-2314.5 315.5,-2295.5 230.5,-2295.5"/>
<text text-anchor="middle" x="273" y="-2302.5" font-family="Helvetica,sans-Serif" font-size="10.00">INEWarpKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node126 -->
<g id="edge125" class="edge"><title>Node92&#45;&gt;Node126</title>
<path fill="none" stroke="midnightblue" d="M117.947,-1288.62C117.762,-1423.24 119.592,-2207.47 187,-2286 197.636,-2298.39 214.427,-2303.71 230.285,-2305.72"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.447,-1288.54 117.967,-1278.54 114.447,-1288.53 121.447,-1288.54"/>
</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,-2257.5 202,-2276.5 344,-2276.5 344,-2257.5 202,-2257.5"/>
<text text-anchor="middle" x="273" y="-2264.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAbsoluteDifferenceKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node129 -->
<g id="edge128" class="edge"><title>Node92&#45;&gt;Node129</title>
<path fill="none" stroke="midnightblue" d="M118.002,-1289.1C118.201,-1422.13 122.2,-2172.7 187,-2248 191.143,-2252.81 196.214,-2256.56 201.798,-2259.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.502,-1288.78 117.993,-1278.78 114.502,-1288.78 121.502,-1288.78"/>
</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,-2219.5 204,-2238.5 342,-2238.5 342,-2219.5 204,-2219.5"/>
<text text-anchor="middle" x="273" y="-2226.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticAdditionKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node130 -->
<g id="edge129" class="edge"><title>Node92&#45;&gt;Node130</title>
<path fill="none" stroke="midnightblue" d="M118.061,-1288.72C118.641,-1417.7 124.665,-2137.78 187,-2210 191.644,-2215.38 197.447,-2219.43 203.828,-2222.44"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.561,-1288.68 118.022,-1278.7 114.561,-1288.71 121.561,-1288.68"/>
</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,-2181.5 197,-2200.5 349,-2200.5 349,-2181.5 197,-2181.5"/>
<text text-anchor="middle" x="273" y="-2188.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEArithmeticSubtractionKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node131 -->
<g id="edge130" class="edge"><title>Node92&#45;&gt;Node131</title>
<path fill="none" stroke="midnightblue" d="M118.125,-1288.7C119.105,-1414.54 127.185,-2102.91 187,-2172 190.266,-2175.77 194.103,-2178.89 198.308,-2181.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.625,-1288.57 118.053,-1278.59 114.625,-1288.62 121.625,-1288.57"/>
</g>
<!-- Node132 -->
<g id="node132" class="node"><title>Node132</title>
<g id="a_node132"><a xlink:href="classarm__compute_1_1_n_e_batch_normalization_layer_kernel.xhtml" target="_top" xlink:title="Interface for the batch normalization layer kernel. ">
<polygon fill="white" stroke="black" points="203,-2132 203,-2162 343,-2162 343,-2132 203,-2132"/>
<text text-anchor="start" x="211" y="-2150" font-family="Helvetica,sans-Serif" font-size="10.00">NEBatchNormalizationLayer</text>
<text text-anchor="middle" x="273" y="-2139" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node132 -->
<g id="edge131" class="edge"><title>Node92&#45;&gt;Node132</title>
<path fill="none" stroke="midnightblue" d="M118.278,-1288.68C120.162,-1410.17 132.685,-2055.21 187,-2122 191.367,-2127.37 196.825,-2131.63 202.856,-2134.99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.776,-1288.54 118.127,-1278.59 114.777,-1288.64 121.776,-1288.54"/>
</g>
<!-- Node133 -->
<g id="node133" class="node"><title>Node133</title>
<g id="a_node133"><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,-2093.5 219,-2112.5 327,-2112.5 327,-2093.5 219,-2093.5"/>
<text text-anchor="middle" x="273" y="-2100.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseAndKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node133 -->
<g id="edge132" class="edge"><title>Node92&#45;&gt;Node133</title>
<path fill="none" stroke="midnightblue" d="M118.301,-1288.95C120.279,-1408.04 133.058,-2022.21 187,-2084 195.154,-2093.34 206.806,-2098.65 218.877,-2101.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.797,-1288.68 118.138,-1278.73 114.798,-1288.79 121.797,-1288.68"/>
</g>
<!-- Node134 -->
<g id="node134" class="node"><title>Node134</title>
<g id="a_node134"><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,-2055.5 219.5,-2074.5 326.5,-2074.5 326.5,-2055.5 219.5,-2055.5"/>
<text text-anchor="middle" x="273" y="-2062.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseNotKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node134 -->
<g id="edge133" class="edge"><title>Node92&#45;&gt;Node134</title>
<path fill="none" stroke="midnightblue" d="M118.384,-1288.72C120.803,-1403.98 135.54,-1987.29 187,-2046 195.273,-2055.44 207.117,-2060.75 219.346,-2063.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.879,-1288.47 118.177,-1278.55 114.881,-1288.61 121.879,-1288.47"/>
</g>
<!-- Node135 -->
<g id="node135" class="node"><title>Node135</title>
<g id="a_node135"><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,-2017.5 222.5,-2036.5 323.5,-2036.5 323.5,-2017.5 222.5,-2017.5"/>
<text text-anchor="middle" x="273" y="-2024.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseOrKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node135 -->
<g id="edge134" class="edge"><title>Node92&#45;&gt;Node135</title>
<path fill="none" stroke="midnightblue" d="M118.48,-1288.8C121.377,-1400.84 138.062,-1952.43 187,-2008 195.994,-2018.21 209.17,-2023.59 222.475,-2026.28"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.974,-1288.5 118.224,-1278.59 114.976,-1288.68 121.974,-1288.5"/>
</g>
<!-- Node136 -->
<g id="node136" class="node"><title>Node136</title>
<g id="a_node136"><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,-1979.5 220,-1998.5 326,-1998.5 326,-1979.5 220,-1979.5"/>
<text text-anchor="middle" x="273" y="-1986.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBitwiseXorKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node136 -->
<g id="edge135" class="edge"><title>Node92&#45;&gt;Node136</title>
<path fill="none" stroke="midnightblue" d="M118.586,-1288.78C121.975,-1397.33 140.569,-1917.54 187,-1970 195.418,-1979.51 207.464,-1984.83 219.849,-1987.68"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.078,-1288.49 118.275,-1278.6 115.082,-1288.7 122.078,-1288.49"/>
</g>
<!-- Node137 -->
<g id="node137" class="node"><title>Node137</title>
<g id="a_node137"><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,-1941.5 206,-1960.5 340,-1960.5 340,-1941.5 206,-1941.5"/>
<text text-anchor="middle" x="273" y="-1948.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelCombineKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node137 -->
<g id="edge136" class="edge"><title>Node92&#45;&gt;Node137</title>
<path fill="none" stroke="midnightblue" d="M118.699,-1288.69C122.597,-1393.45 143.06,-1882.63 187,-1932 192.127,-1937.76 198.585,-1941.98 205.64,-1945.04"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.193,-1288.43 118.33,-1278.57 115.197,-1288.69 122.193,-1288.43"/>
</g>
<!-- Node138 -->
<g id="node138" class="node"><title>Node138</title>
<g id="a_node138"><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,-1903.5 228,-1922.5 318,-1922.5 318,-1903.5 228,-1903.5"/>
<text text-anchor="middle" x="273" y="-1910.5" font-family="Helvetica,sans-Serif" font-size="10.00">NECol2ImKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node138 -->
<g id="edge137" class="edge"><title>Node92&#45;&gt;Node138</title>
<path fill="none" stroke="midnightblue" d="M118.85,-1289.14C123.335,-1391.15 145.623,-1847.8 187,-1894 197.29,-1905.49 212.874,-1910.84 227.9,-1913.12"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.339,-1288.81 118.411,-1278.97 115.346,-1289.11 122.339,-1288.81"/>
</g>
<!-- Node139 -->
<g id="node139" class="node"><title>Node139</title>
<g id="a_node139"><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,-1865.5 215,-1884.5 331,-1884.5 331,-1865.5 215,-1865.5"/>
<text text-anchor="middle" x="273" y="-1872.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEColorConvertKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node139 -->
<g id="edge138" class="edge"><title>Node92&#45;&gt;Node139</title>
<path fill="none" stroke="midnightblue" d="M118.985,-1288.83C124.01,-1386.43 148.077,-1812.85 187,-1856 194.292,-1864.08 204.206,-1869.12 214.691,-1872.19"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.48,-1288.64 118.478,-1278.83 115.489,-1288.99 122.48,-1288.64"/>
</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,-1827.5 195.5,-1846.5 350.5,-1846.5 350.5,-1827.5 195.5,-1827.5"/>
<text text-anchor="middle" x="273" y="-1834.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionRectangleKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node140 -->
<g id="edge139" class="edge"><title>Node92&#45;&gt;Node140</title>
<path fill="none" stroke="midnightblue" d="M117.575,-1288.65C116.078,-1377.21 114.56,-1738.34 187,-1818 190.459,-1821.8 194.498,-1824.93 198.903,-1827.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.075,-1288.69 117.766,-1278.62 114.076,-1288.56 121.075,-1288.69"/>
</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,-1778 208,-1808 338,-1808 338,-1778 208,-1778"/>
<text text-anchor="start" x="216" y="-1796" font-family="Helvetica,sans-Serif" font-size="10.00">NECumulativeDistribution</text>
<text text-anchor="middle" x="273" y="-1785" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node141 -->
<g id="edge140" class="edge"><title>Node92&#45;&gt;Node141</title>
<path fill="none" stroke="midnightblue" d="M117.975,-1289.11C118.279,-1373.05 123.627,-1694.43 187,-1768 192.622,-1774.53 199.852,-1779.39 207.717,-1783.02"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.475,-1288.89 117.96,-1278.9 114.475,-1288.9 121.475,-1288.89"/>
</g>
<!-- Node142 -->
<g id="node142" class="node"><title>Node142</title>
<g id="a_node142"><a xlink:href="classarm__compute_1_1_n_e_depth_concatenate_kernel.xhtml" target="_top" xlink:title="Interface for the depth concatenate kernel. ">
<polygon fill="white" stroke="black" points="203,-1739.5 203,-1758.5 343,-1758.5 343,-1739.5 203,-1739.5"/>
<text text-anchor="middle" x="273" y="-1746.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDepthConcatenateKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node142 -->
<g id="edge141" class="edge"><title>Node92&#45;&gt;Node142</title>
<path fill="none" stroke="midnightblue" d="M118.098,-1288.69C118.907,-1368.21 126.029,-1664.52 187,-1730 191.534,-1734.87 197.02,-1738.63 202.998,-1741.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.597,-1288.56 118.019,-1278.58 114.597,-1288.61 121.597,-1288.56"/>
</g>
<!-- Node143 -->
<g id="node143" class="node"><title>Node143</title>
<g id="a_node143"><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,-1701.5 221.5,-1720.5 324.5,-1720.5 324.5,-1701.5 221.5,-1701.5"/>
<text text-anchor="middle" x="273" y="-1708.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDerivativeKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node143 -->
<g id="edge142" class="edge"><title>Node92&#45;&gt;Node143</title>
<path fill="none" stroke="midnightblue" d="M118.396,-1288.96C120.316,-1364.65 131.02,-1632.66 187,-1692 195.924,-1701.46 208.445,-1706.71 221.138,-1709.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.886,-1288.44 118.158,-1278.53 114.887,-1288.6 121.886,-1288.44"/>
</g>
<!-- Node144 -->
<g id="node144" class="node"><title>Node144</title>
<g id="a_node144"><a xlink:href="classarm__compute_1_1_n_e_direct_convolution_layer_bias_accumulate_kernel.xhtml" target="_top" xlink:title="NEON kernel to accumulate the biases to each element of the input tensor. ">
<polygon fill="white" stroke="black" points="206.5,-1652 206.5,-1682 339.5,-1682 339.5,-1652 206.5,-1652"/>
<text text-anchor="start" x="214.5" y="-1670" font-family="Helvetica,sans-Serif" font-size="10.00">NEDirectConvolutionLayer</text>
<text text-anchor="middle" x="273" y="-1659" font-family="Helvetica,sans-Serif" font-size="10.00">BiasAccumulateKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node144 -->
<g id="edge143" class="edge"><title>Node92&#45;&gt;Node144</title>
<path fill="none" stroke="midnightblue" d="M118.961,-1288.78C122.731,-1358.3 138.764,-1590.07 187,-1643 192.371,-1648.89 199.067,-1653.38 206.328,-1656.8"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.453,-1288.54 118.441,-1278.74 115.462,-1288.91 122.453,-1288.54"/>
</g>
<!-- Node145 -->
<g id="node145" class="node"><title>Node145</title>
<g id="a_node145"><a xlink:href="classarm__compute_1_1_n_e_direct_convolution_layer_kernel.xhtml" target="_top" xlink:title="NEON interface for Direct Convolution Layer kernel. ">
<polygon fill="white" stroke="black" points="206.5,-1603 206.5,-1633 339.5,-1633 339.5,-1603 206.5,-1603"/>
<text text-anchor="start" x="214.5" y="-1621" font-family="Helvetica,sans-Serif" font-size="10.00">NEDirectConvolutionLayer</text>
<text text-anchor="middle" x="273" y="-1610" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node145 -->
<g id="edge144" class="edge"><title>Node92&#45;&gt;Node145</title>
<path fill="none" stroke="midnightblue" d="M119.608,-1288.92C125.117,-1352.33 145.235,-1547.92 187,-1593 192.436,-1598.87 199.171,-1603.38 206.453,-1606.85"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.073,-1288.36 118.748,-1278.69 116.098,-1288.95 123.073,-1288.36"/>
</g>
<!-- Node146 -->
<g id="node146" class="node"><title>Node146</title>
<g id="a_node146"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node146 -->
<g id="edge145" class="edge"><title>Node92&#45;&gt;Node146</title>
<path fill="none" stroke="midnightblue" d="M120.091,-1288.95C126.631,-1347.53 148.589,-1517.23 187,-1555 190.881,-1558.82 195.352,-1561.94 200.17,-1564.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.547,-1288.36 118.988,-1278.79 116.587,-1289.11 123.547,-1288.36"/>
</g>
<!-- Node147 -->
<g id="node147" class="node"><title>Node147</title>
<g id="a_node147"><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>
<!-- Node92&#45;&gt;Node147 -->
<g id="edge146" class="edge"><title>Node92&#45;&gt;Node147</title>
<path fill="none" stroke="midnightblue" d="M117.187,-1288.61C116.387,-1335.45 121.292,-1454.59 187,-1517 195.881,-1525.44 207.651,-1530.43 219.594,-1533.33"/>
<polygon fill="midnightblue" stroke="midnightblue" points="120.687,-1288.66 117.47,-1278.57 113.689,-1288.46 120.687,-1288.66"/>
</g>
<!-- Node148 -->
<g id="node148" class="node"><title>Node148</title>
<g id="a_node148"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node148 -->
<g id="edge147" class="edge"><title>Node92&#45;&gt;Node148</title>
<path fill="none" stroke="midnightblue" d="M118.369,-1288.95C120.28,-1330.8 130.875,-1428.1 187,-1479 195.177,-1486.42 205.602,-1491.15 216.328,-1494.12"/>
<polygon fill="midnightblue" stroke="midnightblue" points="121.859,-1288.58 118.03,-1278.7 114.863,-1288.81 121.859,-1288.58"/>
</g>
<!-- Node149 -->
<g id="node149" class="node"><title>Node149</title>
<g id="a_node149"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node149 -->
<g id="edge148" class="edge"><title>Node92&#45;&gt;Node149</title>
<path fill="none" stroke="midnightblue" d="M120.009,-1288.77C124.768,-1324.8 140.108,-1401.13 187,-1441 197.599,-1450.01 211.557,-1455 225.092,-1457.69"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.455,-1288.1 118.809,-1278.58 116.503,-1288.92 123.455,-1288.1"/>
</g>
<!-- Node150 -->
<g id="node150" class="node"><title>Node150</title>
<g id="a_node150"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node150 -->
<g id="edge149" class="edge"><title>Node92&#45;&gt;Node150</title>
<path fill="none" stroke="midnightblue" d="M122.43,-1288.5C130.196,-1318.04 149.17,-1373.79 187,-1403 197.292,-1410.95 210.262,-1415.7 222.949,-1418.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="125.774,-1287.44 119.986,-1278.57 118.977,-1289.11 125.774,-1287.44"/>
</g>
<!-- Node151 -->
<g id="node151" class="node"><title>Node151</title>
<g id="a_node151"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node151 -->
<g id="edge150" class="edge"><title>Node92&#45;&gt;Node151</title>
<path fill="none" stroke="midnightblue" d="M126.424,-1288.02C137.207,-1310.08 158.022,-1345.86 187,-1365 194.444,-1369.92 202.972,-1373.58 211.688,-1376.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="129.468,-1286.27 122.062,-1278.69 123.127,-1289.24 129.468,-1286.27"/>
</g>
<!-- Node152 -->
<g id="node152" class="node"><title>Node152</title>
<g id="a_node152"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node152 -->
<g id="edge151" class="edge"><title>Node92&#45;&gt;Node152</title>
<path fill="none" stroke="midnightblue" d="M137.444,-1284.77C150.733,-1294.89 169.114,-1307.65 187,-1316 194.226,-1319.37 202.023,-1322.36 209.862,-1324.99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="139.54,-1281.96 129.504,-1278.57 135.234,-1287.48 139.54,-1281.96"/>
</g>
<!-- Node153 -->
<g id="node153" class="node"><title>Node153</title>
<g id="a_node153"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node153 -->
<g id="edge152" class="edge"><title>Node92&#45;&gt;Node153</title>
<path fill="none" stroke="midnightblue" d="M160.952,-1275.14C169.388,-1276.34 178.507,-1277.64 187.766,-1278.97"/>
<polygon fill="midnightblue" stroke="midnightblue" points="161.431,-1271.67 151.037,-1273.72 160.441,-1278.6 161.431,-1271.67"/>
</g>
<!-- Node154 -->
<g id="node154" class="node"><title>Node154</title>
<g id="a_node154"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node154 -->
<g id="edge153" class="edge"><title>Node92&#45;&gt;Node154</title>
<path fill="none" stroke="midnightblue" d="M161.158,-1262.83C174.902,-1260.87 190.442,-1258.65 205.443,-1256.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="160.441,-1259.4 151.037,-1264.28 161.431,-1266.33 160.441,-1259.4"/>
</g>
<!-- Node155 -->
<g id="node155" class="node"><title>Node155</title>
<g id="a_node155"><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>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node155 -->
<g id="edge154" class="edge"><title>Node92&#45;&gt;Node155</title>
<path fill="none" stroke="midnightblue" d="M139.456,-1253.84C152.634,-1245.15 170.164,-1234.69 187,-1228 199.086,-1223.2 212.644,-1219.48 225.322,-1216.66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="137.412,-1251 131.09,-1259.5 141.334,-1256.79 137.412,-1251"/>
</g>
<!-- Node157 -->
<g id="node157" class="node"><title>Node157</title>
<g id="a_node157"><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,-1161.5 221,-1180.5 325,-1180.5 325,-1161.5 221,-1161.5"/>
<text text-anchor="middle" x="273" y="-1168.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHistogramKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node157 -->
<g id="edge156" class="edge"><title>Node92&#45;&gt;Node157</title>
<path fill="none" stroke="midnightblue" d="M128.866,-1250.9C140.799,-1232.64 161.674,-1205.06 187,-1190 197.138,-1183.97 208.989,-1179.85 220.568,-1177.04"/>
<polygon fill="midnightblue" stroke="midnightblue" points="125.828,-1249.15 123.464,-1259.48 131.752,-1252.88 125.828,-1249.15"/>
</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_block_normalization_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform HOG block normalization. ">
<polygon fill="white" stroke="black" points="190,-1123.5 190,-1142.5 356,-1142.5 356,-1123.5 190,-1123.5"/>
<text text-anchor="middle" x="273" y="-1130.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGBlockNormalizationKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node158 -->
<g id="edge157" class="edge"><title>Node92&#45;&gt;Node158</title>
<path fill="none" stroke="midnightblue" d="M123.931,-1249.71C133.061,-1223.37 153.144,-1176.63 187,-1152 192.258,-1148.17 198.148,-1145.1 204.309,-1142.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="120.569,-1248.73 120.773,-1259.32 127.219,-1250.91 120.569,-1248.73"/>
</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_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,-1085.5 213.5,-1104.5 332.5,-1104.5 332.5,-1085.5 213.5,-1085.5"/>
<text text-anchor="middle" x="273" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGDetectorKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node159 -->
<g id="edge158" class="edge"><title>Node92&#45;&gt;Node159</title>
<path fill="none" stroke="midnightblue" d="M120.971,-1249.31C127.064,-1216.06 144.2,-1149.03 187,-1114 194.606,-1107.77 203.829,-1103.49 213.358,-1100.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="117.516,-1248.75 119.306,-1259.19 124.418,-1249.91 117.516,-1248.75"/>
</g>
<!-- Node160 -->
<g id="node160" class="node"><title>Node160</title>
<g id="a_node160"><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,-1047.5 192.5,-1066.5 353.5,-1066.5 353.5,-1047.5 192.5,-1047.5"/>
<text text-anchor="middle" x="273" y="-1054.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEHOGOrientationBinningKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node160 -->
<g id="edge159" class="edge"><title>Node92&#45;&gt;Node160</title>
<path fill="none" stroke="midnightblue" d="M119.04,-1249.04C122.215,-1209.67 135.062,-1121.89 187,-1076 191.306,-1072.2 196.206,-1069.1 201.43,-1066.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.536,-1248.98 118.354,-1259.19 122.52,-1249.45 115.536,-1248.98"/>
</g>
<!-- Node161 -->
<g id="node161" class="node"><title>Node161</title>
<g id="a_node161"><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,-1009.5 228,-1028.5 318,-1028.5 318,-1009.5 228,-1009.5"/>
<text text-anchor="middle" x="273" y="-1016.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIm2ColKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node161 -->
<g id="edge160" class="edge"><title>Node92&#45;&gt;Node161</title>
<path fill="none" stroke="midnightblue" d="M117.667,-1249.23C118.053,-1204.55 125.597,-1095.23 187,-1038 197.951,-1027.79 213.144,-1022.64 227.66,-1020.16"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.167,-1249.36 117.697,-1259.35 121.167,-1249.34 114.167,-1249.36"/>
</g>
<!-- Node162 -->
<g id="node162" class="node"><title>Node162</title>
<g id="a_node162"><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,-971.5 221,-990.5 325,-990.5 325,-971.5 221,-971.5"/>
<text text-anchor="middle" x="273" y="-978.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELKTrackerKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node162 -->
<g id="edge161" class="edge"><title>Node92&#45;&gt;Node162</title>
<path fill="none" stroke="midnightblue" d="M120.359,-1249.5C127.499,-1193.72 150.645,-1035.24 187,-1000 196.12,-991.16 208.407,-986.075 220.8,-983.233"/>
<polygon fill="midnightblue" stroke="midnightblue" points="116.877,-1249.14 119.112,-1259.49 123.823,-1250.01 116.877,-1249.14"/>
</g>
<!-- Node163 -->
<g id="node163" class="node"><title>Node163</title>
<g id="a_node163"><a xlink:href="classarm__compute_1_1_n_e_locally_connected_matrix_multiply_kernel.xhtml" target="_top" xlink:title="NEON kernel to multiply each row of first tensor with low 2 dimensions of second tensor. ">
<polygon fill="white" stroke="black" points="205,-922 205,-952 341,-952 341,-922 205,-922"/>
<text text-anchor="start" x="213" y="-940" font-family="Helvetica,sans-Serif" font-size="10.00">NELocallyConnectedMatrix</text>
<text text-anchor="middle" x="273" y="-929" font-family="Helvetica,sans-Serif" font-size="10.00">MultiplyKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node163 -->
<g id="edge162" class="edge"><title>Node92&#45;&gt;Node163</title>
<path fill="none" stroke="midnightblue" d="M119.878,-1248.93C126.006,-1187.61 147.347,-1004.32 187,-962 192.048,-956.612 198.192,-952.366 204.843,-949.023"/>
<polygon fill="midnightblue" stroke="midnightblue" points="116.364,-1248.9 118.882,-1259.2 123.331,-1249.58 116.364,-1248.9"/>
</g>
<!-- Node164 -->
<g id="node164" class="node"><title>Node164</title>
<g id="a_node164"><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,-883.5 212,-902.5 334,-902.5 334,-883.5 212,-883.5"/>
<text text-anchor="middle" x="273" y="-890.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DNormKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node164 -->
<g id="edge163" class="edge"><title>Node92&#45;&gt;Node164</title>
<path fill="none" stroke="midnightblue" d="M119.076,-1249.24C123.154,-1181.77 139.884,-962.022 187,-913 193.723,-906.005 202.397,-901.257 211.627,-898.071"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.574,-1249.17 118.492,-1259.35 122.563,-1249.57 115.574,-1249.17"/>
</g>
<!-- Node165 -->
<g id="node165" class="node"><title>Node165</title>
<g id="a_node165"><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,-845.5 195.5,-864.5 350.5,-864.5 350.5,-845.5 195.5,-845.5"/>
<text text-anchor="middle" x="273" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DShiftExpSumKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node165 -->
<g id="edge164" class="edge"><title>Node92&#45;&gt;Node165</title>
<path fill="none" stroke="midnightblue" d="M118.652,-1248.97C121.429,-1176.44 134.651,-928.868 187,-874 190.549,-870.28 194.655,-867.213 199.106,-864.692"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.139,-1249.28 118.28,-1259.4 122.135,-1249.53 115.139,-1249.28"/>
</g>
<!-- Node166 -->
<g id="node166" class="node"><title>Node166</title>
<g id="a_node166"><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,-796 195.5,-826 350.5,-826 350.5,-796 195.5,-796"/>
<text text-anchor="start" x="203.5" y="-814" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseFP16Kernel</text>
<text text-anchor="middle" x="273" y="-803" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node166 -->
<g id="edge165" class="edge"><title>Node92&#45;&gt;Node166</title>
<path fill="none" stroke="midnightblue" d="M118.437,-1249.16C120.517,-1172.77 131.77,-898.796 187,-836 190.352,-832.188 194.253,-828.944 198.504,-826.184"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.934,-1249.22 118.184,-1259.31 121.932,-1249.4 114.934,-1249.22"/>
</g>
<!-- Node167 -->
<g id="node167" class="node"><title>Node167</title>
<g id="a_node167"><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,-747 206,-777 340,-777 340,-747 206,-747"/>
<text text-anchor="start" x="214" y="-765" font-family="Helvetica,sans-Serif" font-size="10.00">NEMagnitudePhaseKernel</text>
<text text-anchor="middle" x="273" y="-754" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; mag_type, phase_type &gt;</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node167 -->
<g id="edge166" class="edge"><title>Node92&#45;&gt;Node167</title>
<path fill="none" stroke="midnightblue" d="M118.082,-1249.07C118.824,-1167.2 125.701,-857.819 187,-787 192.134,-781.069 198.596,-776.508 205.653,-773.008"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.58,-1249.42 118.012,-1259.44 121.58,-1249.46 114.58,-1249.42"/>
</g>
<!-- Node168 -->
<g id="node168" class="node"><title>Node168</title>
<g id="a_node168"><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,-708.5 215,-727.5 331,-727.5 331,-708.5 215,-708.5"/>
<text text-anchor="middle" x="273" y="-715.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMeanStdDevKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node168 -->
<g id="edge167" class="edge"><title>Node92&#45;&gt;Node168</title>
<path fill="none" stroke="midnightblue" d="M117.687,-1249.19C116.73,-1162.21 117.387,-815.092 187,-738 194.315,-729.899 204.239,-724.773 214.726,-721.589"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.189,-1249.33 117.82,-1259.28 121.188,-1249.24 114.189,-1249.33"/>
</g>
<!-- Node169 -->
<g id="node169" class="node"><title>Node169</title>
<g id="a_node169"><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,-670.5 226.5,-689.5 319.5,-689.5 319.5,-670.5 226.5,-670.5"/>
<text text-anchor="middle" x="273" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node169 -->
<g id="edge168" class="edge"><title>Node92&#45;&gt;Node169</title>
<path fill="none" stroke="midnightblue" d="M119.042,-1249.45C124.3,-1154.12 149.154,-740.81 187,-699 196.945,-688.014 211.732,-682.654 226.197,-680.224"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.547,-1249.28 118.499,-1259.46 122.536,-1249.66 115.547,-1249.28"/>
</g>
<!-- Node170 -->
<g id="node170" class="node"><title>Node170</title>
<g id="a_node170"><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,-632.5 208,-651.5 338,-651.5 338,-632.5 208,-632.5"/>
<text text-anchor="middle" x="273" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMinMaxLocationKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node170 -->
<g id="edge169" class="edge"><title>Node92&#45;&gt;Node170</title>
<path fill="none" stroke="midnightblue" d="M118.904,-1249.1C123.617,-1149.26 146.707,-705.849 187,-661 192.659,-654.701 199.91,-650.249 207.785,-647.136"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.398,-1249.15 118.431,-1259.3 122.391,-1249.47 115.398,-1249.15"/>
</g>
<!-- Node171 -->
<g id="node171" class="node"><title>Node171</title>
<g id="a_node171"><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,-594.5 210.5,-613.5 335.5,-613.5 335.5,-594.5 210.5,-594.5"/>
<text text-anchor="middle" x="273" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENonLinearFilterKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node171 -->
<g id="edge170" class="edge"><title>Node92&#45;&gt;Node171</title>
<path fill="none" stroke="midnightblue" d="M118.762,-1249.17C122.912,-1145.72 144.2,-670.956 187,-623 193.242,-616.005 201.447,-611.284 210.297,-608.146"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.263,-1249.06 118.367,-1259.19 122.258,-1249.34 115.263,-1249.06"/>
</g>
<!-- Node172 -->
<g id="node172" class="node"><title>Node172</title>
<g id="a_node172"><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,-545 196.5,-575 349.5,-575 349.5,-545 196.5,-545"/>
<text text-anchor="start" x="204.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">NENonMaximaSuppression3x3</text>
<text text-anchor="middle" x="273" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node172 -->
<g id="edge171" class="edge"><title>Node92&#45;&gt;Node172</title>
<path fill="none" stroke="midnightblue" d="M118.702,-1249.07C122.644,-1141.95 143.43,-637.507 187,-585 190.143,-581.212 193.829,-577.98 197.872,-575.225"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115.201,-1249.04 118.338,-1259.16 122.196,-1249.29 115.201,-1249.04"/>
</g>
<!-- Node174 -->
<g id="node174" class="node"><title>Node174</title>
<g id="a_node174"><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,-506.5 201.5,-525.5 344.5,-525.5 344.5,-506.5 201.5,-506.5"/>
<text text-anchor="middle" x="273" y="-513.5" font-family="Helvetica,sans-Serif" font-size="10.00">NENormalizationLayerKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node174 -->
<g id="edge173" class="edge"><title>Node92&#45;&gt;Node174</title>
<path fill="none" stroke="midnightblue" d="M118.502,-1249.37C121.516,-1138.28 138.744,-591.378 187,-536 191.083,-531.314 196.039,-527.616 201.483,-524.71"/>
<polygon fill="midnightblue" stroke="midnightblue" points="115,-1249.4 118.234,-1259.49 121.997,-1249.58 115,-1249.4"/>
</g>
<!-- Node175 -->
<g id="node175" class="node"><title>Node175</title>
<g id="a_node175"><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,-457 207,-487 339,-487 339,-457 207,-457"/>
<text text-anchor="start" x="215" y="-475" font-family="Helvetica,sans-Serif" font-size="10.00">NEPixelWiseMultiplication</text>
<text text-anchor="middle" x="273" y="-464" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node175 -->
<g id="edge174" class="edge"><title>Node92&#45;&gt;Node175</title>
<path fill="none" stroke="midnightblue" d="M118.46,-1249.09C121.288,-1134 137.859,-556.912 187,-497 192.268,-490.578 199.095,-485.752 206.59,-482.136"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.956,-1249.19 118.216,-1259.27 121.954,-1249.36 114.956,-1249.19"/>
</g>
<!-- Node176 -->
<g id="node176" class="node"><title>Node176</title>
<g id="a_node176"><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,-418.5 215.5,-437.5 330.5,-437.5 330.5,-418.5 215.5,-418.5"/>
<text text-anchor="middle" x="273" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEPoolingLayerKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node176 -->
<g id="edge175" class="edge"><title>Node92&#45;&gt;Node176</title>
<path fill="none" stroke="midnightblue" d="M118.294,-1249.29C120.248,-1130.29 132.975,-510.629 187,-448 194.328,-439.505 204.521,-434.251 215.312,-431.072"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.792,-1249.42 118.134,-1259.48 121.791,-1249.53 114.792,-1249.42"/>
</g>
<!-- Node177 -->
<g id="node177" class="node"><title>Node177</title>
<g id="a_node177"><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,-380.5 228,-399.5 318,-399.5 318,-380.5 228,-380.5"/>
<text text-anchor="middle" x="273" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">NERemapKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node177 -->
<g id="edge176" class="edge"><title>Node92&#45;&gt;Node177</title>
<path fill="none" stroke="midnightblue" d="M118.207,-1249.11C119.666,-1126.33 130.068,-474.508 187,-409 197.117,-397.359 212.666,-391.978 227.713,-389.716"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.705,-1249.27 118.093,-1259.31 121.705,-1249.35 114.705,-1249.27"/>
</g>
<!-- Node178 -->
<g id="node178" class="node"><title>Node178</title>
<g id="a_node178"><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,-342.5 231.5,-361.5 314.5,-361.5 314.5,-342.5 231.5,-342.5"/>
<text text-anchor="middle" x="273" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScaleKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node178 -->
<g id="edge177" class="edge"><title>Node92&#45;&gt;Node178</title>
<path fill="none" stroke="midnightblue" d="M118.133,-1249.41C119.163,-1124.27 127.499,-439.697 187,-371 197.89,-358.427 215.115,-353.151 231.22,-351.222"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.633,-1249.43 118.057,-1259.46 121.633,-1249.49 114.633,-1249.43"/>
</g>
<!-- Node179 -->
<g id="node179" class="node"><title>Node179</title>
<g id="a_node179"><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,-304.5 221.5,-323.5 324.5,-323.5 324.5,-304.5 221.5,-304.5"/>
<text text-anchor="middle" x="273" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEScharr3x3Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node179 -->
<g id="edge178" class="edge"><title>Node92&#45;&gt;Node179</title>
<path fill="none" stroke="midnightblue" d="M118.071,-1248.99C118.71,-1119.64 125.043,-404.758 187,-333 195.696,-322.928 208.458,-317.536 221.462,-314.795"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.569,-1249.34 118.026,-1259.36 121.569,-1249.37 114.569,-1249.34"/>
</g>
<!-- Node180 -->
<g id="node180" class="node"><title>Node180</title>
<g id="a_node180"><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,-266.5 223.5,-285.5 322.5,-285.5 322.5,-266.5 223.5,-266.5"/>
<text text-anchor="middle" x="273" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel3x3Kernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node180 -->
<g id="edge179" class="edge"><title>Node92&#45;&gt;Node180</title>
<path fill="none" stroke="midnightblue" d="M118.01,-1249C118.257,-1116.65 122.515,-369.901 187,-295 196.076,-284.457 209.607,-279.038 223.218,-276.422"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.51,-1249.27 117.997,-1259.27 121.51,-1249.27 114.51,-1249.27"/>
</g>
<!-- Node181 -->
<g id="node181" class="node"><title>Node181</title>
<g id="a_node181"><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,-228.5 215.5,-247.5 330.5,-247.5 330.5,-228.5 215.5,-228.5"/>
<text text-anchor="middle" x="273" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel5x5HorKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node181 -->
<g id="edge180" class="edge"><title>Node92&#45;&gt;Node181</title>
<path fill="none" stroke="midnightblue" d="M117.954,-1249.06C117.821,-1113.9 119.978,-335.057 187,-257 194.289,-248.51 204.467,-243.341 215.254,-240.282"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.454,-1249.21 117.97,-1259.2 121.454,-1249.2 114.454,-1249.21"/>
</g>
<!-- Node182 -->
<g id="node182" class="node"><title>Node182</title>
<g id="a_node182"><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,-190.5 214.5,-209.5 331.5,-209.5 331.5,-190.5 214.5,-190.5"/>
<text text-anchor="middle" x="273" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel5x5VertKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node182 -->
<g id="edge181" class="edge"><title>Node92&#45;&gt;Node182</title>
<path fill="none" stroke="midnightblue" d="M117.902,-1249.18C117.401,-1111.45 117.428,-300.229 187,-219 194.082,-210.731 203.904,-205.611 214.365,-202.522"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.403,-1249.48 117.945,-1259.47 121.403,-1249.45 114.403,-1249.48"/>
</g>
<!-- Node183 -->
<g id="node183" class="node"><title>Node183</title>
<g id="a_node183"><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,-152.5 215.5,-171.5 330.5,-171.5 330.5,-152.5 215.5,-152.5"/>
<text text-anchor="middle" x="273" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel7x7HorKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node183 -->
<g id="edge182" class="edge"><title>Node92&#45;&gt;Node183</title>
<path fill="none" stroke="midnightblue" d="M117.855,-1249.33C116.998,-1109.2 114.87,-265.411 187,-181 194.269,-172.493 204.438,-167.317 215.223,-164.256"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.355,-1249.47 117.922,-1259.44 121.355,-1249.42 114.355,-1249.47"/>
</g>
<!-- Node184 -->
<g id="node184" class="node"><title>Node184</title>
<g id="a_node184"><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,-114.5 214.5,-133.5 331.5,-133.5 331.5,-114.5 214.5,-114.5"/>
<text text-anchor="middle" x="273" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">NESobel7x7VertKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node184 -->
<g id="edge183" class="edge"><title>Node92&#45;&gt;Node184</title>
<path fill="none" stroke="midnightblue" d="M117.808,-1249.09C116.604,-1105.44 112.377,-230.517 187,-143 194.064,-134.716 203.878,-129.588 214.337,-126.497"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.311,-1249.47 117.901,-1259.44 121.311,-1249.41 114.311,-1249.47"/>
</g>
<!-- Node185 -->
<g id="node185" class="node"><title>Node185</title>
<g id="a_node185"><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,-76.5 222.5,-95.5 323.5,-95.5 323.5,-76.5 222.5,-76.5"/>
<text text-anchor="middle" x="273" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEThresholdKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node185 -->
<g id="edge184" class="edge"><title>Node92&#45;&gt;Node185</title>
<path fill="none" stroke="midnightblue" d="M118.496,-1249.36C122.345,-1100.17 148.322,-150.453 187,-105 195.82,-94.6356 208.944,-89.2104 222.255,-86.5324"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.997,-1249.27 118.24,-1259.36 121.995,-1249.45 114.997,-1249.27"/>
</g>
<!-- Node186 -->
<g id="node186" class="node"><title>Node186</title>
<g id="a_node186"><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,-38.5 221,-57.5 325,-57.5 325,-38.5 221,-38.5"/>
<text text-anchor="middle" x="273" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">NETransposeKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node186 -->
<g id="edge185" class="edge"><title>Node92&#45;&gt;Node186</title>
<path fill="none" stroke="midnightblue" d="M118.462,-1249.19C122.102,-1096.69 147.066,-114.018 187,-67 195.516,-56.9731 208.061,-51.567 220.913,-48.7991"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.958,-1249.31 118.221,-1259.39 121.957,-1249.47 114.958,-1249.31"/>
</g>
<!-- Node187 -->
<g id="node187" class="node"><title>Node187</title>
<g id="a_node187"><a xlink:href="classarm__compute_1_1_n_e_weights_reshape_kernel.xhtml" target="_top" xlink:title="NEON kernel to perform reshaping on the weights used by convolution and locally connected layer...">
<polygon fill="white" stroke="black" points="206,-0.5 206,-19.5 340,-19.5 340,-0.5 206,-0.5"/>
<text text-anchor="middle" x="273" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEWeightsReshapeKernel</text>
</a>
</g>
</g>
<!-- Node92&#45;&gt;Node187 -->
<g id="edge186" class="edge"><title>Node92&#45;&gt;Node187</title>
<path fill="none" stroke="midnightblue" d="M118.429,-1249.05C121.864,-1093.34 145.808,-77.5856 187,-29 192.085,-23.0025 198.611,-18.6575 205.783,-15.5412"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.922,-1249.36 118.203,-1259.43 121.92,-1249.51 114.922,-1249.36"/>
</g>
<!-- Node97 -->
<g id="node97" class="node"><title>Node97</title>
<g id="a_node97"><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="423.5,-2877.5 423.5,-2896.5 533.5,-2896.5 533.5,-2877.5 423.5,-2877.5"/>
<text text-anchor="middle" x="478.5" y="-2884.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node97 -->
<g id="edge96" class="edge"><title>Node96&#45;&gt;Node97</title>
<path fill="none" stroke="midnightblue" d="M332.269,-2384.5C342.484,-2387.72 352.049,-2392.89 359,-2401 426.714,-2480.05 327.099,-2789.11 395,-2868 402.287,-2876.47 412.519,-2881.58 423.304,-2884.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.896,-2381.05 322.342,-2381.98 331.17,-2387.83 332.896,-2381.05"/>
</g>
<!-- Node98 -->
<g id="node98" class="node"><title>Node98</title>
<g id="a_node98"><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="405.5,-2839.5 405.5,-2858.5 551.5,-2858.5 551.5,-2839.5 405.5,-2839.5"/>
<text text-anchor="middle" x="478.5" y="-2846.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateSquaredKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node98 -->
<g id="edge97" class="edge"><title>Node96&#45;&gt;Node98</title>
<path fill="none" stroke="midnightblue" d="M332.226,-2384.54C342.444,-2387.76 352.022,-2392.91 359,-2401 421.484,-2473.44 332.345,-2757.7 395,-2830 398.273,-2833.78 402.132,-2836.88 406.363,-2839.44"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.852,-2381.09 322.298,-2382.01 331.126,-2387.87 332.852,-2381.09"/>
</g>
<!-- Node99 -->
<g id="node99" class="node"><title>Node99</title>
<g id="a_node99"><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="402.5,-2801.5 402.5,-2820.5 554.5,-2820.5 554.5,-2801.5 402.5,-2801.5"/>
<text text-anchor="middle" x="478.5" y="-2808.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node99 -->
<g id="edge98" class="edge"><title>Node96&#45;&gt;Node99</title>
<path fill="none" stroke="midnightblue" d="M332.175,-2384.58C342.396,-2387.8 351.989,-2392.94 359,-2401 416.257,-2466.84 337.587,-2726.29 395,-2792 398.288,-2795.76 402.158,-2798.86 406.397,-2801.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.799,-2381.13 322.245,-2382.06 331.074,-2387.92 332.799,-2381.13"/>
</g>
<!-- Node101 -->
<g id="node101" class="node"><title>Node101</title>
<g id="a_node101"><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="415.5,-2763.5 415.5,-2782.5 541.5,-2782.5 541.5,-2763.5 415.5,-2763.5"/>
<text text-anchor="middle" x="478.5" y="-2770.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEActivationLayerKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node101 -->
<g id="edge100" class="edge"><title>Node96&#45;&gt;Node101</title>
<path fill="none" stroke="midnightblue" d="M332.112,-2384.64C342.339,-2387.85 351.95,-2392.97 359,-2401 463.066,-2519.49 290.654,-2635.75 395,-2754 400.543,-2760.28 407.708,-2764.71 415.497,-2767.79"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.736,-2381.19 322.182,-2382.12 331.012,-2387.97 332.736,-2381.19"/>
</g>
<!-- Node102 -->
<g id="node102" class="node"><title>Node102</title>
<g id="a_node102"><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="432.5,-2725.5 432.5,-2744.5 524.5,-2744.5 524.5,-2725.5 432.5,-2725.5"/>
<text text-anchor="middle" x="478.5" y="-2732.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3Kernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node102 -->
<g id="edge101" class="edge"><title>Node96&#45;&gt;Node102</title>
<path fill="none" stroke="midnightblue" d="M332.036,-2384.71C342.269,-2387.91 351.901,-2393.02 359,-2401 452.628,-2506.31 301.123,-2610.91 395,-2716 404.4,-2726.52 418.352,-2731.83 432.119,-2734.34"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.658,-2381.25 322.104,-2382.18 330.935,-2388.04 332.658,-2381.25"/>
</g>
<!-- Node104 -->
<g id="node104" class="node"><title>Node104</title>
<g id="a_node104"><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="415.5,-2687.5 415.5,-2706.5 541.5,-2706.5 541.5,-2687.5 415.5,-2687.5"/>
<text text-anchor="middle" x="478.5" y="-2694.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEChannelExtractKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node104 -->
<g id="edge103" class="edge"><title>Node96&#45;&gt;Node104</title>
<path fill="none" stroke="midnightblue" d="M331.939,-2384.79C342.179,-2387.99 351.839,-2393.07 359,-2401 442.202,-2493.14 311.58,-2586.06 395,-2678 400.531,-2684.1 407.589,-2688.43 415.243,-2691.49"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.559,-2381.34 322.005,-2382.27 330.837,-2388.12 332.559,-2381.34"/>
</g>
<!-- Node105 -->
<g id="node105" class="node"><title>Node105</title>
<g id="a_node105"><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="423.5,-2638 423.5,-2668 533.5,-2668 533.5,-2638 423.5,-2638"/>
<text text-anchor="start" x="431.5" y="-2656" font-family="Helvetica,sans-Serif" font-size="10.00">NEConvolutionKernel</text>
<text text-anchor="middle" x="478.5" y="-2645" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node105 -->
<g id="edge104" class="edge"><title>Node96&#45;&gt;Node105</title>
<path fill="none" stroke="midnightblue" d="M332.095,-2385.06C342.228,-2388.25 351.807,-2393.26 359,-2401 428.517,-2475.85 327.881,-2551 395,-2628 402.375,-2636.46 412.51,-2642.11 423.155,-2645.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.828,-2381.63 322.271,-2382.53 331.082,-2388.41 332.828,-2381.63"/>
</g>
<!-- Node106 -->
<g id="node106" class="node"><title>Node106</title>
<g id="a_node106"><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="419,-2599.5 419,-2618.5 538,-2618.5 538,-2599.5 419,-2599.5"/>
<text text-anchor="middle" x="478.5" y="-2606.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDepthConvertKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node106 -->
<g id="edge105" class="edge"><title>Node96&#45;&gt;Node106</title>
<path fill="none" stroke="midnightblue" d="M331.906,-2385.23C342.055,-2388.41 351.688,-2393.37 359,-2401 418.155,-2462.75 335.699,-2528.39 395,-2590 401.523,-2596.78 409.941,-2601.35 418.899,-2604.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.634,-2381.81 322.078,-2382.71 330.891,-2388.59 332.634,-2381.81"/>
</g>
<!-- Node107 -->
<g id="node107" class="node"><title>Node107</title>
<g id="a_node107"><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="436.5,-2561.5 436.5,-2580.5 520.5,-2580.5 520.5,-2561.5 436.5,-2561.5"/>
<text text-anchor="middle" x="478.5" y="-2568.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEDilateKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node107 -->
<g id="edge106" class="edge"><title>Node96&#45;&gt;Node107</title>
<path fill="none" stroke="midnightblue" d="M331.963,-2385.61C342.014,-2388.76 351.597,-2393.62 359,-2401 407.857,-2449.71 346.028,-2503.4 395,-2552 405.85,-2562.77 421.5,-2567.92 436.26,-2570.25"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.799,-2382.21 322.239,-2383.08 331.035,-2388.98 332.799,-2382.21"/>
</g>
<!-- Node108 -->
<g id="node108" class="node"><title>Node108</title>
<g id="a_node108"><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="436.5,-2523.5 436.5,-2542.5 520.5,-2542.5 520.5,-2523.5 436.5,-2523.5"/>
<text text-anchor="middle" x="478.5" y="-2530.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEErodeKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node108 -->
<g id="edge107" class="edge"><title>Node96&#45;&gt;Node108</title>
<path fill="none" stroke="midnightblue" d="M332.173,-2386.26C342.031,-2389.37 351.49,-2394.05 359,-2401 397.684,-2436.8 356.231,-2478.29 395,-2514 406.135,-2524.26 421.665,-2529.34 436.251,-2531.74"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.801,-2382.8 322.239,-2383.63 331.013,-2389.57 332.801,-2382.8"/>
</g>
<!-- Node109 -->
<g id="node109" class="node"><title>Node109</title>
<g id="a_node109"><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="420.5,-2485.5 420.5,-2504.5 536.5,-2504.5 536.5,-2485.5 420.5,-2485.5"/>
<text text-anchor="middle" x="478.5" y="-2492.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian3x3Kernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node109 -->
<g id="edge108" class="edge"><title>Node96&#45;&gt;Node109</title>
<path fill="none" stroke="midnightblue" d="M332.078,-2387.34C341.776,-2390.36 351.202,-2394.73 359,-2401 387.816,-2424.17 366.13,-2452.9 395,-2476 402.345,-2481.88 411.174,-2486 420.285,-2488.89"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.905,-2383.94 322.341,-2384.73 331.098,-2390.7 332.905,-2383.94"/>
</g>
<!-- Node110 -->
<g id="node110" class="node"><title>Node110</title>
<g id="a_node110"><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="413,-2447.5 413,-2466.5 544,-2466.5 544,-2447.5 413,-2447.5"/>
<text text-anchor="middle" x="478.5" y="-2454.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5HorKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node110 -->
<g id="edge109" class="edge"><title>Node96&#45;&gt;Node110</title>
<path fill="none" stroke="midnightblue" d="M331.88,-2389.93C341.294,-2392.68 350.677,-2396.29 359,-2401 378.967,-2412.3 375.006,-2426.74 395,-2438 401.916,-2441.89 409.586,-2444.99 417.382,-2447.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.662,-2386.52 322.1,-2387.35 330.879,-2393.28 332.662,-2386.52"/>
</g>
<!-- Node111 -->
<g id="node111" class="node"><title>Node111</title>
<g id="a_node111"><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="411.5,-2409.5 411.5,-2428.5 545.5,-2428.5 545.5,-2409.5 411.5,-2409.5"/>
<text text-anchor="middle" x="478.5" y="-2416.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussian5x5VertKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node111 -->
<g id="edge110" class="edge"><title>Node96&#45;&gt;Node111</title>
<path fill="none" stroke="midnightblue" d="M332.063,-2391.84C361.819,-2397.4 397.729,-2404.1 426.421,-2409.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.699,-2388.4 322.227,-2390.01 331.414,-2395.28 332.699,-2388.4"/>
</g>
<!-- Node112 -->
<g id="node112" class="node"><title>Node112</title>
<g id="a_node112"><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="402.5,-2371.5 402.5,-2390.5 554.5,-2390.5 554.5,-2371.5 402.5,-2371.5"/>
<text text-anchor="middle" x="478.5" y="-2378.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidHorKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node112 -->
<g id="edge111" class="edge"><title>Node96&#45;&gt;Node112</title>
<path fill="none" stroke="midnightblue" d="M332.3,-2381C354.062,-2381 379.09,-2381 402.169,-2381"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.227,-2377.5 322.227,-2381 332.227,-2384.5 332.227,-2377.5"/>
</g>
<!-- Node113 -->
<g id="node113" class="node"><title>Node113</title>
<g id="a_node113"><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="401.5,-2333.5 401.5,-2352.5 555.5,-2352.5 555.5,-2333.5 401.5,-2333.5"/>
<text text-anchor="middle" x="478.5" y="-2340.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGaussianPyramidVertKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node113 -->
<g id="edge112" class="edge"><title>Node96&#45;&gt;Node113</title>
<path fill="none" stroke="midnightblue" d="M332.063,-2370.16C361.819,-2364.6 397.729,-2357.9 426.421,-2352.54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.414,-2366.72 322.227,-2371.99 332.699,-2373.6 331.414,-2366.72"/>
</g>
<!-- Node114 -->
<g id="node114" class="node"><title>Node114</title>
<g id="a_node114"><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="404.5,-2295.5 404.5,-2314.5 552.5,-2314.5 552.5,-2295.5 404.5,-2295.5"/>
<text text-anchor="middle" x="478.5" y="-2302.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMInterleave4x4Kernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node114 -->
<g id="edge113" class="edge"><title>Node96&#45;&gt;Node114</title>
<path fill="none" stroke="midnightblue" d="M331.925,-2372.91C341.334,-2370.25 350.704,-2366.71 359,-2362 379.234,-2350.52 374.804,-2335.55 395,-2324 401.763,-2320.13 409.261,-2317.05 416.901,-2314.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="330.985,-2369.54 322.148,-2375.38 332.7,-2376.33 330.985,-2369.54"/>
</g>
<!-- Node115 -->
<g id="node115" class="node"><title>Node115</title>
<g id="a_node115"><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="402.5,-2257.5 402.5,-2276.5 554.5,-2276.5 554.5,-2257.5 402.5,-2257.5"/>
<text text-anchor="middle" x="478.5" y="-2264.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMMatrixAdditionKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node115 -->
<g id="edge114" class="edge"><title>Node96&#45;&gt;Node115</title>
<path fill="none" stroke="midnightblue" d="M332.08,-2375.43C341.777,-2372.51 351.203,-2368.23 359,-2362 388.199,-2338.67 365.876,-2309.43 395,-2286 399.81,-2282.13 405.263,-2279.02 411.017,-2276.52"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.163,-2372.05 322.343,-2377.92 332.898,-2378.84 331.163,-2372.05"/>
</g>
<!-- Node116 -->
<g id="node116" class="node"><title>Node116</title>
<g id="a_node116"><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 1xW, where W is equal to (16 / ele...">
<polygon fill="white" stroke="black" points="401,-2219.5 401,-2238.5 556,-2238.5 556,-2219.5 401,-2219.5"/>
<text text-anchor="middle" x="478.5" y="-2226.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGEMMTranspose1xWKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node116 -->
<g id="edge115" class="edge"><title>Node96&#45;&gt;Node116</title>
<path fill="none" stroke="midnightblue" d="M332.155,-2376.49C342.015,-2373.48 351.479,-2368.9 359,-2362 398.15,-2326.08 355.966,-2284.05 395,-2248 399.103,-2244.21 403.806,-2241.13 408.84,-2238.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.059,-2373.16 322.221,-2379 332.773,-2379.94 331.059,-2373.16"/>
</g>
<!-- Node117 -->
<g id="node117" class="node"><title>Node117</title>
<g id="a_node117"><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="419.5,-2181.5 419.5,-2200.5 537.5,-2200.5 537.5,-2181.5 419.5,-2181.5"/>
<text text-anchor="middle" x="478.5" y="-2188.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEIntegralImageKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node117 -->
<g id="edge116" class="edge"><title>Node96&#45;&gt;Node117</title>
<path fill="none" stroke="midnightblue" d="M331.937,-2377.13C341.99,-2374.08 351.58,-2369.33 359,-2362 408.4,-2313.22 345.758,-2258.94 395,-2210 401.672,-2203.37 410.164,-2198.87 419.15,-2195.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.072,-2373.73 322.212,-2379.54 332.761,-2380.53 331.072,-2373.73"/>
</g>
<!-- Node118 -->
<g id="node118" class="node"><title>Node118</title>
<g id="a_node118"><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="420.5,-2143.5 420.5,-2162.5 536.5,-2162.5 536.5,-2143.5 420.5,-2143.5"/>
<text text-anchor="middle" x="478.5" y="-2150.5" font-family="Helvetica,sans-Serif" font-size="10.00">NELogits1DMaxKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node118 -->
<g id="edge117" class="edge"><title>Node96&#45;&gt;Node118</title>
<path fill="none" stroke="midnightblue" d="M331.875,-2377.49C342.026,-2374.43 351.668,-2369.58 359,-2362 418.773,-2300.24 335.426,-2233.95 395,-2172 401.826,-2164.9 410.73,-2160.22 420.156,-2157.17"/>
<polygon fill="midnightblue" stroke="midnightblue" points="330.923,-2374.12 322.045,-2379.91 332.591,-2380.92 330.923,-2374.12"/>
</g>
<!-- Node119 -->
<g id="node119" class="node"><title>Node119</title>
<g id="a_node119"><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="425.5,-2105.5 425.5,-2124.5 531.5,-2124.5 531.5,-2105.5 425.5,-2105.5"/>
<text text-anchor="middle" x="478.5" y="-2112.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEMedian3x3Kernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node119 -->
<g id="edge118" class="edge"><title>Node96&#45;&gt;Node119</title>
<path fill="none" stroke="midnightblue" d="M332.06,-2377.67C342.196,-2374.6 351.785,-2369.69 359,-2362 429.209,-2287.2 325.032,-2209.03 395,-2134 402.919,-2125.51 413.807,-2120.45 425.078,-2117.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.11,-2374.3 322.235,-2380.09 332.782,-2381.1 331.11,-2374.3"/>
</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_hor_kernel.xhtml" target="_top" xlink:title="Kernel for the Horizontal pass of a Separable Convolution. ">
<polygon fill="white" stroke="black" points="407.5,-2056 407.5,-2086 549.5,-2086 549.5,-2056 407.5,-2056"/>
<text text-anchor="start" x="415.5" y="-2074" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionHor</text>
<text text-anchor="middle" x="478.5" y="-2063" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node120 -->
<g id="edge119" class="edge"><title>Node96&#45;&gt;Node120</title>
<path fill="none" stroke="midnightblue" d="M332.196,-2377.8C342.32,-2374.71 351.87,-2369.77 359,-2362 439.68,-2274.12 317.64,-2186.82 395,-2096 398.494,-2091.9 402.636,-2088.46 407.176,-2085.57"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.247,-2374.43 322.374,-2380.21 332.921,-2381.22 331.247,-2374.43"/>
</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="Kernel for the Vertical pass of a Separable Convolution. ">
<polygon fill="white" stroke="black" points="406.5,-2007 406.5,-2037 550.5,-2037 550.5,-2007 406.5,-2007"/>
<text text-anchor="start" x="414.5" y="-2025" font-family="Helvetica,sans-Serif" font-size="10.00">NESeparableConvolutionVert</text>
<text text-anchor="middle" x="478.5" y="-2014" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel&lt; matrix_size &gt;</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node121 -->
<g id="edge120" class="edge"><title>Node96&#45;&gt;Node121</title>
<path fill="none" stroke="midnightblue" d="M331.994,-2378.01C342.231,-2374.93 351.875,-2369.92 359,-2362 453.215,-2257.22 304.743,-2155.21 395,-2047 398.259,-2043.09 402.108,-2039.78 406.332,-2036.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="330.957,-2374.66 322.062,-2380.42 332.605,-2381.47 330.957,-2374.66"/>
</g>
<!-- Node122 -->
<g id="node122" class="node"><title>Node122</title>
<g id="a_node122"><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="421.5,-1968.5 421.5,-1987.5 535.5,-1987.5 535.5,-1968.5 421.5,-1968.5"/>
<text text-anchor="middle" x="478.5" y="-1975.5" font-family="Helvetica,sans-Serif" font-size="10.00">NETableLookupKernel</text>
</a>
</g>
</g>
<!-- Node96&#45;&gt;Node122 -->
<g id="edge121" class="edge"><title>Node96&#45;&gt;Node122</title>
<path fill="none" stroke="midnightblue" d="M332.09,-2378.1C342.318,-2375 351.935,-2369.98 359,-2362 412.886,-2301.14 341.662,-2059.34 395,-1998 401.866,-1990.1 411.27,-1985.05 421.275,-1981.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.053,-2374.75 322.159,-2380.51 332.702,-2381.55 331.053,-2374.75"/>
</g>
<!-- Node100 -->
<g id="node100" class="node"><title>Node100</title>
<g id="a_node100"><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="601.5,-2780 601.5,-2810 748.5,-2810 748.5,-2780 601.5,-2780"/>
<text text-anchor="start" x="609.5" y="-2798" font-family="Helvetica,sans-Serif" font-size="10.00">NEAccumulateWeightedFP16</text>
<text text-anchor="middle" x="675" y="-2787" font-family="Helvetica,sans-Serif" font-size="10.00">Kernel</text>
</a>
</g>
</g>
<!-- Node99&#45;&gt;Node100 -->
<g id="edge99" class="edge"><title>Node99&#45;&gt;Node100</title>
<path fill="none" stroke="midnightblue" d="M564.824,-2803.98C576.968,-2802.98 589.364,-2801.96 601.239,-2800.99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="564.378,-2800.51 554.699,-2804.81 564.952,-2807.48 564.378,-2800.51"/>
</g>
<!-- Node103 -->
<g id="node103" class="node"><title>Node103</title>
<g id="a_node103"><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="617.5,-2725.5 617.5,-2744.5 732.5,-2744.5 732.5,-2725.5 617.5,-2725.5"/>
<text text-anchor="middle" x="675" y="-2732.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEBox3x3FP16Kernel</text>
</a>
</g>
</g>
<!-- Node102&#45;&gt;Node103 -->
<g id="edge102" class="edge"><title>Node102&#45;&gt;Node103</title>
<path fill="none" stroke="midnightblue" d="M534.622,-2735C560.47,-2735 591.24,-2735 617.285,-2735"/>
<polygon fill="midnightblue" stroke="midnightblue" points="534.611,-2731.5 524.611,-2735 534.611,-2738.5 534.611,-2731.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="411.5,-1919 411.5,-1949 545.5,-1949 545.5,-1919 411.5,-1919"/>
<text text-anchor="start" x="419.5" y="-1937" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreFP16Kernel</text>
<text text-anchor="middle" x="478.5" y="-1926" 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.375,-2337.5C346.82,-2334.4 353.644,-2330.05 359,-2324 413.024,-2262.97 343.281,-2021.99 395,-1959 399.464,-1953.56 405.069,-1949.28 411.246,-1945.91"/>
<polygon fill="midnightblue" stroke="midnightblue" points="338.022,-2334.27 329.676,-2340.79 340.27,-2340.89 338.022,-2334.27"/>
</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="423.5,-1870 423.5,-1900 533.5,-1900 533.5,-1870 423.5,-1870"/>
<text text-anchor="start" x="431.5" y="-1888" font-family="Helvetica,sans-Serif" font-size="10.00">NEHarrisScoreKernel</text>
<text text-anchor="middle" x="478.5" y="-1877" 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.441,-2337.56C346.876,-2334.45 353.679,-2330.08 359,-2324 419.81,-2254.5 336.814,-1981.71 395,-1910 402.167,-1901.17 412.349,-1895.38 423.125,-1891.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="338.09,-2334.32 329.75,-2340.86 340.344,-2340.95 338.09,-2334.32"/>
</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="425,-1821 425,-1851 532,-1851 532,-1821 425,-1821"/>
<text text-anchor="start" x="433" y="-1839" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpAffineKernel</text>
<text text-anchor="middle" x="478.5" y="-1828" 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.699,-2303.88C338.274,-2301.06 350.526,-2295.71 359,-2286 421.334,-2214.6 335.362,-1934.67 395,-1861 402.533,-1851.69 413.415,-1845.76 424.817,-1842.01"/>
<polygon fill="midnightblue" stroke="midnightblue" points="324.865,-2300.47 315.611,-2305.63 326.063,-2307.36 324.865,-2300.47"/>
</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="411.5,-1772 411.5,-1802 545.5,-1802 545.5,-1772 411.5,-1772"/>
<text text-anchor="start" x="419.5" y="-1790" font-family="Helvetica,sans-Serif" font-size="10.00">NEWarpPerspectiveKernel</text>
<text text-anchor="middle" x="478.5" y="-1779" 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.756,-2303.92C338.33,-2301.11 350.568,-2295.74 359,-2286 428.125,-2206.12 328.89,-1894.39 395,-1812 399.402,-1806.51 404.969,-1802.2 411.123,-1798.81"/>
<polygon fill="midnightblue" stroke="midnightblue" points="324.92,-2300.52 315.665,-2305.67 326.116,-2307.41 324.92,-2300.52"/>
</g>
<!-- Node156 -->
<g id="node156" class="node"><title>Node156</title>
<g id="a_node156"><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="419,-1199.5 419,-1218.5 538,-1218.5 538,-1199.5 419,-1199.5"/>
<text text-anchor="middle" x="478.5" y="-1206.5" font-family="Helvetica,sans-Serif" font-size="10.00">NEGradientFP16Kernel</text>
</a>
</g>
</g>
<!-- Node155&#45;&gt;Node156 -->
<g id="edge155" class="edge"><title>Node155&#45;&gt;Node156</title>
<path fill="none" stroke="midnightblue" d="M330.886,-1209C358.246,-1209 391.017,-1209 418.631,-1209"/>
<polygon fill="midnightblue" stroke="midnightblue" points="330.687,-1205.5 320.687,-1209 330.687,-1212.5 330.687,-1205.5"/>
</g>
<!-- Node173 -->
<g id="node173" class="node"><title>Node173</title>
<g id="a_node173"><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="402,-545 402,-575 555,-575 555,-545 402,-545"/>
<text text-anchor="start" x="410" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">NENonMaximaSuppression3x3</text>
<text text-anchor="middle" x="478.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">FP16Kernel</text>
</a>
</g>
</g>
<!-- Node172&#45;&gt;Node173 -->
<g id="edge172" class="edge"><title>Node172&#45;&gt;Node173</title>
<path fill="none" stroke="midnightblue" d="M359.878,-560C373.873,-560 388.278,-560 402,-560"/>
<polygon fill="midnightblue" stroke="midnightblue" points="359.776,-556.5 349.776,-560 359.776,-563.5 359.776,-556.5"/>
</g>
</g>
</svg>