35 inline std::string to_str(
const T &val)
45 return os <<
"Native:{" 46 <<
"m0: " << config.
m0 <<
", " 47 <<
"n0: " << config.
n0 <<
", " 48 <<
"k0: " << config.
k0 <<
", " 53 return os <<
"ReshapedOnlyRHS:{" 54 <<
"m0: " << config.
m0 <<
", " 55 <<
"n0: " << config.
n0 <<
", " 56 <<
"k0: " << config.
k0 <<
", " 57 <<
"h0: " << config.
h0 <<
", " 65 return os <<
"Reshaped:{" 66 <<
"m0: " << config.
m0 <<
", " 67 <<
"n0: " << config.
n0 <<
", " 68 <<
"k0: " << config.
k0 <<
", " 69 <<
"v0: " << config.
v0 <<
", " 70 <<
"h0: " << config.
h0 <<
", " 88 os <<
"GEMM_Config_Reshaped_Only_RHS";
93 os <<
"GEMM_Config_Reshaped";
136 std::tie(ht, ip, dt) = index;
138 os <<
"HeuristicType=" << ht <<
",";
139 os <<
"IP=" << ip <<
",";
140 os <<
"DataType=" <<
dt;
148 os <<
"DataType=" << query.
data_type <<
",";
149 os <<
"M=" << query.
m <<
",";
150 os <<
"N=" << query.
n <<
",";
151 os <<
"K=" << query.
k <<
",";
152 os <<
"B=" << query.
b <<
")";
158 return to_str(config);
163 return to_str(config);
168 return to_str(config);
173 return to_str(query);
180 os <<
"(Ln: " << pos.
ln <<
", Col: " << pos.
col <<
")";
unsigned int m0
Number of rows processed by the matrix multiplication.
bool transpose_rhs
True if the (k0xn0) block has to be transposed before been stored.
unsigned int b
Batch size.
unsigned int k0
Number of partial accumulations performed by the matrix multiplication.
bool interleave_rhs
True if the h0 (k0xn0) blocks have to be interleaved in the output row.
GEMM Configuration for Reshaped kernel.
bool interleave_rhs
True if the h0 (k0xn0) blocks have to be interleaved in the output row.
1 channel, 1 F32 per channel
std::string to_string(const GEMMConfigNative &config)
std::stringstream ss(mlgo_str)
unsigned int h0
Number of horizontal blocks of size (k0xn0) stored on the same output row.
std::tuple< HeuristicType, std::string, DataType > Index
bool export_cl_image
True if the reshaped rhs has to be exported to cl_image.
unsigned int n0
Number of columns processed by the matrix multiplication.
HeuristicType
Types of Heuristic (tree)
unsigned int h0
Number of horizontal blocks of size (k0xn0) stored on the same output row.
Copyright (c) 2017-2021 Arm Limited.
1 channel, 1 F16 per channel
About the gemm config for reshaped kernel.
std::string ip_target
The name of the IP target.
unsigned int n0
Number of columns processed by the matrix multiplication.
unsigned int m0
Number of rows processed by the matrix multiplication.
quantized, asymmetric fixed-point 8-bit number unsigned
std::ostream & operator<<(std::ostream &os, const CharPosition &pos)
GEMM Configuration for Reshaped Only RHS kernel.
DataType data_type
Data type.
unsigned int n
Number of columns for the rhs matrix.
bool export_cl_image
True if the reshaped rhs has to be exported to cl_image.
unsigned int k0
Number of partial accumulations performed by the matrix multiplication.
unsigned int m0
Number of rows processed by the matrix multiplication.
bool transpose_rhs
True if the (k0xn0) block has to be transposed before been stored.
unsigned int v0
Number of vertical blocks of size (m0xk0) stored on the same output row.
bool interleave_lhs
True if the v0 (m0xk0) blocks have to be interleaved in the output row.
MLGOHeuristics mlgo(TokenStream &in, bool &valid)
unsigned int k0
Number of partial accumulations performed by the matrix multiplication.
GEMM Configuration for Native kernel.
About the gemm config for reshaped only rhs kernel.
unsigned int n0
Number of columns processed by the matrix multiplication.
DataType
Available data types.
unsigned int m
Number of rows for the lhs matrix.
unsigned int k
Number of rows for the rhs matrix.
std::ostream & operator<<(std::ostream &os, const GEMMConfigNative &config)