Мультираспараллельте Co-моделирование

Этот пример показывает, как запустить co-моделирование на нескольких потоках.

Simulink является платформой интегрирования, которая поддерживает co-моделирование между компонентами с локальными решателями, или это включает инструменты моделирования. Например, co-моделирование может включить S-функцию как шлюз co-моделирования между Simulink и сторонними программами или пользовательским кодом. Это может также вовлечь FMU в режим co-моделирования, импортированный в Simulink.

По умолчанию Simulink конфигурирует все модели, чтобы работать на нескольких потоках с параметром MultiThreadCoSim.

Этот пример показывает, как запустить многопоточное co-моделирование трех компонентов (два реализованных в S-функции C-MEX, один реализованный FMU Co-Simulation v2.0 использования). Эти компоненты вычисляют простые числа, чтобы найти максимальное простое число, которое меньше, чем или равно данному входному параметру.

Многопоточное co-моделирование лучше всего удовлетворяет моделям с в вычислительном отношении интенсивными и слабо связанными компонентами. В этом примере каждый компонент вычисляет простые числа с помощью поиска "в лоб". Интенсивность вычисления прямо пропорциональна к данной области значений, которая является блочным входным параметром, с которым можно экспериментировать. Кроме того, компоненты обмениваются скалярным сигналом, который является максимальным простым числом в данной области значений в коммуникационные времена.

Эксперимент, переключающий параметр MultiThreadCoSim и измеряющий стену, показывает время.

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