21.02
|
Descriptor used by the GEMM kernels. More...
#include <KernelDescriptors.h>
Public Member Functions | |
GEMMKernelInfo ()=default | |
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) | |
Data Fields | |
unsigned int | m { 0 } |
Number of LHS rows. More... | |
unsigned int | n { 0 } |
Number of RHS columns. More... | |
unsigned int | k { 0 } |
Number of LHS columns or RHS rows. More... | |
unsigned int | depth_output_gemm3d { 0 } |
Depth of the output tensor in case is reinterpreted as 3D. More... | |
bool | reinterpret_input_as_3d { false } |
Flag used to reinterpret the input as 3D. More... | |
bool | broadcast_bias { false } |
Flag used to broadcast the bias addition. More... | |
bool | fp_mixed_precision { false } |
Flag used to indicate wider accumulators (32 bit instead of 16 for FP16). More... | |
bool | has_pad_y { false } |
Flag used to indicate if the input/output tensors have internal pad on the y direction. More... | |
ActivationLayerInfo | activation_info {} |
Activation function to perform after the matrix multiplication. More... | |
int | mult_transpose1xW_width { 1 } |
Multiplication factor for the width of the 1xW transposed block. More... | |
int | mult_interleave4x4_height { 1 } |
Multiplication factor for the height of the 4x4 interleaved block. More... | |
GEMMLHSMatrixInfo | lhs_info {} |
LHS matrix information used to retrieve the number of rows processed by each thread. More... | |
GEMMRHSMatrixInfo | rhs_info {} |
RHS matrix information used for reshaping the RHS matrix. More... | |
int32_t | a_offset { 0 } |
Offset to be added to each element of the matrix A. More... | |
int32_t | b_offset { 0 } |
Offset to be added to each element of the matrix B. More... | |
GEMMLowpOutputStageInfo | output_stage {} |
GEMMLowp output stage information. More... | |
Descriptor used by the GEMM kernels.
Definition at line 56 of file KernelDescriptors.h.
|
default |
|
inline |
Definition at line 59 of file KernelDescriptors.h.
int32_t a_offset { 0 } |
Offset to be added to each element of the matrix A.
Definition at line 94 of file KernelDescriptors.h.
Referenced by CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
ActivationLayerInfo activation_info {} |
Activation function to perform after the matrix multiplication.
Definition at line 89 of file KernelDescriptors.h.
int32_t b_offset { 0 } |
Offset to be added to each element of the matrix B.
Definition at line 95 of file KernelDescriptors.h.
Referenced by CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
bool broadcast_bias { false } |
Flag used to broadcast the bias addition.
Definition at line 86 of file KernelDescriptors.h.
Referenced by CLGEMMMatrixMultiplyNativeKernel::configure(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure(), and arm_compute::operator<<().
unsigned int depth_output_gemm3d { 0 } |
Depth of the output tensor in case is reinterpreted as 3D.
Definition at line 84 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), CLGEMMMatrixMultiplyNativeKernel::configure(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
bool fp_mixed_precision { false } |
Flag used to indicate wider accumulators (32 bit instead of 16 for FP16).
Definition at line 87 of file KernelDescriptors.h.
Referenced by arm_compute::operator<<().
bool has_pad_y { false } |
Flag used to indicate if the input/output tensors have internal pad on the y direction.
Definition at line 88 of file KernelDescriptors.h.
Referenced by CLGEMMReshapeRHSMatrixKernelManaged::configure(), and CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure().
unsigned int k { 0 } |
Number of LHS columns or RHS rows.
Definition at line 83 of file KernelDescriptors.h.
Referenced by CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
GEMMLHSMatrixInfo lhs_info {} |
LHS matrix information used to retrieve the number of rows processed by each thread.
Definition at line 92 of file KernelDescriptors.h.
Referenced by CLGEMMReshapeRHSMatrixKernelManaged::configure(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), and CLGEMMLowpMatrixMultiplyCore::validate().
unsigned int m { 0 } |
Number of LHS rows.
Definition at line 81 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
int mult_interleave4x4_height { 1 } |
Multiplication factor for the height of the 4x4 interleaved block.
Definition at line 91 of file KernelDescriptors.h.
Referenced by arm_compute::operator<<().
int mult_transpose1xW_width { 1 } |
Multiplication factor for the width of the 1xW transposed block.
Definition at line 90 of file KernelDescriptors.h.
Referenced by arm_compute::operator<<().
unsigned int n { 0 } |
Number of RHS columns.
Definition at line 82 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
GEMMLowpOutputStageInfo output_stage {} |
GEMMLowp output stage information.
Definition at line 96 of file KernelDescriptors.h.
Referenced by CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), and CLGEMMLowpMatrixMultiplyCore::validate().
bool reinterpret_input_as_3d { false } |
Flag used to reinterpret the input as 3D.
Definition at line 85 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), CLGEMMMatrixMultiplyNativeKernel::configure(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), CLGEMMMatrixMultiplyReshapedOnlyRHSKernel::configure(), arm_compute::operator<<(), and CLGEMMLowpMatrixMultiplyCore::validate().
GEMMRHSMatrixInfo rhs_info {} |
RHS matrix information used for reshaping the RHS matrix.
Definition at line 93 of file KernelDescriptors.h.
Referenced by CLGEMMReshapeRHSMatrixKernelManaged::configure(), CLGEMMLowpMatrixMultiplyCore::configure(), CLGEMMLowpMatrixMultiplyReshapedOnlyRHSKernel::configure(), and CLGEMMLowpMatrixMultiplyCore::validate().