24.02.1
|
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 |
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 58 of file KernelDescriptors.h.
|
default |
|
inline |
Definition at line 61 of file KernelDescriptors.h.
int32_t a_offset {0} |
Offset to be added to each element of the matrix A.
Definition at line 109 of file KernelDescriptors.h.
Referenced by ClGemmLowpMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), arm_compute::operator<<(), and ClGemmLowpMatrixMultiplyCore::validate().
ActivationLayerInfo activation_info {} |
Activation function to perform after the matrix multiplication.
Definition at line 103 of file KernelDescriptors.h.
Referenced by ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), and ClGemmMatrixMultiplyReshapedKernel::configure().
int32_t b_offset {0} |
Offset to be added to each element of the matrix B.
Definition at line 110 of file KernelDescriptors.h.
Referenced by ClGemmLowpMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), arm_compute::operator<<(), and ClGemmLowpMatrixMultiplyCore::validate().
bool broadcast_bias {false} |
Flag used to broadcast the bias addition.
Definition at line 99 of file KernelDescriptors.h.
Referenced by ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedKernel::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 97 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedKernel::configure(), ClGemmLowpMatrixMultiplyCore::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 100 of file KernelDescriptors.h.
Referenced by ClGemmMatrixMultiplyReshapedKernel::configure(), and arm_compute::operator<<().
bool has_pad_y |
Flag used to indicate if the input/output tensors have internal pad on the y direction.
Definition at line 101 of file KernelDescriptors.h.
Referenced by ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure().
unsigned int k {0} |
Number of LHS columns or RHS rows.
Definition at line 96 of file KernelDescriptors.h.
Referenced by ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedKernel::configure(), ClGemmLowpMatrixMultiplyCore::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 107 of file KernelDescriptors.h.
Referenced by ClGemmLowpMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), and ClGemmLowpMatrixMultiplyCore::validate().
unsigned int m {0} |
Number of LHS rows.
Definition at line 94 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedKernel::configure(), ClGemmLowpMatrixMultiplyCore::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 105 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 104 of file KernelDescriptors.h.
Referenced by arm_compute::operator<<().
unsigned int n {0} |
Number of RHS columns.
Definition at line 95 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), arm_compute::operator<<(), and ClGemmLowpMatrixMultiplyCore::validate().
GEMMLowpOutputStageInfo output_stage {} |
GEMMLowp output stage information.
Definition at line 111 of file KernelDescriptors.h.
Referenced by ClGemmLowpMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), and ClGemmLowpMatrixMultiplyCore::validate().
bool reinterpret_input_as_3d {false} |
Flag used to reinterpret the input as 3D.
Definition at line 98 of file KernelDescriptors.h.
Referenced by arm_compute::misc::shape_calculator::compute_mm_shape(), ClGemmMatrixMultiplyNativeKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), arm_compute::operator<<(), and ClGemmLowpMatrixMultiplyCore::validate().
GEMMRHSMatrixInfo rhs_info {} |
RHS matrix information used for reshaping the RHS matrix.
Definition at line 108 of file KernelDescriptors.h.
Referenced by ClGemmLowpMatrixMultiplyReshapedOnlyRhsMMULKernel::configure(), ClGemmLowpMatrixMultiplyReshapedOnlyRhsKernel::configure(), ClGemmLowpMatrixMultiplyCore::configure(), and ClGemmLowpMatrixMultiplyCore::validate().