22.11
GEMMKernelInfo Struct Reference

Descriptor used by the GEMM kernels. More...

#include <KernelDescriptors.h>

Collaboration diagram for GEMMKernelInfo:
[legend]

## 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, const experimental::PostOpList< ITensorInfo *> &ipost_ops=experimental::PostOpList< ITensorInfo *> {})

## 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 fp_mixed_precision { false }
Flag used to indicate wider accumulators (32 bit instead of 16 for FP16). More...

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...

experimental::PostOpList< ITensorInfo * > post_ops {}
(EXPERIMENTAL_POST_OPS) Specifies a list of post ops to be fused after the main op. More...

## Detailed Description

Descriptor used by the GEMM kernels.

Definition at line 58 of file KernelDescriptors.h.

## ◆ GEMMKernelInfo() [1/2]

 GEMMKernelInfo ( )
default

## ◆ GEMMKernelInfo() [2/2]

 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, const experimental::PostOpList< ITensorInfo *> & ipost_ops = experimental::PostOpList {} )
inline

Definition at line 61 of file KernelDescriptors.h.

77  {})
80  rhs_info(irhs_info), a_offset(ina_offset), b_offset(inb_offset), post_ops(ipost_ops)
81  {
82  }
int mult_interleave4x4_height
Multiplication factor for the height of the 4x4 interleaved block.
bool fp_mixed_precision
Flag used to indicate wider accumulators (32 bit instead of 16 for FP16).
unsigned int depth_output_gemm3d
Depth of the output tensor in case is reinterpreted as 3D.
ActivationLayerInfo activation_info
Activation function to perform after the matrix multiplication.
GEMMLHSMatrixInfo lhs_info
LHS matrix information used to retrieve the number of rows processed by each thread.
unsigned int m
Number of LHS rows.
unsigned int n
Number of RHS columns.
int32_t b_offset
Offset to be added to each element of the matrix B.
bool reinterpret_input_as_3d
Flag used to reinterpret the input as 3D.
Flag used to indicate if the input/output tensors have internal pad on the y direction.
int32_t a_offset
Offset to be added to each element of the matrix A.
GEMMRHSMatrixInfo rhs_info
RHS matrix information used for reshaping the RHS matrix.
unsigned int k
Number of LHS columns or RHS rows.
experimental::PostOpList< ITensorInfo * > post_ops
(EXPERIMENTAL_POST_OPS) Specifies a list of post ops to be fused after the main op.
int mult_transpose1xW_width
Multiplication factor for the width of the 1xW transposed block.

## ◆ a_offset

 int32_t a_offset { 0 }

Offset to be added to each element of the matrix A.

Definition at line 97 of file KernelDescriptors.h.

## ◆ activation_info

 ActivationLayerInfo activation_info {}

Activation function to perform after the matrix multiplication.

Definition at line 92 of file KernelDescriptors.h.

## ◆ b_offset

 int32_t b_offset { 0 }

Offset to be added to each element of the matrix B.

Definition at line 98 of file KernelDescriptors.h.

Definition at line 89 of file KernelDescriptors.h.

## ◆ depth_output_gemm3d

 unsigned int depth_output_gemm3d { 0 }

Depth of the output tensor in case is reinterpreted as 3D.

Definition at line 87 of file KernelDescriptors.h.

## ◆ fp_mixed_precision

 bool fp_mixed_precision { false }

Flag used to indicate wider accumulators (32 bit instead of 16 for FP16).

Definition at line 90 of file KernelDescriptors.h.

Referenced by arm_compute::operator<<().

Flag used to indicate if the input/output tensors have internal pad on the y direction.

Definition at line 91 of file KernelDescriptors.h.

Referenced by ClGemmMatrixMultiplyReshapedOnlyRhsKernel::configure().

## ◆ k

 unsigned int k { 0 }

Number of LHS columns or RHS rows.

Definition at line 86 of file KernelDescriptors.h.

## ◆ lhs_info

 GEMMLHSMatrixInfo lhs_info {}

LHS matrix information used to retrieve the number of rows processed by each thread.

Definition at line 95 of file KernelDescriptors.h.

## ◆ m

 unsigned int m { 0 }

## ◆ mult_interleave4x4_height

 int mult_interleave4x4_height { 1 }

Multiplication factor for the height of the 4x4 interleaved block.

Definition at line 94 of file KernelDescriptors.h.

Referenced by arm_compute::operator<<().

## ◆ mult_transpose1xW_width

 int mult_transpose1xW_width { 1 }

Multiplication factor for the width of the 1xW transposed block.

Definition at line 93 of file KernelDescriptors.h.

Referenced by arm_compute::operator<<().

## ◆ n

 unsigned int n { 0 }

## ◆ output_stage

 GEMMLowpOutputStageInfo output_stage {}

GEMMLowp output stage information.

Definition at line 99 of file KernelDescriptors.h.

## ◆ post_ops

 experimental::PostOpList post_ops {}

(EXPERIMENTAL_POST_OPS) Specifies a list of post ops to be fused after the main op.

Note unsupported post ops would not be executed. If specified, automatically disable the activation_info

Definition at line 100 of file KernelDescriptors.h.

## ◆ reinterpret_input_as_3d

 bool reinterpret_input_as_3d { false }

Flag used to reinterpret the input as 3D.

Definition at line 88 of file KernelDescriptors.h.

## ◆ rhs_info

 GEMMRHSMatrixInfo rhs_info {}

RHS matrix information used for reshaping the RHS matrix.

Definition at line 96 of file KernelDescriptors.h.

The documentation for this struct was generated from the following file: