システム要件が正しく満たされている場合、いくつかのアプリケーション処理を汎用グラフィックス処理装置にオフロードできます。 システム・プロパティーを有効にすると、処理のために、適したワークロードが CPU から GPU に移動します。 Just-In-Time (JIT) コンパイラーに特定の処理タスクを GPU にオフロードさせるためのオプションを、コマンド行に設定することもできます。
このタスクについて
ワークロードのサイズがデータの移動を調整するのに十分であれば、CPU の代わりに GPU でデータを処理することによって、いくつかのアプリケーション処理タスクは恩恵を受ける場合があります。 いつ GPU を使用するかが明確に分かっている場合、有効なアプリケーション・プログラミング・インターフェースを使用するアプリケーションを開発して、特定のタスクをオフロードすることができます。 システム・プロパティーをコマンド行に設定し、この決定を自動的に仮想マシン (VM) に行わせることもできます。 JIT は、パフォーマンス・ヒューリスティックに基づいて、特定の処理タスクをオフロードすることもできます。
手順
- Linux® のみ: CUDA ライブラリーを指すように
LD_LIBRARY_PATH
を設定します。 例えば、 export LD_LIBRARY_PATH=<CUDA_LIBRARY_PATH>:$LD_LIBRARY_PATH
と入力します。ここで、 <CUDA_LIBRARY_PATH>
変数は CUDA ライブラリーへの絶対パスです。 CUDA 7.5の場合、<CUDA_LIBRARY_PATH>
変数は/usr/local/cuda-7.5/lib64
です。これは、CUDA がデフォルト・ディレクトリーにインストールされていることを前提としています。
注: Just-In-Time Compiler (JIT) ベースの GPU サポートを使用している場合は、 NVIDIA 仮想マシン (NVVM) ライブラリへのパスも追加する必要があります。 例えば、
<CUDA_LIBRARY_PATH>
変数は
/usr/local/cuda-7.5/lib64:<NVVM_LIBRARY_PATH>
です。
- Linux x86-64 システムの場合、
<NVVM_LIBRARY_PATH>
変数は /usr/local/cuda-7.5/nvvm/lib64
です。
- IBM® Power ® 8 システムの場合、
<NVVM_LIBRARY_PATH>
変数は /usr/local/cuda-7.5/nvvm/lib
です。
これらのパスでは、NVVM ライブラリーがデフォルト・ディレクトリーにインストールされていることが前提となります。
- Windows のみ: CUDA ライブラリーを組み込むように
PATH
を設定します。 「コントロールパネル」で 「システム」 アイコンを開きます。 「システムの詳細設定」をクリックし、 「環境変数」をクリックします。 PATH 変数を選択し、 「編集」をクリックします。 以下の文字列をフィールド変数値:<CUDA_LIBRARY_PATH>
に追加します。ここで、<CUDA_LIBRARY_PATH>
変数はCUDAライブラリーの絶対パスです。 複数の PATH
値が ;
で区切られていることを確認してください。<CUDA_LIBRARY_PATH>
変数はC:\Program Files\NVIDIA
GPU Computing Toolkit\CUDA\v7.5\bin
です。これは、CUDAがデフォルト・ディレクトリーにインストールされていることを想定しています。
この環境変数は、以下のコマンドを使用してコマンド行で直接設定することもできますset PATH=<CUDA_LIBRARY_PATH>;%PATH%
注: Just-In-Time Compiler (JIT) ベースのGPUサポートを使用している場合は、 NVIDIA 仮想マシン(NVVM)ライブラリとNVDIA管理ライブラリ(NVML)へのパスも追加する必要があります。 例えば、<CUDA_LIBRARY_PATH>
変数はC:\Program Files\NVIDIA GPU
Computing Toolkit\CUDA\v7.5\bin;<NVVM_LIBRARY_PATH>;<NVML_LIBRARY_PATH>
です。 NVVM ライブラリーがデフォルト・ディレクトリーにインストールされている場合、 <NVVM_LIBRARY_PATH>
変数は C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\nvvm\bin
です。 NVML ライブラリーは NVIDIA ドライバー・ディレクトリーにあります。 このディレクトリーのデフォルトの場所は C:\Program Files\NVIDIA Corporation\NVSMI
です。
- 適したワークロードをいつ GPU に移動するかを VM に決定させるには、以下の手順に従ってください。
- アプリケーションの実行時に、コマンド行で -Dcom.ibm.gpu.enable システム・プロパティーを設定します。
- オプション: システムに複数の GPU がインストールされていて、アプリケーションのターゲットを特定の GPU にしたい場合は、CUDA 環境変数 CUDA_VISIBLE_DEVICESを設定できます。
例えば、CUDA_VISIBLE_DEVICES=1を設定すると、NVIDIA デバイス ID 1 のみがアプリケーションから可視になります。
この変数に関する詳細は、 NVIDIA のウェブサイトにある
「CUDA環境変数」 を参照してください。
- JIT コンパイラーが処理を GPU にオフロードできるようにするには、アプリケーションの開始時に -Xjit:enableGPUオプションを設定します。
結果
-Dcom.ibm.gpu.enableシステム・プロパティーが正しく設定されている場合、システム・プロパティーで指定された処理タスクは、最小ワークロード・サイズを満たすと自動的にGPUにオフロードされます。
-Xjit:enableGPUオプションを設定した場合、JITはパフォーマンス・ヒューリスティックを使用して、処理のためにGPUに送信するワークロードを決定します。
問題が発生した場合は、 GPU 問題判別 (Linux、Windows のみ)を参照してください。