GPU Coder

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