Quanta memoria video utilizza un modello AI eseguito sul proprio PC? Quanta ne occupano i pesi del modello e quanta serve per elaborare le richieste? Il Task Manager di Windows 11 mostra l’utilizzo della GPU, ma non riesce a spiegare nel dettaglio come un’applicazione AI distribuisca le proprie risorse. gputaskman (download), uno strumento open source pubblicato su GitHub da Scott Hanselman, affronta il problema con un monitoraggio più approfondito.
Scott Hanselman è uno sviluppatore e divulgatore informatico statunitense con oltre 30 anni di esperienza, oggi vicepresidente e membro dello staff tecnico di Microsoft CoreAI e GitHub. Figura molto conosciuta nella comunità degli sviluppatori, si occupa soprattutto di Windows, .NET, intelligenza artificiale e progetti open source. Su IlSoftware.it abbiamo già parlato di lui in occasione del rilascio del codice sorgente di MS-DOS 4.0 e della presentazione di PeekDesktop, una piccola utilità per Windows 11 sviluppata dallo stesso Hanselman. L’esperto è intervenuto anche sul tema della “deframmentazione” delle unità SSD.
Per anni, il controllo delle schede video ha riguardato soprattutto videogiochi e applicazioni grafiche. Con la diffusione dell’inferenza AI locale, attraverso strumenti come Ollama, LM Studio e llama.cpp, le esigenze sono cambiate. Una GPU con 8, 12 o 16 GB di memoria può raggiungere rapidamente i propri limiti anche senza elaborare immagini tridimensionali: capire dove finiscono quei gigabyte diventa quindi essenziale per scegliere modelli, quantizzazione e dimensioni della finestra di contesto.

Un Task Manager per GPU che guarda dentro i processi
Disponibile nel repository ufficiale GitHub, gputaskman propone un’interfaccia testuale interattiva, ispirata agli strumenti di monitoraggio Linux come htop. Non si limita a visualizzare la percentuale di occupazione della GPU: collega i consumi ai processi, alle librerie utilizzate e, quando dispone di informazioni sufficienti, ai modelli AI caricati.
La schermata comprende VRAM utilizzata, attività dei motori grafici e di calcolo, temperatura, frequenze e consumi energetici. La disponibilità dei singoli indicatori dipende dalla GPU, dai driver e dal sistema operativo. Il programma monitora anche CPU e RAM di sistema, consentendo di osservare come un’applicazione distribuisca il carico tra processore e acceleratore grafico.
Un dettaglio interessante riguarda la memoria di sistema accessibile alla GPU, indicata come Spill: Su Windows, attraverso i contatori WDDM, gputaskman distingue memoria video dedicata e memoria condivisa. Un utilizzo elevato della seconda può contribuire a spiegare rallentamenti quando un modello supera la capacità della scheda; il valore, tuttavia, non dimostra da solo che Windows abbia trasferito dati fuori dalla VRAM per esaurimento dello spazio.
Come installare gputaskman su Windows 11
La soluzione più immediata consiste nello scaricare l’archivio ZIP dalla pagina delle release: sono previste distribuzioni portabili per Windows x64 e ARM64. Basta estrarre completamente l’archivio, mantenendo la cartella _internal accanto all’eseguibile, quindi aprire PowerShell nella directory estratta.
Per avviare il monitoraggio interattivo, digitare .\gputaskman.exe. Il comando .\gputaskman.exe --once produce una singola fotografia delle risorse, mentre .\gputaskman.exe --json restituisce dati strutturati, utilizzabili anche da script.
Chi preferisse installare il programma tramite Python 3.11 o successivo può utilizzare uv tool install gputaskman e avviarlo con gputaskman.
Non servono CUDA Toolkit né privilegi amministrativi per il normale monitoraggio; occorrono invece una GPU supportata e driver aggiornati. Le build portabili Windows, al momento della verifica, non dispongono di firma digitale.
Una prova pratica: individuare cosa consuma memoria GPU
Un esperimento particolarmente istruttivo consiste nell’avviare gputaskman prima di caricare un modello in Ollama o llama.cpp. Dopo aver osservato i valori iniziali, si carica il modello e si invia una richiesta, controllando quanto aumentano la memoria dedicata e quella condivisa.
Per confronti più rigorosi, gputaskman offre anche il comando diff: da PowerShell si può salvare una prima rilevazione con gputaskman --json > prima.json, ripetere l’operazione dopo l’esecuzione del modello con gputaskman --json > dopo.json e infine digitare gputaskman diff prima.json dopo.json.
La procedura permette di verificare l’incremento effettivo della memoria GPU, confrontandolo con le stime relative alla cache e ai buffer. È opportuno acquisire la seconda “istantanea” dopo almeno una richiesta: alcuni runtime allocano memoria soltanto quando iniziano a elaborare i dati.
Si può ripetere l’esperimento modificando la lunghezza del contesto: un aumento della KV cache stimata (memoria necessaria a conservare le informazioni sui token già elaborati dal modello AI durante la generazione delle risposte) non comporta sempre una crescita equivalente della memoria misurata: entrano in gioco allocazioni differite, riutilizzo dei buffer e tecniche di attenzione differenti.
Compatibilità Linux, WSL e limiti da conoscere
gputaskman supporta anche Linux, WSL e macOS su Apple Silicon.
Su Linux l’applicazione utilizza, a seconda dell’hardware, NVIDIA NVML oppure le informazioni esposte dal kernel attraverso sysfs e DRM. Per le GPU AMD con driver amdgpu può leggere dati per processo da /proc/<pid>/fdinfo.
In WSL2 (Windows Subsystem for Linux 2) l’attribuzione della memoria è più complicata: Windows contabilizza le risorse GPU della macchina virtuale attraverso vmwp.exe. Il programma tenta di associare i consumi ai processi Linux sfruttando anche i contatori del sistema host, ma segnala quando l’associazione deriva da un’ipotesi anziché da evidenze sufficienti.
Come evidenzia Hanselman, gputaskman è ancora un software sperimentale: non analizza direttamente il contenuto della VRAM, non identifica ogni modello con certezza e non monitora elaborazioni esclusivamente CPU, NPU o servizi AI remoti. Il suo pregio maggiore è proprio la distinzione tra valori misurati, informazioni dedotte e dati indisponibili.
Per chi utilizza modelli AI locali, sviluppa applicazioni CUDA o cerca di capire perché una GPU continui a occupare memoria dopo un’elaborazione, gputaskman offre una prospettiva che i tradizionali indicatori di utilizzo non riescono a fornire.