Несколько рабочих процессов симуляции

При запуске набора из нескольких симуляций можно запустить их параллельно на нескольких 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 Рабочий процесс

  1. Создайте массив Simulink.SimulationInput объекты, in, для задания изменений в модели.

  2. Задайте одноразовую настройку, необходимую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables для выполнения настройки параллельных рабочих процессов.

  3. Управляемый parsim(in) чтобы выполнить эти многочисленные параллельные симуляции. Если параллельный пул не существует, parsim создает его. parsim использует настройки по умолчанию.

  4. Можно открыть Simulation Manager, установив 'SimulationManager' аргумент в 'on' с parsim, parsim(in,'SimulationManager','on'). Simulation Manager позволяет вам контролировать симуляции во время их выполнения и предоставляет вам доступ к выходам симуляций, когда они готовы. Simulation Manager предоставляет вам многочисленные сведения о симуляциях, выполняемых на работниках. Для получения дополнительной информации см. раздел Simulation Manager.

  5. Когда все симуляции завершены, вы получаете массив Simulink.SimulationOutput объекты.

Ограничения

  • Закрытие сеанса работы с MATLAB завершает симуляции на работниках, отключая получение частичных результатов.

parsim с RunInBackground Рабочий процесс

  1. Создайте массив Simulink.SimulationInput объекты, in, для задания изменений в модели.

  2. Задайте одноразовую настройку, необходимую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables для выполнения настройки параллельных рабочих процессов.

  3. Управляемый parsim с RunInBackground значение опции установлено в 'on': parsim(in,'RunInBackground','on'). Установка 'RunInBackground' опция для 'on' выполняет симуляции асинхронно. Это обеспечивает доступность командной строки MATLAB, что позволяет работать с другими задачами.

  4. С 'RunInBackground' значение опции установлено в 'on', parsim возвращает Simulink.Simulation.Future объект. Можно опросить этот объект, чтобы проверить состояние симуляций, получить выходы симуляций, когда они завершены, или отменить симуляции. Для получения дополнительной информации смотрите Simulink.Simulation.Future.

Ограничения

  • Закрытие сеанса работы с MATLAB завершает симуляции на работниках, отключая получение частичных результатов. Если на future объект очищен, впоследствии вы не можете получить доступ к результатам симуляций.

  • Использование fetchNext цикл метода на Future объекты, наряду с Simulation Manager заставляют их конкурировать за поиск Future объекты. Используйте любой из fetchNext следующий цикл или Simulation Manager, чтобы получить выходы завершенных симуляций.

batchsim Рабочий процесс

Пакетный рабочий процесс обычно означает отправку заданий для запуска симуляций на работниках MATLAB и последующий доступ к результатам этих симуляций. Когда вы запускаете симуляции пакетами, вы выгружаете выполнение симуляций в вычислительный кластер. Дополнительные сведения о пакетной обработке см. в разделе Простая пакетная обработка (Parallel Computing Toolbox).

  1. Создайте массив Simulink.SimulationInput объекты, in, для задания изменений в модели.

  2. Задайте одноразовую настройку, необходимую для выполнения нескольких симуляций. Можно использовать SetupFcn и TransferBaseWorkspaceVariables для выполнения настройки параллельных рабочих процессов.

  3. Чтобы запустить в фоновом режиме кластера или рабочего стола, вызовите batchsim для разгрузки выполнения симуляций. С batchsim, можно использовать большинство аргументов, которые совместимы с parsim и batch команды. Для получения дополнительной информации см. batchsim.

    Используя batchsimВы выгружали симуляции в работника MATLAB. Чтобы запустить пакетное задание для нескольких работников, укажите размер пула N, то есть целое число, указывающее количество работников, которые нужно сделать в параллельный пул для задания: batchsim(in, 'Pool', N). Должно быть как минимум N+1 работников, доступных в кластере. Если размер пула не задан, batchsim(in) запускает симуляции для одного рабочего процесса в кластере, заданном профилем кластера по умолчанию.

    Примечание

    batchsim ошибки при использовании с размером пула, если лицензия Parallel Computing Toolbox недоступна.

  4. batchsim выгружает симуляции в вычислительный кластер, позволяя выполнять другие задачи во время обработки пакетного задания, или закрыть клиентский MATLAB и получить доступ к пакетному заданию позже.

  5. При отправке пакетного задания batchsim возвращает объект задания, содержащий идентификатор задания и другую информацию, которую можно использовать для доступа к пакетному заданию позже. Снова получите доступ к этому заданию, чтобы проверить прогресс симуляций.

Ограничения

  • Поскольку сеанс клиента не связан с рабочими, вы не можете получить доступ к выходам, если задание не закончено.

  • batchsim не дает вам возможности контролировать симуляции с помощью Simulation Manager. Для пакетных заданий можно использовать монитор пакетных заданий, который сообщает, находится ли задание в очереди, выполняется или завершено. Для получения дополнительной информации смотрите Job Monitor (Parallel Computing Toolbox)

См. также

Функции

Классы

Похожие темы