-
Java auf Trab: Ein Toolkit für rechenintensive Apps
-
Codemodell von Projekt Babylon
-
-
Vorgang beim Kompilieren
-
Fazit
Artikel in iX 9/2026 lesen
Nahezu jeder moderne Rechner verfügt über einen oder mehrere Beschleuniger, seien es separate GPU-Karten oder integrierte Chips wie bei Apple Silicon. Ursprünglich konzipiert für Computergrafik, erledigen diese Chips mit ihren Tausenden parallel rechnenden Cores längst auch allgemeine rechenintensive Aufgaben. Vor allem im Bereich künstlicher Intelligenz ist das Ausführen und Trainieren von Modellen nur mit Beschleunigern praktikabel, mit Java aber bislang nicht ohne Weiteres möglich.
Java kompiliert Quellcode mit javac zunächst in Bytecode, den die JVM just in time (JIT) für die CPU-Architektur der Laufzeitumgebung übersetzt – meist Intel oder Arm. Für andere Architekturen wie die von Grafikprozessoren kann die JVM keinen Code direkt erzeugen. Der klassische Weg von Java zur GPU führt über das etwas umständliche Java Native Interface (JNI) oder über das Projekt Panama der OpenJDK-Initiative, das den Umgang mit nativem Code vereinfacht. Beide Varianten erfordern zum Erstellen und Kompilieren des Codes für den Beschleuniger einen Wechsel von Java zur Toolchain des jeweiligen Herstellers und eine spezifische Integration in den Sourcecode des Java-Programms, das den Code auf der GPU ausführen soll.
- Das Heterogeneous Accelerator Toolkit (HAT) transformiert Java-Code zur Laufzeit in Code für Beschleuniger.
- Das Projekt Babylon erweitert Java um ein Codemodell, das die Programmlogik als strukturierte Metadaten bereitstellt, die Frameworks wie HAT analysieren und in andere Programmiermodelle transformieren.
- Babylon und HAT ermöglichen es, Anwendungen für Nvidias CUDA-Stack oder OpenCL ausschließlich in Java zu schreiben.
- Rechenintensive Workloads wie neuronale Netzwerke lassen sich mit HAT als Kernel auf Beschleunigern ausführen und deren Rechenleistung lässt sich in Java-Programmen nutzen.
Das Heterogeneous Accelerator Toolkit (HAT) beseitigt diese Hürden, indem es die Sprachmittel von Java auf das Programmiermodell der GPU abbildet und den Code für den Beschleuniger zur Laufzeit übersetzt. HAT gehört zum Projekt Babylon, mit dem die OpenJDK-Initiative das Ausführen von Java durch beliebige Prozessorarchitekturen ermöglicht. Es ist somit eine Art Proof of Concept von Babylon für Beschleuniger. Es besitzt zwei Backends – eines für den CUDA-Stack von Nvidia und ein OpenCL-Backend für OpenCL-kompatible Hardware: unter anderem Apples M-Chips, viele Intel-Prozessoren oder FPGAs.
Das war die Leseprobe unseres heise-Plus-Artikels "Java auf Trab: Ein Toolkit für rechenintensive Apps". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.