Andrzej Janik esitles ZLUDA 5, avatud rakendust CUDA tehnoloogiale. Projekti eesmÀrk on vÔimaldada töötada muutmata CUDA rakendustel GPU-dega, mis ei ole NVIDIA, pakkudes jÔudlust, mis on lÀhedane rakenduste jÔudlusele, mida tÀidetakse ilma kihtideta. Projekti kood on kirjutatud keeles Rust ja levitatakse litsentside MIT ja Apache 2.0 alusel.
ZLUDA 5 on teine ââoluline projekti vĂ€ljaanne, mis on loodud pĂ€rast koodibaasi puhastamist Andrzeji töö kĂ€igus AMD-s arendatud koodist. Alates 2022. aastast töötas Andrzej AMD-s, et luua kiht, mis toetab AMD GPU-de ĂŒhilduvust CUDA-ga, kuid 2024. aastal projekt lĂ”petati. Vastavalt lepingu tingimustele ja pĂ€rast AMD esindaja avaldust lubada avaldamist avas Andrzej oma soovituste koodi, mis loodi tema töö ajal AMD-s ja mis vĂ”imaldab CUDA rakendusi kĂ€itada ROCm kihi ja HIP (Heterogeneous-computing Interface for Portability) runtime'i kohal.
Eelmisel aastal pidi Andrzej avatud juurdepÀÀsu sulgema pĂ€rast advokaatide kirja, mis selgitas, et e-posti vahetuses antud luba ei ole juriidiliselt siduv. PĂ€rast seda hakkas Andrzej töötama ZLUDA uue vĂ€ljaande kallal, mis pĂ”hineb koodibaasil, mis eksisteeris enne tema töö algust AMD-s. KĂ€esolevas vormis on arendus keskendunud rakenduste kĂ€itamisele, mis kasutavad CUDA-d masinĂ”ppega seotud ĂŒlesannete kiirendamiseks. Projekti hetkejaoks on piiratud töötamine AMD GPU-del, kuid tulevikus kohandatakse see ka Intel GPU-dele.
Uue vÀljaande pÔhieesmÀrgid:
- Kasutusele on vÔetud esialgne tugi llm.c, Llama.cpp ja PyTorch raamistike kÀitamiseks ZLUDA kohal, et töötada suuremate keelemudelitega, kasutades CUDA optimeerimisi, mis on rakendatud NVIDIA GPU-dele.
- KÀivitati esialgne tugi rakenduste kÀitamiseks, mis kasutavad jÔudluse parandamiseks raamatukogusid cuBLAS, cuBLASLt ja nvml.
- Lisatud on zluda_trace kiht rakenduste jÀlgimiseks, mis kasutavad CUDA-d. zluda_trace abil on vÔimalik diagnoosida probleeme ja tuvastada ZLUDA puudusi, mis takistavad rakenduse normaalset tÀitmist.
- Esitati kĂ€sureĆŸiimi utiliit zoc (ZLUDA offline kompilaator), mis vĂ”imaldab kompileerida NVIDIA PTX-i kĂ€ske AMD RDNA vahevormiks (varem oli see funktsionaalsus saadaval teekide funktsioonidena).
- PTX moodulite laadijas on rakendatud GPU sĂŒdamike tĂ€itmise mehaanika vahemĂ€lu. VahemĂ€lu aitab vĂ€ltida korduvaid ressursimahukaid PTX (Paralleelne Thread Execution) kĂ€su kompileerimise operatsioone masinkoodiks antud GPU jaoks.
Allikas: opennet.ru
