GPU 問題判別 (Linux®、Windows のみ)

グラフィックス処理装置 (GPU) でアプリケーション処理の問題が発生する場合は、根本原因を特定するのに役立つ詳細ロギングを有効にすることができます。 標準 SDK トレース機能を使用して、アプリケーション処理をトレースすることもできます。

アプリケーション処理が GPU にオフロードされない理由としては、いくつかが考えられます。 以下の領域を確認してください。
システムのセットアップ
GPU システム要件 (Linux、Windows のみ)の説明に従って、ご使用のシステムが最小限のハードウェア要件およびソフトウェア要件を満たしていることを確認します。
システム構成
-Dcom.ibm.gpu.enable システム・プロパティーを使用して GPU 処理を有効にした場合、Java 仮想マシンが処理をオフロードするのは、その処理を CPU から移動するオーバーヘッドの価値がある場合のみです。 例えば、sort 操作をオフロードする前に、配列は約 20,000 項目の最小サイズを満たしていなければなりません。 ご使用のシステム構成を検証するために、システム・プロパティーが用意されています。 しきい値設定とは無関係に GPU 処理を実行するには、システム・プロパティー -Dcom.ibm.gpu.enforce をコマンド行で設定してください。 このプロパティーは検証目的でのみ提供されており、通常の環境下で設定してはいけません。 アプリケーションのパフォーマンスが低下するおそれがあります。

JITコンパイラーが処理タスクをGPUにオフロードできるようにした場合は、-Xjit:enableGPU={enforce|verbose}オプションを指定してシステム構成を検証できます。 このオプションを設定すると、JIT は、データ処理タスクを CPU ではなく GPU で処理する利点があるかどうかの判別をパフォーマンス・ヒューリスティックに依存しません。 JIT が処理を正常に GPU へ移動したかどうかを確認するには、詳細サブオプションによって生成されるシステム出力を調べてください。 詳しくは、 JIT コンパイラーと GPU の間の問題の診断 (Linux、Windows のみ)を参照してください。

アプリケーション・プログラミング
CUDA4J アプリケーション・プログラミング・インターフェースでクラスを指定することにより、直接 GPU を使用するアプリケーションを開発している場合は、コードにエラーがないかどうかを慎重に調べてください。
com.ibm.gpu パッケージ内のクラスを使用するアプリケーションを開発する場合は、コードにエラーがないことを慎重に調べてください。 いくつかのコーディング・サンプルは、 com.ibm.gpu アプリケーション・プログラミング・インターフェース (Linux、Windows のみ)で提供されています。
これらの領域が GPU 処理での問題の原因となっていないことに納得したら、さらに問題をトラブルシューティングするための手順を行うことができます。
注: GPU の使用に関して、いくつかの既知の制限があります。 詳しくは、 GPU の問題と制限を参照してください。