24.02.1
|
Go to the documentation of this file.
160 unsigned int Ksections,
161 unsigned int nbatches,
165 const int maxthreads,
166 bool fixed_format =
false,
167 bool fast_mode =
false,
212 int32_t requant_shift,
236 const int32_t *requant_left_shifts,
237 const int32_t *requant_right_shifts,
260 template <
typename Top,
typename Tret>
268 template <
typename Top,
typename Tret,
class OutputStage = Nothing>
271 template <
typename Top,
typename Tret,
class OutputStage = Nothing>
272 UniqueGemmCommon<Top, Tret>
gemm(
const GemmArgs &
args,
const OutputStage & = {});
274 template <
typename Top,
typename Tret,
class OutputStage = Nothing>
277 template <
typename Top,
typename Tret,
class OutputStage = Nothing>
KernelDescription get_gemm_method(const GemmArgs &args, const OutputStage &os)
UniqueGemmCommon< Top, Tret > gemm(const GemmArgs &args, const OutputStage &os)
GemmConfig(GemmMethod method)
KernelDescription(GemmMethod m, std::string n, bool d=false, uint64_t c=0)
bool has_opt_gemm(WeightFormat &wf, const GemmArgs &args, const OutputStage &os)
KernelDescription() noexcept
WeightFormat weight_format
int32_t per_layer_left_shift
const int32_t * per_channel_left_shifts
Requantize32(const int32_t *bias, size_t bias_multi_stride, int32_t a_offset, int32_t b_offset, int32_t c_offset, int32_t requant_shift, int32_t requant_mul, int32_t minv, int32_t maxv)
unsigned int outer_block_size
const int32_t * per_channel_right_shifts
int32_t per_layer_right_shift
const int32_t * per_channel_muls
const int32_t * requant_muls
GemmArgs(const CPUInfo *ci, unsigned int M, unsigned int N, unsigned int K, unsigned int Ksections, unsigned int nbatches, unsigned int nmulti, bool indirect_input, Activation act, const int maxthreads, bool fixed_format=false, bool fast_mode=false, const GemmConfig *cfg=nullptr)
unsigned int inner_block_size
Activation(Type type=Type::None, float p1=0.0f, float p2=0.0f)
std::unique_ptr< GemmCommon< Top, Tret > > UniqueGemmCommon
Requantize32(const int32_t *bias, size_t bias_multi_stride, int32_t a_offset, int32_t b_offset, int32_t c_offset, const int32_t *requant_left_shifts, const int32_t *requant_right_shifts, const int32_t *requant_muls, int32_t minv, int32_t maxv)
std::vector< KernelDescription > get_compatible_kernels(const GemmArgs &args, const OutputStage &os)