ZLUDA ka bërë publike një mjet që mundëson ekzekutimin e aplikacioneve CUDA në GPU-të AMD

Projekti ZLUDA përgatiti një realizim të hapur të teknologjisë CUDA për GPU-të AMD, që lejon ekzekutimin e aplikacioneve CUDA të pa modifikuara me një performancë të ngjashme me atë të aplikacioneve që ekzekutohen pa ndërmjetës. Mjeti i botuar ofron përputhshmëri binare me aplikacionet ekzistuese CUDA të ndërtuara me ndihmën e kompajlerit CUDA për GPU-të NVIDIA. Realizimi punon mbi grumbullin e zhvilluar nga kompania AMD, ROCm dhe runtime HIP (Heterogeneous-computing Interface for Portability). Kodi i projektit është shkruar në gjuhën Rust dhe shpërndahet nën licencat MIT dhe Apache 2.0. Përkrahja për punimin në Linux dhe Windows është e siguruar.

Shtresa për organizimin e punës CUDA në sistemet me GPU AMD është zhvilluar për dy vitet e fundit, por projekti ka një histori më të gjatë dhe fillimisht është krijuar për të siguruar funksionimin e CUDA në GPU-të Intel. Ndryshimi i politikës së mbështetjes për GPU tregohet nga fakti që në fillim zhvilluesi ZLUDA ka qenë një punonjës i Intel, por në vitin 2021 kjo kompani vlerësoi mundësinë e ekzekutimit të aplikacioneve CUDA në GPU-të Intel si të pa interesuar për biznesin dhe nuk e vazhdoi zhvillimin e iniciativës.

Në fillim të vitit 2022, zhvilluesi dha dorëheqjen nga Intel dhe nënshkroi një kontratë me kompaninë AMD për zhvillimin e shtresës për përputhshmëri me CUDA. Kompania AMD kërkoi gjatë zhvillimit që të mos publikohet interesimi i AMD për projektin ZLUDA dhe të mos bëhen komitete në depozita publike të ZLUDA. Pas dy vjetësh, kompania AMD vendosi se ekzekutimi i aplikacioneve CUDA në GPU-të AMD nuk përbën një interes për biznesin, gjë që sipas kushteve të kontratës i lejoj zhvilluesit të publikojë punimet e tij. Duke qenë se prodhuesit e GPU-ve kanë ndaluar financimin e projektit, e ardhmja e tij tani varet nga interesat e komunitetit dhe rinjohja e përvojave nga kompani të tjera. Pa mbështetje të jashtme, projekti do të zhvillohet vetëm në drejtimet që janë interesante për autorin, si DLSS (Deep Learning Super Sampling).

Në formën aktuale, niveli i cilësisë së realizimit vlerësohet si një version alfa. Megjithatë, ZLUDA tashmë mund të përdoret për ekzekutimin e shumë aplikacioneve CUDA, duke përfshirë Geekbench, 3DF Zephyr, Blender, Reality Capture, LAMMPS, NAMD, waifu2x, OpenFOAM dhe Arnold. Është siguruar mbështetje minimale për primitive dhe biblioteka si cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL dhe NVML.

Kursi i parë i aplikacioneve CUDA nën menaxhimin e ZLUDA ka vonesa të dukshme, pasi ZLUDA bën kompilimin e kodit GPU. Në startet e mëpasshme, një vonesë e tillë nuk ekziston, pasi kodi i kompiluar ruhet në cache. Gjatë ekzekutimit të kodit të kompiluar, performanca është e ngjashme me atë të natyrshme. Kur paketën Geekbench e ekzekuton GPU AMD Radeon 6800 XT, varianti i testit për CUDA, i realizuar me ZLUDA, tregoi performancë dukshëm më të lartë se varianti bazuar në OpenCL.

ZLUDA ka bërë publike një mjet që mundëson ekzekutimin e aplikacioneve CUDA në GPU-të AMD

Mbështetje për Zyrtarë CUDA Driver API dhe pjesët e pa dokumentuara të API CUDA të shqyrtuara përmes inxhinierisë përmbysëse janë realizuar në ZLUDA përmes zëvendësimit të thirrjeve të funksioneve me funksione të ngjashme që ofrohen në HIP runtime, i cili është shumë i ngjashëm me CUDA. Për shembull, funksioni cuDeviceGetAttribute() zëvendësohet me hipDeviceGetAttribute(). Në këtë mënyrë sigurohet edhe përputhshmëria me bibliotekat NVIDIA, të tilla si NVML, cuBLAS dhe cuSPARSE, - për këto biblioteka, ZLUDA ofron biblioteka transliuese me të njëjtin emër dhe të njëjtin grup funksionesh, të ndërtuara si një shtresë mbi bibliotekat e ngjashme të AMD.

Kodi GPU i aplikacioneve, i kompiluar në përfaqësimin PTX (Ekzekutimi i Thread-eve Paralel), translirohet nga një kompilues special fillimisht në një përfaqësim të përkohshëm LLVM IR, mbi të cilin gjenerohet kodi binar për GPU AMD.

ZLUDA ka bërë publike një mjet që mundëson ekzekutimin e aplikacioneve CUDA në GPU-të AMD


Burimi: opennet.ru
Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster