Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

CUDA® コードの生成に GPU Coder™ を使用するには、前提条件となる製品のインストールで指定された製品をインストールします。

MEX の設定

GPU Coder で CUDA MEX を生成する場合、コード ジェネレーターは MATLAB® に付属の NVIDIA® コンパイラとライブラリを使用します。開発用コンピューターのオペレーティング システムによっては、MEX コード ジェネレーターの設定のみが必要です。

メモ

GPU Coder は、MATLAB Runtime を使用して生成された CUDA MEX ファイルのスタンドアロンでの展開をサポートしません。

Windows システム

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

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

Linux プラットフォーム

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

環境変数

スタンドアロン コード (スタティック ライブラリ、ダイナミック リンク ライブラリ、または実行可能プログラム) 生成には追加の設定要件があります。GPU Coder は、環境変数を使用してコード生成に必要なツール、コンパイラ、およびライブラリの場所を特定します。

メモ

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

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

CUDA Toolkit インストールへのパス。

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\

NVIDIA_CUDNN

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

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\

NVIDIA_TENSORRT

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

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\TensorRT\

OPENCV_DIR

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

次に例を示します。

C:\Program Files\opencv\build

PATH

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

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin

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

次に例を示します。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin

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

次に例を示します。

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

NVIDIA Nsight™ システムの nsys 実行可能ファイルへのパス。

次に例を示します。

C:\Program Files\NVIDIA Corporation\Nsight Systems 2022.5.1\target-windows-x64

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

次に例を示します。

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

LinuxPATH

CUDA Toolkit 実行可能ファイルへのパス。

次に例を示します。

/usr/local/cuda-11.8/bin

NVIDIA Nsight システムの nsys 実行可能ファイルへのパス。

次に例を示します。

/usr/local/Nsight Systems 2022.5.1/target-linux-x64

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

次に例を示します。

/usr/local/lib/

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

次に例を示します。

/usr/local/include/opencv

LD_LIBRARY_PATH

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

次に例を示します。

/usr/local/cuda-11.8/lib64

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

次に例を示します。

/usr/local/cuda-11.8/lib64/

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

次に例を示します。

/usr/local/cuda-11.8/TensorRT/lib/

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

次に例を示します。

/usr/local/arm_compute/lib/

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

NVIDIA_CUDNN

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

次に例を示します。

/usr/local/cuda-11.8/

NVIDIA_TENSORRT

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

次に例を示します。

/usr/local/cuda-11.8/TensorRT/

ARM_COMPUTELIB

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

次に例を示します。

/usr/local/arm_compute

設定の検証

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

同じチェックを実行する同等の GUI ベースのアプリケーションである GPU 環境のチェックを使用することもできます。このアプリケーションを開くには、MATLAB コマンド gpucoderSetup を使用します。

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

参考

アプリ

関数

オブジェクト

関連するトピック