Main Content

GPU 環境のチェックおよびアプリの設定

GPU 環境のチェック アプリは、開発用コンピューター上と、NVIDIA® DRIVE や Jetson などの組み込みハードウェア プラットフォーム上の GPU コード生成環境を検証および設定するための対話型ツールです。

このアプリを使用する前に、必須前提条件となるサードパーティのコンパイラ、ライブラリ、およびツールをインストールして設定します。詳細については、前提条件となる製品のインストール前提条件となる製品の設定を参照してください。

アプリを起動するには、MATLAB® コマンド ウィンドウで次のように入力します。

gpucoderSetup
GPU 環境のチェック アプリを使用して以下ができます。

  • GPU コード生成に必要な NVIDIA コンパイラおよびライブラリについて、ホスト開発用コンピューターの環境を検証します。

  • 基本的なコードの生成を実行し、ホスト コンピューターの GPU デバイスで生成コードの実行をテストします。このテストでは、MATLAB シミュレーションと結果を比較することでコード実行を検証します。

  • 開発用コンピューターで深層学習のコード生成と実行テストを実行します。NVIDIA cuDNN または TensorRT ライブラリをターゲットにすることができます。GPU Coder™ Interface for Deep Learning サポート パッケージが必要です。

  • DRIVE や Jetson などの組み込み NVIDIA ボードに接続し、コード生成と実行テストを実行します。MATLAB Coder™ Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms が必要です。

  • ライブラリの場所を指定し、GPU Coder で必要な環境変数を設定する MATLAB スクリプトを生成します。

メモ

gpucoderSetup アプリは現在のフォルダーにレポート ファイルを生成します。現在のフォルダーの書き込み権限がない場合は、アプリを実行する前に MATLAB cd コマンドを使用してフォルダーを変更します。

Sample screen shot of the GPU environment check app

ハードウェア設定

アプリの [Check/Setup] パネルには、ホスト開発コンピューターまたは NVIDIA DRIVE や Jetson などのハードウェア プラットフォームで GPU デバイスを選択できるドロップダウン リストが提供されます。

オプション説明

ハードウェアの選択

Host (for MEX)

ホスト開発コンピューターでコード生成、コード実行、および環境のチェックを実行します。アプリによりテストを実行する CUDA® MEX が生成されます。

開発用コンピューターに複数の GPU デバイスがある場合、[GPU の選択] オプションを使用して該当する GPU デバイスを選択します。

Drive

NVIDIA DRIVE ターゲット プラットフォームでコード生成とコード実行のチェックを実行します。

MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms のインストール後、[Board Settings] パネルを使用してターゲットの接続パラメーターを指定します。

Jetson

NVIDIA Jetson ターゲット プラットフォームでコード生成とコード実行のチェックを実行します。

MATLAB Coder Support Package for NVIDIA Jetson™ and NVIDIA DRIVE® Platforms のインストール後、[ボードの設定] パネルを使用してターゲットの接続パラメーターを指定します。

GPU の選択

GPU<idx>-<device name>

テストを実行する GPU デバイスを選択します。複数のデバイスがある場合、最初のデバイスが既定です。

このオプションは、[Select Hardware] オプションが [Host (for MEX)] に設定されている場合にのみ表示されます。DRIVE または Jetson ハードウェアでは、[ボードの設定] パネルで選択できる [GPU デバイス ID] オプションを使用して特定の GPU デバイスを選択します。

ボード設定

NVIDIA DRIVE や Jetson などのハードウェア プラットフォームの接続パラメーターを指定します。アプリは MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms の関数 jetson または関数 drive を使用して、ライブ ハードウェア接続オブジェクトを作成します。サポート パッケージ ソフトウェアは、生成された CUDA コードを DRIVE プラットフォームまたは Jetson プラットフォームでビルドして実行している間、TCP/IP 経由の SSH 接続を使用してコマンドを実行します。ターゲット プラットフォームはホスト コンピューターと同じネットワーク上になければなりません。または、イーサネット クロス ケーブルを使用してボードを直接ホスト コンピューターと接続できます。NVIDIA ボードの要件、設定、構成手順の詳細については、Install and Setup Prerequisites for NVIDIA Boardsを参照してください。

オプション説明

Device Address

ハードウェアの IP アドレスまたはホスト名。

たとえば、169.254.0.2gpucoder-tegratx2-name のようにします。

ホスト名を使用する場合、Ethernet ケーブルをボードの Ethernet 端子に接続しなければなりません。次に、Linux コマンドを使用してハードウェア IP アドレスを設定し、ホスト名をその IP アドレスに関連付けます。

Username

ボードのオペレーティング システムに対して有効な Linux® ユーザー名。

Password

指定した Linux ユーザー名に対して有効なパスワード。

Execution Timeout

ターゲット上の実行テストを検証するまでアプリが待機する時間を秒単位で指定します。既定値は 10 秒です。

GPU Device ID

NVIDIA Drive プラットフォームなどのマルチ GPU 環境で、ターゲットにする CUDA GPU デバイスを指定します。

ワークフロー チェック

アプリを使用して実行できるワークフロー チェックには次の 2 種類があります。

開発用コンピューターでの基本的なコード生成と実行テスト。これらのテストでは、MATLAB シミュレーションと結果を比較することでコード実行を検証します。基本的なコード生成と実行テストでは、次のエントリポイント関数を使用します。

function [yout] = gpuSimpleTest(xin)

coder.allowpcode('plain');
yout = coder.nullcopy(zeros(size(xin)));
coder.gpu.kernelfun();

for idx=1:100
    yout(idx) = xin(idx) * 2;
end

yout = yout + 5;

end

オプション説明

Generate Code

基本的なコード生成とビルドをテストします。このテストでは、指定したハードウェアで有効な CUDA コード生成環境が必要です。

Generate Code and Execute

[Specified Hardware] のデバイスで基本的なコード生成、ビルドおよび実行をテストします。このテストでは、指定したハードウェアで有効な CUDA コード生成環境および GPU デバイスが必要です。

SIL Profiling

ホスト コンピューターで基本的な SIL プロファイリング テストを実行します。

開発用コンピューターでの深層学習のコード生成と実行テスト。cuDNN または TensorRT ライブラリをターゲットにすることができます。深層学習のコード生成と実行テストでは、手書きの数字イメージを検出できる事前学習済みのネットワークを使用します。ネットワークには、Modified National Institute of Standards and Technology データベース (MNIST) データ セットを使用して学習させています。次のコードは、深層学習のコード生成テストのエントリポイント関数を示しています。

function out = dlEntryPointTest(in, ntwkfile)

    net = coder.loadDeepLearningNetwork(ntwkfile);
    out = net.predict(in);

end

オプション説明

Generate Code

深層学習のコード生成とビルドをテストします。このテストでは、指定したハードウェアで有効な CUDA コード生成環境が必要です。

Generate Code and Execute

[Specified Hardware] のデバイスで深層学習のコード生成、ビルドおよび実行をテストします。このテストでは、指定したハードウェアで有効な CUDA コード生成環境および GPU デバイスが必要です。

Target

コードを生成する深層学習ライブラリを指定します。有効なオプションは [cuDNN] または [TensorRT] です。

Data Type Check

サポートされている層で推論計算の精度を指定します。32 ビット浮動小数点の推論を実行するには、'FP32' を使用します。半精度には、'FP16' を使用します。8 ビット整数には、'INT8' を使用します。既定値は 'FP32' です。

Compute Capability の要件については、サードパーティ ハードウェアを参照してください。

環境のチェック

ホスト コンピューター上で CUDA 開発環境をチェックするライブラリの場所を指定します。GPU Coder で必要な環境変数を設定する MATLAB スクリプト gpuEnvSettings.m を生成します。詳細については、前提条件となる製品の設定を参照してください。

オプション説明

CUDA Installation Path

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

次に例を示します。

/usr/local/cuda-10.1/bin

cuDNN

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

次に例を示します。

/usr/local/cuDNN/

TensorRT

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

次に例を示します。

/usr/local/TensorRT/

NVTX Library Path

プロファイリングに必要な nvtx ライブラリへのパス。この項目を有効にするには、[SIL Profiling] を選択します。

CUDA Toolkit の標準インストールの場合、このパスは通常 CUDA ライブラリ フォルダーです。

次に例を示します。

/usr/local/cuda-10.1/lib64

GPU コード生成環境チェック レポート

[Run Checks] を選択すると、gpucoderSetup アプリにより、環境、コード生成、および選択した設定に基づいたその他のチェックが実行されます。その後、テストがパスしたかどうかを示す gpucoderSetupReport レポートが生成され、失敗したテストの追加情報が提供されます。レポートの HTML バージョンが同じ名前で現在のフォルダーに作成されます。

Sample environment check report

参考

アプリ

関数

オブジェクト

関連するトピック