Otevřený ovladač Rusticl je certifikován pro kompatibilitu s OpenCL 3.0

Vývojáři projektu Mesa oznámili certifikaci ovladače rusticl organizací Khronos, který úspěšně prošel všemi testy z balíčku CTS (Kronos Conformance Test Suite) a byl uznán jako plně kompatibilní se specifikací OpenCL 3.0, která definuje API a rozšíření jazyka C pro organizaci křížově-platformních paralelních výpočtů. Získání certifikátu umožňuje oficiálně prohlašovat kompatibilitu se standardy a používat s nimi spojené ochranné známky Khronos. Ověření bylo provedeno na systému s 12. generací integrovaných GPU Intel, na kterém byl použit Gallium3D ovladač Iris.

Ovladač je napsán v jazyce Rust a vyvíjí ho Karol Herbst ze společnosti Red Hat, který se podílí na vývoji Mesa, ovladače Nouveau a otevřeného stacku OpenCL. Rusticl funguje jako ekvivalent nového OpenCL front-endu Clover v Mesa a byl také vytvořen s použitím rozhraní Gallium poskytovaného v Mesě. Clover již dlouho není udržován a rusticl je prezentován jako jeho budoucí náhrada. Kromě dosažení kompatibility s OpenCL 3.0 se projekt Rusticl liší od Cloveru podporou rozšíření OpenCL pro zpracování obrázků, ale zatím nepodporuje formát FP16. Pro generaci bindingů pro Mesa a OpenCL, které umožňují volání Rust funkcí z kódu v C a naopak, je v Rusticlu použit rust-bindgen.

Kód pro podporu jazyka Rust a ovladač rusticl byl přijat do hlavního jádra Mesa a bude nabízen v vydání Mesa 22.3, které se očekává na konci listopadu. Podpora Rust a rusticl bude ve výchozím nastavení zakázána a bude vyžadovat sestavení s jasným uvedením voleb „-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021“. Při sestavení budou potřebné dodatečné závislosti, jako jsou kompilátor rustc, generátor bindingů bindgen, LLVM, nástroje SPIRV-Tools a překladač SPIRV-LLVM-Translator.

Možnost využití jazyka Rust v projektu Mesa se diskutuje od roku 2020. Mezi výhody podpory Rust se uvádí zvýšení bezpečnosti a kvality ovladačů díky odstranění typických problémů při práci s pamětí, stejně jako možnost zahrnutí externích vývojů do Mesa, jako je Kazan (implementace Vulkan na Rust). Mezi nevýhody patří složitost systému sestavení, neochota vázat se na balíčkový systém cargo, rozšíření požadavků na sestavovací prostředí a nutnost zahrnutí kompilátoru Rust do sestavovacích závislostí, které jsou nezbytné pro stavbu klíčových komponent pracovní plochy v Linuxu.

Dále lze zmínit práci na vývoji ovladače Nouveau, kterou rovněž vedl Carol Herbst. Do ovladače Nouveau byla přidána základní podpora OpenGL pro GNU NVIDIA GeForce RTX 30xx založené na mikroarchitektuře Ampere, které se vyrábějí od května 2020. Změny související s podporou nových čipů budou zahrnuty do jádra Linux 6.2 a Mesa 22.3.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster