В этом примере показано, как использовать Simulink.sdi.sendWorkerRunToClient
отправлять запуски, созданные с помощью параллельных рабочих процессов, вручную в Данные моделирования Inspector.
Setup
Этот пример запускает несколько симуляций vdp
модель, изменяющая значение усиления, Mu
. Чтобы настроить для параллельной симуляции, задайте вектор Mu
Значения и настройте Данные моделирования Inspector для ручной поддержки Parallel Computing Toolbox.
Инициализация параллельных рабочих процессов
Использование parpool
(Parallel Computing Toolbox), чтобы создать пул из четырех параллельных рабочих. Этот пример вызывает parpool
внутри оператора if, так что вы создаете параллельный пул, только если у вас его еще нет. Можно использовать spmd
(Parallel Computing Toolbox), чтобы запустить код инициализации, общий для всех работников. Для примера загрузите vdp
моделируйте и выбирайте сигналы для регистрации в запусках, которые мы можем отправить в Данные Моделирования Inspector на клиентском MATLAB. Чтобы избежать проблем параллелизма данных при симуляции с sim
в parfor
, создайте временную директорию для каждого работника. После завершения симуляций другой блок spmd удаляет временные директории.
Starting parallel pool (parpool) using the 'local' profile ...
connected to 4 workers.
Выполняйте параллельные симуляции с parfor
Чтобы передать данные от параллельных рабочих процессов в Данные Моделирования Inspector, необходимо запустить параллельные симуляции с помощью parfor
(Parallel Computing Toolbox). Каждый рабочий запускает vdp
симуляция с другим значением Mu
. Simulink не может получить доступ к содержимому parfor
цикл, поэтому переменная MuVal
определяется в рабочей области работника, где vdp
модель может увидеть его, используя assignin
.
Доступ к данным и отправка выполнения клиенту MATLAB
Программный интерфейс Данные Моделирования Inspector можно использовать в рабочем режиме так же, как в клиентском MATLAB. Этот пример создает Simulink.sdi.Run
объект и присоединяет значение Mu
используется в симуляции с Tag
свойство.
Закройте временные Директории и просмотрите Запуски в Данные моделирования Inspector
Использование другого spmd
раздел, чтобы удалить временные директории, созданные для рабочих процессов после завершения симуляций. В каждой симуляции Simulink.sdi.sendWorkerRunToClient
импортировал запуски от всех работников в Данные моделирования Inspector. Можно просмотреть данные и проверить свойства run, чтобы увидеть значение Mu
используется во время симуляции.