Andrzej Janik ha presentato la versione ZLUDA 6, un'implementazione open source della tecnologia CUDA. L'obiettivo del progetto è fornire la possibilità di eseguire applicazioni CUDA non modificate su sistemi con GPU diverse da quelle NVIDIA, con prestazioni simili a quelle delle applicazioni eseguite senza strati intermedi. Il codice del progetto è scritto in Rust e distribuito sotto le licenze MIT e Apache 2.0.
ZLUDA 6 è diventata la terza versione significativa del progetto, sviluppata dopo
la pulizia della base di codice dai contenuti scritti durante il lavoro di Andrzej in AMD. Dal 2022, Andrzej ha lavorato in AMD alla creazione di uno strato di compatibilità per GPU AMD con CUDA, ma nel 2024 il progetto è stato abbandonato. In conformità con i termini del contratto e dopo aver ricevuto l'autorizzazione alla pubblicazione dal rappresentante di AMD, Andrzej ha aperto il codice delle sue realizzazioni effettuate durante il suo lavoro in AMD, consentendo di eseguire applicazioni CUDA sopra il stack ROCm e il runtime HIP (Heterogeneous-computing Interface for Portability).
Due anni fa, Andrzej è stato costretto a rimuovere il codice dall'accesso pubblico dopo una lettera da parte di avvocati, che hanno fatto capire che l'autorizzazione data durante la corrispondenza via email non ha validità legale. Dopo questo, Andrzej ha iniziato a lavorare su una nuova versione di ZLUDA, basata sulla base di codice esistente prima del suo ingresso in AMD. Nella sua versione attuale, lo sviluppo è concentrato sull'esecuzione di applicazioni che utilizzano CUDA per accelerare compiti legati all'apprendimento automatico. Il progetto attualmente è limitato al funzionamento su GPU AMD, ma sarà adattato in futuro per GPU Intel.
Nella nuova versione è stata aggiunta la supporto iniziale per l'esecuzione sopra il motore di simulazione dei processi fisici PhysX e il sistema di modellazione 3D Blender. Il supporto per PhysX ha attualmente lo stato di versione alpha iniziale
ed è limitato alla possibilità di eseguire versioni a 32 bit di PhysX, permettendo così, su sistemi con GPU AMD, di avviare alcuni giochi storici che utilizzano questo motore. Ad esempio, nel gioco Mafia II, dopo l'attivazione di ZLUDA, è stato possibile aumentare i FPS da 26 a 80 fotogrammi al secondo. È stato implementato un supporto per le texture sufficiente per eseguire Blender utilizzando ZLUDA. Il supporto per la piattaforma Windows è stato notevolmente migliorato. Sono state ampliate le possibilità di esecuzione sopra ZLUDA di framework per l'esecuzione di grandi modelli linguistici (come PyTorch) con l'utilizzo di ottimizzazioni CUDA applicate per GPU NVIDIA.
Fonte: opennet.ru
