Implementace OpenCL od Mesa napsaná v rezu již prošla testy CTS

Nová implementace z OpenCL (rustikální) vyvinutý pro projekt Mesa, napsaný v Rustu, úspěšně složil testy CTS (Kronos Conformance Test Suite) používaný konsorciem Khronos k testování kompatibility se specifikacemi OpenCL 3.0.

Pro ty, kteří neznají »Rusticl», měli by vědět, že byl publikován jako nová implementace Mesa OpenCL napsaná v programovací jazyk Rez.

rustikální založil známý spolupracovník Mesa Karol Herbst z Red Hat, který začínal jako inženýr na open source ovladači NVIDIA "Nouveau" v Red Hatu a pracoval na podpoře Mesa Clover IT a dalších snahách. Rusticl je pokus společnosti Herbst naučit se programovací jazyk Rust a také poskytnout novou (a doufejme lepší) implementaci OpenCL.

Rusticl je mnohem modernější zaměřený na OpenCL ve srovnání se starým kódem Clover a je to patrné, je to, že Rusticl v tuto chvíli stále nemá podporu obrázků OpenCL, což byl další problém s Cloverem.

rustikální spoléhá na clc při kompilaci zdrojového kódu OpenCL do SPIR-V. Rusticl také závisí na ovladačích Mesa Gallium3D kompatibilních s NIR, ale všechny hlavní ovladače již ano. Je třeba poznamenat, že Carol kontaktovala Khronos, aby získala oficiální certifikaci kompatibility OpenCL 3.0 v rustikálním jazyce.

A nyní Rusticl úspěšně prošel Kronos Conformance Test Suite k posouzení kompatibility se specifikacemi OpenCL 3.0, jak oznámil neil trevett na Twitteru:

Khronos je hrdý na to, že se v průběhu let zřekl všech poplatků za přijetí MESA a mnoho implementací MESA je oficiálně v souladu. Skvělé, že OpenCL 3.0 od MESA prochází CTS! Dejte nám vědět, až bude MESA připravena podepsat smlouvu o přijetí OCL 3.0 a můžeme zahájit proces…

Testování bylo provedeno na systému s 12th Gen Intel GPU build (Alder Lake), se kterým se pracovalo s ovladačem Iris Mesa, ale je zmíněno, že projekt by měl fungovat s dalšími ovladači Mesa, které používají netypizovanou střední (IR) reprezentaci NIR shaderů.

Rusticl funguje jako protějšek rozhraní Mesa OpenCL Clover a je také vyvinut pomocí rozhraní Mesa Gallium. Jetel byl dlouhou dobu v zanedbaném stavu a rustikální je umístěn jako jeho budoucí náhrada. Kromě dosažení kompatibility s OpenCL 3.0 se projekt Rusticl od Clover liší tím, že podporuje rozšíření OpenCL pro zpracování obrazu, ale zatím nepodporuje formát FP16.

Rusticl používá rust-bindgen ke generování vazeb pro Mesa a OpenCL, které umožňují volání funkcí Rust z kódu C a naopak.

O možnosti použití jazyka Rust v projektu Mesa se mluví již od roku 2020. Mezi výhody podpory Rust zmiňují zlepšení bezpečnosti a kvality ovladačů odstraněním typických problémů při práci s pamětí a také možnost zahrnout vývoj třetích stran na Mesa, jako je Kazan (implementace Vulkan na Rust).

Mezi nedostatky patří komplikace systému sestavení, neochota vázat se na systém balíčků užitečného zatížení, zvýšení požadavků na prostředí sestavení a potřeba zahrnout kompilátor Rust do poskytovaných závislostí sestavení. vytvářet klíčové komponenty desktopů na Linuxu.

Konečně, je zmíněno, že žádost o sloučení Rusticl s Mesa stále čeká a zatím nebylo učiněno žádné rozhodnutí o zahrnutí kódu jazyka Rust do Mesa, ale očekává se, že dorazí ve verzi Mesa 22.2

To je důvod, proč před přijetím Rusticl do hlavní kompozice Mesa lze k sestavení použít samostatnou větev, při kompilaci musíte zadat parametry sestavení "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true" -Dllvm =pravda».

Pokud zájem dozvědět se o tom více o této nové specifikaci si můžete zkontrolovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.