Which KoboldCpp backend should you use?

Use CUDA if you have an NVIDIA GPU, KoboldCpp Vulkan for AMD and Intel GPUs (it also works on NVIDIA), and Metal on Apple Silicon Macs, where it is the default. Use CPU only when there is no usable GPU; the Old CPU and Failsafe options are for processors without AVX2 or AVX and are much slower. After launching, the log should show CUDA0, Vulkan0 or MTL0 buffers.

Checked against KoboldCpp 1.124.2 · updated 13 Nov 2026
  • lab-lnx: Linux test VM · 4 vCPU · 15 GB · no GPU
  • gha-w25: Windows Server 2025 test machine · 4 vCPU · 16 GB · no GPU
  • gha-w22: Windows Server 2022 test machine · 4 vCPU · 16 GB · no GPU
  • sw-vulkan: Software Vulkan (Mesa lavapipe) · reports exact VRAM allocations, speeds meaningless
How we test
On this page
  1. Pick a backend in 30 seconds
  2. Every option in the Backend menu
  3. CUDA
  4. KoboldCpp Vulkan: AMD, Intel and NVIDIA
  5. CPU, Old CPU and Failsafe
  6. Metal (Apple Silicon)
  7. ROCm (hipBLAS)
  8. Intel Arc and integrated GPUs
  9. NPUs
  10. Removed backends: CLBlast and OpenBLAS
  11. Check which backend is active

Pick a backend in 30 seconds

Which graphics card do you have?

Every option in the Backend menu

The launcher lists only the options whose library is inside your file F84. On the Linux nocuda build that is:

Backend libraries inside the Linux builds, 1.124.2
koboldcpp_default.soUse CPU2.9 MB2.9 MB
koboldcpp_noavx2.soUse CPU (Old CPU)2.9 MB2.9 MB
koboldcpp_failsafe.soFailsafe Mode (Older CPU)2.7 MB2.7 MB
koboldcpp_vulkan.soUse Vulkan4.7 MB4.7 MB
koboldcpp_vulkan_noavx2.soUse Vulkan (Old CPU)4.5 MB4.5 MB
koboldcpp_vulkan_failsafe.soUse Vulkan (Older CPU)not included4.2 MB
koboldcpp_hipblas.soUse hipBLAS (ROCm)not included806 MB

CUDA is a separate library that the CUDA builds carry; we have no CUDA build for Linux here, so it is not in the table. The flags are , , , and .

CUDA

NVIDIA only. The main builds use CUDA 12.1 and the -oldpc build 11.4 (upstream). --usecublas was renamed --usecuda in 1.96 and the old name still works (flags). The CUDA file on a PC with no NVIDIA card still starts and runs on the CPU, 2 to 4 times slower to start F02. More in NVIDIA.

KoboldCpp Vulkan: AMD, Intel and NVIDIA

Vulkan has been in KoboldCpp since 1.56 (multi-GPU since 1.57) and is in every Windows and Linux build, including nocuda, so there is no separate Vulkan download F84. It is the upstream recommendation for AMD (AMD). We could not measure CUDA against Vulkan on one card: we have no GPU here. We did test the selection logic with a software Vulkan device: KoboldCpp skips it unless you select it explicitly, and when selected it offloads layers like a real GPU F35. Users report garbled output on some versions and slowdowns after games; if output is garbled on one backend, try the other first (reported, not tested).

CPU, Old CPU and Failsafe

CPU is what runs when no GPU is found; the log says so in three lines F18. Old CPU is the library without AVX2, and Failsafe the one without AVX; it implies no AVX2.

What the wrong CPU option costsgha-w22 (Windows Server 2022, 4 vCPU, no GPU), 0.5B Q4_K_M, KoboldCpp 1.124.2CPU lab, 0.5B model: relative differences only
  • Use CPU47.4 tok/s
  • oldpc build28.2 tok/s
  • --noavx231.7 tok/s
  • --failsafe5.8 tok/s
Data
ItemValue (tok/s)
Use CPU47.4
oldpc build28.2
--noavx231.7
--failsafe5.8

Download CSV · Results: R-ci1-w22-nocuda-base-q4_k_m, R-ci1-w22-oldpc-base-q4_k_m, R-ci1-w22-nocuda-fail-noavx2, R-ci1-w22-nocuda-fail-failsafe

Metal (Apple Silicon)

Metal is built into koboldcpp-mac-arm64 and has been the default with full offload since 1.74 (upstream). On GitHub’s macOS VM Metal was slower than the CPU (4.3 to 5.7 against 7.5 to 10.1 tokens per second), which is a VM artefact and says nothing about a real Mac F29. Intel Macs have no binary: build from source for CPU only. See Mac.

ROCm (hipBLAS)

AMD only. It is official as the Linux rocm-rolling build, which carries an 806 MB hipBLAS library F84; on a machine with no AMD GPU it starts on its CPU path and --usecuda aborts with exit code 134 F74. Windows ROCm is a third-party fork. See AMD.

Intel Arc and integrated GPUs

Vulkan is the only prebuilt path; there is no SYCL build (upstream; users have asked for one). We have no Intel card, so speeds and driver problems here are users’ reports. Built-in graphics may report little memory: see GPU layers.

NPUs

No NPU backend appears in 1.124.2’s backend list. A model can be split between a GPU and the CPU through partial offload (GPU layers), but that is not an NPU.

Removed backends: CLBlast and OpenBLAS

removed --useclblast existed from 1.5 to 1.106.2, had a compatibility mode in 1.78 and was removed in 1.107. Old guides that say “use CLBlast for AMD” are out of date: use Vulkan. OpenBLAS became part of CPU in 1.75.

Check which backend is active

Asking for a GPU that is not there does not fail: it runs on the CPU, and the log can still say offloaded 25/25 layers to GPU F17. Look for the buffer lines instead:

Log lines that show where the model is
CUDA0 model buffer sizeOn an NVIDIA GPU
Vulkan0 model buffer sizeOn a Vulkan GPU
MTL0 model buffer sizeOn Apple Metal
CPU KV buffer size and no GPU bufferEverything runs on the CPU, whatever "offloaded" says
Unable to detect VRAM.No GPU was found <EvidenceBadge id="F18" />

If that is your case, see GPU not used.

Frequently asked questions

CUDA or Vulkan for NVIDIA?

CUDA is the usual choice on NVIDIA and is what the main builds are made for. Vulkan also works on NVIDIA cards. We could not measure the two against each other on one card, so we make no speed claim.

Does KoboldCpp work on Intel Arc?

Vulkan is the only prebuilt path for Intel GPUs; there is no SYCL build. We have no Intel card, so what we know is upstream's and users' reports.

Is CLBlast still available?

No. --useclblast existed from 1.5 until its removal in 1.107. Use Vulkan on AMD and Intel.

What does Failsafe mode do?

It loads a library for CPUs without AVX and implies no AVX2. On our test machines it generated 5.75 tokens per second against 47.4 for the normal CPU path.

Can KoboldCpp use my NPU?

No NPU backend is listed in 1.124.2. A GPU and the CPU can share a model through partial offload, but that is not an NPU.

Where is the Vulkan exe?

There is none: Vulkan is inside every Windows and Linux build. We unpacked the Linux nocuda build and found the Vulkan library in it.