О масштабируемой компиляции

Что такое масштабируемая компиляция?

Большие модели часто занимают много времени, чтобы скомпилировать и симулировать. Scalable compilation помогает уменьшать время компиляции для моделей, которые состоят из шаблона повторных компонентов путем компиляции повторного компонента однажды и затем многократного использования этих артефактов компиляции для других экземпляров того же компонента. Масштабируемая компиляция улучшает производительность компиляции, она не уменьшает время симуляции модели.

Масштабируемая компиляция поддерживает два типа reusable components:

  • Подсистемы, на которые ссылаются — экземпляры Подсистемы с помощью ссылки подсистемы, где вы сохраняете содержимое подсистемы в отдельном файле и ссылаетесь на него с помощью блока Subsystem Reference. Можно создать несколько экземпляров, ссылающихся на тот же файл подсистемы. Для получения дополнительной информации смотрите Ссылку Подсистемы.

  • Соединенные подсистемы — экземпляры Подсистемы создаются из Simulink® библиотека Subsystem блокируется со ссылкой на источник. Обратите внимание на то, что, если вы создаете копии с блоков Subsystem с LinkStatus установите на none, они не соединенные подсистемы.

Если вы имеете модель не-спешащей-компиляции, определяете, может ли она извлечь выгоду из масштабируемой компиляции путем выяснения у себя следующие вопросы:

  • Модель состоит из шаблона повторных компонентов, таких как линия электропередачи или блок батарей? Можно ли легко превратить эти компоненты на допускающие повторное использование компоненты, то есть, сослался на подсистемы или соединил подсистемы?

  • Сколько делает часть Simscape™ модели, способствуют общему времени компиляции модели? Некоторые модели усложнили контроллеры, которые занимают много времени, чтобы скомпилировать. В таких случаях, даже если масштабируемая компиляция может значительно уменьшать время компиляции части Simscape модели, удар на целую модель мог быть менее примечательным.

  • Модель использует неподдерживаемые шаблоны, оптимизацию или режимы симуляции? Например, масштабируемая компиляция не поддерживает генерацию кода, включая быстрый режим Accelerator или Делящий локальный решатель. Для получения дополнительной информации смотрите Масштабируемые Ограничения Компиляции.

Инструмент Advisory может предоставить информацию о неподдерживаемых шаблонах или рабочих процессах в вашей модели, а также руководстве относительно возможности многократного использования подсистемы и статистики компиляции. Для получения дополнительной информации смотрите, Анализируют Модель Используя Консультативный Инструмент.

Уровень сложности повторных компонентов оказывает значительное влияние на масштабируемые результаты компиляции. Можно попробовать различные способы реструктурировать модель на повторные компоненты, чтобы определить оптимальную настройку. Для получения дополнительной информации смотрите Определение Оптимального Уровня Сложности для Допускающих повторное использование Компонентов.

Масштабируемый рабочий процесс компиляции

Блок-схема представляет масштабируемый рабочий процесс компиляции.

Если у вас есть модель не-спешащей-компиляции:

  1. Определите, является ли модель подходящим кандидатом на масштабируемую компиляцию. Это имеет повторный шаблон компонентов, состоящих из блоков Simscape?

  2. Если да, идентифицируйте способ реструктурировать модель на повторные компоненты. Для некоторых моделей не нужна реструктуризация, потому что они уже состоят из шаблона повторяющихся подсистем. Другим моделям, возможно, понадобится перестройка в повторяющиеся подсистемы. Вы не должны создавать подсистемы, на которые ссылаются, или соединенные подсистемы в этой точке. Инструмент Advisory позволяет вам анализировать свою модель, как будто это уже содержало допускающие повторное использование компоненты.

  3. Анализируйте модель с помощью инструмента Advisory и рассмотрите результаты.

    Если повышение производительности от масштабируемой компиляции не является удовлетворительным, рассмотрите, существуют ли другие возможные способы реструктурировать модель. Уровень сложности повторных компонентов оказывает значительное влияние на масштабируемые результаты компиляции. Можно попробовать различные способы реструктурировать модель на повторные компоненты и использовать инструмент Advisory, чтобы определить оптимальную настройку.

  4. Если вы удовлетворены результатами, поворачиваете повторные компоненты в своей модели на допускающие повторное использование компоненты. Например, преобразуйте один из повторных компонентов в подсистему, на которую ссылаются, и затем замените все экземпляры этого компонента в модели с блоками Subsystem Reference. Для получения дополнительной информации смотрите Ссылку Подсистемы.

Похожие темы