Zum Hauptinhalt Zur Navigation

Projekt Sumatra: Nativer OpenCL-Code für GPUs aus Java-Engine

Mit dem Projekt Sumatra will Oracle die Beschleunigung von Java-Code durch GPUs stark vereinfachen. Ein erster Partner ist mit AMD bereits gefunden, das bereits früher einen ähnlichen, aber komplizierteren Ansatz verfolgte.
/ Nico Ernst
4 Kommentare News folgen (öffnet im neuen Fenster)
Beschleuniger wie diese Fire Pro W9000 sollen Java ausführen (Bild: AMD)
Beschleuniger wie diese Fire Pro W9000 sollen Java ausführen Bild: AMD

Wenn es nach Oracle und AMD geht, soll Java bald fast vollautomatisch auch Rechenfunktionen auf GPUs auslagern können. Oracle stellte dazu auf der am vergangenen Sonntag in San Francisco eröffneten Konferenz JavaOne(öffnet im neuen Fenster) das Projekt Sumatra vor. Voraus ging dem eine Abstimmung in der entsprechenden Mailingliste für Entwickler(öffnet im neuen Fenster) .

Sumatra wird zunächst auf die virtuelle Maschine Hotspot von Oracle(öffnet im neuen Fenster) aufsetzen. Der Just-in-Time-Compiler von Hotspot soll dabei durch den Programmierer gegebene Hinweise (Hints) verarbeiten und selbst OpenCL-Code erzeugen können. Dieser wird dann auf der GPU ausgeführt. Damit ist es nicht mehr nötig, dass sich ein Programmierer selbst direkt mit OpenCL beschäftigt.

Auch auf ein Plugin, das Java-Bytecode in OpenCL übersetzt, wie es beispielsweise bei AMDs Projekt Aparapi(öffnet im neuen Fenster) nötig war, soll bei Sumatra verzichtet werden. AMD hatte Aparapi vor einem Jahr in Open Source überführt(öffnet im neuen Fenster) und will nun an Sumatra mitarbeiten. Der zuständige Enwickler bei AMD, Gary Frost, sagte dem Register(öffnet im neuen Fenster) , Sumatra solle für Entwickler wie Anwender völlig transparent arbeiten: Wenn keine geeignete GPU verfügbar ist, soll der Compiler das erkennen und die Routinen auf der CPU ausführen.

Es ist jedoch nicht damit zu rechnen, dass in nächster Zukunft Java-Programme auf PCs automatisch durch eine GPU beschleunigt werden. Sumatra steht noch ganz am Anfang, Gary Frost rechnet nicht damit, dass es in der für Mitte 2013 erwarteten Version 8 von Java schon verwendet werden kann. Möglich ist jedoch ein Update mit Sumatra für Java 8, oder volle Unterstützung von Anfang an in Java 9, das 2014 geplant ist.


Relevante Themen