このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
パフォーマンス
GPU Coder™ で生成されたコードが予想どおりに実行されない最もよくある理由は、以下のとおりです。
CUDA® カーネルが作成されていない。
ホストからデバイスおよびデバイスからホストへのメモリ転送 (
cudaMemcpy
) によってパフォーマンスが抑制されている。並列化不足またはデバイスに問題がある。
このトピックでは、これらの現象の一般的な原因について詳しく説明し、組み込みのスクリーナーを利用してこれらの問題を検出する方法を説明します。また、これらの問題に対処し、より効率的な CUDA コードを生成する方法についての情報も見つけることができます。
アプリ
関数
オブジェクト
トピック
- コード生成レポート
コード生成レポートを作成して確認する。
- 生成された CUDA コードおよび MATLAB ソース コード間でのトレース
GPU で実行される MATLAB® コードのセクションを強調表示する。
- MATLAB コードから生成されたコードに対する GPU コード メトリクス レポートの作成
GPU 静的コード メトリクス レポートを作成して確認する。
- GPU パフォーマンス アナライザー
コード メトリクスを可視化し、コードの最適化と調整の機会を特定する。
- Analyzing Network Performance Using the Deep Learning Dashboard
Investigate the performance of deep learning networks and layers in generated code using the Deep Learning Dashboard. (R2025a 以降)
- カーネル解析
効率的な CUDA カーネルを生成するための推奨事項。
- メモリ ボトルネック解析
GPU Coder を使用するとメモリ ボトルネックの問題が減る。
- Optimize Kernels That Contain Loops
Rewrite loops in MATLAB to avoid generated code kernels that contain loops. (R2025a 以降)
- Prevent Kernel Launches Inside Loops
Parallelize loops that launch kernels to execute them on the GPU. (R2025a 以降)
- Minimize Memory Copy Events in Generated Code Loops
Rewrite loops to minimize the number of data transfers between the CPU and GPU in generated CUDA code. (R2025a 以降)