Compute Library
 23.11
KernelDescriptors.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2023 Arm Limited.
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to
8  * deal in the Software without restriction, including without limitation the
9  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10  * sell copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in all
14  * copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22  * SOFTWARE.
23  */
24 #ifndef ACL_ARM_COMPUTE_CORE_KERNELDESCRIPTORS_H
25 #define ACL_ARM_COMPUTE_CORE_KERNELDESCRIPTORS_H
26 
28 #include "arm_compute/core/Types.h"
30 
31 namespace arm_compute
32 {
33 /** Descriptor for FFT scale kernels */
35 {
36  float scale{0.f}; /**< Axis to perform the kernel on. */
37  bool conjugate{true}; /**< Flag to conjugate the output/ */
38 };
39 
40 /** Descriptor for FFT digit reverse kernels */
42 {
43  unsigned int axis{0}; /**< Axis to perform the kernel on. */
44  bool conjugate{false}; /**< Flag to conjugate the output/ */
45 };
46 
47 /** Descriptor used by the FFT core kernels */
49 {
50  unsigned int axis{0}; /**< Axis to run the kernel on. */
51  unsigned int radix{0}; /**< Radix to use. */
52  unsigned int Nx{0}; /**< Nx coefficient. */
53  bool is_first_stage{false}; /**< Flags if the FFT kernels is the first stage of a decomposed FFT. */
54 };
55 
56 class ITensorInfo;
57 /** Descriptor used by the GEMM kernels */
59 {
60  GEMMKernelInfo() = default;
61  GEMMKernelInfo(unsigned int im,
62  unsigned int in,
63  unsigned int ik,
64  unsigned int idepth_output_gemm3d,
65  bool ireinterpret_input_as_3d,
66  bool ibroadcast_bias,
67  bool ifp_mixed_precision,
68  bool ihas_pad_y,
69  ActivationLayerInfo iactivation_info,
70  int inmult_transpose1xW_width,
71  int imult_interleave4x4_height,
72  GEMMLHSMatrixInfo ilhs_info,
73  GEMMRHSMatrixInfo irhs_info,
74  int32_t ina_offset,
75  int32_t inb_offset)
76  : m(im),
77  n(in),
78  k(ik),
79  depth_output_gemm3d(idepth_output_gemm3d),
80  reinterpret_input_as_3d(ireinterpret_input_as_3d),
81  broadcast_bias(ibroadcast_bias),
82  fp_mixed_precision(ifp_mixed_precision),
83  has_pad_y(ihas_pad_y),
84  activation_info(iactivation_info),
85  mult_transpose1xW_width(inmult_transpose1xW_width),
86  mult_interleave4x4_height(imult_interleave4x4_height),
87  lhs_info(ilhs_info),
88  rhs_info(irhs_info),
89  a_offset(ina_offset),
90  b_offset(inb_offset)
91  {
92  }
93 
94  unsigned int m{0}; /**< Number of LHS rows*/
95  unsigned int n{0}; /**< Number of RHS columns*/
96  unsigned int k{0}; /**< Number of LHS columns or RHS rows */
97  unsigned int depth_output_gemm3d{0}; /**< Depth of the output tensor in case is reinterpreted as 3D */
98  bool reinterpret_input_as_3d{false}; /**< Flag used to reinterpret the input as 3D */
99  bool broadcast_bias{false}; /**< Flag used to broadcast the bias addition */
100  bool fp_mixed_precision{false}; /**< Flag used to indicate wider accumulators (32 bit instead of 16 for FP16). */
101  bool has_pad_y{
102  false}; /**< Flag used to indicate if the input/output tensors have internal pad on the y direction */
103  ActivationLayerInfo activation_info{}; /**< Activation function to perform after the matrix multiplication */
104  int mult_transpose1xW_width{1}; /**< Multiplication factor for the width of the 1xW transposed block */
105  int mult_interleave4x4_height{1}; /**< Multiplication factor for the height of the 4x4 interleaved block */
107  lhs_info{}; /**< LHS matrix information used to retrieve the number of rows processed by each thread */
108  GEMMRHSMatrixInfo rhs_info{}; /**< RHS matrix information used for reshaping the RHS matrix */
109  int32_t a_offset{0}; /**< Offset to be added to each element of the matrix A */
110  int32_t b_offset{0}; /**< Offset to be added to each element of the matrix B */
111  GEMMLowpOutputStageInfo output_stage{}; /**< GEMMLowp output stage information */
112 };
113 
114 /** Compute descriptor used by the depthwise convolution native kernel */
116 {
117  unsigned int n0{1}; /**< Number of columns processed by each thread */
118  unsigned int m0{1}; /**< Number of rows processed by each thread */
119  bool export_input_to_cl_image{false}; /**< Export input to cl_image */
120  bool export_weights_to_cl_image{false}; /**< Export the weights to cl_image */
121 };
122 
123 /** Compute descriptor used by the direct convolution kernel */
125 {
126  int32_t m0{1}; /**< Number of rows to be processed by the kernel */
127  int32_t n0{1}; /**< Number of columns to be processed by the kernel */
128  int32_t k0{1}; /**< Number of partial accumulations to be processed in a single iteration by the kernel */
129  bool export_weights_to_cl_image{false}; /**< Flag to export the weights to cl_image */
130  bool export_output_to_cl_image{false}; /**< Flag to export the output to cl_image */
131  bool export_input_to_cl_image{false}; /**< Flag to export the input to cl_image */
132 };
133 
134 /** Descriptor used by the softmax kernels */
136 {
137  float beta{1.f}; /**< A scaling factor for the exponent with default value 1.0 */
138  bool is_log{false}; /**< Flag used to perform Log Softmax operation */
139  DataType input_data_type{DataType::UNKNOWN}; /**< Input tensor data type */
140  int32_t axis{0}; /**< The dimension in which to apply softmax. */
141 };
142 
143 /** Descriptor used by the direct convolution layer output stage kernels */
145 {
146  int32_t result_fixedpoint_multiplier{0}; /**< Result output stage multiplier used for quantizing */
147  int32_t result_shift{0}; /**< Result output stage shift used for quantizing */
148  int32_t result_offset_after_shift{0}; /**< Result offset used for quantizing */
150  DataType::UNKNOWN}; /**< Output tensor data type to use if the output is not initialized */
151 };
152 
154 {
155  /** Default constructor */
157  {
158  }
159  /** Constructor
160  *
161  * @param[in] gamma The scale scalar value applied to the normalized tensor.
162  * @param[in] beta The offset scalar value applied to the normalized tensor
163  * @param[in] epsilon Lower bound value for the normalization.
164  * @param[in] use_mixed_precision Use mixed precision in case of FP16 execution.
165  */
168  {
169  }
170 
171  float gamma; /**< The scale scalar value applied to the normalized tensor. Defaults to 1.0 */
172  float beta; /**< The offset scalar value applied to the normalized tensor. Defaults to 0.0 */
173  float epsilon; /**< Lower bound value for the normalization. Defaults to 1e-12 */
174  bool use_mixed_precision; /**< Use mixed precision in case of FP16 execution. Defaults to true */
175 };
176 
178 {
179  /** Default constructor */
180  GEMMLowpReductionKernelInfo() = default;
181  /** Constructor
182  *
183  * @param[in] k Number of matrix columns/rows.
184  * @param[in] is_reshaped True if the input tensor has been reshaped.
185  * @param[in] scalar Scalar value to multiply each reduced column/row by.
186  * @param[in] mul_by_scalar True if each column/row reduction has to be multiplied by a scalar value.
187  */
190  {
191  }
192 
193  int32_t k{0}; /**< Number of matrix columns/rows */
194  bool is_reshaped{false}; /**< True if the input tensor has been reshaped */
195  int32_t scalar{0}; /**< Scalar value to multiply each reduced column/row by */
196  bool mul_by_scalar{false}; /**< True if each column/row reduction has to be multiplied by a scalar value */
197 };
198 
200 {
201  /** Constructor
202  *
203  * @param[in] interpolation_policy Interpolation type to use
204  * @param[in] border_mode Border mode policy
205  * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT and use_padding is set to false. Defaults to default @ref PixelValue
206  * @param[in] sampling_policy (Optional) Sampling policy used by the interpolation. Defaults to @ref SamplingPolicy::CENTER
207  * @param[in] use_padding (Optional) Is padding in use or not. Defaults to true.
208  * @param[in] align_corners (Optional) Align corners of input and output, only affecting bilinear policy with TOP_LEFT sampling policy. Defaults to false.
209  * @param[in] data_layout (Optional) Data layout used by the layer. Defaults to @ref DataLayout::UNKNOWN
210  */
215  bool use_padding = true,
216  bool align_corners = false,
225  {
226  }
227 
228  InterpolationPolicy interpolation_policy; /**< Interpolation type to use */
229  BorderMode border_mode; /**< Border mode policy */
230  PixelValue constant_border_value; /**< Constant value to use for constant border mode policy */
231  SamplingPolicy sampling_policy; /**< Sampling policy used by the interpolation. */
232  bool use_padding; /**< Indication of using padding */
233  bool align_corners; /**< Align corners of input and output */
234  DataLayout data_layout; /**< Data layout to use */
235 };
236 
238 {
239  MatMulKernelInfo() = default;
241  bool adj_lhs, bool adj_rhs, int m0 = 1, int n0 = 1, int k0 = 1, bool export_rhs_to_cl_image = false)
243  {
244  }
245  bool adj_lhs{false}; /**< Get Adjoint LHS flag value */
246  bool adj_rhs{false}; /**< Get Adjoint RHS flag value */
247  int m0{1}; /**< Number of output rows processed by each work-item*/
248  int n0{1}; /**< Number of output columns processed by each work-item*/
249  int k0{1}; /**< Number of inner accumulations */
250  bool export_rhs_to_cl_image{false}; /**< Flag to know whether the RHS tensor should be exported to cl_image*/
251 };
252 } // namespace arm_compute
253 #endif // ACL_ARM_COMPUTE_CORE_KERNELDESCRIPTORS_H
arm_compute::SoftmaxKernelInfo
Descriptor used by the softmax kernels.
Definition: KernelDescriptors.h:135
arm_compute::FFTScaleKernelInfo::scale
float scale
Axis to perform the kernel on.
Definition: KernelDescriptors.h:36
arm_compute::GEMMKernelInfo::reinterpret_input_as_3d
bool reinterpret_input_as_3d
Flag used to reinterpret the input as 3D.
Definition: KernelDescriptors.h:98
arm_compute::GEMMKernelInfo::m
unsigned int m
Number of LHS rows.
Definition: KernelDescriptors.h:94
arm_compute::GEMMKernelInfo::rhs_info
GEMMRHSMatrixInfo rhs_info
RHS matrix information used for reshaping the RHS matrix.
Definition: KernelDescriptors.h:108
arm_compute::InstanceNormalizationLayerKernelInfo::InstanceNormalizationLayerKernelInfo
InstanceNormalizationLayerKernelInfo()
Default constructor.
Definition: KernelDescriptors.h:156
arm_compute::GEMMKernelInfo::a_offset
int32_t a_offset
Offset to be added to each element of the matrix A.
Definition: KernelDescriptors.h:109
arm_compute::PixelValue
Class describing the value of a pixel for any image format.
Definition: PixelValue.h:35
arm_compute::DataLayout
DataLayout
[DataLayout enum definition]
Definition: CoreTypes.h:110
arm_compute::GEMMLowpOutputStageInfo
GEMMLowp output stage info.
Definition: GEMMInfo.h:45
arm_compute::DWCComputeKernelInfo::n0
unsigned int n0
Number of columns processed by each thread.
Definition: KernelDescriptors.h:117
arm_compute::SamplingPolicy
SamplingPolicy
Available Sampling Policies.
Definition: Types.h:84
arm_compute::GEMMLowpReductionKernelInfo::scalar
int32_t scalar
Scalar value to multiply each reduced column/row by.
Definition: KernelDescriptors.h:195
ActivationLayerInfo.h
Types.h
arm_compute::FFTRadixStageKernelInfo::Nx
unsigned int Nx
Nx coefficient.
Definition: KernelDescriptors.h:52
arm_compute::GEMMKernelInfo::fp_mixed_precision
bool fp_mixed_precision
Flag used to indicate wider accumulators (32 bit instead of 16 for FP16).
Definition: KernelDescriptors.h:100
arm_compute::InstanceNormalizationLayerKernelInfo::InstanceNormalizationLayerKernelInfo
InstanceNormalizationLayerKernelInfo(float gamma, float beta, float epsilon, bool use_mixed_precision)
Constructor.
Definition: KernelDescriptors.h:166
arm_compute::DirectConvolutionLayerOutputStageKernelInfo::result_offset_after_shift
int32_t result_offset_after_shift
Result offset used for quantizing.
Definition: KernelDescriptors.h:148
arm_compute::MatMulKernelInfo::adj_rhs
bool adj_rhs
Get Adjoint RHS flag value.
Definition: KernelDescriptors.h:246
arm_compute::FFTDigitReverseKernelInfo
Descriptor for FFT digit reverse kernels.
Definition: KernelDescriptors.h:41
arm_compute::InterpolationPolicy
InterpolationPolicy
Interpolation method.
Definition: Types.h:360
arm_compute::DirectConvolutionLayerOutputStageKernelInfo
Descriptor used by the direct convolution layer output stage kernels.
Definition: KernelDescriptors.h:144
arm_compute::SoftmaxKernelInfo::is_log
bool is_log
Flag used to perform Log Softmax operation.
Definition: KernelDescriptors.h:138
arm_compute::DirectConvComputeKernelInfo::export_output_to_cl_image
bool export_output_to_cl_image
Flag to export the output to cl_image.
Definition: KernelDescriptors.h:130
arm_compute::FFTRadixStageKernelInfo::radix
unsigned int radix
Radix to use.
Definition: KernelDescriptors.h:51
arm_compute::GEMMLowpReductionKernelInfo
Definition: KernelDescriptors.h:177
arm_compute::GEMMKernelInfo
Descriptor used by the GEMM kernels.
Definition: KernelDescriptors.h:58
arm_compute::DWCComputeKernelInfo::m0
unsigned int m0
Number of rows processed by each thread.
Definition: KernelDescriptors.h:118
arm_compute::MatMulKernelInfo::m0
int m0
Number of output rows processed by each work-item.
Definition: KernelDescriptors.h:247
arm_compute::FFTRadixStageKernelInfo
Descriptor used by the FFT core kernels.
Definition: KernelDescriptors.h:48
arm_compute::ScaleKernelInfo::use_padding
bool use_padding
Indication of using padding.
Definition: KernelDescriptors.h:232
arm_compute::DirectConvolutionLayerOutputStageKernelInfo::result_shift
int32_t result_shift
Result output stage shift used for quantizing.
Definition: KernelDescriptors.h:147
arm_compute::ScaleKernelInfo::data_layout
DataLayout data_layout
Data layout to use.
Definition: KernelDescriptors.h:234
arm_compute::ActivationLayerInfo
Activation Layer Information class.
Definition: ActivationLayerInfo.h:55
arm_compute::FFTRadixStageKernelInfo::is_first_stage
bool is_first_stage
Flags if the FFT kernels is the first stage of a decomposed FFT.
Definition: KernelDescriptors.h:53
arm_compute::MatMulKernelInfo::k0
int k0
Number of inner accumulations.
Definition: KernelDescriptors.h:249
arm_compute::FFTDigitReverseKernelInfo::axis
unsigned int axis
Axis to perform the kernel on.
Definition: KernelDescriptors.h:43
arm_compute::DirectConvComputeKernelInfo::n0
int32_t n0
Number of columns to be processed by the kernel.
Definition: KernelDescriptors.h:127
arm_compute::InstanceNormalizationLayerKernelInfo::use_mixed_precision
bool use_mixed_precision
Use mixed precision in case of FP16 execution.
Definition: KernelDescriptors.h:174
arm_compute::ScaleKernelInfo::border_mode
BorderMode border_mode
Border mode policy.
Definition: KernelDescriptors.h:229
arm_compute::GEMMKernelInfo::n
unsigned int n
Number of RHS columns.
Definition: KernelDescriptors.h:95
arm_compute::InstanceNormalizationLayerKernelInfo
Definition: KernelDescriptors.h:153
arm_compute::GEMMLowpReductionKernelInfo::GEMMLowpReductionKernelInfo
GEMMLowpReductionKernelInfo()=default
Default constructor.
arm_compute::DirectConvolutionLayerOutputStageKernelInfo::result_fixedpoint_multiplier
int32_t result_fixedpoint_multiplier
Result output stage multiplier used for quantizing.
Definition: KernelDescriptors.h:146
arm_compute::DirectConvolutionLayerOutputStageKernelInfo::output_data_type
DataType output_data_type
Output tensor data type to use if the output is not initialized.
Definition: KernelDescriptors.h:149
arm_compute::GEMMKernelInfo::lhs_info
GEMMLHSMatrixInfo lhs_info
LHS matrix information used to retrieve the number of rows processed by each thread.
Definition: KernelDescriptors.h:107
arm_compute::FFTScaleKernelInfo
Descriptor for FFT scale kernels.
Definition: KernelDescriptors.h:34
arm_compute::GEMMKernelInfo::GEMMKernelInfo
GEMMKernelInfo()=default
arm_compute::ScaleKernelInfo::align_corners
bool align_corners
Align corners of input and output.
Definition: KernelDescriptors.h:233
arm_compute::GEMMKernelInfo::broadcast_bias
bool broadcast_bias
Flag used to broadcast the bias addition.
Definition: KernelDescriptors.h:99
arm_compute::SoftmaxKernelInfo::axis
int32_t axis
The dimension in which to apply softmax.
Definition: KernelDescriptors.h:140
arm_compute::DirectConvComputeKernelInfo::m0
int32_t m0
Number of rows to be processed by the kernel.
Definition: KernelDescriptors.h:126
arm_compute::DWCComputeKernelInfo::export_input_to_cl_image
bool export_input_to_cl_image
Export input to cl_image.
Definition: KernelDescriptors.h:119
arm_compute::DWCComputeKernelInfo::export_weights_to_cl_image
bool export_weights_to_cl_image
Export the weights to cl_image.
Definition: KernelDescriptors.h:120
PixelValue.h
arm_compute::ScaleKernelInfo::ScaleKernelInfo
ScaleKernelInfo(InterpolationPolicy interpolation_policy, BorderMode border_mode, PixelValue constant_border_value=PixelValue(), SamplingPolicy sampling_policy=SamplingPolicy::CENTER, bool use_padding=true, bool align_corners=false, DataLayout data_layout=DataLayout::UNKNOWN) noexcept
Constructor.
Definition: KernelDescriptors.h:211
arm_compute::GEMMKernelInfo::mult_transpose1xW_width
int mult_transpose1xW_width
Multiplication factor for the width of the 1xW transposed block.
Definition: KernelDescriptors.h:104
arm_compute::GEMMKernelInfo::k
unsigned int k
Number of LHS columns or RHS rows.
Definition: KernelDescriptors.h:96
arm_compute::InstanceNormalizationLayerKernelInfo::epsilon
float epsilon
Lower bound value for the normalization.
Definition: KernelDescriptors.h:173
arm_compute::GEMMKernelInfo::mult_interleave4x4_height
int mult_interleave4x4_height
Multiplication factor for the height of the 4x4 interleaved block.
Definition: KernelDescriptors.h:105
arm_compute::FFTRadixStageKernelInfo::axis
unsigned int axis
Axis to run the kernel on.
Definition: KernelDescriptors.h:50
arm_compute::GEMMKernelInfo::has_pad_y
bool has_pad_y
Flag used to indicate if the input/output tensors have internal pad on the y direction.
Definition: KernelDescriptors.h:101
arm_compute::MatMulKernelInfo::adj_lhs
bool adj_lhs
Get Adjoint LHS flag value.
Definition: KernelDescriptors.h:245
arm_compute::InstanceNormalizationLayerKernelInfo::gamma
float gamma
The scale scalar value applied to the normalized tensor.
Definition: KernelDescriptors.h:171
arm_compute::GEMMLHSMatrixInfo
GEMM LHS (Left Hand Side) matrix information.
Definition: Types.h:1896
arm_compute::GEMMLowpReductionKernelInfo::GEMMLowpReductionKernelInfo
GEMMLowpReductionKernelInfo(int32_t k, bool is_reshaped, int32_t scalar, bool mul_by_scalar)
Constructor.
Definition: KernelDescriptors.h:188
arm_compute::ScaleKernelInfo::constant_border_value
PixelValue constant_border_value
Constant value to use for constant border mode policy.
Definition: KernelDescriptors.h:230
arm_compute::GEMMLowpReductionKernelInfo::k
int32_t k
Number of matrix columns/rows.
Definition: KernelDescriptors.h:193
arm_compute::GEMMKernelInfo::output_stage
GEMMLowpOutputStageInfo output_stage
GEMMLowp output stage information.
Definition: KernelDescriptors.h:111
arm_compute::MatMulKernelInfo::MatMulKernelInfo
MatMulKernelInfo()=default
arm_compute
Copyright (c) 2017-2023 Arm Limited.
Definition: introduction.dox:24
arm_compute::ScaleKernelInfo
Definition: KernelDescriptors.h:199
arm_compute::MatMulKernelInfo
Definition: KernelDescriptors.h:237
arm_compute::DWCComputeKernelInfo
Compute descriptor used by the depthwise convolution native kernel.
Definition: KernelDescriptors.h:115
arm_compute::DirectConvComputeKernelInfo::export_weights_to_cl_image
bool export_weights_to_cl_image
Flag to export the weights to cl_image.
Definition: KernelDescriptors.h:129
arm_compute::MatMulKernelInfo::export_rhs_to_cl_image
bool export_rhs_to_cl_image
Flag to know whether the RHS tensor should be exported to cl_image.
Definition: KernelDescriptors.h:250
arm_compute::SamplingPolicy::CENTER
@ CENTER
Samples are taken at pixel center.
arm_compute::BorderMode
BorderMode
Methods available to handle borders.
Definition: Types.h:231
arm_compute::GEMMKernelInfo::activation_info
ActivationLayerInfo activation_info
Activation function to perform after the matrix multiplication.
Definition: KernelDescriptors.h:103
arm_compute::DirectConvComputeKernelInfo::export_input_to_cl_image
bool export_input_to_cl_image
Flag to export the input to cl_image.
Definition: KernelDescriptors.h:131
arm_compute::GEMMLowpReductionKernelInfo::mul_by_scalar
bool mul_by_scalar
True if each column/row reduction has to be multiplied by a scalar value.
Definition: KernelDescriptors.h:196
arm_compute::SoftmaxKernelInfo::beta
float beta
A scaling factor for the exponent with default value 1.0.
Definition: KernelDescriptors.h:137
arm_compute::FFTDigitReverseKernelInfo::conjugate
bool conjugate
Flag to conjugate the output/.
Definition: KernelDescriptors.h:44
arm_compute::DataLayout::UNKNOWN
@ UNKNOWN
Unknown data layout.
arm_compute::FFTScaleKernelInfo::conjugate
bool conjugate
Flag to conjugate the output/.
Definition: KernelDescriptors.h:37
arm_compute::MatMulKernelInfo::MatMulKernelInfo
MatMulKernelInfo(bool adj_lhs, bool adj_rhs, int m0=1, int n0=1, int k0=1, bool export_rhs_to_cl_image=false)
Definition: KernelDescriptors.h:240
arm_compute::GEMMKernelInfo::depth_output_gemm3d
unsigned int depth_output_gemm3d
Depth of the output tensor in case is reinterpreted as 3D.
Definition: KernelDescriptors.h:97
arm_compute::DataType::UNKNOWN
@ UNKNOWN
Unknown data type.
arm_compute::GEMMLowpReductionKernelInfo::is_reshaped
bool is_reshaped
True if the input tensor has been reshaped.
Definition: KernelDescriptors.h:194
arm_compute::ScaleKernelInfo::sampling_policy
SamplingPolicy sampling_policy
Sampling policy used by the interpolation.
Definition: KernelDescriptors.h:231
arm_compute::GEMMRHSMatrixInfo
GEMM RHS (Right Hand Side) matrix information.
Definition: Types.h:1911
arm_compute::MatMulKernelInfo::n0
int n0
Number of output columns processed by each work-item.
Definition: KernelDescriptors.h:248
arm_compute::InstanceNormalizationLayerKernelInfo::beta
float beta
The offset scalar value applied to the normalized tensor.
Definition: KernelDescriptors.h:172
arm_compute::DirectConvComputeKernelInfo::k0
int32_t k0
Number of partial accumulations to be processed in a single iteration by the kernel.
Definition: KernelDescriptors.h:128
arm_compute::SoftmaxKernelInfo::input_data_type
DataType input_data_type
Input tensor data type.
Definition: KernelDescriptors.h:139
arm_compute::ScaleKernelInfo::interpolation_policy
InterpolationPolicy interpolation_policy
Interpolation type to use.
Definition: KernelDescriptors.h:228
arm_compute::GEMMKernelInfo::GEMMKernelInfo
GEMMKernelInfo(unsigned int im, unsigned int in, unsigned int ik, unsigned int idepth_output_gemm3d, bool ireinterpret_input_as_3d, bool ibroadcast_bias, bool ifp_mixed_precision, bool ihas_pad_y, ActivationLayerInfo iactivation_info, int inmult_transpose1xW_width, int imult_interleave4x4_height, GEMMLHSMatrixInfo ilhs_info, GEMMRHSMatrixInfo irhs_info, int32_t ina_offset, int32_t inb_offset)
Definition: KernelDescriptors.h:61
arm_compute::DataType
DataType
Available data types.
Definition: CoreTypes.h:83
arm_compute::DirectConvComputeKernelInfo
Compute descriptor used by the direct convolution kernel.
Definition: KernelDescriptors.h:124
arm_compute::GEMMKernelInfo::b_offset
int32_t b_offset
Offset to be added to each element of the matrix B.
Definition: KernelDescriptors.h:110