Compute Library
 23.05
arm_gemm.hpp File Reference
#include <cstring>
#include <memory>
#include <vector>
#include "arm_gemm_local.hpp"
#include "gemm_common.hpp"

Go to the source code of this file.

Data Structures

struct  KernelDescription
 
struct  GemmConfig
 
struct  Activation
 
struct  GemmArgs
 
struct  Requantize32
 
struct  Nothing
 

Namespaces

 arm_gemm
 

Typedefs

template<typename Top , typename Tret >
using UniqueGemmCommon = std::unique_ptr< GemmCommon< Top, Tret > >
 

Enumerations

enum  GemmMethod {
  DEFAULT, GEMV_BATCHED, GEMV_PRETRANSPOSED, GEMV_NATIVE_TRANSPOSED,
  GEMM_NATIVE, GEMM_HYBRID, GEMM_INTERLEAVED, GEMM_INTERLEAVED_2D,
  QUANTIZE_WRAPPER, QUANTIZE_WRAPPER_2D, GEMM_HYBRID_QUANTIZED
}
 
enum  WeightFormat {
  UNSPECIFIED = 0x1, ANY = 0x2, OHWI = 0x100100, OHWIo2 = 0x100200,
  OHWIo4 = 0x100400, OHWIo8 = 0x100800, OHWIo16 = 0x101000, OHWIo32 = 0x102000,
  OHWIo64 = 0x104000, OHWIo128 = 0x108000, OHWIo4i2 = 0x200400, OHWIo4i2_bf16 = 0x200410,
  OHWIo8i2 = 0x200800, OHWIo8i2_bf16 = 0x200810, OHWIo16i2 = 0x201000, OHWIo16i2_bf16 = 0x201010,
  OHWIo32i2 = 0x202000, OHWIo32i2_bf16 = 0x202010, OHWIo64i2 = 0x204000, OHWIo64i2_bf16 = 0x204010,
  OHWIo4i4 = 0x400400, OHWIo4i4_bf16 = 0x400410, OHWIo8i4 = 0x400800, OHWIo8i4_bf16 = 0x400810,
  OHWIo16i4 = 0x401000, OHWIo16i4_bf16 = 0x401010, OHWIo32i4 = 0x402000, OHWIo32i4_bf16 = 0x402010,
  OHWIo64i4 = 0x404000, OHWIo64i4_bf16 = 0x404010, OHWIo2i8 = 0x800200, OHWIo4i8 = 0x800400,
  OHWIo8i8 = 0x800800, OHWIo16i8 = 0x801000, OHWIo32i8 = 0x802000, OHWIo64i8 = 0x804000
}
 

Functions

template<typename Top , typename Tret , class OutputStage >
KernelDescription get_gemm_method (const GemmArgs &args, const OutputStage &os)
 
template<typename Top , typename Tret , class OutputStage >
UniqueGemmCommon< Top, Tret > gemm (const GemmArgs &args, const OutputStage &os)
 
template<typename Top , typename Tret , class OutputStage >
std::vector< KernelDescription > get_compatible_kernels (const GemmArgs &args, const OutputStage &os)
 
template<typename Top , typename Tret , class OutputStage >
bool has_opt_gemm (WeightFormat &wf, const GemmArgs &args, const OutputStage &os)