Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

パフォーマンス

コード生成の問題をトラブルシューティングし、コード実行時間を改善して、生成コードのメモリ使用量を削減する

GPU Coder™ で生成されたコードが予想どおりに実行されない最もよくある理由は、以下のとおりです。

  • CUDA® カーネルが作成されていない。

  • ホストからデバイスおよびデバイスからホストへのメモリ転送 (cudaMemcpy) によってパフォーマンスが抑制されている。

  • 並列化不足またはデバイスに問題がある。

このトピックでは、これらの現象の一般的な原因について詳しく説明し、組み込みのスクリーナーを利用してこれらの問題を検出する方法を説明します。また、これらの問題に対処し、より効率的な CUDA コードを生成する方法についての情報も見つけることができます。

アプリ

すべて展開する

GPU CoderMATLAB コードからの GPU コードの生成
GPU 環境のチェックGPU コード生成環境の検証と設定

関数

すべて展開する

codegenMATLAB コードから C/C++ コードを生成する
gpucoderGPU Coder アプリを開く
gpucoder.profile生成された CUDA コード用の実行プロファイル レポートの作成
coder.gpu.kernelfor ループを GPU カーネルにマッピングするプラグマ
coder.gpu.kernelfun関数を GPU カーネルにマッピングするプラグマ
coder.gpu.nokernelループのカーネル作成を無効にするプラグマ

オブジェクト

すべて展開する

coder.gpuConfigGPU Coder を使用した MATLAB コードからの CUDA コード生成用の構成パラメーター
coder.CodeConfigMATLAB コードから C/C++ コードを生成するための構成パラメーター
coder.EmbeddedCodeConfigEmbedded CoderMATLAB コードから C/C++ コードを生成するための構成パラメーター
coder.gpuEnvConfigGPU コード生成環境チェックを実行するために coder.checkGpuInstall に渡されるパラメーターが含まれる構成オブジェクトの作成

トピック

ワークフロー

GPU Coder トラブルシューティング ワークフロー。

コード生成レポート

コード生成レポートを作成して確認する。

生成された CUDA コードおよび MATLAB ソース コード間でのトレース

GPU で実行される MATLAB コードのセクションを強調表示する。

MATLAB コードから生成されたコードに対する GPU コード メトリクス レポートの作成

GPU 静的コード メトリクス レポートを作成して確認する。

カーネル解析

効率的な CUDA カーネルを生成するための推奨事項。

メモリ ボトルネック解析

GPU Coder を使用するとメモリ ボトルネックの問題が減る。

生成コードの実行プロファルの解析

MATLAB アルゴリズムとその生成された CUDA コードについての SIL による詳細なプロファイリング。

NVIDIA Profiler による解析

NVIDIA Profiler (nvvp) から取得された情報を使用したパフォーマンスの改善。

GPU Coder の制限

GPU Coder の現在の制限を確認する。

注目の例