Verwendung einer GPU durch den JIT-Compiler (nur Linux, Windows)
Sie können den JIT-Compiler (Just-in-time-Compiler) für das Auslagern bestimmter Verarbeitungstasks auf eine vielseitig einsetzbare Grafikverarbeitungseinheit (GPU) aktivieren. Der JIT-Compiler ermittelt, wann diese Tasks auf der Basis von heuristischen Verfahren für die Leistung ausgelagert werden sollen.
Eine Schleife parallel().forEach führt durch Verwendung unterschiedlicher Threads
einen Codeabschnitt mehrere Male parallel aus. Diese Art der parallelen Verarbeitung ist für die Verarbeitung auf einer Grafikverarbeitungseinheit (GPU) geeignet,
die über Tausende von Kernen verfügt, die gleichzeitig dieselbe Anweisung ausführen können. Da jedoch das Verschieben von Daten zwischen der CPU und der GPU mit Aufwand verbunden ist,
lagert der JIT-Compiler die Verarbeitung nur dann aus,
wenn bestimmte heuristische Verfahren für die Leistung einen solchen Aufwand rechtfertigen.
IntStream.range(<range>).parallel().forEach(<lambda>)
IntStream.rangeClosed(<range>).parallel().forEach(<lambda>)Dabei gilt:<range>definiert Ober-und Untergrenzen.<lambda>ist ein korrekt definierter Lambda-Ausdruck.
- Typen
- Variablen und eindimensionale Arrays aller primitiven Java-Typen.
- Speicher
- Automatische Variablen, Parametervariablen und Instanzvariablen. Statische Variablen werden nicht unterstützt.
- Operationen
- Alle Java-Operatoren außer
instanceof. - Anweisungen und Ausdrücke
- Alle Java-Anweisungen und -Ausdrücke mit Ausnahme von
new,throwund Methodenaufrufen. - Java-Ausnahmebedingungen
- Alle Standard-Java-Ausnahmebedingungen, einschließlich NullPointerException, ArrayIndexOutOfBoundsExceptionund ArithmeticException.
- Methodenaufrufe.
- Temporäre Operationen wie
mapoderfilter. - Benutzerausnahmebedingungen.
Sie können die JIT-Verarbeitung aktivieren, indem Sie beim Starten der Anwendung die Option -Xjit:enableGPU in der Befehlszeile festlegen. Weitere Informationen finden Sie unter Anwendungsverarbeitung auf einer Grafikverarbeitungseinheit aktivieren (nurLinux, Windows).
Damit die Verarbeitung auf eine GPU ausgelagert werden kann, muss Ihr System die unter GPU-Systemvoraussetzungen (nurLinux, Windows)angegebenen Mindestvoraussetzungen erfüllen. Wenn Probleme auftreten, lesen Sie den Abschnitt GPU-Fehlerbestimmung (Linux, nur Windows).