グラフィックス処理装置の活用 (Linux、Windows のみ)

特定の処理機能をプロセッサー (CPU) からグラフィックス処理装置 (GPU) にオフロードすることにより、Java™ アプリケーションのパフォーマンスを向上させることができます。特定のハードウェア要件およびソフトウェア要件が適用されます。

グラフィックス処理装置は並列処理を最適化するように設計されています。 NVIDIA GPU は、画像内の各ピクセルの操作など、同じ命令を同時に実行可能な数千ものコアを持つ可能性があります。 これに対して、CPU は数個のコアを備えており、これは、異なる命令を順次実行するシリアル処理にとって理想的です。

ご使用のアプリケーションに並列処理を活用できるコードが含まれている場合は、コードのその部分を GPU で実行し、残りのコードを CPU で実行できます。 CUDA4J アプリケーション・プログラミング・インターフェース (API) を使用して、アプリケーション内で GPU を使用するタイミングを正確に指定できます。 このテクノロジーに適していると考えられるアプリケーションのタイプは、ビッグデータおよび分析ワークロードなどの高性能なエンタープライズ・アプリケーションおよびテクニカル・コンピューティング・アプリケーションです。 詳しくは、 CUDA4J アプリケーション・プログラミング・インターフェース (Linux、Windows のみ)を参照してください。

一部の Java 関数 ( sortなど) は、特に GPU 処理に適しています。 sort 関数ではデータ配列に対する反復演算が必要になるため、GPU の方が CPU よりも処理を高速化できます。 ただし、Java アプリケーションがこのタイプの処理の利点を活用するには、CPU と GPU の間でデータを移動するのにかかる時間を正当化するのに十分なサイズの配列でなければなりません。 いつ GPU を使用するかが明確に分かっている場合、com.ibm.gpu クラスを使用するアプリケーションを開発して、特定のタスクをオフロードすることができます。 これらのクラスについて詳しくは、 com.ibm.gpu アプリケーション・プログラミング・インターフェース (Linux、Windows のみ)を参照してください。 あるいは、コマンド行でシステム・プロパティーを設定することにより、処理を GPU にオフロードするタイミングを Java 仮想マシンに決定させることができます。 この機能を有効にするには、 グラフィックス処理装置でのアプリケーション処理の有効化 (Linux、Windows のみ)を参照してください。

Just-In-Time (JIT) コンパイラーも、処理を GPU にオフロードできます。 詳しくは、 JIT コンパイラーによる GPU の使用方法 (Linux、Windows のみ)を参照してください。