Lëshimi i ZLUDA 5, një implementim universale i hapur i teknologjisë CUDA

Andrzej Janik prezantoi versionin ZLUDA 5, një implementim të hapur të teknologjisë CUDA. Qëllimi i projektit është të mundësojë ekzekutimin e aplikacioneve CUDA të pa modifikuara në sisteme me GPU të ndryshme nga GPU-të NVIDIA, me performancë të ngjashme me atë të aplikacioneve që funksionojnë pa shtresa. Kodi i projektit është shkruar në gjuhën Rust dhe shpërndahet nën licencat MIT dhe Apache 2.0.

ZLUDA 5 bëri një përparim të rëndësishëm në projekt, i formuar pas pastrimit të bazës së kodit nga kodet e zhvilluara gjatë punës së Andrzejt në kompaninë AMD. Që nga viti 2022, Andrzej punoi në AMD për të krijuar një shtresë për kompatibilitetin e GPU-ve AMD me CUDA, por në vitin 2024 projekti u mbyll. Sipas kushteve të kontratës dhe pas marrjes së lejes për publikim nga përfaqësuesi i AMD, Andrzej publikoi kodin e zhvillimeve të kryera gjatë kohës së tij në AMD që lejojnë ekzekutimin e aplikacioneve CUDA mbi arkitekturën ROCm dhe runtime HIP (Heterogeneous-computing Interface for Portability).

Vitne e kaluar, Andzhej ishte i detyruar të hiqte kodin nga qasja e hapur pas një letre nga avokatët, të cilët sqaruan se leja e dhënë gjatë komunikimit për email nuk kishte forcë ligjore. Pas kësaj, Andzhej filloi punën mbi një version të ri të ZLUDA, i formuar mbi bazën e kodit që ekzistonte para fillimit të punës së Andzhej në AMD. Në formën aktuale, zhvillimi fokusohet në realizimin e aplikacioneve që përdorin CUDA për të përshpejtuar detyrat e lidhura me mësimin e makinerive. Projekti aktualisht është i kufizuar në punën mbi GPU-të AMD, por më vonë do të adaptohet për GPU-të Intel.

Përmirësime kryesore në versionin e ri:

  • Shtuar mbështetje fillestare për ekzekutimin mbi ZLUDA të kornizave llm.c, Llama.cpp dhe PyTorch për të realizuar modele të mëdha gjuhësore duke përdorur optimizime CUDA për GPU-të NVIDIA.
  • Implementuar mbështetje fillestare për ekzekutimin e aplikacioneve që përdorin biblioteka si cuBLAS, cuBLASLt dhe nvml për të rritur performancën.
  • Shtuar një shtresë zluda_trace për gjurmimin e aplikacioneve që përdorin CUDA. Me ndihmën e zluda_trace, mund të diagnostikoni probleme dhe të identifikoni mangësi në ZLUDA që pengojnë ekzekutimin normal të aplikacionit.
  • Një utilitar komandash zoc (ZLUDA offline compiler) është paraqitur, i cili lejon kompilimin e skedave me udhëzime NVIDIA PTX në një përfaqësim të ndërmjetëm AMD RDNA (më parë kjo funksionalitet ishte në dispozicion në formën e funksioneve të bibliotekës).
  • Në bootloader-in e moduleve PTX është implementuar një mekanizëm ndihmës për të mbajtur cache të bërthamave që ekzekutohen në GPU. Cache-i ndihmon për të shmangur përsëritjen e ekzekutimit të operacioneve të konsumit të lartë të burimeve për kompilimin e udhëzimeve PTX (Ekzekutimi i Thread-eve Parazgjedhëse) në kodin maqinar për një GPU të caktuar.

    Burimi: opennet.ru
Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster