最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

前提条件となる製品の設定

環境変数

GPU Coder™ は、環境変数を使用してコード生成に必要なツール、コンパイラ、およびライブラリの場所を特定します。必要なサードパーティ製品が標準以外の方法でインストールされている場合、次の環境変数が設定されていることを確認します。

メモ

Windows® では、ツール、コンパイラ、ライブラリへのパスにスペースまたは特殊文字が含まれていると、ビルド プロセス中に問題が生じる可能性があります。スペースが含まれない場所にサードパーティー製のソフトウェアをインストールするか、Windows 設定を変更して、ファイル、フォルダー、およびパスの省略名の作成を有効にしなければなりません。詳細については、MATLAB AnswersUsing Windows short names の解決法を参照してください。

プラットフォーム変数名説明
Windows CUDA_PATH

CUDA® ツールキット インストールへのパス。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\

NVIDIA_CUDNN

cuDNN インストールのルート フォルダーへのパス。ルート フォルダーには、bin、include、および lib サブフォルダーが含まれます。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cuDNN\

NVIDIA_TENSORRT

TensorRT インストールのルート フォルダーへのパス。ルート フォルダーには、bin、data、include、および lib サブフォルダーが含まれます。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\TensorRT\

OPENCV_DIR

ホストの OpenCV のビルド フォルダーへのパス。深層学習の例をビルドおよび実行するにはこの変数が必要です。

次に例を示します。

C:\Program Files\opencv\build

PATH

CUDA 実行可能ファイルへのパス。通常、CUDA ツールキット インストーラーによりこの値は自動的に設定されます。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

cudnn.dll ダイナミック ライブラリへのパス。このライブラリ名はご使用のシステムでは異なる可能性があります。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cuDNN\bin

TensorRT の nvinfer* ダイナミック ライブラリへのパス。このライブラリ名はご使用のシステムでは異なる可能性があります。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\TensorRT\lib

OpenCV のダイナミック リンク ライブラリ (DLL) へのパス。深層学習の例を実行するにはこの変数が必要です。

次に例を示します。

C:\Program Files\opencv\build\x64\vc15\bin

Linux® PATH

CUDA ツールキット実行可能ファイルへのパス。

次に例を示します。

/usr/local/cuda-10.0/bin

OpenCV ライブラリへのパス。深層学習の例をビルドおよび実行するにはこの変数が必要です。

次に例を示します。

/usr/local/lib/

OpenCV ヘッダー ファイルへのパス。深層学習の例をビルドするにはこの変数が必要です。

次に例を示します。

/usr/local/include/opencv

LD_LIBRARY_PATH

CUDA ライブラリ フォルダーへのパス。

次に例を示します。

/usr/local/cuda-10.0/lib64

cuDNN ライブラリ フォルダーへのパス。

次に例を示します。

/usr/local/cuDNN/lib64/

TensorRT™ ライブラリ フォルダーへのパス。

次に例を示します。

/usr/local/TensorRT/lib/

ターゲット ハードウェアの ARM® Compute Library フォルダーへのパス。

次に例を示します。

/usr/local/arm_compute/lib/

ARM ターゲット ハードウェアで LD_LIBRARY_PATH を設定します。

NVIDIA_CUDNN

cuDNN ライブラリ インストールのルート フォルダーへのパス。

次に例を示します。

/usr/local/cuDNN/

NVIDIA_TENSORRT

TensorRT ライブラリ インストールのルート フォルダーへのパス。

次に例を示します。

/usr/local/TensorRT/

ARM_COMPUTELIB

ARM ターゲット ハードウェアにインストールされる ARM Compute Library のルート フォルダーへのパス。ARM ターゲット ハードウェアでこの値を設定します。

次に例を示します。

/usr/local/arm_compute

MEX の設定

Windows システム

C/C++ 言語用に複数バージョンの Microsoft® Visual Studio® コンパイラを Windows システムにインストールしている場合、MATLAB® によって 1 つが既定のコンパイラとして選択されます。選択されたコンパイラに GPU Coder でサポートされているバージョンとの互換性がない場合は、選択を変更してください。サポートされている Microsoft Visual Studio のバージョンについては、前提条件となる製品のインストールを参照してください。

既定のコンパイラを変更するには、mex -setup コマンドを使用します。mex -setup を呼び出すと、MATLAB に別のコンパイラを設定するためのリンクを含むメッセージが表示されます。リンクを選択し、MEX ファイルをビルドするための既定のコンパイラを変更します。選択したコンパイラは、mex -setup を呼び出して別の既定のコンパイラを選択するまで既定が維持されます。詳細については、既定のコンパイラの変更 (MATLAB)を参照してください。mex -setup コマンドでは C 言語コンパイラのみが変更されます。mex -setup C++ を使用して C++ の既定のコンパイラも変更しなければなりません。

Linux プラットフォーム

Linux プラットフォームでは、MATLAB および CUDA ツールキットは C 言語の GCC コンパイラのみをサポートします。サポートされている GCC のバージョンについては、前提条件となる製品のインストールを参照してください。

設定の検証

開発用コンピューターに、GPU コード生成に必要なすべてのツールと構成があることを検証するには、関数 coder.checkGpuInstall を使用します。この関数は、GPU コード生成に必要なすべてのサードパーティ製ツールおよびライブラリが環境にあるかどうかを検証するためのチェックを実行します。coder.gpuEnvConfig オブジェクトを関数に渡さなければなりません。この関数は、与えられた構成オブジェクトで指定されたプロパティに基づいて GPU コード生成環境を検証します。

同じチェックを実行する同等の GUI ベースのアプリケーションを使用することもできます。このアプリケーションはコマンド coder.checkGpuInstallApp を使用して起動できます。

MATLAB コマンド ウィンドウに、次のように入力します。

gpuEnvObj = coder.gpuEnvConfig;
gpuEnvObj.BasicCodegen = 1;
gpuEnvObj.BasicCodeexec = 1;
gpuEnvObj.DeepLibTarget = 'tensorrt';
gpuEnvObj.DeepCodeexec = 1;
gpuEnvObj.DeepCodegen = 1;
results = coder.checkGpuInstall(gpuEnvObj)

以下に示す出力は代表的なものです。実際の結果は異なる可能性があります。

Compatible GPU           : PASSED 
CUDA Environment         : PASSED 
	Runtime   : PASSED 
	cuFFT     : PASSED 
	cuSOLVER  : PASSED 
	cuBLAS    : PASSED 
cuDNN Environment        : PASSED 
TensorRT Environment     : PASSED 
Basic Code Generation    : PASSED 
Basic Code Execution     : PASSED 
Deep Learning (TensorRT) Code Generation: PASSED 
Deep Learning (TensorRT) Code Execution: PASSED 

results = 

  struct with fields:

                 gpu: 1
                cuda: 1
               cudnn: 1
            tensorrt: 1
        basiccodegen: 1
       basiccodeexec: 1
         deepcodegen: 1
        deepcodeexec: 1
    tensorrtdatatype: 1
           profiling: 0

参考

| | | |

関連するトピック