exponenta event banner

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

Обзор проверки Simulink Performance Advisor

Используйте проверки Performance Advisor для увеличения времени моделирования модели.

См. также

Повышение производительности моделирования с помощью Performance Advisor

Основание

Установите измерение для сравнения производительности моделирования после внедрения улучшений в Performance Advisor.

См. также

Создание базового измерения Performance Advisor

Проверки, требующие обновления схемы

Для выполнения этих проверок требуется наличие схемы обновления.

См. также

Повышение производительности моделирования с помощью Performance Advisor

Проверки, требующие выполнения моделирования

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

См. также

Повышение производительности моделирования с помощью Performance Advisor

Проверка параметров режимов моделирования

Эти проверки позволяют оценить режимы моделирования (Normal, Accelerator, Rapid Accelerator, Rapid Accelerator с актуальной проверкой) и определить оптимальный режим для достижения наиболее быстрого моделирования.

См. также

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

Проверка параметров оптимизации компилятора

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

См. также

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

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

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

См. также

Аппаратное ускорение

Создать опорную структуру

Эта проверка используется для создания опорной структуры при запуске Performance Advisor. Можно также создать опорную структуру вручную. Опорная структура - это измерение производительности моделирования перед выполнением проверок в Performance Advisor. Базовая линия включает время выполнения моделирования и результаты моделирования (регистрируемые сигналы). Перед созданием опорной структуры для модели на панели Импорт/экспорт данных (Data Import/Export) диалогового окна Параметры конфигурации (Configuration Parameters) выполните следующие действия.

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

  • Задайте для параметра Format значение Structure with time.

См. также

Создание базового измерения Performance Advisor

Определение ресурсоемких параметров диагностики

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

См. также

Проверка параметров оптимизации

Для повышения скорости моделирования включите оптимизацию там, где это возможно. Например, если некоторые оптимизации, такие как сокращение блоков, отключены, включите эти оптимизации для повышения скорости моделирования.

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

См. также

Выявление неэффективных блоков таблицы подстановки

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

См. также

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

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

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

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

См. также

Определение интерпретируемых функциональных блоков MATLAB

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

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

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

См. также

Определение целевых параметров моделирования

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

См. также

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

Чтобы повысить скорость моделирования, в диалоговом окне Параметры конфигурации (Configuration Parameters) убедитесь, что для параметра «Ссылка на модель» (Model Referencing) > «Перестроить» (Rebuild) задано значение If any changes in known dependencies detected.

См. также

Определение блоков области

Открытые и незакомментированные блоки области могут влиять на производительность моделирования. Чтобы повысить производительность моделирования, закройте и прокомментируйте блоки области. Щелкните правой кнопкой мыши блок области и выберите «Комментарий».

Для открытых областей можно повысить скорость моделирования, уменьшив количество обновлений. В меню «Моделирование области» выберите «Уменьшить обновления для повышения производительности».

См. также

Определение активных параметров КИП в модели

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

На вкладке «Приложения» выберите инструмент «Фиксированная точка». В разделе «Система» нажмите кнопку «Продолжить».

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

См. также

Проверка ссылочной параллельной сборки модели

Чтобы улучшить моделирование, проверьте количество ссылочных моделей в модели. При наличии двух или более ссылочных моделей по возможности создайте модель параллельно.

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

  1. Найдите в модели ссылочные модели, которые не ссылаются на другие ссылочные модели.

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

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

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

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

  6. На основе этих значений времени сборки оцените время параллельной сборки для модели верхнего уровня.

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

(1 + коэффициент оценки накладных расходов параллельной сборки) * (время сборки на одной машине)

См. также

Проверка настройки циклического буфера блока задержки

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

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

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

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

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

См. также

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

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

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

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

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

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

См. также

Проверка влияния пересечения нуля на непрерывную интеграцию

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

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

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

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

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

См. также

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

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

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

См. также

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

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

Явные или неявные решатели

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

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

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

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

Сначала вычисляет жесткость системы при 0. Затем:

  • Если жесткость превышает 1000, Performance Advisor выбирает ode15.

  • Если жесткость меньше 1000, Performance Advisor выбирает ode45.

Решатель непрерывного действия с фиксированным шагом
  • Если жесткость превышает 1000, Performance Advisor выбирает ode14x.

  • Если жесткость меньше 1000, Performance Advisor выбирает ode3.

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

См. также

Выберите параметр многопоточного совместного моделирования вкл или выкл.

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

  • Проверка и возврат изменений при увеличении времени моделирования - Performance Advisor отменяет предыдущие настройки совместного моделирования при увеличении времени моделирования.

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

Совет

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

См. также

Определение сигналов совместного моделирования для числовой компенсации

Определение сигналов совместного моделирования, которые могут нуждаться в явной цифровой компенсации.

  • Проверка и возврат изменений при увеличении времени моделирования - Performance Advisor отменяет предыдущие настройки совместного моделирования, а время моделирования увеличивается.

  • Проверка и возврат изменений, если степень точности превышает допуск - Performance Advisor отменяет совместное моделирование, если степень точности превышает допуск.

Совет

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

См. также

Проверка параметров домена потока данных

Для увеличения пропускной способности домена потока данных может быть выгодно увеличить задержку системы. Performance Advisor анализирует домены потока данных в модели и находит оптимальные настройки задержки. Анализ также определяет любые другие ограничения многопоточности в доменах потока данных.

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

После завершения анализа Performance Advisor предлагает значение задержки, которое оптимизирует пропускную способность системы для многоядерной архитектуры ЦП хост-компьютера и определяет любые другие ограничения многопоточности в доменах потока данных.

См. также

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

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

  • Нормальный

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

  • Быстрый ускоритель

  • Rapid Accelerator с актуальной проверкой

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

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

В режиме Rapid Accelerator скорости моделирования самые быстрые, но этот режим работает только с моделями, где C-код доступен для всех блоков модели. Кроме того, этот режим не поддерживает отладчик или профилировщик.

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

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

См. также

Выбор оптимизации компилятора: вкл или выкл.

Эта проверка позволяет определить, поможет ли оптимизация компилятора повысить скорость моделирования. Оптимизация может выполняться только в режимах ускорителя или быстрого ускорителя.

Примечание

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

См. также

Выберите параметр аппаратного ускорения

Эта проверка сравнит три варианта аппаратного ускорения в зависимости от времени моделирования.

  • Off - Аппаратное ускорение отключено и SIMD не используется.

  • Leverage generic hardware (Faster, no rebuild) - Использование инструкций SIMD для общего оборудования в соответствии с требованиями системы Simulink. Этот параметр не требует перестроения модели для моделирования при смене главного компьютера.

  • Leverage native hardware (Fastest, rebuild allowed) - Использование инструкций SIMD для оборудования, встроенного в хост-компьютер. Этот параметр может потребовать перестроения модели для моделирования при смене главного компьютера.

На основе сравнения можно выбрать аппаратное ускорение.

См. также

Окончательная проверка

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

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

См. также