При выполнении набора нескольких симуляций можно запустить их параллельно на нескольких рабочих MATLAB® в параллельном пуле. Чтобы запустить несколько симуляций, можно использовать parsim
, parsim
с опцией 'RunInBackground'
, включенной, или batchsim
.
Блок-схема показывает, как, запуская несколько симуляций с parsim
, parsim
с RunInBackground
и batchsim
отличается.
parsim
и команды batchsim
используют лицензию Parallel Computing Toolbox™, чтобы запустить симуляции параллельно. parsim
запускает симуляции в сериале, если параллельный пул не может быть создан или если лицензия Parallel Computing Toolbox не доступна. команды batchsim
не могут запустить ни с чем не сравнимую Вычислительную лицензию Тулбокса.
parsim
Используя команду parsim
с Parallel Computing Toolbox, чтобы запустить несколько симуляций настраивает параллельный пул автоматически и запускает симуляции параллельно. Клиент всегда связывается к работникам MATLAB.
parsim
Создайте массив объектов Simulink.SimulationInput
, in
, чтобы задать изменения в модели.
Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn
и TransferBaseWorkspaceVariables
, чтобы выполнить настройку на параллельных рабочих.
Запустите parsim(in)
, чтобы выполнить эти несколько симуляций параллельно. Если параллельный пул не существует, parsim
создает его. parsim
использует настройки по умолчанию.
Можно открыть Simulation Manager путем установки аргумента 'SimulationManager'
на 'on'
с parsim
, parsim(in,'SimulationManager','on')
. Simulation Manager позволяет вам контролировать симуляции, когда они запускаются, и предоставляет вам доступ к выходным параметрам симуляций, когда они готовы. Simulation Manager дает, предоставляет вам многочисленную информацию о симуляциях, работающих на рабочих. Для получения дополнительной информации смотрите Simulation Manager.
Если все симуляции завершены, вы получаете массив объектов Simulink.SimulationOutput
.
Ограничения
Закрывание сеанса работы с MATLAB отключает симуляции на рабочих, отключая извлечение частичных результатов.
parsim
с рабочим процессом RunInBackground
Создайте массив объектов Simulink.SimulationInput
, in
, чтобы задать изменения в модели.
Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn
и TransferBaseWorkspaceVariables
, чтобы выполнить настройку на параллельных рабочих.
Запустите parsim
с набором опции RunInBackground
к 'on'
: parsim(in,'RunInBackground','on')
. Установка опции 'RunInBackground'
к 'on'
запускает симуляции асинхронно. Это сохраняет подсказку команды MATLAB доступным включением вам работать над другими задачами.
С набором опции 'RunInBackground'
к 'on'
parsim
возвращает объект Simulink.Simulation.Future
. Можно опросить этот объект проверять состояние симуляций, выбрать выходные параметры симуляций, когда они завершаются или отменяют симуляции. Для получения дополнительной информации смотрите Simulink.Simulation.Future
.
Ограничения
Закрывание сеанса работы с MATLAB отключает симуляции на рабочих, отключая извлечение частичных результатов. Если объект future
убран, вы впоследствии не можете получить доступ к результатам симуляций.
Используя цикл метода fetchNext
на объектах Future
, наряду с Simulation Manager заставляет их конкурировать за извлечение объектов Future
. Используйте или fetchNext
следующий цикл или Simulation Manager, чтобы получить выходные параметры завершенных симуляций.
batchsim
Пакетный рабочий процесс обычно означает представлять задания, чтобы запустить симуляции на работниках MATLAB и впоследствии получить доступ к результатам тех симуляций. Когда вы запускаете симуляции в пакетах, вы разгружаете выполнение симуляций на вычислить кластер. Чтобы узнать больше о пакетной обработке данных, смотрите Простую Пакетную обработку данных (Parallel Computing Toolbox).
Создайте массив объектов Simulink.SimulationInput
, in
, чтобы задать изменения в модели.
Задайте одноразовую настройку, требуемую для выполнения нескольких симуляций. Можно использовать SetupFcn
и TransferBaseWorkspaceVariables
, чтобы выполнить настройку на параллельных рабочих.
Чтобы работать на кластерном или настольном фоне, вызовите batchsim
, чтобы разгрузить выполнение симуляций. С batchsim
можно использовать большинство аргументов, которые совместимы с командами batch
и parsim
. Для получения дополнительной информации смотрите batchsim
.
Используя batchsim
, вы разгрузили симуляции работнику MATLAB. Чтобы запустить пакетное задание на нескольких рабочих, задайте размер пула, N
, который является целым числом, задающим количество рабочих, чтобы превратить в параллельный пул для задания: batchsim(in, 'Pool', N)
. Должны быть, по крайней мере, рабочие N+1
, доступные на кластере. Если размер пула не задан, batchsim(in)
запускает симуляции на одном рабочем в кластере, заданном кластерным профилем по умолчанию.
Ошибки batchsim
, когда используется с размером пула, если лицензия Parallel Computing Toolbox не доступна.
batchsim
разгружает симуляции к вычислить кластеру, позволяя вам выполнить другие задачи, в то время как пакетное задание обрабатывает, или закройте клиент MATLAB и получите доступ к пакетному заданию позже.
При представлении пакетного задания batchsim
возвращает объект задания, содержащий ID задания и другую информацию, которую можно использовать, чтобы получить доступ к пакетному заданию в более позднее время. Доступ к этому заданию снова, чтобы проверять прогресс симуляций.
Поскольку клиентский сеанс не связывается к рабочим, вы не можете получить доступ к выходным параметрам, если задание не закончено.
batchsim
не дает вам способность контролировать симуляции с Simulation Manager. Для пакетных заданий можно использовать монитор пакетного задания, который говорит вам, если задание является очередями, происходящими, или завершенными. Для получения дополнительной информации смотрите Монитор Задания (Parallel Computing Toolbox)