exponenta event banner

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

При выполнении набора из нескольких моделирований их можно запускать параллельно на нескольких сотрудниках 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. Диспетчер моделирования можно открыть, установив 'SimulationManager' аргумент для 'on' с parsim, parsim(in,'SimulationManager','on'). 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 вместе с менеджером моделирования заставляет их конкурировать за получение Future объекты. Использовать либо fetchNext следующий цикл или диспетчер моделирования для получения выходных данных завершенного моделирования.

batchsim Технологический процесс

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

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

См. также

Функции

Классы

Связанные темы