Skip to content

Latest commit

Β 

History

History
116 lines (111 loc) Β· 9.64 KB

File metadata and controls

116 lines (111 loc) Β· 9.64 KB

GGML Operations

List of GGML operations and backend support status.

How to add a backend to this table:

  1. Run test-backend-ops support --output csv with your backend name and redirect output to a csv file in docs/ops/ (e.g., docs/ops/CUDA.csv)
  2. Regenerate /docs/ops.md via ./scripts/create_ops_docs.py

Legend:

  • βœ… Fully supported by this backend
  • 🟑 Partially supported by this backend
  • ❌ Not supported by this backend
Operation BLAS CANN CPU CUDA Metal OpenCL SYCL Vulkan zDNN
ABS ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
ACC ❌ βœ… βœ… βœ… βœ… ❌ βœ… βœ… ❌
ADD ❌ βœ… βœ… βœ… 🟑 🟑 βœ… βœ… ❌
ADD1 ❌ βœ… βœ… βœ… ❌ ❌ βœ… ❌ ❌
ADD_ID ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
ARANGE ❌ βœ… βœ… βœ… βœ… ❌ ❌ ❌ ❌
ARGMAX ❌ βœ… βœ… βœ… βœ… ❌ βœ… βœ… ❌
ARGSORT ❌ βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
CEIL ❌ ❌ βœ… 🟑 ❌ ❌ βœ… ❌ ❌
CLAMP ❌ βœ… βœ… βœ… 🟑 🟑 βœ… 🟑 ❌
CONCAT ❌ βœ… βœ… 🟑 βœ… 🟑 🟑 βœ… ❌
CONT ❌ 🟑 βœ… βœ… βœ… 🟑 🟑 🟑 ❌
CONV_2D ❌ ❌ βœ… ❌ ❌ βœ… ❌ βœ… ❌
CONV_2D_DW ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
CONV_3D ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
CONV_TRANSPOSE_1D ❌ βœ… βœ… βœ… βœ… ❌ βœ… βœ… ❌
CONV_TRANSPOSE_2D ❌ ❌ βœ… βœ… ❌ ❌ ❌ ❌ ❌
COS ❌ βœ… βœ… βœ… 🟑 ❌ βœ… 🟑 ❌
COUNT_EQUAL ❌ βœ… βœ… βœ… ❌ ❌ βœ… βœ… ❌
CPY ❌ 🟑 🟑 🟑 🟑 🟑 🟑 🟑 ❌
CROSS_ENTROPY_LOSS ❌ ❌ βœ… βœ… ❌ ❌ ❌ ❌ ❌
CROSS_ENTROPY_LOSS_BACK ❌ ❌ βœ… βœ… ❌ ❌ ❌ ❌ ❌
DIAG_MASK_INF ❌ βœ… βœ… βœ… 🟑 🟑 βœ… βœ… ❌
DIV ❌ βœ… βœ… βœ… 🟑 🟑 βœ… βœ… ❌
DUP ❌ βœ… βœ… 🟑 🟑 🟑 βœ… 🟑 ❌
ELU ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
EXP ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
FLASH_ATTN_EXT ❌ 🟑 βœ… 🟑 🟑 ❌ ❌ 🟑 ❌
FLOOR ❌ ❌ βœ… 🟑 ❌ ❌ βœ… ❌ ❌
GATED_LINEAR_ATTN ❌ ❌ βœ… βœ… ❌ ❌ βœ… ❌ ❌
GEGLU ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
GEGLU_ERF ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
GEGLU_QUICK ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
GELU ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
GELU_ERF ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
GELU_QUICK ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
GET_ROWS ❌ 🟑 βœ… 🟑 βœ… 🟑 🟑 🟑 ❌
GET_ROWS_BACK ❌ ❌ 🟑 🟑 ❌ ❌ ❌ ❌ ❌
GROUP_NORM ❌ βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
GROUP_NORM_MUL_ADD ❌ ❌ ❌ ❌ ❌ ❌ βœ… ❌ ❌
HARDSIGMOID ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
HARDSWISH ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
IM2COL ❌ βœ… βœ… βœ… 🟑 βœ… βœ… βœ… ❌
IM2COL_3D ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
L2_NORM ❌ ❌ βœ… βœ… βœ… ❌ βœ… βœ… ❌
LEAKY_RELU ❌ βœ… βœ… βœ… βœ… ❌ βœ… βœ… ❌
LOG ❌ βœ… βœ… βœ… ❌ ❌ βœ… ❌ ❌
MEAN ❌ βœ… βœ… βœ… βœ… ❌ ❌ ❌ ❌
MUL ❌ βœ… βœ… βœ… 🟑 🟑 βœ… βœ… ❌
MUL_MAT 🟑 🟑 🟑 🟑 🟑 🟑 🟑 🟑 🟑
MUL_MAT_ID ❌ 🟑 βœ… βœ… βœ… 🟑 🟑 βœ… ❌
NEG ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
NORM ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
NORM_MUL_ADD ❌ ❌ ❌ ❌ ❌ ❌ βœ… ❌ ❌
OPT_STEP_ADAMW ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
OPT_STEP_SGD ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
OUT_PROD 🟑 ❌ 🟑 🟑 ❌ ❌ 🟑 ❌ ❌
PAD ❌ βœ… βœ… βœ… βœ… βœ… 🟑 βœ… ❌
PAD_REFLECT_1D ❌ βœ… βœ… ❌ βœ… ❌ ❌ ❌ ❌
POOL_2D ❌ 🟑 βœ… βœ… βœ… ❌ βœ… βœ… ❌
REGLU ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
RELU ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
REPEAT ❌ βœ… βœ… 🟑 βœ… 🟑 βœ… 🟑 ❌
REPEAT_BACK ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
RMS_NORM ❌ βœ… βœ… βœ… 🟑 βœ… βœ… βœ… ❌
RMS_NORM_BACK ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
RMS_NORM_MUL_ADD ❌ βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
ROLL ❌ ❌ βœ… ❌ ❌ ❌ ❌ βœ… ❌
ROPE ❌ 🟑 βœ… βœ… βœ… βœ… βœ… βœ… ❌
ROPE_BACK ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
ROUND ❌ ❌ βœ… 🟑 ❌ ❌ βœ… ❌ ❌
RWKV_WKV6 ❌ ❌ βœ… βœ… βœ… ❌ βœ… βœ… ❌
RWKV_WKV7 ❌ ❌ βœ… βœ… βœ… ❌ βœ… βœ… ❌
SCALE ❌ 🟑 βœ… βœ… βœ… βœ… βœ… βœ… ❌
SET ❌ ❌ βœ… ❌ βœ… ❌ ❌ ❌ ❌
SET_ROWS ❌ ❌ 🟑 🟑 🟑 🟑 🟑 🟑 ❌
SGN ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
SIGMOID ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
SILU ❌ βœ… βœ… 🟑 🟑 🟑 🟑 🟑 ❌
SILU_BACK ❌ ❌ βœ… βœ… ❌ ❌ ❌ βœ… ❌
SIN ❌ βœ… βœ… βœ… 🟑 ❌ βœ… 🟑 ❌
SOFTCAP ❌ ❌ ❌ ❌ ❌ ❌ βœ… ❌ ❌
SOFT_MAX ❌ 🟑 βœ… βœ… βœ… βœ… βœ… βœ… ❌
SOFT_MAX_BACK ❌ ❌ 🟑 🟑 ❌ ❌ 🟑 βœ… ❌
SQR ❌ βœ… βœ… βœ… 🟑 ❌ βœ… 🟑 ❌
SQRT ❌ βœ… βœ… βœ… 🟑 ❌ βœ… ❌ ❌
SSM_CONV ❌ ❌ βœ… βœ… βœ… ❌ ❌ βœ… ❌
SSM_SCAN ❌ ❌ βœ… βœ… βœ… ❌ ❌ βœ… ❌
STEP ❌ βœ… βœ… 🟑 🟑 ❌ 🟑 ❌ ❌
SUB ❌ βœ… βœ… βœ… 🟑 🟑 βœ… βœ… ❌
SUM ❌ βœ… βœ… βœ… ❌ ❌ βœ… βœ… ❌
SUM_ROWS ❌ βœ… βœ… βœ… βœ… βœ… 🟑 βœ… ❌
SWIGLU ❌ βœ… βœ… βœ… 🟑 βœ… βœ… 🟑 ❌
SWIGLU_OAI ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌
TANH ❌ βœ… βœ… 🟑 🟑 βœ… 🟑 🟑 ❌
TIMESTEP_EMBEDDING ❌ βœ… βœ… βœ… βœ… βœ… βœ… βœ… ❌
TOPK_MOE ❌ ❌ ❌ ❌ ❌ ❌ βœ… ❌ ❌
TRUNC ❌ ❌ βœ… 🟑 ❌ ❌ βœ… ❌ ❌
UPSCALE ❌ 🟑 βœ… βœ… 🟑 βœ… 🟑 βœ… ❌
XIELU ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌ ❌