mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-08-03 15:57:38 -04:00
vulkan: add ops docs (#14900)
This commit is contained in:
178
docs/ops.md
178
docs/ops.md
@@ -12,92 +12,92 @@ Legend:
|
|||||||
- 🟡 Partially supported by this backend
|
- 🟡 Partially supported by this backend
|
||||||
- ❌ Not supported by this backend
|
- ❌ Not supported by this backend
|
||||||
|
|
||||||
| Operation | BLAS | CPU | CUDA | Metal | SYCL |
|
| Operation | BLAS | CPU | CUDA | Metal | SYCL | Vulkan |
|
||||||
|-----------|------|------|------|------|------|
|
|-----------|------|------|------|------|------|------|
|
||||||
| ABS | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| ABS | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| ACC | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| ACC | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| ADD | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| ADD | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| ADD1 | ❌ | ✅ | ✅ | ❌ | ✅ |
|
| ADD1 | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||||||
| ARANGE | ❌ | ✅ | ✅ | ✅ | ❌ |
|
| ARANGE | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||||
| ARGMAX | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| ARGMAX | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| ARGSORT | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| ARGSORT | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CLAMP | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| CLAMP | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| CONCAT | ❌ | ✅ | 🟡 | ✅ | 🟡 |
|
| CONCAT | ❌ | ✅ | 🟡 | ✅ | 🟡 | ✅ |
|
||||||
| CONT | ❌ | ✅ | ✅ | ✅ | 🟡 |
|
| CONT | ❌ | ✅ | ✅ | ✅ | 🟡 | 🟡 |
|
||||||
| CONV_2D | ❌ | ✅ | ❌ | ❌ | ❌ |
|
| CONV_2D | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
|
||||||
| CONV_2D_DW | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| CONV_2D_DW | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| CONV_TRANSPOSE_1D | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| CONV_TRANSPOSE_1D | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| CONV_TRANSPOSE_2D | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| CONV_TRANSPOSE_2D | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||||
| COS | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| COS | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| COUNT_EQUAL | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| COUNT_EQUAL | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| CPY | ❌ | 🟡 | 🟡 | 🟡 | 🟡 |
|
| CPY | ❌ | 🟡 | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| CROSS_ENTROPY_LOSS | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| CROSS_ENTROPY_LOSS | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||||
| CROSS_ENTROPY_LOSS_BACK | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| CROSS_ENTROPY_LOSS_BACK | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
|
||||||
| DIAG_MASK_INF | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| DIAG_MASK_INF | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| DIV | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| DIV | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| DUP | ❌ | ✅ | 🟡 | 🟡 | ✅ |
|
| DUP | ❌ | ✅ | 🟡 | 🟡 | ✅ | 🟡 |
|
||||||
| ELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| ELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 | ❌ |
|
||||||
| EXP | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| EXP | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| FLASH_ATTN_EXT | ❌ | ✅ | 🟡 | 🟡 | ❌ |
|
| FLASH_ATTN_EXT | ❌ | ✅ | 🟡 | 🟡 | ❌ | 🟡 |
|
||||||
| GATED_LINEAR_ATTN | ❌ | ✅ | ✅ | ❌ | ✅ |
|
| GATED_LINEAR_ATTN | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||||||
| GEGLU | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| GEGLU | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| GEGLU_ERF | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| GEGLU_ERF | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| GEGLU_QUICK | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| GEGLU_QUICK | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| GELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| GELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| GELU_ERF | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| GELU_ERF | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| GELU_QUICK | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| GELU_QUICK | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| GET_ROWS | ❌ | ✅ | 🟡 | ✅ | 🟡 |
|
| GET_ROWS | ❌ | ✅ | 🟡 | ✅ | 🟡 | 🟡 |
|
||||||
| GET_ROWS_BACK | ❌ | 🟡 | 🟡 | ❌ | ❌ |
|
| GET_ROWS_BACK | ❌ | 🟡 | 🟡 | ❌ | ❌ | ❌ |
|
||||||
| GROUP_NORM | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| GROUP_NORM | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| HARDSIGMOID | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| HARDSIGMOID | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| HARDSWISH | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| HARDSWISH | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| IM2COL | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| IM2COL | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| L2_NORM | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| L2_NORM | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| LEAKY_RELU | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| LEAKY_RELU | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| LOG | ❌ | ✅ | ✅ | ❌ | ✅ |
|
| LOG | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
||||||
| MEAN | ❌ | ✅ | ✅ | ✅ | ❌ |
|
| MEAN | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||||
| MUL | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| MUL | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| MUL_MAT | 🟡 | 🟡 | 🟡 | 🟡 | 🟡 |
|
| MUL_MAT | 🟡 | 🟡 | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| MUL_MAT_ID | ❌ | ✅ | ✅ | ✅ | 🟡 |
|
| MUL_MAT_ID | ❌ | ✅ | ✅ | ✅ | 🟡 | ✅ |
|
||||||
| NEG | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| NEG | ❌ | ✅ | 🟡 | 🟡 | 🟡 | ❌ |
|
||||||
| NORM | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| NORM | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| OPT_STEP_ADAMW | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| OPT_STEP_ADAMW | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| OUT_PROD | 🟡 | 🟡 | 🟡 | ❌ | 🟡 |
|
| OUT_PROD | 🟡 | 🟡 | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| PAD | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| PAD | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| PAD_REFLECT_1D | ❌ | ✅ | ❌ | ✅ | ❌ |
|
| PAD_REFLECT_1D | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
||||||
| POOL_2D | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| POOL_2D | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| REGLU | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| REGLU | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| RELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| RELU | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| REPEAT | ❌ | ✅ | 🟡 | ✅ | ✅ |
|
| REPEAT | ❌ | ✅ | 🟡 | ✅ | ✅ | 🟡 |
|
||||||
| REPEAT_BACK | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| REPEAT_BACK | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| RMS_NORM | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| RMS_NORM | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| RMS_NORM_BACK | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| RMS_NORM_BACK | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| RMS_NORM_MUL | ❌ | ❌ | ❌ | ✅ | ❌ |
|
| RMS_NORM_MUL | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
|
||||||
| RMS_NORM_MUL_ADD | ❌ | ✅ | ✅ | ❌ | ✅ |
|
| RMS_NORM_MUL_ADD | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
|
||||||
| ROLL | ❌ | ✅ | ❌ | ❌ | ❌ |
|
| ROLL | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
|
||||||
| ROPE | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| ROPE | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| ROPE_BACK | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| ROPE_BACK | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| RWKV_WKV6 | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| RWKV_WKV6 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| RWKV_WKV7 | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| RWKV_WKV7 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| SCALE | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| SCALE | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| SET | ❌ | ✅ | ❌ | ✅ | ❌ |
|
| SET | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
|
||||||
| SET_ROWS | ❌ | 🟡 | 🟡 | 🟡 | 🟡 |
|
| SET_ROWS | ❌ | 🟡 | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| SGN | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| SGN | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| SIGMOID | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| SIGMOID | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| SILU | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| SILU | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| SILU_BACK | ❌ | ✅ | ✅ | ❌ | ❌ |
|
| SILU_BACK | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
|
||||||
| SIN | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| SIN | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| SOFT_MAX | ❌ | ✅ | ✅ | ✅ | 🟡 |
|
| SOFT_MAX | ❌ | ✅ | ✅ | ✅ | 🟡 | ✅ |
|
||||||
| SOFT_MAX_BACK | ❌ | 🟡 | 🟡 | ❌ | ❌ |
|
| SOFT_MAX_BACK | ❌ | 🟡 | 🟡 | ❌ | ❌ | ✅ |
|
||||||
| SQR | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| SQR | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| SQRT | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| SQRT | ❌ | ✅ | ✅ | 🟡 | ✅ | ❌ |
|
||||||
| SSM_CONV | ❌ | ✅ | ✅ | ✅ | ❌ |
|
| SSM_CONV | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||||
| SSM_SCAN | ❌ | ✅ | ✅ | ✅ | ❌ |
|
| SSM_SCAN | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
|
||||||
| STEP | ❌ | ✅ | 🟡 | ❌ | 🟡 |
|
| STEP | ❌ | ✅ | 🟡 | ❌ | 🟡 | ❌ |
|
||||||
| SUB | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| SUB | ❌ | ✅ | ✅ | 🟡 | ✅ | ✅ |
|
||||||
| SUM | ❌ | ✅ | ✅ | ❌ | ✅ |
|
| SUM | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ |
|
||||||
| SUM_ROWS | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| SUM_ROWS | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| SWIGLU | ❌ | ✅ | ✅ | 🟡 | ✅ |
|
| SWIGLU | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 |
|
||||||
| TANH | ❌ | ✅ | 🟡 | 🟡 | 🟡 |
|
| TANH | ❌ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 |
|
||||||
| TIMESTEP_EMBEDDING | ❌ | ✅ | ✅ | ✅ | ✅ |
|
| TIMESTEP_EMBEDDING | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| UPSCALE | ❌ | ✅ | ✅ | 🟡 | 🟡 |
|
| UPSCALE | ❌ | ✅ | ✅ | 🟡 | 🟡 | ✅ |
|
||||||
|
8133
docs/ops/Vulkan.csv
Normal file
8133
docs/ops/Vulkan.csv
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user