При запуске набора из нескольких симуляций можно запустить их параллельно на нескольких MATLAB® рабочие в параллельном бассейне. Чтобы запустить несколько симуляций, можно использовать parsim
, parsim
с 'RunInBackground'
опция включена, или batchsim
.
Поток графика показов, как выполнить несколько симуляций с parsim
, parsim
с RunInBackground
и batchsim
отличаются.
parsim
и batchsim
команды используют лицензию Parallel Computing Toolbox™, чтобы запустить параллельные симуляции. parsim
запускает симуляции последовательно, если параллельный пул не может быть создан или если лицензия Parallel Computing Toolbox недоступна. batchsim
команды не могут выполняться без лицензии Parallel Computing Toolbox.
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
возвращает объект задания, содержащий идентификатор задания и другую информацию, которую можно использовать для доступа к пакетному заданию позже. Снова получите доступ к этому заданию, чтобы проверить прогресс симуляций.
Поскольку сеанс клиента не связан с рабочими, вы не можете получить доступ к выходам, если задание не закончено.
batchsim
не дает вам возможности контролировать симуляции с помощью Simulation Manager. Для пакетных заданий можно использовать монитор пакетных заданий, который сообщает, находится ли задание в очереди, выполняется или завершено. Для получения дополнительной информации смотрите Job Monitor (Parallel Computing Toolbox)
batchsim
| getSimulationJobs
| parsim
| Simulation
Manager
| batch
(Parallel Computing Toolbox) | parcluster
(Parallel Computing Toolbox)