グラフィックス処理装置でのアプリケーション処理の使用可能化 (Linux、Windows のみ)

システム要件が正しく満たされている場合、いくつかのアプリケーション処理を汎用グラフィックス処理装置にオフロードできます。 システム・プロパティーを有効にすると、処理のために、適したワークロードが CPU から GPU に移動します。 Just-In-Time (JIT) コンパイラーに特定の処理タスクを GPU にオフロードさせるためのオプションを、コマンド行に設定することもできます。

開始前に

ご使用のシステムが、ハードウェアおよびソフトウェアの必須要件を満たしていることを確認します。 詳しくは、 GPU のシステム要件 (Linux、Windows のみ)を参照してください。

このタスクについて

ワークロードのサイズがデータの移動を調整するのに十分であれば、CPU の代わりに GPU でデータを処理することによって、いくつかのアプリケーション処理タスクは恩恵を受ける場合があります。 いつ GPU を使用するかが明確に分かっている場合、有効なアプリケーション・プログラミング・インターフェースを使用するアプリケーションを開発して、特定のタスクをオフロードすることができます。 システム・プロパティーをコマンド行に設定し、この決定を自動的に仮想マシン (VM) に行わせることもできます。 JIT は、パフォーマンス・ヒューリスティックに基づいて、特定の処理タスクをオフロードすることもできます。

手順

  1. 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 ライブラリーがデフォルト・ディレクトリーにインストールされていることが前提となります。
  2. 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です。
  3. 適したワークロードをいつ GPU に移動するかを VM に決定させるには、以下の手順に従ってください。
    1. アプリケーションの実行時に、コマンド行で -Dcom.ibm.gpu.enable システム・プロパティーを設定します。
      このプロパティーは、特定の処理機能 (sort など) について設定できます。 詳しくは、 -Dcom.ibm.gpu.enable (Linux、Windows のみ)を参照してください。
    2. オプション: システムに複数の GPU がインストールされていて、アプリケーションのターゲットを特定の GPU にしたい場合は、CUDA 環境変数 CUDA_VISIBLE_DEVICESを設定できます。
      例えば、CUDA_VISIBLE_DEVICES=1を設定すると、NVIDIA デバイス ID 1 のみがアプリケーションから可視になります。
      この変数に関する詳細は、 NVIDIA のウェブサイトにある 「CUDA環境変数」 を参照してください。
  4. JIT コンパイラーが処理を GPU にオフロードできるようにするには、アプリケーションの開始時に -Xjit:enableGPUオプションを設定します。

結果

-Dcom.ibm.gpu.enableシステム・プロパティーが正しく設定されている場合、システム・プロパティーで指定された処理タスクは、最小ワークロード・サイズを満たすと自動的にGPUにオフロードされます。

-Xjit:enableGPUオプションを設定した場合、JITはパフォーマンス・ヒューリスティックを使用して、処理のためにGPUに送信するワークロードを決定します。

問題が発生した場合は、 GPU 問題判別 (Linux、Windows のみ)を参照してください。