La libreria open-source ZLUDA, nota per il “porting di codice”, sta tornando con nuove e importanti funzionalità, tra cui il supporto alla compatibilità multi-GPU, specificamente pensato per i carichi di lavoro legati all’intelligenza artificiale (AI).
Per chi non lo sapesse, ZLUDA aveva attirato l’attenzione di molti, qualche mese fa, per essere stata inizialmente progettata per permettere alle GPU Intel di utilizzare lo stack software di NVIDIA. Tuttavia, successivamente AMD ha preso in carico il progetto, collaborando con vari sviluppatori per superare i limiti imposti e consentire l’uso della tecnologia CUDA di NVIDIA sui propri hardware per l’AI.
Questo progresso è stato considerato un grande passo avanti per la comunità open-source. Purtroppo, a causa di preoccupazioni legali, AMD ha deciso di interrompere lo sviluppo. Ora, ZLUDA è tornata con il supporto di uno sponsor anonimo, e si prevede che avrà un impatto ancora più grande.
Secondo un recente rapporto di Phoronix, Andrzej Janik, lo sviluppatore originale di ZLUDA, ha annunciato che la libreria è tornata in fase di sviluppo grazie a un finanziatore anonimo. Il nuovo obiettivo è di ottimizzare ZLUDA per supportare configurazioni multi-GPU, rendendola compatibile con qualsiasi architettura, sia AMD che NVIDIA. Invece di concentrarsi esclusivamente sui carichi di lavoro professionali, il progetto si focalizzerà ora su quelli legati all’intelligenza artificiale e al machine learning (AI/ML).
Con questo sviluppo, ZLUDA supporterà librerie come Llama.cpp, PyTorch e TensorFlow. Uno degli aspetti chiave del lavoro sarà l’adattamento dei percorsi di codice di NVIDIA per renderli compatibili con le GPU di altri fornitori. I test sono già iniziati con le GPU RDNA di AMD, e si prevede che ZLUDA supporterà le architetture RDNA1+ e lo stack di calcolo ROCm 6.1+, trasformando così il portfolio di calcolo di AMD.
Riguardo al ritorno di ZLUDA sul mercato, Janik ha dichiarato che ci vorrà circa un anno affinché la libreria torni completamente operativa. Se il progetto avrà successo, potrebbe rompere le barriere di esclusività presenti negli stack software per l’AI, consentendo alle diverse architetture di sfruttare reciprocamente le proprie capacità, offrendo così risultati ottimali per i carichi di lavoro di intelligenza artificiale.