生成コードのプロファイリングの実行
コード実行プロファイリングを使用して、以下を行います。
生成されたコードが、ターゲット ハードウェアでリアルタイムな展開のための実行時間に対する要件を満たしているかどうかを判別する。
実行速度の向上が必要なコード セクションを特定する。
以下のタスクはコード実行プロファイリングを使用する一般的なワークフローを表しています。
Simulink® モデルでアルゴリズムを設計し最適化します。
コード実行プロファイリングのためにモデルを構成し、コードを生成します。
生成されたコードをターゲット ハードウェアで実行します。たとえば、リアルタイム実行を Simulink Real-Time™ またはターゲット サポート パッケージで実行できます。
Embedded Coder® を使用している場合、ソフトウェアインザループ (SIL) シミュレーション、プロセッサインザループ (PIL) シミュレーション、および XCP ベースのエクスターナル モード シミュレーションを、開発用コンピューターまたは組み込みターゲット ハードウェアで実行できます。
コード実行プロファイリングのプロットとレポートを使って実行速度を解析します。たとえば、アルゴリズム コードがリアルタイムに展開する実行時間の要件を満たしていることを確認します。
アルゴリズム コードが容易に要件を満たす場合、使用可能な処理能力を活用するようにアルゴリズムの改善を検討します。
コードをリアルタイムに実行できない場合は、実行時間を短縮する方法を探します。
最も時間を要するタスクを特定します。これらのタスクで、機能と速度でトレードオフが可能かどうかを調べます。
ターゲットがマルチコア プロセッサの場合、アルゴリズム コードの実行を使用可能なコアに分散します。
必要に応じて、モデルを微調整して手順 2 に戻ります。
テスト ケース用にモデル シミュレーションを実行して、実行時間プロファイルの集約を作成します。コード プロファイル アナライザーを使用して集約を処理します。各タスクで、実行時間が最も長いものと、対応するテスト ケースを識別します。
十分な数のテスト ケースがある場合は、
coder.profile.test.runTests
(Embedded Coder) を使用してタスクの実行時間の解析を自動化できます。
Simulink 製品のコード実行プロファイリングに関する情報を見つけるには、次の表を使用します。
実行のタイプ | ターゲット | 関連製品 | 参照先 |
---|---|---|---|
ソフトウェアインザループ (SIL) | 開発用コンピューター | Embedded Coder |
|
プロセッサインザループ (PIL) | 組み込みハードウェアまたは命令セット シミュレーター | Embedded Coder |
|
XCP エクスターナル モード | 開発用コンピューターまたはカスタム ハードウェア | Embedded Coder |
|
リアルタイム実行 | Simulink Real-Time | Simulink Coder™, Simulink Real-Time |
|
関連するトピック
- マルチコア ターゲットでの最適化と展開
- 効率的なコード生成に向けてモデルを最適化する設計手法
- SIL シミュレーションおよび PIL シミュレーション (Embedded Coder)
- エクスターナル モード シミュレーションによるパラメーター調整、信号監視、コード実行プロファイリング (Embedded Coder)