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 | โŒ | โŒ | โœ… | โŒ | โŒ | โŒ | โŒ | โŒ | โœ… | โŒ | โŒ |