L’ANALISI
CUDA su AMD in Windows: cosa prova davvero lo stack ZLUDA e ROCm
Il repository rende ripetibile un percorso pubblico per applicazioni CUDA-facing su una RX 9060 XT, ma non dimostra compatibilità universale con CUDA o con tutte le GPU AMD.

In breve: È una prova circoscritta ma utilizzabile: con ZLUDA e HIP SDK, un’applicazione Windows compilata per CUDA può attraversare librerie AMD ed eseguire un ciclo PPO reale. Il risultato vale per lo stack e l’hardware dichiarati, non per CUDA in generale.
Che cosa è stato pubblicato
Il repository fornisce uno script di installazione, una verifica delle DLL e delle librerie, un test runtime e una procedura di raccolta diagnostica. La catena usa soltanto release pubbliche di ZLUDA e AMD HIP SDK, senza overlay DLL privati.
La catena di compatibilità
L’applicazione continua a vedere un dispositivo CUDA-facing. ZLUDA intercetta le chiamate e le instrada verso HIP e le librerie AMD: rocBLAS, hipBLASLt, rocSPARSE e rocFFT coprono le famiglie verificate dal controllo incluso.
La prova oltre il device detection
La validazione non si ferma al riconoscimento della GPU. Un modello PPO da 2.216.347 parametri ha completato forward, inferenza, fase di learning e lavoro dell’optimizer; un’iterazione pulita ha elaborato 65.536 timestep.
Requisiti e confini del risultato
La configurazione documentata usa Windows x64, RX 9060 XT gfx1200, ZLUDA v6-preview.69, HIP SDK 6.4 e LibTorch 2.3.0+cu118. Altre GPU, versioni o estensioni CUDA sono candidate da testare, non supporto già dimostrato.
Dove può interrompersi
cuDNN 8 e 9 risultano indisponibili nel percorso stabile testato. Programmi che dipendono da cuDNN, API CUDA o PTX non coperti, oppure estensioni custom possono fallire anche se i controlli di base passano.
Come verificarlo senza sovrastimare il risultato
Conviene ripetere prima il test runtime, poi il workload applicativo reale, conservando versioni, log e identificatore GPU. Un risultato positivo su un programma non autorizza a estenderlo a framework o modelli diversi.
Checklist pratica
- Verificare che la GPU e il target gfx siano esplicitamente riconosciuti.
- Installare HIP SDK con le librerie HIP richieste.
- Bloccare le versioni di ZLUDA, HIP SDK e LibTorch usate nel test.
- Eseguire cuda_check e conservare il risultato di ogni libreria.
- Provare un workload reale, non soltanto il device detection.
- Segnalare separatamente successi e fallimenti per ogni GPU e applicazione.