Main Content

シミュレーションを高速化するための Simulink キャッシュ ファイルの共有

Simulink® キャッシュ ファイルには、シミュレーションとコード生成を高速化するビルド アーティファクトが含まれています。これらのビルド アーティファクトを生成して Simulink キャッシュ ファイルに自動的にパッケージ化するには、次のいずれかのアクションを行います。

  • アクセラレータ モードで参照されるモデルを含むモデルの階層構造のブロック線図を更新する

  • アクセラレータ モードで参照されるモデルを含むモデルの階層構造のシミュレーションを行う

  • アクセラレータ モードまたはラピッド アクセラレータ モードで最上位モデルのシミュレーションを行う

  • モデルまたはモデルの階層構造のコードを生成する

これらのアクションを 2 回目に行うとき、Simulink は、[リビルド] コンフィギュレーション パラメーターが [変更が検出された場合] (既定) または [既知の依存関係で変更が検出された場合] に設定されている限り、古くなったファイルのみをビルドします。ビルドするファイルが少ないほど、アクションは高速で完了します。

メモ

[リビルド] コンフィギュレーション パラメーターを [行わない] に設定すると、すべての参照モデルのリビルドを回避できますが、この設定を使用することによって、無効なシミュレーション結果が生じることがあります。

チームのメンバーおよび継続的インテグレーション (CI) システムは、使用するモデルの Simulink キャッシュ ファイルを生成できます。これらのモデルを初めてビルドするときにかかる時間を削減するには、対応する Simulink キャッシュ ファイルを [シミュレーション キャッシュ フォルダー] 基本設定で指定されたローカル フォルダーにコピーできます。Simulink は、ディスクにある内容と異なる Simulink キャッシュ ファイルの内容をすべて抽出します。Simulink がディスクにあるビルド アーティファクトを生成または更新する場合、対応する Simulink キャッシュ ファイルがローカルに更新されます。

Simulink キャッシュ ファイルは .slxc 拡張子で識別できます。ファイル名は対応するモデルの名前と一致します。

Simulink キャッシュ ファイルの内容の検証

Simulink キャッシュ ファイルには、次のものを含む複数のタイプのビルド アーティファクトが含まれている場合があります。

  • アクセラレータ ターゲット

  • ラピッド アクセラレータ ターゲット

  • モデル参照のシミュレーション ターゲット

  • 変数の使用情報

  • コード生成ターゲット (Simulink Coder™、Embedded Coder®)

  • モデル表現 (Simulink Design Verifier™)

  • Web ビュー (Simulink Report Generator™)

Simulink キャッシュ ファイルは、複数のプラットフォームと Simulink のリリース向けのビルド アーティファクトを累積します。

特定の Simulink キャッシュ ファイルに含まれている内容を確認するには、ファイルをダブルクリックしてレポートを開きます。

Simulink cache report

または、Simulink キャッシュ ファイルの内容を MATLAB® table に取得するには、関数 slxcinfo を使用します。

使用するプラットフォームとリリースをサポートするビルド アーティファクトを再使用できます。たとえば、Windows® マシンと R2019a の Simulink リリースを使用するとします。このレポートで説明されている Simulink キャッシュ ファイルでは、[R2019a : win64] の下のシミュレーション ターゲットを使用できます。Linux® マシンと R2019b を使用するチームのメンバーは、[R2019b : glnxa64] の下のシミュレーション ターゲットとコード生成ターゲットと、[R2019b : all platforms] の下のモデル表現を使用できます。

Simulink キャッシュ ファイルは、作成されたリリースおよび以降のリリース用のビルド アーティファクトを累積できます。Simulink キャッシュ ファイルを R2019b で作成するとします。その Simulink キャッシュ ファイルは R2019a では使用できません。

Simulink キャッシュ ファイルの使用

ほとんどのチームが Simulink キャッシュ ファイルを使用することでメリットを享受できますが、次の特徴をもつ開発環境が Simulink キャッシュ ファイルの使用に最も適しています。

  • 多くの参照モデルを含むモデルの階層構造。

  • アクセラレータ モードまたはラピッド アクセラレータ モードでシミュレーションを実行する最上位モデル。これにより Simulink が、最上位モデルとすべての参照モデルのシミュレーション ターゲットを生成する。

  • 開発チーム全体に用意された、標準化されたプラットフォーム、コンパイラ、Simulink リリース。

  • 開発チーム全体に用意された、[インクルード ディレクトリ] コンフィギュレーション パラメーターで指定する相対パスまたは一貫性のある絶対パス。

  • 設計ファイルを管理する Git™ のようなソース管理システム。Git ソース管理の設定を参照してください。

    メモ

    Simulink キャッシュ ファイルは派生ファイルであるため、ソース管理下で管理すべきではありません。Simulink キャッシュ ファイルをソース管理システムに保存して共有しても、これらのファイルの異なるバージョンを比較またはマージすることはできません。

  • 並列ワーカーのプールを使用してモデルの階層構造の最新バージョンを定期的にビルドする、Jenkins® のような CI システム。

    メモ

    カスタム コードを使用するシミュレーションおよびコード生成ターゲットに対して不要なリビルドを回避するには、チームのメンバーのサンドボックスで同じ名前のボリュームまたはシンボリック リンクに CI システム ディレクトリをマッピングします。たとえば、CI システムとチームのメンバーに B:\path\customcode などのマッピングされたディレクトリでカスタム コードを保存してもらいます。

この開発環境で、ソース管理システム内のファイルを操作してアーカイブをビルドします。

Workflow with source control system, CI system, and build archive. The CI system pulls design changes from the source control system and archives Simulink cache files in the build archive.

シミュレーション ターゲットを更新するために費やす時間の量を削減するには、以下の手順に従います。

  1. すべての設計ファイルの最新バージョンをソース管理システムから引き出します。

  2. すべての Simulink キャッシュ ファイルの最新バージョンをビルド アーカイブからコピーして、[シミュレーション キャッシュ フォルダー] に配置します。

  3. 最上位のモデルを開いて、そのモデルのシミュレーションを実行します。

    Simulink は、必要なビルド アーティファクトを Simulink キャッシュ ファイルから抽出します。シミュレーションは、CI システムによって完了した最新のビルド以降モデルに変更が加えられていない限り、一切のモデルをリビルドすることなく完了します。

    メモ

    更新、シミュレーション、モデルの階層構造向けのコード生成を行うことなく、Simulink キャッシュ ファイルからシミュレーション ターゲットとコード生成ターゲットをアンパックするには、関数 slxcunpack を使用します。

  4. モデルを変更して、もう一度モデルの階層構造のシミュレーションを実行します。

    Simulink は必要なモデルをリビルドして、対応する Simulink キャッシュ ファイルのローカル コピーを更新します。

  5. 更新されたモデルをソース管理システムにコミットします。派生ファイルである Simulink キャッシュ ファイルはコミットしません。

プロジェクトの Simulink キャッシュ ファイルのチェック

プロジェクトを最上位モデルから作成する場合、プロジェクトにはモデルおよびその参照モデルに対応する Simulink キャッシュ ファイルが含まれます。

モデルの階層構造内の Simulink キャッシュ ファイルの依存関係を表示するには、対応するプロジェクトの [ビュー] ペインで [依存関係アナライザー] を選択できます。

Dependency Analyzer results for sldemo_mdlref_depgraph, including Simulink cache files

詳細については、プロジェクトによる影響分析の実行を参照してください。

参考

|

関連するトピック

外部の Web サイト