Советник по вопросам производительности Simulink проверки

Советник по вопросам производительности Simulink обзор проверки

Используйте Советника по вопросам Производительности проверки, чтобы улучшить образцовое время симуляции.

Смотрите также

Улучшите производительность моделирования Используя советника по вопросам производительности

BaseLine

Установите измерение, чтобы сравнить производительность моделирования после того, как Советник по вопросам Производительности реализует улучшения.

Смотрите также

Создайте советника по вопросам производительности базовое измерение

Проверки, которые Требуют Схемы Обновления

Эти проверки требуют, чтобы Схема Обновления произошла в порядке запуститься.

Смотрите также

Улучшите производительность моделирования Используя советника по вопросам производительности

Проверки, которые Требуют, чтобы Моделирование Запустилось

Эти проверки требуют, чтобы моделирование запустилось в порядке собрать достаточные данные о производительности. Советник по вопросам производительности сообщает о результатах после того, как моделирование завершится.

Смотрите также

Улучшите производительность моделирования Используя советника по вопросам производительности

Проверьте настройки режимов моделирования

Эти проверки оценивают режимы моделирования (Нормальный, Акселератор, Быстрый Акселератор, Быстрый Акселератор с актуальным вычетом) и идентифицируют оптимальный режим, чтобы достигнуть самого быстрого моделирования.

Смотрите также

Что такое ускорение?

Проверьте настройки компиляторной оптимизации

Используйте эти проверки, чтобы выбрать настройки компиляторной оптимизации для улучшенной производительности.

Смотрите также

Уровень компиляторной оптимизации

Создайте базовую линию

Выберите эту проверку, чтобы создать базовую линию, когда Советник по вопросам Производительности запустится. Можно также создать базовую линию вручную. Базовая линия является измерением производительности моделирования, прежде чем вы запустите регистрации Советника по вопросам Производительности. Базовая линия включает время, чтобы запустить моделирование и результаты симуляции (регистрируемые сигналы). Прежде чем вы создадите базовую линию для модели в панели Импорта/Экспорта Данных диалогового окна Configuration Parameters:

  • Установите флажок Штатов.

  • Установите параметр Формата на Structure with time.

Смотрите также

Создайте советника по вопросам производительности базовое измерение

Идентифицируйте ресурсоемкие диагностические настройки

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

Смотрите также

Проверьте настройки оптимизации

Чтобы улучшить скорость симуляции, включите оптимизацию, если это возможно. Например, если некоторая оптимизация, такая как Блочное Сокращение, отключена, позволяет этой оптимизации улучшить скорость симуляции.

Можно также обменять скорость времени компиляции на скорость симуляции путем установки уровня компиляторной оптимизации. Оптимизация компилятора для ускорений отключена по умолчанию. Включение их ускоряет выполнения моделирования, но заканчивается в более длительное время изготовления. Скорость и эффективность компилятора C, используемого для Акселератора и Быстрых Режимов Accelerator также, влияют на время, требуемое на шаге компиляции.

Смотрите также

Идентифицируйте неэффективные блоки интерполяционной таблицы

Чтобы улучшить скорость симуляции, используйте правильно сконфигурированные блоки интерполяционной таблицы.

Смотрите также

Проверьте режим моделирования блока MATLAB System

В целом, чтобы улучшить скорость симуляции, выберите Code generation для Моделировать параметра использования блока MATLAB System. Поскольку обмен данными между MATLAB® и Simulink® проходит через несколько программных слоев, Interpreted execution обычно замедляет моделирования, особенно если модели нужны много обменов данными.

Эта проверка идентифицирует, какие Системные блоки MATLAB могут сгенерировать код и изменяют Моделировать значение параметров использования на Code generation, если это возможно.

В то время как Code generation не поддерживает все функции MATLAB, подмножество языка MATLAB, который это действительно поддерживает, обширно. При помощи этого Code generation можно улучшить производительность.

Смотрите также

Идентифицируйте Интерпретированные блоки MATLAB function

Чтобы улучшить скорость симуляции, замените Интерпретированные блоки MATLAB function на блоки MATLAB function, если это возможно. Поскольку обмен данными между MATLAB и Simulink проходит через несколько программных слоев, Интерпретированные блоки MATLAB function обычно замедляют моделирования, особенно если модели нужны много обменов данными.

Кроме того, потому что вы не можете скомпилировать Интерпретированную функцию MATLAB, Интерпретированный блок MATLAB function препятствует попыткам использовать ускоряющий режим, чтобы ускорить моделирования.

В то время как блоки MATLAB function не поддерживают все функции MATLAB, подмножество языка MATLAB, который оно действительно поддерживает, обширно. Заменяя ваш интерпретированный код MATLAB на код, который использует только это встраиваемое подмножество MATLAB, можно улучшить производительность.

Смотрите также

Идентифицируйте целевые настройки моделирования

Чтобы улучшить скорость симуляции, отключите целевые настройки моделирования, если это возможно. Например, в диалоговом окне Configuration Parameters, очистите Цель Моделирования> выражение Эха без флажка точек с запятой, чтобы улучшить скорость симуляции.

Смотрите также

Проверьте, что модель - ссылка восстанавливает установку

Чтобы улучшить скорость симуляции, в диалоговом окне Configuration Parameters, проверяют, что Ссылка Модели> Восстанавливает параметр, установлен в If any changes in known dependencies detected.

Смотрите также

Идентифицируйте блоки Осциллографа

Открытые и непрокомментированные блоки Осциллографа могут повлиять на производительность моделирования. Чтобы улучшить производительность моделирования, закройтесь и прокомментируйте блоки Осциллографа. Щелкните правой кнопкой по блоку scope, и затем выберите Comment Out.

Для открытых Осциллографов можно улучшить скорость симуляции путем сокращения обновлений. Из меню Scope Simulation выберите Reduce Updates to Improve Performance.

Смотрите также

Идентифицируйте активные настройки инструментирования на модели

Идентифицируйте активные настройки инструментирования на модели. Средства управления режимом инструментирования фиксированной точки, который возражает минимуму журнала, максимуму и данным переполнения во время моделирования. Инструментирование требуется, чтобы собирать области значений моделирования с помощью Fixed-Point Tool. Эти области значений используются, чтобы сделать предложение, типы данных для модели (требует Фиксированной точки Designer™). Когда вы активно не преобразовываете свою модель в фиксированную точку, отключаете инструментирование фиксированной точки, чтобы восстановить максимальную скорость симуляции к вашей модели.

Из меню анализа модели выберите Data Type Design> Fixed-Point Tool. Под Системой при дизайне нажмите Continue.

В панели Иерархии модели Fixed-Point Tool обозначает системы, которым в настоящее время включали инструментирование с (mmo) или (o). Щелкните правой кнопкой по системе по иерархии модели и, под Fixed-point instrumentation mode, выберите Use local settings или Force off.

Смотрите также

Проверьте сборку параллели модели - ссылки

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

Советник по вопросам производительности анализирует модель и оценивает время изготовления на данном компьютере, как будто это использовало несколько ядер. Это также оценивает параллельное время изготовления для модели таким же образом, оценка была бы выполнена, если бы программное обеспечение Parallel Computing Toolbox™ или MATLAB Distributed Computing Server™ было установлено на компьютере. Советник по вопросам производительности выполняет эту оценку можно следующим образом:

  1. Ищите модель модели, на которые ссылаются, которые не относятся к другим моделям, на которые ссылаются.

  2. Вычислите среднее количество блоков в каждой из моделей, на которые ссылаются, которые не относятся к другим моделям, на которые ссылаются.

  3. Из списка моделей, на которые ссылаются, которые не относятся к другим, выберите модель, на которую ссылаются, количество которой блоков является самым близким к расчетному среднему числу.

  4. Создайте эту модель, чтобы получить время изготовления.

  5. На основе количества блоков и время изготовления для этой модели, на которую ссылаются, оцените время изготовления для всех других моделей, на которые ссылаются.

  6. На основе этого времени изготовления оцените параллельное время изготовления для топ-модели.

Чтобы вычислить служебное время, представленное параллельным механизмом сборки, установите Параллельную Сборку Служебный Фактор Оценки Времени. Советник по вопросам производительности вычисляет предполагаемое время изготовления с издержками как:

(1 + Параллельная Сборка Служебный Фактор Оценки Времени) * (Время изготовления на единственной машине)

Смотрите также

Проверьте установку кольцевого буфера блока Delay

Чтобы улучшить моделирование, проверьте, что каждый блок Delay в модели использует соответствующий буферный тип. По умолчанию блок использует буфер массивов (кольцевой буфер Использования для опции состояния не выбран). Однако, когда длина задержки является большой, кольцевой буфер может улучшить скорость выполнения путем хранения количества операций копии постоянным.

Если блок Delay в настоящее время использует буфер массивов, и все следующие условия верны, Советник по вопросам Производительности выбирает кольцевой буфер:

  • Блок Delay находится в основанном на выборке режиме, т.е., или Входной параметр обработки устанавливается на Elements as channels (sample based), или тип входного сигнала установлен в Sample based.

  • Значение или верхний предел длины задержки равняются 10 или больше.

  • Размер состояния — равный длине задержки, умноженной на общее количество всех ширин выходного сигнала — 1000 или больше.

Смотрите также

Проверьте непрерывную и дискретную связь уровня

Если ваша модель содержит и дискретные и непрерывные уровни, связь между этими уровнями может замедлить моделирование. Советник по вопросам производительности проверяет на эти условия в вашей модели.

  • Модель использует переменный решатель шага.

  • Модель содержит и непрерывные и дискретные уровни.

  • Самый быстрый дискретный уровень относительно меньше, чем размер шага Max, определенный решателем.

Установка параметра DecoupledContinuousIntegration на on может ускорить моделирование.

Смотрите также

Проверьте влияние пересечения нулем на непрерывное интегрирование

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

  • Модель использует решатель переменного шага.

  • Модель содержит блоки, которые имеют непрерывные состояния и нулевые пересечения.

  • Некоторые нулевые пересечения не влияют на интегрирование непрерывных состояний.

Установка параметра MinimalZcImpactIntegration на On может ускорить моделирование.

Смотрите также

Проверьте дискретные сигналы ведущий производный порт

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

Можно отредактировать модель вокруг обнаруженных дискретных сигналов, которые управляют этими блоками, чтобы удалить такие случаи. Например, вставка блока Zero Order Hold между дискретным сигналом и соответствующего блока с непрерывными состояниями может помочь решить вопрос.

Смотрите также

Проверьте выбор типа решателя

Чтобы улучшить моделирование, проверьте, что модель использует соответствующий тип решателя.

Явный по сравнению с неявными решателями

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

МодельРекомендуемый решатель
Представляет жесткую системуode15s
Не представляет жесткую системуode45

Советник по вопросам производительности использует эвристику, которая, как показывают в таблице, выбрала между явными и неявными решателями.

Исходный решательСоветник по вопросам производительности действие
Переменный решатель шага

Вычисляет системную жесткость в 0 сначала. Затем:

  • Если жесткость больше, чем 1 000, Советник по вопросам Производительности выбирает ode15s.

  • Если жесткость - меньше чем 1 000, Советник по вопросам Производительности выбирает ode45.

Фиксированный шаг непрерывный решатель
  • Если жесткость больше, чем 1 000, Советник по вопросам Производительности выбирает ode14x.

  • Если жесткость - меньше чем 1 000, Советник по вопросам Производительности выбирает ode3.

Эта эвристика работает лучше всего, если системная жесткость не отличается во время моделирования. Если системная жесткость меняется в зависимости от времени, выберите самый соответствующий решатель для той системы, а не один Советник по вопросам Производительности предлагает.

Смотрите также

Выберите установку co-моделирования мультипотока на или прочь

Настройте настройки co-моделирования для лучшей производительности и точности.

  • Подтвердите и вернитесь изменения, если время симуляции увеличивается — Советник по вопросам Производительности возвращается предыдущие настройки co-моделирования, когда время симуляции увеличивается.

  • Подтвердите и вернитесь изменения, если степень точности больше, чем допуск — Советник по вопросам Производительности возвращается предыдущие настройки co-моделирования, если степень точности больше, чем допуск.

Совет

Можно использовать tic и функции toc, чтобы измерить время симуляции.

Смотрите также

Идентифицируйте сигналы co-моделирования для числовой компенсации

Идентифицируйте сигналы co-моделирования, которым, возможно, понадобится явная числовая компенсация.

  • Подтвердите и вернитесь изменения, если время увеличений моделирования — Советник по вопросам Производительности возвращается предыдущие настройки co-моделирования увеличения времени симуляции.

  • Подтвердите и вернитесь изменения, если степень точности больше, чем допуск — Советник по вопросам Производительности возвращается co-моделирования, если степень точности больше, чем допуск.

Совет

Можно использовать tic и функции toc, чтобы измерить время симуляции.

Смотрите также

Выберите режим моделирования

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

  • Нормальный

  • Акселератор

  • Быстрый акселератор

  • Быстрый Акселератор с актуальным вычетом

В Режиме normal mode Simulink интерпретирует вашу модель во время каждого запущенного моделирования. Если вы часто изменяете модель, это обычно - предпочтительный режим, чтобы использовать, потому что это не требует никакого шага раздельной компиляции. Это также предлагает наибольшую гибкость, чтобы внести изменения в вашу модель.

В Режиме Accelerator Simulink компилирует модель в совместно использованную библиотеку или DLL двоичного файла, если это возможно, устраняя от блока к блоку наверху интерпретированного моделирования в Режиме normal mode. Режим Accelerator поддерживает отладчик и профилировщика, но не диагностику во время выполнения.

В Быстром Режиме Accelerator скорости симуляции являются самыми быстрыми, но этот режим только работает с моделями, где код С доступен для всех блоков в модели. Кроме того, этот режим не поддерживает отладчик или профилировщика.

При выборе Rapid Accelerator с актуальным вычетом Советник по вопросам Производительности не выполняет актуальную проверку во время моделирования. Можно неоднократно запускать Быстрый исполняемый файл Акселератора при настройке параметров, не подвергаясь издержкам актуальных проверок. Например, если у вас есть большая модель или модель, которая делает широкое применение модели - ссылки, этот метод выполнения может увеличить эффективность.

Для моделей с 3-D сигналами, Нормальными или Режимы Accelerator, работают лучше всего.

Смотрите также

Выберите оптимизацию компилятора на или прочь

Используйте эту проверку, чтобы определить, может ли выполнение компиляторной оптимизации помочь улучшить скорость симуляции. Оптимизация может только быть выполнена в Акселераторе или Быстрых Режимах Accelerator.

Примечание

Эта проверка будет пропущена, если MATLAB не будет сконфигурирован, чтобы использовать оптимизирующий компилятор.

Смотрите также

Итоговая валидация

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

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

Смотрите также

Была ли эта тема полезной?