メインコンテンツ

coder.gpuEnvConfig

GPU コード生成環境をチェックするための構成オブジェクト

説明

coder.gpuEnvConfig オブジェクトには、GPU コード生成環境を検証するために coder.checkGpuInstall により使用される構成パラメーターが含まれています。

作成

説明

gpuEnvObj = coder.gpuEnvConfig はホスト開発コンピューターの gpuEnvConfig 構成オブジェクトを作成します。

gpuEnvObj = coder.gpuEnvConfig(hw) は、hw で指定されたハードウェア タイプ用の構成オブジェクトを作成します。ハードウェアのタイプを NVIDIA® Jetson™ または NVIDIA DRIVE® として指定するには、MATLAB® Coder™ Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms をインストールしなければなりません。

プロパティ

すべて展開する

このフィールドは gpuEnvConfig 構成オブジェクトの作成時に設定される読み取り専用のプロパティです。このフィールドは 'host''jetson'、または 'drive' の値を取ることができます。タイプ Jetson およびタイプ DRIVE には、MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms が必要です。

例: gpuEnvObj.Hardware

環境がチェックされる場合に使用しなければならない GPU デバイス ID を選択します。既定の設定では、GpuId は 0 に設定されます。

例: gpuEnvObj.GpuId = 1;

このフィールドが true に設定されている場合、基本的な GPU コード生成チェックが実行されます。生成されたコードは実行されません。

例: gpuEnvObj.BasicCodegen = true;

このフィールドが true に設定されている場合、基本的な GPU コード生成と実行チェックは選択した GPU デバイスで実行されます。

例: gpuEnvObj.BasicCodeexec = true;

このフィールドが true に設定されている場合、DeepLibTarget プロパティで示されるライブラリ ターゲットに対して深層学習の GPU コード生成チェックが実行されます。生成されたコードは実行されません。

例: gpuEnvObj.DeepCodegen = true;

このフィールドが true に設定されている場合、選択した GPU デバイスの DeepLibTarget プロパティで示されるライブラリ ターゲットに対して深層学習の GPU コード生成と実行チェックが実行されます。

例: gpuEnvObj.DeepCodeexec = true;

深層学習ライブラリ。'none''cudnn'、または 'tensorrt' として指定します。このプロパティは、深層学習コード生成と実行チェックを実行するライブラリ ターゲットを示します。サードパーティのライブラリを使用せずに深層ニューラル ネットワーク用の CUDA® コードを生成するには、このプロパティを 'none' に設定します。

例: gpuEnvObj.DeepLibTarget = "cudnn";

このフィールドは、選択した GPU デバイスが選択した TensorRT データ精度に必要な最低 Compute Capability を満たすかどうかをチェックします。

例: gpuEnvObj.DataType = 'fp32';

このフィールドが true に設定されている場合、現在の作業フォルダーに結果の HTML レポートが生成されます。現在の作業フォルダーは書き込み可能でなければなりません。

例: gpuEnvObj.GenReport = true;

このフィールドが true に設定されている場合、コマンド ラインへの出力は非表示になります。

例: gpuEnvObj.Quiet = true;

ホストの CUDA ライブラリへのパス。文字ベクトルとして指定します。既定値はオペレーティング システムによって異なります。

  • Linux® では、既定値は nvcc コンパイラへのパスに基づきます。MATLAB が nvcc を見つけられない場合、既定値は空の文字ベクトルになります。

  • Windows® では、既定値は CUDA_PATH 環境変数の値となります。

例: gpuEnvObj.CudaPath = '/usr/local/cuda';

ホストの cuDNN ライブラリへのパス。文字ベクトルとして指定します。既定値は、設定される場合 NVIDIA_CUDNN 環境変数に基づいています。

例: gpuEnvObj.CudnnPath = '/usr/local/cuda/cudnn';

ホストの TensorRT ライブラリへのパス。文字ベクトルとして指定します。既定値は、設定される場合 NVIDIA_TENSORRT 環境変数に基づいています。

例: gpuEnvObj.TensorrtPath = '/usr/local/cuda/tensorrt';

NVIDIA ハードウェア。jetson または drive オブジェクトとして指定します。NVIDIA Jetson または NVIDIA DRIVE の場合、ボードで環境チェックを実行する前にこのフィールドを設定します。

例: gpuEnvObj.Hardware = jetsonHwObj;

ターゲット上の実行テストを検証するまでソフトウェアが待機する時間を秒単位で指定します。

例: gpuEnvObj.ExecTimeout = 25;

すべて折りたたむ

この例では、開発用コンピューターに、GPU コード生成に必要なすべてのツールと構成があるかどうか検証する方法を示します。

関数 coder.checkGpuInstall に渡すことのできる coder.gpuEnvConfig オブジェクトを作成します。

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
    tensorrtdatatype: 1
        deepcodeexec: 1

バージョン履歴

R2019a で導入

すべて展開する