Tieftauchen in Tyr: Ein Rust GPU-Treiber für Arm Mali CSF

2025-08-07
Tieftauchen in Tyr: Ein Rust GPU-Treiber für Arm Mali CSF

Dieser Beitrag, der zweite einer Serie, befasst sich eingehend mit der Entwicklung von Tyr, einem hochmodernen Rust GPU-Treiber für den Linux-Kernel, der GPUs auf Basis von Arm Mali CSF unterstützt. Anhand der Anwendung VkCube (Rendering eines rotierenden Würfels über Vulkan) als Fallstudie wird die Interaktion zwischen User-Mode-Treibern (UMDs) und Kernel-Mode-Treibern (KMDs) erläutert. Der Artikel bietet einen prägnanten Überblick über die Tyr-API und vergleicht sie mit Panthor (dem C-Treiber für dieselbe Hardware). Die wichtigsten Aufgaben von KMD, wie z. B. Speicherzuweisung, Auftragsübermittlung und Hardware-Scheduling, werden hervorgehoben. Der Artikel gliedert die Tyr-API in Abschnitte, die Geräteinformationen, Speicherverwaltung, Gruppenerstellung und -verwaltung, Auftragsübermittlung und die Verwaltung des Tiler-Heaps abdecken.

Mehr lesen
Entwicklung

Typsicherheit in Rust: Ein Deep Dive anhand eines Aktienauftragsbeispiels

2025-05-06
Typsicherheit in Rust: Ein Deep Dive anhand eines Aktienauftragsbeispiels

Dieser Artikel vergleicht die Behandlung von Funktionsargumenten in Rust und C++, um die Bedeutung der Typsicherheit zu verdeutlichen. Anhand einer simulierten Funktion zum Versenden von Aktienaufträgen wird gezeigt, wie C++ Schwierigkeiten hat, die Verwechslung von Argumenttypen zu verhindern, und wie selbst nach mehreren Verbesserungen Fehler möglich bleiben. Rust hingegen nutzt sein leistungsstarkes Typsystem und die Kompilierzeitprüfung, um diese Probleme mühelos zu lösen. Selbst bei der Konvertierung von benutzerdefinierten Zeichenketten in numerische Typen verhindert Rust effektiv Fehler, wodurch Abstürze und falsche Ergebnisse vermieden werden. Der Artikel betont die Vorteile von Rust bei der Gewährleistung der Sicherheit und Zuverlässigkeit von Code und zeigt Funktionen über die reine Speichersicherheit hinaus.

Mehr lesen
Entwicklung