CUDA4J -Anwendungsprogrammierschnittstelle (nurLinux®, Windows)
Sie können die Anwendungsprogrammierschnittstelle (API) CUDA4J verwenden, um Anwendungen zu entwickeln, in denen genau angegeben werden kann, wann die Grafikverarbeitungseinheit (GPU) für die Anwendungsverarbeitung verwendet werden soll. Es sind viele Klassen verfügbar, um Operationen zwischen der CPU und der GPU zu verwalten.
NVIDIA CUDA (Compute Unified Device Architecture) ist die NVIDIA-Plattform für die parallele Verarbeitung auf einer Grafikverarbeitungseinheit (GPU). Sie können die CUDA4J -API verwenden, um Java™ -Anwendungen zu entwickeln, die direkt beliebige Kernel auf der GPU aufrufen können und so eine Low-Level-Steuerung der Verarbeitung ermöglichen.
Die API CUDA4J ermöglicht die Entwicklung von Anwendungen, die Daten zwischen dem Java-Heapspeicher und Speicherpuffern auf der GPU verschieben können. Auf der GPU können C-Kernel aufgerufen werden, um die Daten zu verarbeiten, und die Ergebnisse können unter der Steuerung der Anwendung in den Java-Heapspeicher zurückgestellt werden.
Nicht alle Funktionen zur Anwendungsverarbeitung sind für das Auslagern in die Grafikverarbeitungseinheit geeignet, auch solche Funktionen nicht, die sich möglicherweise für die parallele Verarbeitung eignen. Eine solche Funktion ist die Codepagekonvertierung. Zwar kann diese Operation für die parallele Verarbeitung geeignet sein, aber der Aufwand für das Übertragen der Daten zwischen der CPU und der GPU ist unabhängig von der Größe der zu konvertierenden Daten recht hoch.
API-Klassen
Auf Systemen, auf denen keine GPU-Einheiten vorhanden sind oder nicht unterstützt werden, können Sie weiterhin die API CUDA4J verwenden, um festzustellen, ob null GPU-Einheiten verfügbar sind.