NVIDIA CUDA arriva sulle GPU AMD e funziona meglio di OpenCL

Il progetto ZLUDA porta le funzionalità CUDA sulle schede grafiche AMD Radeon, con risultati sorprendenti. È in arrivo una rivoluzione nel mondo delle GPU?

Avatar di Marco Pedrani

a cura di Marco Pedrani

Managing Editor

ZLUDA è un progetto che potrebbe rivoluzionare il mondo delle schede video: sviluppato da Andrzej Janik, permette di sfruttare le funzionalità CUDA sulle schede video AMD, eliminando quindi la necessità di avere una GPU NVIDIA per sfruttare molte delle migliori caratteristiche presenti in tantissimi software, professionali e non solo.

Il progetto si occupa di tradurre le chiamate CUDA in un linguaggio comprensibile ad AMD ROCm, così da farle funzionare anche su hardware AMD con pochissime modifiche. Questo significa, per farvi alcuni esempi pratici, che si possono sfruttare le potenzialità di CUDA in programmi come Blender, PyTorch e Matlab anche avendo una scheda grafica AMD Radeon. È compatibile sia con Windows che con Linux, quindi può essere usato su una gran quantità di sistemi.

Il progetto è stato inizialmente finanziato da AMD e lo sviluppatore ci ha lavorato per due interi anni. Ora che AMD ha interrotto i finanziamenti, ZLUDA è diventato Open Source e quindi accessibile a tutti. Ci sono alcuni limiti, ad esempio ZLUDA sfrutta ROCm 5 e non ROCm 6 (l’ultima versione), ma è un passo davvero importante per rendere CUDA accessibile anche a chi non ha una GPU NVIDIA.

Guardando i test condivisi dallo sviluppatore, si può vedere come diverse applicazioni offrano prestazioni superiori usando ZLUDA anziché l’implementazione nativa di OpenCL. Se volete provarlo, la procedura è molto semplice: basta scaricarlo dalla pagina GitHub e specificare la variabile d'ambiente $LD_LIBRARY_PATH per i file della libreria CUDA.

Lo sviluppatore ha dichiarato che il progetto è concluso e che verrà aggiornato solo in cui si siano novità davvero importanti, come ad esempio l’implementazione di workload che lo interessano direttamente, come ad esempio il DLSS. Ciò non toglie però che qualcun altro possa riprendere il lavoro da dove lo ha lasciato Janik, migliorando ulteriormente la funzionalità.