Für Mesa wird ein OpenCL-Frontend entwickelt, das in Rust geschrieben ist.

Karol Herbst von Red Hat, der an der Entwicklung von Mesa, dem Nouveau-Treiber und dem offenen OpenCL-Stack mitwirkt, hat rusticl veröffentlicht - eine experimentelle Softwareimplementierung von OpenCL (OpenCL-Frontend) für Mesa, geschrieben in Rust. Rusticl dient als Pendant zum bereits in Mesa vorhandenen OpenCL-Frontend Clover und wurde ebenfalls unter Verwendung der von Mesa bereitgestellten Gallium-Schnittstelle entwickelt.

Die Entwicklung wurde am 17. September auf der XDC 2021 (X.Org Developers Conference) vorgestellt. Ziel der Entwicklung war es, Rust zu erkunden, optimale Integrationswege von Rust in Mesa zu finden, die Erstellung von API-Implementierungen in einer anderen Sprache auszuprobieren und die Kompatibilität von Rust-Komponenten mit dem restlichen C-Code zu überprüfen. Die Entwicklung ist noch nicht vollständig abgeschlossen – Tests der CL CTS, die mit dem Kopieren, Lesen und Schreiben von Puffer zusammenhängen, werden bereits erfolgreich durchgeführt, jedoch gibt es bisher keine Integration des Compilers und keine Unterstützung für externe Crate-Pakete im Build-System. Für die Generierung von Bindings für Mesa und OpenCL, die es ermöglichen, Rust-Funktionen aus C-Code und umgekehrt aufzurufen, wurde rust-bindgen verwendet.

Video abspielen

Erinnern wir uns, dass die Entwickler von Mesa vor einem Jahr bereits die Sinnhaftigkeit der Verwendung der Programmiersprache Rust diskutiert haben. Zu den Vorteilen der Rust-Unterstützung wurden die erhöhte Sicherheit und Qualität der Treiber genannt, da typische Probleme mit dem Speicher vermieden werden können. Außerdem besteht die Möglichkeit, externe Entwicklungen wie Kazan (eine Vulkan-Implementierung in Rust) in Mesa zu integrieren. Zu den Nachteilen zählen die Komplexität des Build-Systems, die mangelnde Bereitschaft, sich an das Paketverwaltungssystem Cargo zu binden, die erweiterten Anforderungen an die Build-Umgebung sowie die Notwendigkeit, den Rust-Compiler in die Build-Abhängigkeiten einzubeziehen, die für den Aufbau von Schlüsselkomponenten des Desktops in Linux erforderlich sind.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster