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

При выполнении набора нескольких моделирований можно запустить их параллельно на нескольких рабочих MATLAB® в параллельном пуле. Чтобы запустить несколько моделирований, можно использовать parsim, parsim с опцией 'RunInBackground', включенной, или batchsim.

Блок-схема показывает, как, запуская несколько моделирований с parsim, parsim с RunInBackground и batchsim отличается.

parsim и команды batchsim используют Параллельные вычисления лицензия Toolbox™, чтобы запустить моделирования параллельно. parsim запускает моделирования в сериале, если параллельный пул не может быть создан или если лицензия Parallel Computing Toolbox не доступна. batchsim commans не может запустить ни с чем не сравнимую Вычислительную лицензию Тулбокса.

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

Используя команду parsim с Parallel Computing Toolbox, чтобы запустить несколько моделирований настраивает параллельный пул автоматически и запускает моделирования параллельно. Клиент всегда связывается к работникам MATLAB.

Основной рабочий процесс parsim

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

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

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

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

  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, наряду с менеджером по Моделированию заставляет их, конкурируют за извлечение объектов Future. Используйте или fetchNext следующий цикл или менеджера по Моделированию, чтобы получить выходные параметры завершенных моделирований.

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

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

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

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

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

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

    Примечание

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

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

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

Ограничения

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

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

Смотрите также

Функции

Классы

Похожие темы

Была ли эта тема полезной?