Che cos’è GPU‑Unlock e come funziona
GPU‑Unlock è un modulo del kernel Linux, distribuito sotto licenza GPL‑2.0, che consente alle schede Nvidia RTX serie 30 di eseguire le istruzioni FP16 e BF16 alla velocità delle controparti professionali, senza intervenire sul driver proprietario. Il progetto è nato il 18 ottobre su GitHub, sotto il nome utente Zagitta, e ha rapidamente raccolto 5 619 stelle e 601 fork entro il 25 ottobre, con più di un centinaio di segnalazioni e pull request aperte.
FP16 e BF16 sono formati numerici a 16 bit alla base della maggior parte delle applicazioni di intelligenza artificiale moderna. Il modulo non altera la capacità di memoria della GPU, ma modifica i tempi con cui la scheda avvia queste istruzioni, rimuovendo un limite interno che riduceva a metà la velocità rispetto alle schede professionali.
Meccanismo di sblocco
Il modulo viene inserito nell’initramfs – l’immagine di avvio di Linux – prima del driver Nvidia. Una volta caricato, scrive due selettori di velocità, resetta la GPU e poi lascia che il driver tradizionale la gestisca. Non è una patch UEFI né un driver modificato, perciò non è necessario ricompilare o aggiornare il driver Nvidia ad ogni nuova versione.
Prestazioni misurate: benchmark e risultati reali
Nel benchmark GEMM (moltiplicazione di matrici), operazione cruciale per i grandi modelli, le schede GA102, GA103, GA104 e GA106 hanno mostrato aumenti significativi:
- RTX 3090 Ti (450 W): BF16 da 87,5 TFLOPS a 157,4 TFLOPS (+68‑80 %); TF32 da 42,6 TFLOPS a 82,6 TFLOPS (+94 %); FP16 da 87,5 TFLOPS a 118,4 TFLOPS (+35 %).
- RTX 3090: +25‑67 % (schede limitate a 225 W).
- RTX 3080 10 GB: +70‑73 %.
- RTX 3080 20 GB (memoria maggiorata): +56‑59 %.
- RTX 3070: +73‑81 %.
- RTX 3060 12 GB: circa +80 % (da pull request).
Questi dati provengono da cinque campioni mediani con accumulo in FP32, riportati nel README del progetto.
Impatto sui LLM locali
I test segnalati mostrano che GPU‑Unlock accelera il prefill – la fase in cui il modello legge il prompt – dal 14 % al 36 % nei quattro report presenti nel repository. La fase di decode, ovvero la generazione dei token successivi, rimane invariata perché dipendente dalla larghezza di banda della memoria piuttosto che dal calcolo puro. Anche le operazioni in INT8 non mostrano variazioni di velocità.
Gli utenti su Reddit r/LocalLLaMA riportano:
- ≈15 % di prefill in più su una RTX 3080 20 GB modificata.
- 10‑15 % di miglioramento in inferenza, senza differenze nel decode.
- Stime di 50‑55 % di TFLOPS per passo in addestramento LoRA, a parità di potenza.
Un numero ricorrente è “381 token al secondo su Qwen‑3.8‑27B con una RTX 3090”, ma secondo Wccftech quel salto è attribuito a ottimizzazioni aggiuntive (MTP e DFlash), non al solo sblocco.
Limiti e considerazioni pratiche
I guadagni del 25‑80 % sono basati su benchmark sintetici con diversi limiti di potenza; nel lavoro reale il prefill tipicamente sale solo del 10‑36 % e non si osservano raddoppii di performance. Non esistono test indipendenti da parte di testate o laboratori: i risultati provengono da segnalazioni degli utenti, quindi è consigliabile verificare su carichi propri prima di fare affidamento.
Per le GPU della serie 40 e per i portatili, il progetto contiene solo pull request sperimentali e report non verificati; chi possiede una scheda diversa da quelle elencate nella tabella non può dare per scontato il corretto funzionamento.
Installazione e rischi
L’installazione richiede privilegi di amministratore, una modifica alla riga di comando del kernel e un riavvio. Il processo è automatizzato per le distribuzioni più comuni (Arch, Debian, Ubuntu, Fedora, RHEL); per le altre è necessario configurare manualmente i target. Ecco i passaggi essenziali:
git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
make install
aggiungere al kernel
gpu_unlock.targets=all
Il modulo non agisce su una GPU già gestita dal driver Nvidia, quindi non ha effetto se caricato a caldo. Dopo il reset, lo schermo rimane nero fino al caricamento di nvidia‑drm. Dopo una sospensione in RAM, i selettori si azzerano e il modulo li riapplica, aggiungendo circa un secondo al tempo di ripresa; l’ibernazione non è supportata.
Poiché GPU‑Unlock interviene sul firmware della scheda prima del driver, chi ha una GPU in garanzia o critica per il proprio lavoro dovrebbe valutare attentamente i rischi: eventuali errori possono richiedere lo spegnimento forzato del PC.
Effetti sul mercato dell’usato
Il rilascio di GPU‑Unlock ha subito generato speculazioni sul valore delle RTX 30 usate. Secondo Wccftech, le RTX 3090 sono passate da circa 1 000 $ a oltre 2 000 $, le 3090 Ti si aggirano intorno ai 2 650‑3 000 $, e le RTX 3080 da 10‑12 GB tra 900 e 1 100 $. Tuttavia, questi dati non includono confronti storici né analisi di mercato approfondite.
Nel thread r/LocalLLaMA, alcuni utenti ritengono che il rialzo sia già presente prima dello sblocco, mentre altri sospettano che i venditori di schede vecchie stiano sfruttando l’interesse per l’AI per gonfiare i prezzi. Con le informazioni attuali non è possibile stabilire con certezza la reale influenza di GPU‑Unlock sui prezzi.
Conclusioni
GPU‑Unlock rappresenta un’interessante dimostrazione di come l’open source possa estendere le capacità delle GPU consumer, permettendo a sviluppatori e ricercatori di sfruttare meglio i formati FP16 e BF16. I guadagni reali sono più modestamente concentrati sulla fase di prefill dei LLM, con miglioramenti tangibili ma non rivoluzionari. L’installazione è relativamente semplice su Linux, ma comporta rischi per la stabilità e la garanzia della scheda.
Per chi possiede già una RTX 30, il modulo offre un aggiornamento gratuito che può rendere più fluida l’interazione con modelli di grandi dimensioni, soprattutto in scenari con contesti lunghi. Per chi, invece, sta valutando l’acquisto di una GPU usata, è fondamentale confrontare i potenziali benefici con il prezzo di mercato, tenendo conto che il vantaggio in termini di velocità di prefill è limitato a una decina di percentuale nella maggior parte dei casi.
