Rusticl ist jetzt zertifiziert und unterstützt OpenCL 3.0

Rost-2

Der Rusticl-Controller von Mesa hat die Tests der Conformance Test Suite (CTS) erfolgreich bestanden

Die Entwickler des Mesa-Projekts gaben die Zertifizierung des Rustikal-Controllers bekannt von der Khronos-Organisation, dieWir haben alle CTS-Tests erfolgreich bestanden (Kronos Conformance Test Suite) und wurde als vollständig kompatibel mit der OpenCL 3.0-Spezifikation anerkannt, die die APIs und Erweiterungen der Sprache C definiert, um plattformübergreifendes paralleles Computing zu orchestrieren.

Damit ist es gelungen, ein Zertifikat zu erhalten, das es erlaubt, die Kompatibilität mit den Standards offiziell zu erklären und die damit verbundenen Khronos-Warenzeichen zu verwenden.

Der Treiber ist in Rust geschrieben und wird von Karol Herbst von Red Hat entwickelt, der an der Entwicklung von Mesa, dem Nouveau-Treiber und dem offenen OpenCL-Stack beteiligt ist.

Rusticl besteht alle CTS-Tests

Rusticl ist gerade der erste Rust-Code in Mesa geworden, wobei eine OpenCL-Implementierung kürzlich in die Mesa 22.3-Version integriert wurde, und es sollte beachtet werden, dass die Tests auf einem System mit einer integrierten Intel-GPU der 12. Generation unter Verwendung des Gallium3D Iris-Treibers durchgeführt wurden.

Für diejenigen, die den Controller nicht kennen, sollte Rusticl dies wissen fungiert als Gegenstück zu Mesas OpenCL Clover-Schnittstelle und wird auch unter Verwendung der Gallium-Schnittstelle von Mesa entwickelt. Klee wurde lange vernachlässigt und Rusticl wird als zukünftiger Ersatz positioniert. Neben der Erreichung von OpenCL 3.0-Kompatibilität unterscheidet sich das Rusticl-Projekt von Clover dadurch, dass es OpenCL-Erweiterungen für die Bildverarbeitung unterstützt, aber noch nicht das FP16-Format unterstützt.

Rusticl verwendet rust-bindgen, um Bindungen für Mesa und OpenCL zu generieren, die es ermöglichen, Rust-Funktionen aus C-Code aufzurufen und umgekehrt. Die Möglichkeit, die Rust-Sprache im Mesa-Projekt zu verwenden, wird seit 2020 diskutiert.

Unter den Zu den Vorteilen der Rust-Unterstützung gehört die Verbesserung der Sicherheit und Qualität der Treiber durch die Beseitigung typischer Probleme bei der Arbeit mit dem Gedächtnis, sowie der Möglichkeit der Einbindung von Drittentwicklungen in Mesa, wie Kazan (eine Implementierung von Vulkan in Rust). Zu den Mängeln gehören eine Komplikation des Build-Systems, die mangelnde Bereitschaft, eine Verbindung zum Ladepaketsystem herzustellen, eine Erhöhung der Anforderungen an die Build-Umgebung und die Notwendigkeit, den Rust-Compiler in die Build-Abhängigkeiten einzubeziehen, die zum Erstellen von Schlüsseln erforderlich sind Desktop-Komponenten unter Linux.

Der Code zur Unterstützung der Rust-Sprache und Der Rusticl-Controller wurde in den Mainstream von Mesa aufgenommen und wird in der Version Mesa 22.3 angeboten, die Ende November erwartet wird. Die Unterstützung von Rust und Rusticl wird standardmäßig deaktiviert und erfordert eine Kompilierung mit expliziten Optionen "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021«.

Beim Kompilieren werden als zusätzliche Abhängigkeiten der rustc-Compiler, bindgen, LLVM, SPIRV-Tools und SPIRV-LLVM-Translator benötigt.

Es sollte erwähnt werden, dass erDie OpenCL 3.0 API deckt alle OpenCL-Versionen (1.2, 2.x) ab, ohne separate Spezifikationen für jede Version bereitzustellen. OpenCL 3.0 bietet die Möglichkeit, die Kernfunktionalität durch die Integration zusätzlicher Spezifikationen zu erweitern, die sich in Form von Optionen überschneiden, ohne die monolithische Natur von OpenCL 1.2/2.X zu blockieren.

Außerdem die Spezifikation OpenCL 3.0 wurde an die Umgebung, Erweiterungen und Spezifikationen von angepasst die generische Zwischendarstellung SPIR-V, Das auch verwendet die Vulkan-API. Damit wurde auch die Unterstützung der SPIR-V 1.3-Spezifikation als optionales Feature zum OpenCL 3.0-Kernel hinzugefügt. Durch die Verwendung der SPIR-V-Zwischendarstellung für Rechenkerne wurde die Unterstützung für Operationen mit Untergruppen hinzugefügt.

Schließlich ist auch die Arbeit an der Entwicklung des Nouveau-Treibers zu erwähnen, die ebenfalls von Carol Herbst geleistet wurde. Der Nouveau-Treiber fügt grundlegende OpenGL-Unterstützung für GNU NVIDIA GeForce RTX 30xx basierend auf der seit Mai 2020 veröffentlichten Ampere-Mikroarchitektur hinzu. Änderungen im Zusammenhang mit der Unterstützung neuer Chips werden in Linux 6.2 und Mesa 22.3-Kernel enthalten sein.

Wenn Sie daran interessiert sind, mehr darüber zu erfahren, können Sie die Details konsultieren im folgenden Link.


Der Inhalt des Artikels entspricht unseren Grundsätzen von redaktionelle Ethik. Um einen Fehler zu melden, klicken Sie auf hier.

Schreiben Sie den ersten Kommentar

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.