Параллельный пул является набором MATLAB® работников вычислительного кластера или рабочего стола. По умолчанию параллельный пул запускается автоматически при необходимости с помощью параллельных языковых функций, таких как parfor
. Размер пула по умолчанию и кластер можно задать в параллельных настройках. Панель настроек отображает размер пула и кластер, когда вы выбираете Parallel Preferences в Parallel меню. Размер пула и кластер можно изменить в меню Parallel. Также можно выбрать размер кластера и пула с помощью parcluster
и parpool
соответственно в командной строке MATLAB. Смотрите изображение для получения дополнительной информации.
Работники в параллельном пуле могут использоваться в интерактивном режиме и общаться друг с другом в течение срока службы. Вы можете просмотреть свои parpool
задания в мониторе заданий. Хотя эти работники пула зарезервированы для интерактивного использования, они недоступны для других пользователей. Одновременно с сеансом клиента MATLAB может быть только один параллельный пул. В MATLAB текущий параллельный пул представлен parallel.Pool
объект.
По умолчанию параллельный пул запускается автоматически при необходимости с помощью определенных функций параллельного языка. Многие функции могут автоматически запустить параллельный пул, включая:
Ваши параллельные настройки определяют, в каком кластере запускается пул, и предпочтительное количество работников в пуле. Чтобы получить доступ к настройкам, на вкладке Home, в разделе Environment, нажмите Parallel > Parallel Preferences.
В параллельных настройках можно отключить автоматическое открытие или закрытие пула. Если вы решите не открывать пул автоматически, можно управлять пулом с помощью следующих методов.
Для запуска параллельного пула вручную можно использовать индикатор параллельного статуса в левом нижнем углу рабочего стола MATLAB.
В MATLAB Online индикатор параллельного статуса по умолчанию не отображается. Сначала необходимо запустить параллельный пул при помощи parpool
или любой из функций, которые автоматически запускают параллельный пул.
Щелкните значок индикатора и выберите Start Parallel Pool. Размер пула и кластер определяются вашими параллельными настройками и кластером по умолчанию. Ваш кластер по умолчанию обозначается галочкой в меню Parallel > Default Cluster.
Опции меню отличаются при запуске пула. Вы можете:
Просмотр количества работников и имени кластера
Измените время до автоматического завершения работы
Завершите работу параллельного пула
Чтобы остановить пул, можно также выбрать Shut Down Parallel Pool.
Запуск параллельного пула. Можно начать и остановить параллельный пул программно, используя настройки по умолчанию или указав альтернативы.
Чтобы открыть параллельный пул на основе настроек выборов:
parpool
Чтобы открыть пул определенного размера:
parpool(4)
Чтобы использовать кластер, отличный от вашего по умолчанию, и указать, где запускается пул:
parpool('MyCluster',4)
Параллельный пул можно запускать в различных параллельных окружениях. Для получения дополнительной информации см. раздел «Выбор между окружениями на основе потоков и процессами».
Завершите работу параллельного пула. Чтобы получить текущий параллельный пул и использовать этот объект, когда вы хотите закрыть пул:
p = gcp; delete(p)
Убедитесь, что параллельный пул не работает. Когда вы задаете команду gcp
без аргументов можно непреднамеренно открыть пул. Чтобы избежать этой проблемы:
delete(gcp('nocreate'))
Существует несколько мест для определения размера пула. Размер пула может быть ограничен несколькими факторами. Фактический размер вашего параллельного пула определяется комбинацией следующего:
Лицензирование или размер кластера
Максимальный предел количества работников в пуле ограничен количеством работников в кластере. Этот предел может быть определено количеством доступных лицензий MATLAB Parallel Server™. В случае планировщика заданий MATLAB предел может быть определен количеством рабочих процессов в кластере. Локальный кластер, работающий на клиентском компьютере, не требует лицензирования, превышающего лицензию для Parallel Computing Toolbox™. Предел количества рабочих мест достаточно высок, чтобы поддерживать область значений известного оборудования для настольных ПК.
Количество рабочих процессов в профиле кластера (NumWorkers
)
Объект кластера может задать жесткий предел количества работников, который вы задаете в профиле кластера. Даже если вы запрашиваете больше работников в командной строке или в своих настройках, вы не можете превысить предел, установленный в применимом профиле. Попытка превысить это число приводит к ошибке.
Аргумент в командной строке
Если вы задаете размер пула в командной строке, вы переопределяете настройку своих настроек. Это значение должно находиться в пределах применимого профиля кластера.
Параллельные настройки
Если вы не задаете размер пула в командной строке, MATLAB пытается запустить пул с размером, определяемым вашими параллельными настройками. Это значение является выбором, а не требованием или запросом для определенного количества работников. Так что, если пул не может начать с такого количества работников, как это требуется в ваших настройках, вы получаете меньший пул без каких-либо ошибок. Можно задать значение Preferred number of workers в большом количестве, чтобы оно никогда не ограничивало размер создаваемого пула. Если вам нужно точное количество работников, укажите их в командной строке.
Для выбора кластера, на котором работает пул, приоритет определяется следующим.
Аргумент объекта кластера в командной строке переопределяет настройку профиля по умолчанию и использует кластер, идентифицированный профилем 'MyProfile'
.
c = parcluster('MyProfile');
p = parpool(c);
Кластер задан в профиле по умолчанию.
p = parpool;
delete
| distributed
| gcp
| parcluster
| parfeval
| parfor
| parpool
| spmd