В этом примере показано, как выполнять совместное моделирование для нескольких потоков.
Simulink - это интеграционная платформа, поддерживающая совместное моделирование компонентов с локальными решателями или включающая инструменты моделирования. Например, совместное моделирование может включать S-функцию в качестве шлюза совместного моделирования между Simulink и сторонними инструментами или пользовательским кодом. Он также может включать FMU в режиме совместного моделирования, импортированный в Simulink.
По умолчанию Simulink настраивает все модели для работы с несколькими потоками с параметром MultiThreadCoSim.
В этом примере показано, как выполнять многопоточное совместное моделирование трех компонентов (два из которых реализованы в C-MEX S-Function, один - в FMU Co-Simulation v2.0). Эти компоненты вычисляют простые числа, чтобы найти максимальное простое число, которое меньше или равно данному входу.
Многопоточное совместное моделирование лучше всего подходит для моделей с ресурсоемкими и свободно связанными компонентами. В этом примере каждый компонент вычисляет простые числа с помощью поиска грубой силы. Интенсивность вычислений прямо пропорциональна заданному диапазону, который является входным блоком, с которым можно экспериментировать. Кроме того, компоненты обмениваются скалярным сигналом, который является максимальным простым числом в заданном диапазоне, во время связи.
Экспериментируйте с переключением параметра MultithreadingSim и измерением тактового времени стены.
