Main Content

coder.gpuEnvConfig

GPU コード生成環境チェックを実行するために coder.checkGpuInstall に渡されるパラメーターが含まれる構成オブジェクトの作成

説明

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

作成

説明

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

gpuEnvObj = coder.gpuEnvConfig(hw)hw で指定されるハードウェアのタイプの gpuEnvConfig 構成オブジェクトを作成します。hw'host''jetson'、または 'drive' の値を取ることができます。タイプ Jetson およびタイプ 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;

このフィールドは、深層学習コード生成と実行チェックが実行されるライブラリ ターゲットを示します。

例: gpuEnvObj.DeepLibTarget = 'cudnn';

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

例: gpuEnvObj.DataType = 'fp32';

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

例: gpuEnvObj.GenReport = true;

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

例: gpuEnvObj.Quiet = true;

ホスト マシンで適切に設定された NVTX ライブラリのインストールをチェックします。このライブラリはプロファイリングに使用されます。

例: gpuEnvObj.Profiling = true;

このフィールドにはホストの CUDA® ライブラリへのパスが含まれています。既定値は、Linux OS にある場合は現在の nvcc の場所に基づき、Windows OS にある場合は "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';

このフィールドにはホストの NVTX ライブラリへのパスが含まれています。既定値は、設定される場合 Windows OS の "NVTOOLSEXT_PATH" 環境変数に基づいています。Linux の場合、"LD_LIBRARY_PATH" から取得されます。この値を変更して別の場所を選択することもできます。

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

このフィールドは "jetson" または "drive" ハードウェア オブジェクトを受け入れます。このフィールド (jetson/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
        deepcodeexec: 1
    tensorrtdatatype: 1
           profiling: 0

バージョン履歴

R2019a で導入