Rusticl jest teraz certyfikowany i obsługuje OpenCL 3.0

rdza-2

Kontroler Mesa Rusticl pomyślnie przeszedł testy Conformance Test Suite (CTS).

L twórcy projektu Mesa ogłosili certyfikację kontrolera rusticl przez organizację Khronos, któraPomyślnie przeszedł wszystkie testy CTS (Kronos Conformance Test Suite) i został uznany za w pełni zgodny ze specyfikacją OpenCL 3.0, która definiuje interfejsy API języka C i rozszerzenia do orkiestracji wieloplatformowych obliczeń równoległych.

Dzięki temu możliwe było uzyskanie certyfikatu, który pozwala oficjalnie zadeklarować zgodność ze standardami oraz posługiwanie się związanymi z nimi znakami towarowymi Khronos.

Sterownik jest napisany w języku Rust i opracowany przez Karola Herbsta z Red Hat, który jest zaangażowany w rozwój Mesy, sterownika Nouveau i otwartego stosu OpenCL.

Rusticl przechodzi wszystkie testy CTS

Rusticl właśnie stał się pierwszym kodem Rust w Mesa, z implementacją OpenCL niedawno połączoną z wydaniem Mesa 22.3 i należy zauważyć, że testy przeprowadzono na systemie ze zintegrowanym procesorem graficznym Intel 12. generacji przy użyciu sterownika Gallium3D Iris.

Dla tych, którzy nie znają kontrolera, Rusticl powinien o tym wiedzieć działa jako odpowiednik interfejsu Mesa OpenCL Clover i jest również rozwijany przy użyciu interfejsu Mesa's Gallium. Clover od dawna jest zaniedbywany, a rusticl jest pozycjonowany jako jego przyszły zamiennik. Oprócz osiągnięcia zgodności z OpenCL 3.0, projekt Rusticl różni się od Clover tym, że obsługuje rozszerzenia OpenCL do przetwarzania obrazu, ale nie obsługuje jeszcze formatu FP16.

Rusticl używa rust-bindgen do generowania powiązań dla Mesa i OpenCL, które umożliwiają wywoływanie funkcji Rust z kodu C i odwrotnie. O możliwości wykorzystania języka Rust w projekcie Mesa mówi się od 2020 roku.

Wśród zalety wsparcia Rust wymieniają poprawę bezpieczeństwa i jakości sterowników eliminując typowe problemy podczas pracy z pamięcią, a także Możliwość włączenia rozwiązań stron trzecich do Mesa, takich jak Kazan (implementacja Vulkan w Rust). Wśród niedociągnięć jest komplikacja systemu kompilacji, niechęć do łączenia się z systemem pakietów ładowania, wzrost wymagań dla środowiska kompilacji oraz konieczność uwzględnienia kompilatora Rust w zależnościach kompilacji wymaganych do budowania klucza komponenty pulpitu w systemie Linux.

Kod obsługujący język Rust i kontroler rusticl został przyjęty do głównego nurtu Mesa i będzie oferowany w wydaniu Mesa 22.3, które jest spodziewane pod koniec listopada. Obsługa Rust i Rusticl będzie domyślnie wyłączona i będzie wymagać kompilacji z wyraźnymi opcjami "-D gallium-rusticl=true -Dllvm=włączony -Drust_std=2021".

Podczas kompilacji jako dodatkowe zależności wymagane są kompilator rustc, bindgen, LLVM, SPIRV-Tools i SPIRV-LLVM-Translator.

Nadmienić należy, że onOpenCL 3.0 API obejmuje wszystkie wersje OpenCL (1.2, 2.x), bez dostarczania osobnych specyfikacji dla każdej wersji. OpenCL 3.0 zapewnia możliwość rozszerzenia podstawowej funkcjonalności poprzez integrację dodatkowych specyfikacji, które będą się nakładać w postaci opcji bez blokowania monolitycznej natury OpenCL 1.2/2.X.

Ponadto specyfikacja OpenCL 3.0 został dostosowany do środowiska, rozszerzeń i specyfikacji rodzajowa reprezentacja pośrednia SPIR-V, to też korzysta z API Vulkan. Dzięki niemu do jądra OpenCL 1.3 dodano również obsługę specyfikacji SPIR-V 3.0 jako opcjonalną funkcję. Dzięki zastosowaniu pośredniej reprezentacji SPIR-V dla jąder obliczeniowych dodano obsługę operacji na podgrupach.

Na koniec warto też zwrócić uwagę na pracę nad rozwojem przetwornika Nouveau, którą wykonała również Carol Herbst. Sterownik Nouveau dodaje podstawową obsługę OpenGL dla GNU NVIDIA GeForce RTX 30xx opartej na mikroarchitekturze Ampere wypuszczanej od maja 2020 roku. Zmiany związane z obsługą nowych chipów zostaną uwzględnione w jądrze Linux 6.2 i Mesa 22.3.

Jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.