Ollama non usa la GPU: cause e soluzioni
- IlNegoziodiLuserna®

- 19 mag
- Tempo di lettura: 4 min
Ollama non usa la GPU: cause e soluzioni
Benvenuti sul blog tecnico di IlNegoziodiLuserna®. Se state riscontrando cheOllama non usa la GPUdurante l'esecuzione dei modelli locali, vi trovate di fronte a un problema ditroubleshootingcomune ma complesso. Spesso, infatti, la causa risiede in una configurazione errata del sistema operativo, nei driver, o nel sistema di containerizzazione (come Docker).
Questo articolo tecnico vi guiderà attraverso le diagnosi più comuni e le procedure operative per far sì che Ollama sfrutti appieno la potenza della vostra scheda grafica, sia essa NVIDIA o AMD.
Diagnosi rapida
Prima di procedere con modifiche complesse, eseguite questi controlli preliminari:
Verifica Driver:Assicuratevi che i driver grafici siano aggiornati all'ultima versione stabile disponibile per il vostro sistema operativo.
Verifica Compatibilità:Controllate la documentazione ufficiale di Ollama per confermare che la vostra specifica GPU e la versione del driver siano supportate.
Contesto di Esecuzione:State eseguendo Ollama direttamente sul sistema operativohost, o all'interno di un container (es. Docker)? Le soluzioni e le dipendenze cambiano drasticamente.
Cause principali di mancato utilizzo GPU
Il problema è raramente un singolo fattore; spesso si tratta di una catena di dipendenze interrotte. Le cause più frequenti includono:
# 1. Problemi di Rilevamento Hardware (Sistema Host)
Sospensione/Ripresa (Suspend/Resume):�^ stato segnalato che dopo un ciclo di sospensione e ripresa del sistema, Ollama può fallire nel rilevare correttamente le GPU NVIDIA, causando un fallback forzato alla CPU.
Driver Obsoleti o Incompatibili:Ollama richiede specifiche versioni di driver. Ad esempio, per NVIDIA, è necessario un driver concompute capability5.0+ e versione 531 o successiva. Per AMD, è richiesto ROCm v7.
# 2. Problemi di Containerizzazione (Docker)
Mancanza di Toolkit:Se si utilizza Docker, non è sufficiente installare solo l'immagine di Ollama. �^ obbligatorio installare ilNVIDIA Container Toolkitper esporre correttamente i dispositivi GPU al container.
Permessi di Dispositivo:Su sistemi Linux, i container potrebbero non avere i permessi necessari per accedere ai dispositivi GPU fisici (es. `/dev/kfd` per AMD, o permessi di gruppo per i dispositivi Vulkan).
# 3. Configurazione Specifica GPU
AMD e ROCm:L'utilizzo di acceleratori AMD richiede l'implementazione corretta della libreria ROCm. Inoltre, in alcuni casi, potrebbe essere necessario forzare la versione del target LLVM tramite variabili d'ambiente come `HSA_OVERRIDE_GFX_VERSION`.
Vulkan:Se si tenta di usare l'accelerazione tramite Vulkan, è necessario indicarlo esplicitamente impostando la variabile d'ambiente `OLLAMA_VULKAN=1`.
Soluzioni operative
A seconda della causa identificata nella diagnosi, ecco le procedure correttive specifiche.
# Per Utenti NVIDIA
Aggiornare i Driver:Assicurarsi che il driver NVIDIA sia almeno alla versione 531 o superiore e che la GPU supporti uncompute capability5.0 o superiore.
Configurazione Docker:Installare e configurare ilNVIDIA Container Toolkit. L'avvio del container deve avvenire includendo il flag `--gpus=all`.
Risoluzione Post-Sospensione:Se il problema si verifica puntualmente dopo un riavvio o un'ibernazione del sistema, provate a ricaricare manualmente il driver UVM da terminale con il comando: `sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm`.
# Per Utenti AMD
Installazione ROCm:Installare la suite ROCm v7 utilizzando l'utility ufficiale `amdgpu-install`.
Configurazione Docker:Utilizzare il tag `rocm` specifico per l'immagine Docker e dichiarare i dispositivi necessari all'avvio: `docker run -d --device /dev/kfd --device /dev/dri ... ollama/ollama:rocm`.
Variabili d'Ambiente (Linux):Se il rilevamento rimane incompleto, consultare la documentazione per impostare variabili come `HSA_OVERRIDE_GFX_VERSION` in modo da forzare il target architetturale corretto per la vostra scheda.
# Soluzioni Generiche (Vulkan)
Se i metodi specifici falliscono, e se la vostra configurazione hardware lo permette, potete tentare l'accelerazione forzata tramite le API Vulkan impostando la variabile `OLLAMA_VULKAN=1` prima dell'esecuzione.
Errori da non fare
Ignorare i Driver:Non assumete che l'installazione del solo pacchetto Ollama risolva automaticamente i problemi di comunicazione hardware. I driver devono essere gestiti e aggiornati a livello di sistema operativo.
Eseguire Container Senza Toolkit:Non lanciate container GPU-accelerati senza aver prima installato e configurato lo specifico Toolkit (NVIDIA o AMD) necessario al vostro runtime Docker.
Affidarsi al Fallback:Non considerate il funzionamento su CPU come una soluzione a lungo termine se il vostro obiettivo è l'efficienza e la performance nell'inferenza dei modelli LLM.
Quando valutare hardware o consulenza
Se, dopo aver seguito scrupolosamente tutti i passaggi sopra elencati, Ollama continua a non rilevare la vostra GPU, è altamente probabile che:
Compatibilità Hardware:La vostra GPU non sia supportata dalla versione corrente di Ollama o dal driver ROCm/CUDA attualmente installato.
Restrizioni di Sistema:Siano presenti restrizioni di sicurezza severe a livello OS (come policy SELinux molto restrittive su Linux) che impediscono l'accesso fisico ai dispositivi GPU da parte dei processi containerizzati.
In questi casi, è consigliabile rivedere la documentazione ufficiale per cercareworkaroundspecifici per la vostra distribuzione, oppure richiedere una consulenza tecnica approfondita.
FAQ
D: Come posso forzare Ollama a usare la GPU?
R:Il metodo dipende dall'infrastruttura. Per NVIDIA in Docker, dovete usare il flag `--gpus=all`. Per AMD, è necessario esporre esplicitamente i dispositivi `/dev/kfd` e `/dev/dri` e utilizzare l'immagine con tag `rocm`.
D: Quali driver sono necessari per AMD o NVIDIA?
R:Per architetture NVIDIA, è richiesto un driver in versione 531 o successiva e unacompute capabilitydi almeno 5.0. Per le schede AMD, è richiesto il framework ROCm v7.
D: Come risolvo il problema di rilevamento GPU dopo l'ibernazione del PC?
R:Su sistemi basati su NVIDIA, unworkaroundconsolidato consiste nel ricaricare a caldo il driver UVM tramite il comando: `sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm`.
Fonti tecniche usate
Ollama GPU Support:https://docs.ollama.com/gpu
Ollama Docker Guide:https://docs.ollama.com/docker
NVIDIA Container Toolkit:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/
Problemi di Rilevamento GPU (Issue GitHub #8426):https://github.com/ollama/ollama/issues/8426
Hub Risoluzione Problemi Ufficiale:https://github.com/ollama/ollama/issues





Commenti