diff options
author | Nikhil Raj <nikhil.raj@arm.com> | 2024-05-16 09:47:51 +0100 |
---|---|---|
committer | Nikhil Raj <nikhil.raj@arm.com> | 2024-05-16 09:47:51 +0100 |
commit | 1dc83febfb76d6a770bdf3ba16c4034a970c2320 (patch) | |
tree | 66d27e5587e9010f3db26a23a348df844c88f8e6 /latest/classarmnn_1_1_neon_convolution2d_workload.html | |
parent | 38b600d8abb2c5f7a44511b5deddf441f975d51d (diff) | |
download | armnn-gh-pages.tar.gz |
IVGCVSW-8260 Update Doxgen Docu for 24.05gh-pages
Signed-off-by: Nikhil Raj <nikhil.raj@arm.com>
Change-Id: If4bc983bf2793a27ded8e26ac2b29523fc1e4711
Diffstat (limited to 'latest/classarmnn_1_1_neon_convolution2d_workload.html')
-rw-r--r-- | latest/classarmnn_1_1_neon_convolution2d_workload.html | 163 |
1 files changed, 79 insertions, 84 deletions
diff --git a/latest/classarmnn_1_1_neon_convolution2d_workload.html b/latest/classarmnn_1_1_neon_convolution2d_workload.html index 587e6aa712..7e3aab0880 100644 --- a/latest/classarmnn_1_1_neon_convolution2d_workload.html +++ b/latest/classarmnn_1_1_neon_convolution2d_workload.html @@ -36,7 +36,7 @@ <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/> <td id="projectalign" style="padding-left: 0.9em;"> <div id="projectname"> -  <span id="projectnumber">24.02</span> +  <span id="projectnumber">24.05</span> </div> </td> </tr> @@ -236,63 +236,59 @@ Additional Inherited Members</h2></td></tr> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  m_BiasTensor = std::make_unique<arm_compute::Tensor>();</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  BuildArmComputeTensor(*m_BiasTensor, <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[2], <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a6089e1ca91914015777ea780a513131a">m_DataLayout</a>);</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  m_BiasTensor->info()->set_are_values_constant(<a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[2].IsConstant());</div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// We assume here that NeonConvolution2dWorkloadValidate has been called before the constructor.</span></div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(<a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[2].IsConstant() == <span class="keyword">true</span>);</div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  </div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>);</div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  </div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>);</div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  </div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">const</span> arm_compute::Size2D aclDilationInfo = BuildArmComputeSize2D(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aa3c6a77a963a98ccb8ea7b8fd008a8c1">m_DilationX</a>,</div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a302b688d88dd73cde0fb1faef6679907">m_DilationY</a>);</div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">const</span> arm_compute::Size2D aclDilationInfo = BuildArmComputeSize2D(<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aa3c6a77a963a98ccb8ea7b8fd008a8c1">m_DilationX</a>,</div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#a302b688d88dd73cde0fb1faef6679907">m_DilationY</a>);</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">const</span> arm_compute::ActivationLayerInfo activationInfo = <a class="code" href="namespacearmnn.html#abfb0841058a8190d30851f07eca3991f">ConvertAdditionalInfoToAclActivationLayerInfo</a>(descriptor);</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  </div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">const</span> arm_compute::ActivationLayerInfo activationInfo = <a class="code" href="namespacearmnn.html#abfb0841058a8190d30851f07eca3991f">ConvertAdditionalInfoToAclActivationLayerInfo</a>(descriptor);</div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keyword">auto</span> convolutionLayer = std::make_unique<arm_compute::NEConvolutionLayer>(memoryManager);</div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  convolutionLayer->configure(&input,</div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  m_KernelTensor.get(),</div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  m_BiasTensor.get(),</div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  &output,</div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  padStrideInfo,</div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  arm_compute::WeightsInfo(),</div> -<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  aclDilationInfo,</div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  activationInfo,</div> -<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  isFastMathEnabled);</div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div> -<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  m_ConvolutionMethod =</div> -<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  convolutionLayer->get_convolution_method(input.info(),</div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  m_KernelTensor->info(),</div> -<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  output.info(),</div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  padStrideInfo,</div> -<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  arm_compute::WeightsInfo(),</div> -<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  aclDilationInfo,</div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  activationInfo,</div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  isFastMathEnabled);</div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  </div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="comment">// Add details for profiling output</span></div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  WorkloadInfo detailsInfo;</div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  detailsInfo.m_InputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos;</div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  detailsInfo.m_OutputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos;</div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  detailsInfo.m_ConvolutionMethod = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional<std::string></a>(<a class="code" href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">GetConvolutionMethodString</a>(m_ConvolutionMethod));</div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// Report Profiling Details</span></div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="_profiling_8hpp.html#a786492a3881a4c760ab1eec2149f4aba">ARMNN_REPORT_PROFILING_WORKLOAD_DESC</a>(<span class="stringliteral">"NeonConvolution2dWorkload_Construct"</span>,</div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  descriptor.m_Parameters,</div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  detailsInfo,</div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classarmnn_1_1_base_workload.html#aaff95a48875d8fb4a616352906660ca9">GetGuid</a>());</div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  m_ConvolutionLayer.reset(convolutionLayer.release());</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  </div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a>(m_ConvolutionLayer);</div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  m_KernelTensorInfo = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[1];</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  </div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  m_BiasTensorInfo = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[2];</div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> }</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keyword">auto</span> convolutionLayer = std::make_unique<arm_compute::NEConvolutionLayer>(memoryManager);</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  convolutionLayer->configure(&input,</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  m_KernelTensor.get(),</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  m_BiasTensor.get(),</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  &output,</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  padStrideInfo,</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  arm_compute::WeightsInfo(),</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  aclDilationInfo,</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  activationInfo,</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  isFastMathEnabled);</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  m_ConvolutionMethod =</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  convolutionLayer->get_convolution_method(input.info(),</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  m_KernelTensor->info(),</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  output.info(),</div> +<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  padStrideInfo,</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  arm_compute::WeightsInfo(),</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  aclDilationInfo,</div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  activationInfo,</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  isFastMathEnabled);</div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// Add details for profiling output</span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  WorkloadInfo detailsInfo;</div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  detailsInfo.m_InputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos;</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  detailsInfo.m_OutputTensorInfos = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_OutputTensorInfos;</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  detailsInfo.m_ConvolutionMethod = <a class="code" href="classarmnn_1_1_optional.html">armnn::Optional<std::string></a>(<a class="code" href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">GetConvolutionMethodString</a>(m_ConvolutionMethod));</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// Report Profiling Details</span></div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="_profiling_8hpp.html#a786492a3881a4c760ab1eec2149f4aba">ARMNN_REPORT_PROFILING_WORKLOAD_DESC</a>(<span class="stringliteral">"NeonConvolution2dWorkload_Construct"</span>,</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  descriptor.m_Parameters,</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  detailsInfo,</div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classarmnn_1_1_base_workload.html#aaff95a48875d8fb4a616352906660ca9">GetGuid</a>());</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  m_ConvolutionLayer.reset(convolutionLayer.release());</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  m_KernelTensorInfo = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[1];</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  m_BiasTensorInfo = <a class="code" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">info</a>.m_InputTensorInfos[2];</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div> </div><!-- fragment --> -<p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, <a class="el" href="_descriptors_8hpp_source.html#l00582">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload< Convolution2dQueueDescriptor >::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00027">QueueDescriptor::m_Outputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00066">QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters</a>, and <a class="el" href="_workload_data_8cpp_source.html#l00446">QueueDescriptor::ValidateInputsOutputs()</a>.</p> +<p class="reference">References <a class="el" href="namespacearmnn.html#a4dc0adc6737b5944e7671bee71788407acaf9b6b99962bf5c2264824231d7a40c">armnn::info</a>, <a class="el" href="_descriptors_8hpp_source.html#l00582">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload< Convolution2dQueueDescriptor >::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00027">QueueDescriptor::m_Outputs</a>, <a class="el" href="_workload_data_8hpp_source.html#l00066">QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters</a>, and <a class="el" href="_workload_data_8cpp_source.html#l00447">QueueDescriptor::ValidateInputsOutputs()</a>.</p> </div> </div> @@ -322,27 +318,27 @@ Additional Inherited Members</h2></td></tr> <p>Implements <a class="el" href="classarmnn_1_1_i_workload.html#a72ae00e6604850c8798c5e0d825ee7e4">IWorkload</a>.</p> -<p class="definition">Definition at line <a class="el" href="_neon_convolution2d_workload_8cpp_source.html#l00154">154</a> of file <a class="el" href="_neon_convolution2d_workload_8cpp_source.html">NeonConvolution2dWorkload.cpp</a>.</p> -<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>(<span class="stringliteral">"NeonConvolution2dWorkload_Execute"</span>);</div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">// The constant tensors may not be fully in place until the workload is Executed</span></div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">if</span> (!prepared)</div> -<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_KernelTensor, m_KernelTensorInfo, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[1]);</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  </div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_BiasTensor, m_BiasTensorInfo, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[2]);</div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  m_ConvolutionLayer->prepare();</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  FreeTensorIfUnused(m_KernelTensor);</div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  FreeTensorIfUnused(m_BiasTensor);</div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  prepared = <span class="keyword">true</span>;</div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  m_ConvolutionLayer->run();</div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div> +<p class="definition">Definition at line <a class="el" href="_neon_convolution2d_workload_8cpp_source.html#l00150">150</a> of file <a class="el" href="_neon_convolution2d_workload_8cpp_source.html">NeonConvolution2dWorkload.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>(<span class="stringliteral">"NeonConvolution2dWorkload_Execute"</span>);</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">// The constant tensors may not be fully in place until the workload is Executed</span></div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (!prepared)</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_KernelTensor, m_KernelTensorInfo, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[1]);</div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">if</span> (<a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">m_Parameters</a>.<a class="code" href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">m_BiasEnabled</a>)</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">InitializeArmComputeTensorData</a>(*m_BiasTensor, m_BiasTensorInfo, <a class="code" href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">m_Data</a>.<a class="code" href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">m_Inputs</a>[2]);</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  m_ConvolutionLayer->prepare();</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  FreeTensorIfUnused(m_KernelTensor);</div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  FreeTensorIfUnused(m_BiasTensor);</div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  prepared = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  m_ConvolutionLayer->run();</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> }</div> </div><!-- fragment --> -<p class="reference">References <a class="el" href="_neon_workload_utils_8hpp_source.html#l00032">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>, <a class="el" href="_neon_workload_utils_8hpp_source.html#l00068">armnn::InitializeArmComputeTensorData()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00582">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload< Convolution2dQueueDescriptor >::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, and <a class="el" href="_workload_data_8hpp_source.html#l00066">QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters</a>.</p> +<p class="reference">References <a class="el" href="_neon_workload_utils_8hpp_source.html#l00033">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a>, <a class="el" href="_neon_workload_utils_8hpp_source.html#l00069">armnn::InitializeArmComputeTensorData()</a>, <a class="el" href="_descriptors_8hpp_source.html#l00582">Convolution2dDescriptor::m_BiasEnabled</a>, <a class="el" href="_workload_8hpp_source.html#l00089">BaseWorkload< Convolution2dQueueDescriptor >::m_Data</a>, <a class="el" href="_workload_data_8hpp_source.html#l00026">QueueDescriptor::m_Inputs</a>, and <a class="el" href="_workload_data_8hpp_source.html#l00066">QueueDescriptorWithParameters< LayerDescriptor >::m_Parameters</a>.</p> </div> </div> @@ -361,10 +357,10 @@ Additional Inherited Members</h2></td></tr> </table> </div><div class="memdoc"> -<p class="definition">Definition at line <a class="el" href="_neon_convolution2d_workload_8cpp_source.html#l00174">174</a> of file <a class="el" href="_neon_convolution2d_workload_8cpp_source.html">NeonConvolution2dWorkload.cpp</a>.</p> -<div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> {</div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> m_ConvolutionMethod;</div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div> +<p class="definition">Definition at line <a class="el" href="_neon_convolution2d_workload_8cpp_source.html#l00170">170</a> of file <a class="el" href="_neon_convolution2d_workload_8cpp_source.html">NeonConvolution2dWorkload.cpp</a>.</p> +<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">return</span> m_ConvolutionMethod;</div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> }</div> </div><!-- fragment --> </div> </div> @@ -374,13 +370,12 @@ Additional Inherited Members</h2></td></tr> </ul> </div><!-- contents --> </div><!-- doc-content --> -<div class="ttc" id="a_assert_8hpp_html_a5698be69cbd5dfe6c28fcd9867e8cbed"><div class="ttname"><a href="_assert_8hpp.html#a5698be69cbd5dfe6c28fcd9867e8cbed">ARMNN_ASSERT</a></div><div class="ttdeci">#define ARMNN_ASSERT(COND)</div><div class="ttdef"><b>Definition:</b> <a href="_assert_8hpp_source.html#l00014">Assert.hpp:14</a></div></div> <div class="ttc" id="aclassarmnn_1_1_optional_html"><div class="ttname"><a href="classarmnn_1_1_optional.html">armnn::Optional< std::string ></a></div></div> <div class="ttc" id="anamespacearmnn_html_ad1d5cce2d9e9a5d61c243e5c989112e0"><div class="ttname"><a href="namespacearmnn.html#ad1d5cce2d9e9a5d61c243e5c989112e0">armnn::DataLayout</a></div><div class="ttdeci">DataLayout</div><div class="ttdef"><b>Definition:</b> <a href="_types_8hpp_source.html#l00062">Types.hpp:62</a></div></div> -<div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a765d2cee4ccce5b9467e0c2b6d25b84a"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">armnn::QueueDescriptor::ValidateInputsOutputs</a></div><div class="ttdeci">void ValidateInputsOutputs(const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.html#l00446">WorkloadData.cpp:446</a></div></div> +<div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a765d2cee4ccce5b9467e0c2b6d25b84a"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a765d2cee4ccce5b9467e0c2b6d25b84a">armnn::QueueDescriptor::ValidateInputsOutputs</a></div><div class="ttdeci">void ValidateInputsOutputs(const std::string &descName, unsigned int numExpectedIn, unsigned int numExpectedOut) const</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8cpp_source.html#l00447">WorkloadData.cpp:447</a></div></div> <div class="ttc" id="anamespacearmnn_html_abfb0841058a8190d30851f07eca3991f"><div class="ttname"><a href="namespacearmnn.html#abfb0841058a8190d30851f07eca3991f">armnn::ConvertAdditionalInfoToAclActivationLayerInfo</a></div><div class="ttdeci">arm_compute::ActivationLayerInfo ConvertAdditionalInfoToAclActivationLayerInfo(const QueueDescriptor &queueDescriptor)</div><div class="ttdef"><b>Definition:</b> <a href="_arm_compute_utils_8hpp_source.html#l00105">ArmComputeUtils.hpp:105</a></div></div> <div class="ttc" id="astructarmnn_1_1_convolution2d_descriptor_html_a302b688d88dd73cde0fb1faef6679907"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#a302b688d88dd73cde0fb1faef6679907">armnn::Convolution2dDescriptor::m_DilationY</a></div><div class="ttdeci">uint32_t m_DilationY</div><div class="ttdoc">Dilation along y axis.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00580">Descriptors.hpp:580</a></div></div> -<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00068">NeonWorkloadUtils.hpp:68</a></div></div> +<div class="ttc" id="anamespacearmnn_html_a611208865d55ea576cc89ac86d7c19b7"><div class="ttname"><a href="namespacearmnn.html#a611208865d55ea576cc89ac86d7c19b7">armnn::InitializeArmComputeTensorData</a></div><div class="ttdeci">void InitializeArmComputeTensorData(arm_compute::Tensor &tensor, TensorInfo tensorInfo, const ITensorHandle *handle)</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00069">NeonWorkloadUtils.hpp:69</a></div></div> <div class="ttc" id="astructarmnn_1_1_queue_descriptor_with_parameters_html_aad91b9bbf7aa365d304febe79a3d1333"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor_with_parameters.html#aad91b9bbf7aa365d304febe79a3d1333">armnn::QueueDescriptorWithParameters::m_Parameters</a></div><div class="ttdeci">LayerDescriptor m_Parameters</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00066">WorkloadData.hpp:66</a></div></div> <div class="ttc" id="astructarmnn_1_1_convolution2d_descriptor_html_aea202e14d8874cefd9a0f778022b7e25"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#aea202e14d8874cefd9a0f778022b7e25">armnn::Convolution2dDescriptor::m_BiasEnabled</a></div><div class="ttdeci">bool m_BiasEnabled</div><div class="ttdoc">Enable/disable bias.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00582">Descriptors.hpp:582</a></div></div> <div class="ttc" id="anamespacearmnn_html_a63833af8e1986a93f86d15397b9062c2"><div class="ttname"><a href="namespacearmnn.html#a63833af8e1986a93f86d15397b9062c2">armnn::GetConvolutionMethodString</a></div><div class="ttdeci">std::string GetConvolutionMethodString(arm_compute::ConvolutionMethod &convolutionMethod)</div><div class="ttdef"><b>Definition:</b> <a href="_cl_workload_utils_8hpp_source.html#l00046">ClWorkloadUtils.hpp:46</a></div></div> @@ -391,13 +386,13 @@ Additional Inherited Members</h2></td></tr> <div class="ttc" id="aclassarmnn_1_1_base_workload_html_aaff95a48875d8fb4a616352906660ca9"><div class="ttname"><a href="classarmnn_1_1_base_workload.html#aaff95a48875d8fb4a616352906660ca9">armnn::BaseWorkload< Convolution2dQueueDescriptor >::GetGuid</a></div><div class="ttdeci">arm::pipe::ProfilingGuid GetGuid() const final</div><div class="ttdef"><b>Definition:</b> <a href="_workload_8hpp_source.html#l00067">Workload.hpp:67</a></div></div> <div class="ttc" id="aclassarmnn_1_1_base_workload_html_afb8d2c8817c75de9d01a4c0e0d5c160b"><div class="ttname"><a href="classarmnn_1_1_base_workload.html#afb8d2c8817c75de9d01a4c0e0d5c160b">armnn::BaseWorkload< Convolution2dQueueDescriptor >::m_Data</a></div><div class="ttdeci">Convolution2dQueueDescriptor m_Data</div><div class="ttdef"><b>Definition:</b> <a href="_workload_8hpp_source.html#l00089">Workload.hpp:89</a></div></div> <div class="ttc" id="astructarmnn_1_1_convolution2d_descriptor_html_aa3c6a77a963a98ccb8ea7b8fd008a8c1"><div class="ttname"><a href="structarmnn_1_1_convolution2d_descriptor.html#aa3c6a77a963a98ccb8ea7b8fd008a8c1">armnn::Convolution2dDescriptor::m_DilationX</a></div><div class="ttdeci">uint32_t m_DilationX</div><div class="ttdoc">Dilation along x axis.</div><div class="ttdef"><b>Definition:</b> <a href="_descriptors_8hpp_source.html#l00578">Descriptors.hpp:578</a></div></div> -<div class="ttc" id="a_neon_workload_utils_8hpp_html_a7f97eedf3c9436b110df92c947bbb55d"><div class="ttname"><a href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label)</div><div class="ttdoc">Creates a profiling event that uses GetGuid() and GetName() from the calling class.</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00032">NeonWorkloadUtils.hpp:32</a></div></div> +<div class="ttc" id="a_neon_workload_utils_8hpp_html_a7f97eedf3c9436b110df92c947bbb55d"><div class="ttname"><a href="_neon_workload_utils_8hpp.html#a7f97eedf3c9436b110df92c947bbb55d">ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID</a></div><div class="ttdeci">#define ARMNN_SCOPED_PROFILING_EVENT_NEON_NAME_GUID(label)</div><div class="ttdoc">Creates a profiling event that uses GetGuid() and GetName() from the calling class.</div><div class="ttdef"><b>Definition:</b> <a href="_neon_workload_utils_8hpp_source.html#l00033">NeonWorkloadUtils.hpp:33</a></div></div> <div class="ttc" id="astructarmnn_1_1_queue_descriptor_html_a4b50e46a6810018f3edecfb68b2a76b3"><div class="ttname"><a href="structarmnn_1_1_queue_descriptor.html#a4b50e46a6810018f3edecfb68b2a76b3">armnn::QueueDescriptor::m_Inputs</a></div><div class="ttdeci">std::vector< ITensorHandle * > m_Inputs</div><div class="ttdef"><b>Definition:</b> <a href="_workload_data_8hpp_source.html#l00026">WorkloadData.hpp:26</a></div></div> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="classarmnn_1_1_neon_convolution2d_workload.html">NeonConvolution2dWorkload</a></li> - <li class="footer">Generated on Wed Feb 14 2024 16:36:23 for Arm NN by + <li class="footer">Generated on Thu May 16 2024 09:31:57 for Arm NN by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li> </ul> |