
A nyílt forráskódú grafikus könyvtárak világában most hétvégi meglepetésként Karol Herbst, a Red Hat mérnöke és a Rusticl vezető fejlesztője, egy Mesa merge request-et nyújtott be egy új projekt, a CLUDA számára. Ez a kezdeményezés egy compute-only meghajtót valósít meg, amely a Gallium3D API-t építi az NVIDIA CUDA driver API-ra.
A CLUDA lényege, hogy lehetővé teszi a Gallium3D API használatát számítási feladatokra az NVIDIA CUDA zárt meghajtó infrastruktúráján keresztül. Jelenleg a fő fókusz az OpenCL támogatása, különösen a Rusticl környezetben, amely Rust alapú OpenCL implementációkat kínál. A "CLUDA" egyelőre munkanevként szerepel.
Hogyan működik a CLUDA?
A Mesa CLUDA meghajtó a libcuda.so könyvtárat célozza, és a folyamat a következőképpen zajlik:
- A Mesa közös NIR (intermediate representation) kódját NVIDIA PTX-re alakítja,
- Az így előállított PTX kódot az NVIDIA zárt compute stack kezeli,
- A tesztelések eddig főként NVIDIA RTX 40 / Ampere hardveren történtek.
A teljesítmény a projekt korai állapotához képest kiemelkedő. Például a LuxMark benchmarkon a CLUDA meghajtó NVIDIA RTX A6000 kártyán 57,702 pontot ért el, míg az NVIDIA saját meghajtó stackje 64,009 pontot produkált. Ez azt jelenti, hogy a CLUDA már közel 90%-os teljesítményt nyújt a zárt NVIDIA meghajtóhoz képest, miközben a NIR → PTX konverzió és egyéb különbségek kis teljesítményveszteséget okoznak.
Karol Herbst megjegyzése a projekt kapcsán
Karol Herbst a merge request-ben elmondta, hogy a projektet gyorsan indította el, miután hozzáférést kapott egy NVIDIA GPU-hoz, és fő célja az volt, hogy az OpenCL bizonyos hiányzó kiterjesztéseit támogassa a zárt driveren futtatott alkalmazások számára. A projekt során rengeteget tanult a CUDA és PTX működéséről is.
A CLUDA lehetőséget kínál mindazoknak, akik szeretnék OpenCL-t futtatni az NVIDIA zárt meghajtóin, és akár további OpenCL kiterjesztéseket is implementálhatnak. A projekt nyílt merge request-je további részleteket és fejlesztési információkat tartalmaz minden érdeklődő fejlesztő számára.
További információk a CLUDA-ról és a fejlesztés részleteiről elérhetők a Mesa hivatalos beolvasztási kérelem oldalán.
