Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

プロファイラーによるパフォーマンス データの取得

プロファイラーの機能

プロファイラーは、モデルのシミュレート中にパフォーマンス データを取得します。また、モデルのどの部分がシミュレーションを実行するときに最も時間を要したかを特定します。このプロファイル情報により、モデルのどの部分に焦点をあてて、最適化する努力を行えば良いかを決めることができます。

メモ

ラピッド アクセラレータ モードではプロファイラーを使用できません。

Simulink® では、パフォーマンス データは "シミュレーション プロファイル レポート" に保存されます。このデータは、モデルの各関数の実行にかかった時間を示します。

プロファイラーの基本となるのは、次の疑似コードで要約される実行モデルです。

Sim() 
	ModelInitialize(). 
	ModelExecute() 
		for t = tStart to tEnd
		Output()
		Update()
		Integrate()
			Compute states from derivs by repeatedly calling: 
				MinorOutput() 
				MinorDeriv() 
			Locate any zero crossings by repeatedly calling: 
				MinorOutput() 
				MinorZeroCrossings() 
		EndIntegrate 
		Set time t = tNew. 
	EndModelExecute
	ModelTerminate
EndSim 

Simulink はこの概念モデルに基づき、次の表の関数をモデルや関数に応じて、0 回、1 回あるいはそれ以上の回数で呼び出し、モデルを実行します。

関数目的レベル
sim

モデルをシミュレートします。この最上位レベルの関数はモデルをシミュレートするために必要な関数を呼び出します。この関数に要する時間は、モデルをシミュレートする総時間です。

システム

ModelInitialize

シミュレーションのためにモデルの準備

システム

ModelExecute

シミュレーション開始から終了までのタイム ステップごとに、output、update、integrate などの関数がそれぞれのブロックのために呼び出されて、モデルが実行されます。

システム

Output

現在のタイム ステップでの、1 ブロックの出力を計算します。

ブロック

Update

現在のタイム ステップでのブロックの状態を更新します。

ブロック

Integrate

現在のタイム ステップで、状態導関数を積分することによってブロックの連続状態を計算します。

ブロック

MinorOutput

ブロックの出力をマイナー タイム ステップで計算します。

ブロック

MinorDeriv

ブロックの状態導関数をマイナー タイム ステップで計算します。

ブロック

MinorZeroCrossings

ブロックのゼロクロッシング値をマイナー タイム ステップで計算します。

ブロック

ModelTerminate

メモリを解放し、その他シミュレーション終了の一掃を行います。

システム

Nonvirtual Subsystem

ブロックごとに output、update、integrate などの関数を呼び出すことによって、現在のタイム ステップで、非バーチャル サブシステムの出力を計算します。この関数に要した時間は、非バーチャル サブシステムを実行するのに必要な時間です。

ブロック

プロファイラーは、それぞれの関数の呼び出しを実行するのに必要な時間を計算します。モデルのシミュレーション後に、各関数に要したシミュレーション時間に関するレポートを作成します。

プロファイラーの起動

  1. モデルを開きます。

  2. [デバッグ] タブで、[パフォーマンス アドバイザー][Simulink プロファイラー] を選択します。

  3. モデルをシミュレートします。

シミュレーションが完了すると、Simulink はモデルのシミュレーション プロファイルを作成し、Simulink エディターのパネルに表示します。

ブロック階層表示

レポートのブロック階層表示は、モデルのプロファイル情報を入れ子にされたツリー形式で表示します。テーブルの 1 行目、すなわちツリーの最上部は、モデル全体に相当します。後続の行のうち、入れ子の第 1 レベルは、モデルのルート レベルに相当します。

nested hierarchy view

実行スタック ビュー

実行スタック ビューは、プロファイリング レポートをモデルのシミュレーション段階ごとに分解します。モデルの主なシミュレーション段階は、コンパイル、初期化、シミュレーション、および終了です。シミュレーション段階の詳細については、動的システムのシミュレーションの段階を参照してください。

プロファイラーの結果の保存

プロファイラー レポートは、mat ファイルに保存できます。レポートを後からインポートして確認するには、保存した mat ファイルを現在のワークスペースに読み込むか、既存のプロファイラー セッションにインポートするかのいずれかを行います。

プロファイリング レポートを保存するには、[プロファイル] タブの [共有] セクションで [MAT にエクスポート] を選択し、オプションで mat ファイルの名前を指定します。

保存されたレポートを、Simulink エディターで開いているプロファイリング セッションに表示するには、[プロファイル] タブで [ファイルからインポート] を選択します。

保存されたレポートをコマンド ラインで表示するには、レポートを含む mat ファイルを読み込みます。プロファイリング情報が現在のワークスペースに Simulink.profiler.Data オブジェクトとして読み込まれます。詳細については、Simulink.profiler.Dataを参照してください。

関連する例

詳細