Grafikverarbeitungseinheiten nutzen (nur Linux, Windows)

Sie können die Leistung Ihrer Java™ -Anwendungen verbessern, indem Sie bestimmte Verarbeitungsfunktionen von Ihrem Prozessor (CPU) auf eine Grafikverarbeitungseinheit (GPU) auslagern. Es gelten bestimmte Hardware-und Softwarevoraussetzungen.

Eine Grafikverarbeitungseinheit soll die parallele Verarbeitung optimieren. Eine NVIDIA-Grafikverarbeitungseinheit kann potenziell Tausende von Kernen haben, die dieselbe Anweisung gleichzeitig ausführen können, beispielsweise die Bearbeitung der einzelnen Pixel innerhalb eines Bildes. Im Vergleich dazu hat eine CPU wenige Cores, die ideal für die serielle Verarbeitung sind, und führt unterschiedliche Anweisungen nacheinander aus.

Enthält die Anwendung Code, bei dem die parallele Verarbeitung von Vorteil ist, können Sie diesen Teil des Codes auf der Grafikverarbeitungseinheit (GPU) und den Rest des Codes auf der CPU ausführen. Sie können die Anwendungsprogrammierschnittstelle (API) CUDA4J verwenden, um in Ihrer Anwendung genau anzugeben, wann die Grafikverarbeitungseinheit verwendet werden soll. Möglicherweise für diese Technologie geeignete Anwendungen sind Unternehmensanwendungen und technische Anwendungen mit hoher Leistung, beispielsweise solche, die große Datenmengen verarbeiten und Analysen durchführen können. Weitere Informationen finden Sie unter Die CUDA4J -Anwendungsprogrammierschnittstelle (nurLinux, Windows).

Einige Java-Funktionen, wie z. B. sort, sind besonders für die GPU-Verarbeitung geeignet. Die Funktion sort benötigt wiederholte Operationen für Datenarrays und kann auf einer GPU schneller verarbeitet werden als auf einer CPU. Damit eine Java-Anwendung von dieser Art der Verarbeitung profitieren kann, muss das Array jedoch eine ausreichende Größe haben, um die Zeit zu rechtfertigen, die zum Verschieben der Daten zwischen der CPU und der GPU erforderlich ist. Wenn Sie genau feststellen können, wann eine GPU verwendet werden kann, können Sie Anwendungen entwickeln, die die Klassen 'com.ibm.gpu' zum Auslagern bestimmter Tasks verwenden. Weitere Informationen zu diesen Klassen finden Sie unter Anwendungsprogrammierschnittstelle com.ibm.gpu (nurLinux, Windows). Alternativ können Sie der Java Virtual Machine überlassen, wann die Verarbeitung auf eine GPU ausgelagert werden soll, indem Sie eine Systemeigenschaft in der Befehlszeile festlegen. Informationen zum Aktivieren dieser Funktion finden Sie unter Anwendungsverarbeitung auf einer Grafikverarbeitungseinheit aktivieren (nurLinux, Windows).

Der JIT-Compiler (Just-in-time-Compiler) kann die Verarbeitung ebenfalls auf eine GPU auslagern. Weitere Informationen finden Sie unter Wie der JIT-Compiler eine GPU verwendet (nurLinux, Windows).