AMD kündigt Veröffentlichung von Open-Source-HSA-Softwarestack an
AMD hat am Samstag eine neue Patch-Sammlung für den in der Entwicklung befindlichen Heterogeneous-System-Architecture-Treiber (AMDKFD-Kernel-Treiber) veröffentlicht, der einen wichtigen Teil des HSA-Software-Stacks darstellt und zunächst ausschließlich auf dem Open-Source-Linux-Grafiktreiber von AMD aufsetzt. Mit der nunmehr fünften Version des AMDKFD-Treibers haben die Entwickler neben Bugfixes und kleineren Änderungen erstmals Unterstützung für die HSA Architected Queue Language (AQL) hinzugefügt, was das von der HSA Foundation standardisierte Gegenstück zu AMDs eigenem Heterogeneous Queuing (hQ) ist und damit prinzipiell von der HSA-kompatiblen Hardware aller Mitglieder der HSA Foundation unterstützt wird.
In seinem Mailinglist-Eintrag zur neuen Patch-Sammlung stellt der AMD-Entwickler Oded Gabbay zudem die Veröffentlichung der Open-Source-HSA-Laufzeitumgebung für diese Woche in Aussicht. Hierzu fehle lediglich noch die finale IP-Freigabe. Zudem soll im Zuge dessen auch der Quellcode eines voll funktionstüchtigen Test-Programms (eine Matrixmultiplikation) bereitgestellt werden, mit dem der HSA-Softwarestack ausprobiert werden kann. Es ist allerdings anzumerken, dass es sich hierbei zunächst um einen für die Entwicklung wichtigen Zwischenschritt handelt, damit überhaupt erstmals unter Linux OpenCL-Anwendungen über den HSA-Stack ausgeführt werden können. Bis zu einer für den Produktiveinsatz geeigneten Lösung muss noch einiges an Arbeit geleistet werden.
Von AMD entwickelte Bestandteile für Open-Source-HSA-Software-Stack
Um die HSA-Laufzeitumgebung zu verwenden, muss der Quellcode allerdings zunächst offline – also vor der Ausführung – mittels des OpenCL-Front-Ends Clang und eines modifizierten r600-LLVM-Back-Ends in Maschinencode übersetzt werden. Mit dem hierdurch erzeugten Binärcode wird dann die HSA-Laufzeitumgebung gefüttert. Wie ein weiterer AMD-Open-Source-Entwickler, John Bridgman, im Forum von Phoronix erklärt, soll in einem zweiten Schritt die übliche Kompilierung zur Programmlaufzeit (JIT-Kompiler) ermöglicht werden. Hierzu müssen die notwendigen Routinen zur Kommunikation zwischen HSA- und Clover-OpenCL-Laufzeitumgebung noch implementiert werden. In einem dritten Schritt soll dann die Option geschaffen werden, hardwareunabhängigen, von der HSA Foundation standardisierten HSAIL-Code zu erzeugen, den dann ein herstellerspezifischer sogenannter HSA-Finalizer zur Laufzeit in Maschinencode übersetzt. Damit könnte der HSAIL-Code auf beliebigen HSA-Implementierungen (Hard- & Software) unterschiedlicher Hersteller ausgeführt werden.
Wann AMD den Code für den eigenen HSA-Finalizer, mit dem Maschinencode für AMDs APUs und GPUs erzeugt werden kann, bereitstellen wird, ist unbekannt. Selbiges gilt für die Veröffentlichung der ersten Catalyst-Treiber mit integriertem HSA-Softwarestack sowohl für Windows als auch Linux.
Quelle: Phoronix
Links zum Thema:
- Ergänzung: AMD A10-7700K & A10-7850K ()
- AMD stellt ersten Catalyst-Treiber mit Unterstützung für OpenCL 2.0 bereit ()
- AMD A10-7700K und A10-7850K im Test ()
- AMD veröffentlicht Windows- und Linux-Compiler für C++ AMP Version 1.2 ()
- Kaveris HSA-Features: AMD nennt Zeitplan für Unterstützung in Treibern und Tools ()
- PGI-Compiler-Sammlung mit Unterstützung für OpenACC 2.0 und AMD GPUs veröffentlicht ()