GPU 環境のチェックおよびアプリの設定
GPU 環境のチェック アプリは、開発用コンピューター上と、NVIDIA® DRIVE や Jetson などの組み込みハードウェア プラットフォーム上の GPU コード生成環境を検証および設定するための対話型ツールです。
このアプリを使用する前に、必須前提条件となるサードパーティのコンパイラ、ライブラリ、およびツールをインストールして設定します。詳細については、前提条件となる製品のインストールと前提条件となる製品の設定を参照してください。
アプリを起動するには、MATLAB® コマンド ウィンドウで次のように入力します。
gpucoderSetup
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
コマンドを使用してフォルダーを変更します。
ハードウェア設定
アプリの [Check/Setup] パネルには、ホスト開発コンピューターまたは NVIDIA DRIVE や Jetson などのハードウェア プラットフォームで GPU デバイスを選択できるドロップダウン リストが提供されます。
オプション | 値 | 説明 |
---|---|---|
ハードウェアの選択 |
| ホスト開発コンピューターでコード生成、コード実行、および環境のチェックを実行します。アプリによりテストを実行する CUDA® MEX が生成されます。 開発用コンピューターに複数の GPU デバイスがある場合、[GPU の選択] オプションを使用して該当する GPU デバイスを選択します。 |
| NVIDIA DRIVE ターゲット プラットフォームでコード生成とコード実行のチェックを実行します。 MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms のインストール後、[Board Settings] パネルを使用してターゲットの接続パラメーターを指定します。 | |
| NVIDIA Jetson ターゲット プラットフォームでコード生成とコード実行のチェックを実行します。 MATLAB Coder Support Package for NVIDIA Jetson™ and NVIDIA DRIVE® Platforms のインストール後、[ボードの設定] パネルを使用してターゲットの接続パラメーターを指定します。 | |
GPU の選択 |
| テストを実行する GPU デバイスを選択します。複数のデバイスがある場合、最初のデバイスが既定です。 このオプションは、[Select Hardware] オプションが |
ボード設定
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 アドレスまたはホスト名。 たとえば、 ホスト名を使用する場合、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 | コードを生成する深層学習ライブラリを指定します。有効なオプションは |
Data Type Check | サポートされている層で推論計算の精度を指定します。32 ビット浮動小数点の推論を実行するには、 Compute Capability の要件については、サードパーティ ハードウェアを参照してください。 |
環境のチェック
ホスト コンピューター上で CUDA 開発環境をチェックするライブラリの場所を指定します。GPU Coder で必要な環境変数を設定する MATLAB スクリプト gpuEnvSettings.m
を生成します。詳細については、前提条件となる製品の設定を参照してください。
オプション | 説明 |
---|---|
CUDA Installation Path | CUDA Toolkit インストールへのパス。 次に例を示します。
|
cuDNN | cuDNN ライブラリ インストールのルート フォルダーへのパス。 次に例を示します。
|
TensorRT | TensorRT™ ライブラリ インストールのルート フォルダーへのパス。 次に例を示します。
|
NVTX Library Path | プロファイリングに必要な CUDA Toolkit の標準インストールの場合、このパスは通常 CUDA ライブラリ フォルダーです。 次に例を示します。
|
GPU コード生成環境チェック レポート
[Run Checks] を選択すると、gpucoderSetup
アプリにより、環境、コード生成、および選択した設定に基づいたその他のチェックが実行されます。その後、テストがパスしたかどうかを示す gpucoderSetupReport
レポートが生成され、失敗したテストの追加情報が提供されます。レポートの HTML バージョンが同じ名前で現在のフォルダーに作成されます。