51 static std::map<DataType, FunctionExecutorPtr> gemm_configs =
63 if(gemm_configs.find(data_type) != gemm_configs.end())
65 return (this->*gemm_configs[data_type])(params.
m, params.
n, params.
k, params.
b, params.
is_rhs_constant);
71 CLGEMMKernelType CLGEMMDefaultTypeMidgard::default_f32(
unsigned int m,
unsigned int n,
unsigned int k,
unsigned int b,
bool is_rhs_constant)
79 CLGEMMKernelType CLGEMMDefaultTypeMidgard::default_f16(
unsigned int m,
unsigned int n,
unsigned int k,
unsigned int b,
bool is_rhs_constant)
87 CLGEMMKernelType CLGEMMDefaultTypeMidgard::default_q8(
unsigned int m,
unsigned int n,
unsigned int k,
unsigned int b,
bool is_rhs_constant)
unsigned int m
Number of rows for the lhs matrix.
OpenCL GEMM kernel selection parameters.
#define ARM_COMPUTE_ERROR(msg)
Print the given message then throw an std::runtime_error.
CLGEMMKernelType select_kernel(const CLGEMMKernelSelectionParams ¶ms) override
Given the input parameters passed through CLGEMMKernelSelectionParams, this method returns the CLGEMM...
Midgard based OpenCL GEMMKernel selection.
1 channel, 1 F32 per channel
Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context...
CLGEMMKernelType
OpenCL GEMM kernel types.
Basic interface for the GEMM kernel selection.
Copyright (c) 2017-2021 Arm Limited.
1 channel, 1 F16 per channel
Native GEMM kernel with fixed block size.
#define ARM_COMPUTE_UNUSED(...)
To avoid unused variables warnings.
CLGEMMDefaultTypeMidgard(GPUTarget gpu)
Constructor.
quantized, asymmetric fixed-point 8-bit number unsigned
bool is_rhs_constant
True if the content of the rhs matrix is constant.
quantized, symmetric fixed-point 8-bit number
quantized, symmetric per channel fixed-point 8-bit number
unsigned int b
Batch size.
GPUTarget
Available GPU Targets.
Native GEMM kernel with configurable block size.
DataType data_type
Data type.
unsigned int n
Number of columns for the rhs matrix.
quantized, asymmetric fixed-point 8-bit number signed
DataType
Available data types.
Reshaped GEMM kernel where both lhs and rhs matrices are reshaped.
unsigned int k
Number of rows for the rhs matrix.