mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-03-17 16:44:07 +00:00
Updated Feature matrix (markdown)
@@ -1,10 +1,11 @@
|
||||
| | **CPU (AVX/AVX2)** | **CPU (ARM NEON)** | **Metal** | **CUDA** | **ROCm** | **SYCL** | **Vulkan** | **Kompute** |
|
||||
|:-----------------------:|:--------------:|:------------------:|:---------:|:----------:|:----------------:|:----------:|:----------:|:-----------:|
|
||||
| **K-quants** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ 🐢⁵ | 🚫 |
|
||||
| **I-quants** | ✅ 🐢⁴ | ✅ 🐢⁴ | ✅ 🐢⁴ | ✅ | ✅ | Partial¹ | ✅ 🐢⁴ | 🚫 |
|
||||
| **Parallel Multi-GPU⁶** | N/A | N/A | N/A | ✅ | ✅ | Sequential only | Sequential only | ❓ |
|
||||
| **K cache quants** | ✅ | ❓ | ✅ | ✅ | ✅ | ❓ | ✅ | 🚫 |
|
||||
| **MoE architecture** | ✅ | ❓ | ✅ | ✅ | ✅ | ❓ | ✅ | 🚫 |
|
||||
| **I-quants** | ✅ 🐢⁴ | ✅ 🐢⁴ | ✅ 🐢⁴ | ✅ | ✅ | Partial¹ | ✅ 🐢⁴ | 🚫 |
|
||||
| **Parallel Multi-GPU⁶** | N/A | N/A | N/A | ✅ | ✅ | Sequential only | Sequential only | ❓ |
|
||||
| **K cache quants** | ✅ | ✅ | ✅ | ✅ | ✅ | ❓ | ✅ | 🚫 |
|
||||
| **MoE architecture** | ✅ | ✅ | ✅ | ✅ | ✅ | ❓ | ✅ | 🚫 |
|
||||
| **Flash Attention** | ✅ | ✅ | ✅ | ✅ | ✅ | ❓ | Partial⁷ | 🚫 |
|
||||
|
||||
* ✅: feature works
|
||||
* 🚫: feature does not work
|
||||
@@ -16,4 +17,4 @@
|
||||
* ⁴: Slower than K-quants of comparable size
|
||||
* ⁵: Generally the CUDA or ROCM backends are faster, though there are cases where Vulkan has faster text generation. See #10879 for benchmarks.
|
||||
* ⁶: By default, all GPU backends can utilize multiple devices by running them sequentially. The CUDA code (which is also used for ROCm via HIP) also has code for running GPUs in parallel via `--split-mode row`. However, this is optimized relatively poorly and is only faster if the interconnect speed is fast vs. the speed of a single GPU.
|
||||
* ⁶: Only q8_0 and iq4_nl
|
||||
* ⁷: This is only implemented for coopmat2. Otherwise the Flash Attention ops will run slowly on CPU instead.
|
||||
Reference in New Issue
Block a user