Uitgave van ZLUDA 5, een universele open implementatie van CUDA-technologie

Andrzej Janik heeft de release van ZLUDA 5 gepresenteerd, een open implementatie van de CUDA-technologie. Het doel van het project is om de mogelijkheid te bieden om ongepaste toepassingen van CUDA uit te voeren op systemen met GPU's die verschillen van NVIDIA GPU's, met prestaties die dicht bij de prestaties van toepassingen liggen die zonder tussenlagen worden uitgevoerd. De code van het project is geschreven in de programmeertaal Rust en is beschikbaar onder de MIT- en Apache 2.0-licenties.

ZLUDA 5 is de tweede belangrijke release van het project, ontwikkeld na het opruimen van de codebasis van de code die tijdens Andrzej's tijd bij AMD is ontwikkeld. Sinds 2022 werkte Andrzej bij AMD aan het creƫren van een laag voor de compatibiliteit van AMD GPU's met CUDA, maar in 2024 werd het project stopgezet. In overeenstemming met de contractvoorwaarden en na toestemming voor publicatie van een vertegenwoordiger van AMD, maakte Andrzej de code van de ontwikkelingen die tijdens zijn werk bij AMD zijn gemaakt openbaar, wat het mogelijk maakte om CUDA-applicaties uit te voeren bovenop de ROCm-stack en de HIP-runtime (Heterogeneous-computing Interface for Portability).

Vorig jaar moest Andrzej de code uit de open toegang verwijderen na een brief van juristen die duidelijk maakten dat de toestemming die was gegeven in e-mailcommunicatie geen juridische waarde had. Daarna begon Andrzej aan een nieuwe editie van ZLUDA, gebaseerd op de codebasis die bestond voordat hij bij AMD begon te werken. In zijn huidige vorm is de ontwikkeling gericht op het uitvoeren van applicaties die CUDA gebruiken voor het versnellen van machine learning-taken. Het project is voorlopig beperkt tot werken op AMD GPU's, maar zal in de toekomst worden aangepast voor Intel GPU's.

Belangrijke verbeteringen in de nieuwe release:

  • InitiĆ«le ondersteuning toegevoegd voor het uitvoeren van de frameworks llm.c, Llama.cpp en PyTorch bovenop ZLUDA om grote taalmodellen uit te voeren met CUDA-optimalisaties die zijn toegepast voor NVIDIA GPU's.
  • InitiĆ«le ondersteuning geĆÆmplementeerd voor het uitvoeren van applicaties die gebruikmaken van de bibliotheken cuBLAS, cuBLASLt en nvml voor prestatieverbetering.
  • De tussenlaag zluda_trace is toegevoegd voor het traceren van applicaties die CUDA gebruiken. Met behulp van zluda_trace kunnen problemen worden gediagnosticeerd en tekortkomingen in ZLUDA worden geĆÆdentificeerd die een normale uitvoering van de applicatie belemmeren.
  • De commandoregeltool zoc (ZLUDA offline compiler) is geĆÆntroduceerd, waarmee bestanden met NVIDIA PTX-instructies kunnen worden gecompileerd naar een tussenrepresentatie van AMD RDNA (eerder was deze functionaliteit beschikbaar in de vorm van bibliotheksfuncties).
  • In de PTX-modules loader is een mechanisme voor het cachen van op de GPU uitgevoerde kernels geĆÆmplementeerd. Caching voorkomt de herhaalde uitvoering van resource-intensieve operaties voor het compileren van PTX-instructies naar machinecode voor een gegeven GPU.

    Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster