ZLUDA-værktøjssættet er blevet offentliggjort, så du kan køre CUDA-applikationer på AMD GPU'er

ZLUDA-projektet har udviklet en open source-implementering af CUDA-teknologi til AMD GPU'er, der muliggør udførelse af umodificerede CUDA-applikationer med en ydeevne tæt på applikationers ydeevne uden mellemled. Det offentliggjorte værktøjssæt sikrer binær kompatibilitet med eksisterende CUDA-applikationer bygget ved hjælp af CUDA-compileren til NVIDIA GPU'er. Implementeringen kører oven på AMD's ROCm-stak og Heterogeneous Computing Interface for Portability (HIP) runtime. Projektets kode er skrevet i Rust og distribueret under MIT- og Apache 2.0-licenserne. Det understøtter Linux и Windows.

Laget til at organisere CUDA-drift på systemer med AMD GPU'er er udviklet over de seneste to år, men projektet har en længere historie og blev oprindeligt skabt for at sikre CUDA-drift på Intel GPU'er. Ændringen i GPU-supportpolitikken forklares med, at udvikleren af ​​ZLUDA først var en Intel-medarbejder, men i 2021 vurderede dette firma at give muligheden for at køre CUDA-applikationer på Intel GPU'er for at være uden forretningsinteresse og skubbede ikke initiativet fremad.

I begyndelsen af ​​2022 forlod udvikleren Intel og blev ansat af AMD til at udvikle et CUDA-kompatibilitetslag. AMD har anmodet om, at AMDs interesse i ZLUDA-projektet ikke offentliggøres under udviklingen, og at der ikke foretages nogen commits til det offentlige ZLUDA-arkiv. To år senere besluttede AMD, at det ikke var af forretningsmæssig interesse at køre CUDA-applikationer på AMD GPU'er, hvilket i henhold til kontraktens vilkår tillod udvikleren at åbne op for sine udviklinger. Da GPU-producenter er stoppet med at finansiere projektet, afhænger dets skæbne nu af samfundets interesse og samarbejdstilbud fra andre virksomheder. Uden ekstern støtte vil projektet kun kunne udvikle sig i retninger, der er af personlig interesse for forfatteren, såsom DLSS (Deep Learning Super Sampling).

I sin nuværende form vurderes implementeringens kvalitetsniveau som alfaversionen. ZLUDA kan allerede bruges til at køre mange CUDA-applikationer, herunder Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM og Arnold. Der tilbydes minimal understøttelse af cuDNN-, cuBLAS-, cuSPARSE-, cuFFT-, NCCL- og NVML-primitiver og -biblioteker.

Den første lancering af CUDA-applikationer under ZLUDA er ledsaget af mærkbare forsinkelser på grund af ZLUDA's kompilering af GPU-kode. I efterfølgende kørsler er der ingen sådan forsinkelse, da den kompilerede kode gemmes i cachen. Under udførelse af kompileret kode er ydeevnen tæt på den oprindelige. Når Geekbench blev kørt på et AMD Radeon 6800 XT GPU, klarede den ZLUDA-baserede version af CUDA benchmark-pakken sig betydeligt bedre end den OpenCL-baserede version.


ZLUDA-værktøjssættet er blevet offentliggjort, så du kan køre CUDA-applikationer på AMD GPU'er

Understøttelse af den officielle CUDA Driver API og den reverse-engineered del af den udokumenterede CUDA API implementeres i ZLUDA ved at erstatte funktionskald med lignende funktioner, der leveres i HIP-runtime, hvilket på mange måder ligner CUDA. For eksempel erstattes funktionen cuDeviceGetAttribute() af hipDeviceGetAttribute(). Kompatibilitet med NVIDIA-biblioteker som NVML, cuBLAS og cuSPARSE leveres på en lignende måde - til sådanne biblioteker leverer ZLUDA oversættelsesbiblioteker med samme navn og samme sæt funktioner, bygget som tilføjelser til lignende AMD-biblioteker.

GPU applikationskode kompileret til PTX (Parallel Thread Execution) repræsentation oversættes af en speciel compiler først til LLVM IR mellemrepræsentation, på grundlag af hvilken binær kode til AMD GPU'er genereres.


ZLUDA-værktøjssættet er blevet offentliggjort, så du kan køre CUDA-applikationer på AMD GPU'er


Kilde: opennet.ru
Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster