Otwarty sterownik Rusticl ma certyfikat zgodności z OpenCL 3.0

Twórcy projektu Mesa ogłosili certyfikację przez organizację Khronos sterownika rusticl, który pomyślnie przeszedł wszystkie testy z zestawu CTS (Kronos Conformance Test Suite) i jest uznawany za w pełni zgodny ze specyfikacją OpenCL 3.0, która definiuje API i rozszerzenia języka C do organizowania wieloplatformowego przetwarzania równoległego. Uzyskanie certyfikatu pozwala oficjalnie zadeklarować zgodność z normami i posługiwać się przynależnymi znakami towarowymi Khronos. Test został przeprowadzony na systemie ze zintegrowanymi procesorami graficznymi Intel 12 generacji przy użyciu sterownika Gallium3D Iris.

Sterownik napisany jest w języku Rust i opracowany przez Karola Herbsta z Red Hat, który bierze udział w rozwoju Mesa, sterownika Nouveau i otwartego stosu OpenCL. Rusticle działa jako odpowiednik Clover nakładki OpenCL firmy Mesa i jest również rozwijany przy użyciu interfejsu Gallium dostarczonego w Mesa. Clover została porzucona na długi czas, a rustykalny jest jej przyszłym następcą. Oprócz osiągnięcia kompatybilności z OpenCL 3.0, projekt Rusticle różni się od Clover obsługą rozszerzeń OpenCL do przetwarzania obrazu, ale nie obsługuje jeszcze formatu FP16. Aby wygenerować powiązania dla Mesa i OpenCL, umożliwiając wywoływanie funkcji Rust z kodu C i odwrotnie, w Rusticle używany jest rust-bindgen.

Kod obsługi języka Rust i sterownik rustykalny zostały przyjęte do głównego nurtu Mesa i będą oferowane w wersji Mesa 22.3, której oczekiwanie nastąpi pod koniec listopada. Obsługa języków rustykalnych i rustykalnych będzie domyślnie wyłączona i będzie wymagać kompilacji z wyraźnie określonymi opcjami „-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021”. Podczas budowania będziesz potrzebować kompilatora rustc, generatora wiązań bindgen, LLVM, SPIRV-Tools i SPIRV-LLVM-Translator jako dodatkowych zależności.

Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.

Дополнительно можно отметить работу по развитию драйвера Nouveau, также проведённую Кэролом Хербстом. В драйвер Nouveau добавлена базовая поддержка OpenGL для GNU NVIDIA GeForce RTX 30xx на базе микроархитектуры Ampere, выпускаемых с мая 2020 года. Связанные с поддержкой новых чипов изменения войдут в состав ядра Linux 6.2 i Mesa 22.3.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster