Files
llama.cpp/docs/ops.md
T
Giuseppe Scrivano 7d77f07325 vulkan: implement ADD1, ARANGE, FILL, SOFTPLUS, STEP, ROUND, CEIL, FLOOR, TRUNC (#17319)
* vulkan: initialize array

* vulkan: implement ADD1

* vulkan: implement ARANGE

* vulkan: implement FILL

* vulkan: implement SOFTPLUS

* vulkan: implement STEP

* vulkan: implement ROUND

* vulkan: implement CEIL

* vulkan: implement FLOOR

* vulkan: implement TRUNC

* docs: update Vulkan ops

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-11-19 17:29:45 +01:00

10 KiB

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 ⌠⌠✅ ✅ ⌠⌠⌠⌠âŒ
CUMSUM ⌠⌠✅ ⌠⌠⌠⌠⌠âŒ
DIAG_MASK_INF ⌠✅ ✅ ✅ 🟡 🟡 ✅ ✅ âŒ
DIV ⌠✅ ✅ ✅ 🟡 🟡 ✅ ✅ âŒ
DUP ⌠✅ ✅ 🟡 🟡 🟡 ✅ 🟡 âŒ
ELU ⌠✅ ✅ 🟡 🟡 ⌠✅ ⌠âŒ
EXP ⌠✅ ✅ 🟡 🟡 ⌠✅ 🟡 âŒ
EXPM1 ⌠⌠✅ 🟡 ⌠⌠⌠⌠âŒ
FILL ⌠⌠✅ ⌠⌠⌠⌠✅ âŒ
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 ⌠⌠⌠⌠⌠⌠⌠⌠âŒ
SOFTPLUS ⌠⌠✅ 🟡 ⌠⌠⌠🟡 âŒ
SOFT_MAX ⌠🟡 ✅ ✅ ✅ ✅ ✅ ✅ âŒ
SOFT_MAX_BACK ⌠⌠🟡 🟡 ⌠⌠🟡 ✅ âŒ
SOLVE_TRI ⌠⌠✅ ⌠⌠⌠⌠⌠âŒ
SQR ⌠✅ ✅ ✅ 🟡 ⌠🟡 🟡 âŒ
SQRT ⌠✅ ✅ ✅ 🟡 ⌠🟡 🟡 âŒ
SSM_CONV ⌠⌠✅ ✅ ✅ ⌠✅ ✅ âŒ
SSM_SCAN ⌠⌠✅ ✅ ✅ ⌠⌠🟡 âŒ
STEP ⌠✅ ✅ 🟡 🟡 ⌠✅ 🟡 âŒ
SUB ⌠✅ ✅ ✅ 🟡 🟡 ✅ ✅ âŒ
SUM ⌠✅ ✅ 🟡 ⌠⌠🟡 🟡 âŒ
SUM_ROWS ⌠✅ ✅ 🟡 ✅ ✅ 🟡 ✅ âŒ
SWIGLU ⌠✅ ✅ ✅ 🟡 ✅ ✅ 🟡 âŒ
SWIGLU_OAI ⌠⌠✅ ✅ ⌠⌠⌠🟡 âŒ
TANH ⌠✅ ✅ 🟡 🟡 ✅ ✅ 🟡 âŒ
TIMESTEP_EMBEDDING ⌠✅ ✅ ✅ ✅ ✅ ✅ ✅ âŒ
TRI ⌠⌠✅ ��Œ ⌠⌠⌠⌠âŒ
TRUNC ⌠⌠✅ 🟡 ⌠⌠🟡 🟡 âŒ
UPSCALE ⌠🟡 ✅ ✅ 🟡 ✅ 🟡 ✅ âŒ
XIELU ⌠⌠✅ ⌠⌠⌠⌠⌠âŒ