Login
Newsletter
Werbung

Fr, 12. Oktober 2018, 08:39

Software::Grafik

VUDA: CUDA-API für Vulkan

Ein neues Projekt hat es sich zur Aufgabe gemacht, die CUDA-Runtime-Schnittstelle auf Basis von Vulkan nachzubilden. Erste Resultate der headerbasierten Lösung können bereits aus dem Repositorium des Projektes heruntergeladen werden.

Khronos Group

Bei CUDA handelt es sich um eine Komplettlösung für Entwickler, die es erlaubt, Anwendungen auf die erweiterte Grafikhardware abzustimmen und so die beschleunigten Funktionen einer GPU zu nutzen. Die von Nvidia in seinen Karten eingesetzte Technik wird vor allem bei wissenschaftlichen und technischen Berechnungen eingesetzt und erlaubt hochgradig parallelisierbare Programmabläufe massiv zu beschleunigen. Programmierer müssen dazu C mit Nvidia-Erweiterungen verwenden, wobei aber auch Wrapper für andere Programmiersprachen existieren.

Ein Nachteil von CUDA ist allerdings die direkte Bindung an einen Hersteller, weshalb mit OpenCL von der Khronos Group ein offener Standard gestartet wurde, der für alle Grafikkarten funktioniert und für die meisten Betriebssysteme verfügbar ist. Doch auch der ebenfalls von der Khronos Group entwickelte offene Vulkan-Standard unterstützt OpenCL-ähnliche Compute-Shader. Der Vorteil von Vulkan ist dabei, dass keine zusätzlichen Erweiterungen mehr installiert werden müssen.

Diesen Ansatz will nun das VUDA-Projekt gehen, um Programmierern die Gelegenheit zu geben, die bekannte CUDA-Syntax auch in Vulkan-Umgebungen zu nutzen. Die Header-basierte Bibliothek bietet eine Schnittstelle für Vulkan, die sich von der Syntax her an die CUDA Runtime API anlehnt. Bereits bestehende Anwendungen sollen sich so leichter für Vulkan umsetzen lassen, ohne dass der komplette Code einer Anwendung umgebaut werden muss.

Die Lösung steht unter den Bedingungen der MIT-Lizenz und kann vom Repositorium des Autors heruntergeladen werden. Eine Anleitung sowie Beispiele der Nutzung veranschaulichen den Einsatz.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung