1# GGML Operations
2
3List of GGML operations and backend support status.
4
5## How to add a backend to this table:
6
71. 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`)
82. Regenerate `/docs/ops.md` via `./scripts/create_ops_docs.py`
9
10Legend:
11- โ
Fully supported by this backend
12- ๐ก Partially supported by this backend
13- โ Not supported by this backend
14
15| Operation | BLAS | CANN | CPU | CUDA | Metal | OpenCL | SYCL | Vulkan | WebGPU | ZenDNN | zDNN |
16|-----------|------|------|------|------|------|------|------|------|------|------|------|
17| ABS | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
18| ACC | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
19| ADD | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ | โ |
20| ADD1 | โ | โ
| โ
| โ
| โ | โ | โ
| โ
| โ | โ | โ |
21| ADD_ID | โ | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
22| ARANGE | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
23| ARGMAX | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ
| โ | โ |
24| ARGSORT | โ | โ
| โ
| โ
| โ
| ๐ก | ๐ก | โ
| โ
| โ | โ |
25| CEIL | โ | โ | โ
| ๐ก | โ | โ | โ
| ๐ก | โ
| โ | โ |
26| CLAMP | โ | โ
| โ
| โ
| ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
27| CONCAT | โ | โ
| โ
| ๐ก | โ
| ๐ก | โ
| โ
| โ | โ | โ |
28| CONT | โ | ๐ก | โ
| โ
| โ
| ๐ก | ๐ก | โ
| ๐ก | โ | โ |
29| CONV_2D | โ | โ | โ
| โ
| โ
| โ
| โ | โ
| โ | โ | โ |
30| CONV_2D_DW | โ | โ | โ
| โ
| โ | โ | โ | โ
| โ | โ | โ |
31| CONV_3D | โ | โ | โ
| โ | โ | โ | โ | โ | โ | โ | โ |
32| CONV_TRANSPOSE_1D | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
33| CONV_TRANSPOSE_2D | โ | โ | โ
| โ
| โ
| โ | โ | โ
| โ | โ | โ |
34| COS | โ | โ
| โ
| โ
| ๐ก | โ | โ
| ๐ก | โ | โ | โ |
35| COUNT_EQUAL | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
36| CPY | โ | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | โ | โ |
37| CROSS_ENTROPY_LOSS | โ | โ
| โ
| โ
| โ | โ | โ | โ | โ | โ | โ |
38| CROSS_ENTROPY_LOSS_BACK | โ | โ | โ
| โ
| โ | โ | โ | โ | โ | โ | โ |
39| CUMSUM | โ | โ | โ
| โ
| โ
| โ | โ | โ
| โ
| โ | โ |
40| DIAG | โ | โ | โ
| โ
| โ | โ | โ | โ | โ | โ | โ |
41| DIAG_MASK_INF | โ | โ
| โ
| โ
| โ | ๐ก | โ
| โ
| โ | โ | โ |
42| DIV | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ | โ |
43| DUP | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| โ
| โ | โ | โ |
44| ELU | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| โ | โ
| โ | โ |
45| EXP | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
46| EXPM1 | โ | โ | โ
| ๐ก | ๐ก | โ | โ | โ | โ
| โ | โ |
47| FILL | โ | โ | โ
| โ
| โ
| โ | โ | โ
| โ
| โ | โ |
48| FLASH_ATTN_EXT | โ | ๐ก | โ
| ๐ก | ๐ก | ๐ก | โ | ๐ก | ๐ก | โ | โ |
49| FLOOR | โ | โ | โ
| ๐ก | โ | โ | ๐ก | ๐ก | โ
| โ | โ |
50| GATED_LINEAR_ATTN | โ | โ
| โ
| โ
| โ | โ | โ
| โ | โ | โ | โ |
51| GEGLU | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
52| GEGLU_ERF | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
53| GEGLU_QUICK | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
54| GELU | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
55| GELU_ERF | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
56| GELU_QUICK | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
57| GET_ROWS | โ | ๐ก | โ
| ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ก | โ | โ |
58| GET_ROWS_BACK | โ | โ | ๐ก | ๐ก | โ | โ | โ | โ | โ | โ | โ |
59| GROUP_NORM | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
60| HARDSIGMOID | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
61| HARDSWISH | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
62| IM2COL | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
63| IM2COL_3D | โ | โ | โ
| โ
| โ | โ | โ | โ
| โ | โ | โ |
64| L2_NORM | โ | โ
| โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
65| LEAKY_RELU | โ | โ
| โ
| โ
| ๐ก | โ | โ
| ๐ก | โ | โ | โ |
66| LOG | โ | โ
| โ
| โ
| ๐ก | โ | โ
| โ
| โ
| โ | โ |
67| MEAN | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
68| MUL | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ | โ |
69| MUL_MAT | ๐ก | ๐ก | ๐ก | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก |
70| MUL_MAT_ID | โ | ๐ก | โ
| โ
| โ
| ๐ก | ๐ก | โ
| โ | โ | โ |
71| NEG | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
72| NORM | โ | โ
| โ
| โ
| โ
| โ
| โ
| ๐ก | โ | โ | โ |
73| OPT_STEP_ADAMW | โ | โ | โ
| โ
| โ
| โ | โ | โ
| โ | โ | โ |
74| OPT_STEP_SGD | โ | โ | โ
| โ
| โ
| โ | โ | โ
| โ | โ | โ |
75| OUT_PROD | ๐ก | ๐ก | ๐ก | ๐ก | โ | โ | ๐ก | โ | โ | โ | ๐ก |
76| PAD | โ | ๐ก | โ
| ๐ก | ๐ก | ๐ก | ๐ก | โ
| โ
| โ | โ |
77| PAD_REFLECT_1D | โ | โ
| โ
| โ
| โ
| โ | โ
| โ | โ | โ | โ |
78| POOL_1D | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ |
79| POOL_2D | โ | ๐ก | โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
80| REGLU | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
81| RELU | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
82| REPEAT | โ | โ
| โ
| ๐ก | โ
| ๐ก | โ
| ๐ก | โ | โ | โ |
83| REPEAT_BACK | โ | โ | โ
| โ
| โ | โ | โ
| โ
| โ | โ | โ |
84| RMS_NORM | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ |
85| RMS_NORM_BACK | โ | โ | โ
| โ
| โ | โ | โ
| โ
| โ | โ | โ |
86| ROLL | โ | โ | โ
| โ
| โ | โ | โ
| โ
| โ | โ | โ |
87| ROPE | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ |
88| ROPE_BACK | โ | โ | โ
| โ
| โ | โ | โ | โ
| โ | โ | โ |
89| ROUND | โ | โ | โ
| ๐ก | โ | โ | ๐ก | ๐ก | โ
| โ | โ |
90| RWKV_WKV6 | โ | โ | โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
91| RWKV_WKV7 | โ | โ | โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
92| SCALE | โ | ๐ก | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ |
93| SET | โ | โ | โ
| โ
| โ | โ | ๐ก | โ | โ | โ | โ |
94| SET_ROWS | โ | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | ๐ก | โ | โ |
95| SGN | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| โ | โ
| โ | โ |
96| SIGMOID | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
97| SILU | โ | โ
| โ
| ๐ก | ๐ก | ๐ก | โ
| ๐ก | โ
| โ | โ |
98| SILU_BACK | โ | โ | โ
| โ
| โ | โ | โ | โ
| โ | โ | โ |
99| SIN | โ | โ
| โ
| โ
| ๐ก | โ | โ
| ๐ก | โ | โ | โ |
100| SOFTPLUS | โ | โ | โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
101| SOFT_MAX | โ | ๐ก | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ |
102| SOFT_MAX_BACK | โ | โ | ๐ก | ๐ก | โ | โ | ๐ก | โ
| โ | โ | โ |
103| SOLVE_TRI | โ | โ | โ
| ๐ก | โ | โ | โ | ๐ก | โ | โ | โ |
104| SQR | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ | โ | โ |
105| SQRT | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ | โ | โ |
106| SSM_CONV | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
107| SSM_SCAN | โ | โ | โ
| โ
| โ
| โ | โ | ๐ก | โ | โ | โ |
108| STEP | โ | โ
| โ
| ๐ก | ๐ก | โ | โ
| ๐ก | โ
| โ | โ |
109| SUB | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| โ
| โ
| โ | โ |
110| SUM | โ | ๐ก | โ
| ๐ก | ๐ก | โ | ๐ก | ๐ก | ๐ก | โ | โ |
111| SUM_ROWS | โ | โ
| โ
| ๐ก | โ
| ๐ก | ๐ก | โ
| โ
| โ | โ |
112| SWIGLU | โ | โ
| โ
| โ
| ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
113| SWIGLU_OAI | โ | โ | โ
| โ
| โ
| โ
| โ
| ๐ก | โ
| โ | โ |
114| TANH | โ | โ
| โ
| ๐ก | ๐ก | โ
| โ
| ๐ก | โ
| โ | โ |
115| TIMESTEP_EMBEDDING | โ | โ
| โ
| โ
| โ
| โ
| โ
| โ
| โ | โ | โ |
116| TOP_K | โ | โ | โ
| โ | โ
| โ | ๐ก | ๐ก | โ
| โ | โ |
117| TRI | โ | โ | โ
| โ
| โ
| โ | โ
| โ
| โ | โ | โ |
118| TRUNC | โ | โ | โ
| ๐ก | โ | โ | ๐ก | ๐ก | โ
| โ | โ |
119| UPSCALE | โ | ๐ก | โ
| โ
| ๐ก | ๐ก | ๐ก | ๐ก | โ | โ | โ |
120| XIELU | โ | โ | โ
| โ | โ | โ | โ | โ | โ
| โ | โ |