GPU Coder は、最適化された CUDA® コードを MATLAB コードや Simulink モデルから生成します。生成されたコードには、ディープラーニングや組み込みビジョン、レーダーおよび信号処理アルゴリズムの並列処理可能な部分の CUDA カーネルが含まれます。パフォーマンス向上のために、生成コードで NVIDIA® TensorRT™ を呼び出すことができます。生成された CUDA は、ソースコードまたは静的/動的ライブラリとしてプロジェクトに統合し、NVIDIA Jetson™ や NVIDIA DRIVE™ プラットフォームの組み込み GPU など、最新の NVIDIA GPU 向けにコンパイルできます。Jetson および DRIVE プラットフォームの周辺機器にアクセスし、手作業で記述した CUDA を生成コードに組み込むことができます。
GPU Coder を使用すると、生成された CUDA をプロファイリングし、ボトルネックやパフォーマンス最適化の機会を特定できます (Embedded Coder を使用)。双方向のリンクにより、MATLAB コードと生成された CUDA 間のトレースが可能です。ソフトウェアインザループ (SIL) およびプロセッサインザループ (PIL) テストを使用して、生成したコードの数値的動作を検証できます。
MATLAB からの CUDA コードの生成
デスクトップ RTX カードから、データセンター、組み込みの Jetson や DRIVE プラットフォームに至るまで、広く利用されている NVIDIA GPU 上で MATLAB アルゴリズムから生成された CUDA コードをコンパイルおよび実行します。生成されたコードを無償で顧客に展開します。
ドキュメンテーション | 例
Simulink からの CUDA コードの生成
Simulink Coder を GPU Coder と共に使用して、Simulink モデルから CUDA コードを生成し、NVIDIA GPU に展開します。Simulink シミュレーションの計算量の多い部分を NVIDIA GPU 上で高速化します。
ドキュメンテーション | 例
NVIDIA Jetson および DRIVE への展開
GPU Coder は、生成されたコードの NVIDIA Jetson および DRIVE プラットフォームへの展開を自動化します。周辺機器にアクセスし、センサーデータを取得し、周辺機器のインターフェイス コードと共にアルゴリズムをボードに展開し、スタンドアロンでの実行を可能にします。
ドキュメンテーション | 例
ディープラーニング用コードの生成
事前定義またはカスタマイズされたさまざまなディープラーニング ネットワークを NVIDIA GPU に展開します。前処理と後処理用のコードを学習済みディープラーニング ネットワークのコードと共に生成して、アルゴリズム全体を展開します。
ドキュメンテーション | 例
生成コードの最適化
GPU Coder では、メモリ管理、カーネル融合、および自動調整などの最適化が自動的に適用されます。INT8 または bfloat16 コードの生成によりメモリフットプリントを低減します。TensorRT との統合によりパフォーマンスがさらに高まります。
ドキュメンテーション | 例
生成コードのプロファイリングと解析
GPU パフォーマンス アナライザーを使用して、生成された CUDA コードをプロファイリングし、実行速度とメモリフットプリントをさらに向上させる機会を特定します。
ドキュメンテーション | 例
設計パターンを使用してパフォーマンスを向上
ステンシル処理や削減などの設計パターンは、利用可能な場合には生成コードのパフォーマンスを向上させるために自動的に適用されます。また、特定のプラグマを使用して手動で呼び出すこともできます。
ドキュメンテーション | 例
信号のロギング、パラメーターの調整、コード動作の検証
Simulink Coder を GPU Coder と共に使用して、リアルタイムで信号をロギングし、パラメーターを調整します。Embedded Coder の追加により、MATLAB と生成された CUDA コード間を対話的にトレースし、生成された CUDA コードの動作を SIL テストで数値的に検証します。
ドキュメンテーション | 例
MATLAB および Simulink シミュレーションの高速化
生成した CUDA コードを MEX 関数として MATLAB コードから呼び出すと実行速度が向上します。Simulink Coder を GPU Coder と共に使用して、Simulink モデルに含まれる MATLAB Function ブロックの計算量の多い部分を NVIDIA GPU 上で高速化できます。
ドキュメンテーション | 例
製品リソース:
「データの注釈付けからディープラーニング モデルの選択、学習、テスト、微調整に至るまで、MATLAB には当社が必要とするすべてのツールが用意されていました。また、GPU の使用経験は限られていましたが、GPU Coder を使用することで NVIDIA GPU にすばやく展開できました。」
Valerio Imbriolo, Drass Group