При выполнении набора нескольких симуляций можно запустить их параллельно на нескольких 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
, можно использовать большинство аргументов, которые совместимы с parsim
и batch
команды. Для получения дополнительной информации смотрите 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)
parsim
| batchsim
| batch
(Parallel Computing Toolbox) | parcluster
(Parallel Computing Toolbox) | getSimulationJobs