Avancé 12 minllama.cpp

llama.cpp avec Vulkan (GPU universel)

Vulkan est l'API graphique cross-vendor : elle fonctionne sur NVIDIA, AMD, Intel Arc, même les iGPU. Compiler llama.cpp avec le backend Vulkan permet d'ignorer complètement les galères de CUDA/ROCm et d'avoir une solution qui marche partout. En échange, 10 à 20 % de perf en moins qu'un backend natif — souvent un bon arbitrage pour les setups hétérogènes.

Par Mohamed Meguedmi·Màj 2026-01-28·Testé sur Windows, macOS, Linux

#Pourquoi Vulkan

Vendor-agnostic
Le même binaire tourne sur GeForce, Radeon, Arc, Iris. Pratique pour distribuer un outil ou tester un modèle avant d'acheter une carte.
Installation simple
Les drivers Vulkan sont inclus dans les drivers graphiques standards. Pas de Toolkit de plusieurs Go à installer.
Cartes anciennes
Une GTX 1060 6 Go ou une RX 580 fonctionne via Vulkan, là où CUDA est abandonné et ROCm ne supporte pas.
Intel Arc
Les Arc A580/A750/A770 sont correctement supportées via Vulkan, là où oneAPI est plus bancal.

#GPU compatibles

NVIDIA
Toute carte Maxwell+ (GTX 900 et plus récent). Vulkan est supporté dans tous les drivers NVIDIA récents.
AMD
Polaris (RX 400/500), Vega, Navi (RX 5000/6000/7000/9000). Mesa sur Linux, drivers officiels sur Windows.
Intel Arc
Alchemist (A380-A770) et Battlemage. Excellent rapport perf/prix pour l'IA locale.
iGPU Intel
Xe (Tiger Lake+), Xe2 (Lunar Lake, Arrow Lake). Utile pour les petits modèles sur laptop sans GPU dédié.

#Prérequis

Ubuntu / Debian
sudo apt update
sudo apt install libvulkan-dev vulkan-tools glslang-tools \
  cmake build-essential git
Fedora
sudo dnf install vulkan-headers vulkan-tools \
  glslang-devel cmake gcc-c++ git
Windows
# Installer le SDK Vulkan LunarG (fournit les headers et shaderc)
winget install KhronosGroup.VulkanSDK
Vérifier que Vulkan voit le GPU
vulkaninfo | grep -i "deviceName"
# Doit afficher votre GPU

#1. Build

Terminal
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

cmake -B build -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j

Les shaders Vulkan sont compilés pendant le build. Compte 3-8 minutes selon le CPU.

#2. Tester

Lancer
./build/bin/llama-cli \
  -m ./models/mistral-7b-q4_k_m.gguf \
  -p "Bonjour" -n 128 -ngl 99

Au démarrage, llama.cpp affiche le GPU détecté via Vulkan : ggml_vulkan: Found 1 Vulkan devices: ... Intel(R) Arc(TM) A770. Si vous avez plusieurs GPU, -mg N (main GPU index) pour choisir.

#3. Performance vs CUDA / ROCm

Tokens/seconde sur Mistral 7B Q4_K_M, Flash Attention activé :

RTX 4070 — CUDA natif
~95 tok/s (référence).
RTX 4070 — Vulkan
~80 tok/s (-15 %).
RX 7800 XT — ROCm
~65 tok/s.
RX 7800 XT — Vulkan
~55 tok/s (-15 %). Parfois le plus rapide quand ROCm bloque.
Arc A770 16 Go — Vulkan
~50 tok/s. Meilleur rapport qualité/prix.
iGPU Intel Xe (Lunar Lake)
~10-15 tok/s. Utilisable pour un 3B, limite pour un 7B.

#Quand choisir Vulkan

Vous avez une carte Intel Arc
Vulkan > oneAPI en 2026. Perf stable, pas d'install exotique.
ROCm refuse de coopérer
Carte AMD non officiellement supportée, override qui plante : Vulkan est le plan B qui marche.
Setup multi-vendor
Une machine avec GeForce + Intel Arc, un laptop Thunderbolt+eGPU variable. Vulkan tolère tout.
Distribution d'un outil
Vous codez une app qui doit tourner sur des machines inconnues : le binaire Vulkan est le plus compatible.
i
Pas pour Mac
Sur macOS, Vulkan passe par MoltenVK (couche de traduction vers Metal). Utilisez le backend Metal natif de llama.cpp à la place — c'est plus rapide.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.