Как я могу реализовать параллельные вычисления MATLAB на более чем одном узле - PullRequest
0 голосов
/ 11 июля 2019

На суперкомпьютерном сервере я назначаю задачу двум узлам с максимум 48 работниками.

Но команда MATLAB parpool(36) не работает.Сообщение об ошибке выглядит следующим образом:

Ошибка при использовании пула (строка 113). Вы запросили не менее 36 рабочих, но для кластера "local" свойство NumWorkers установлено, чтобы разрешить максимум 24 рабочих.Чтобы выполнить связующее задание на большем количестве работников, чем это (максимум 512 для локального кластера), увеличьте значение свойства NumWorkers для кластера.Значение по умолчанию NumWorkers для локального кластера - это количество ядер на локальном компьютере.

Согласно этому совету, я добавил две команды в свой код, как показано ниже:

myCluster = parcluster;
myCluster.NumWorkers = 36;

После этого parpool(36) работает без ошибок, но время вычислений остается неизменным.Поэтому я думаю, что эти 2 команды не могут мне помочь.Как я могу использовать 36 ядер на 2 узлах?

1 Ответ

1 голос
/ 11 июля 2019

Ваш код, как написано, использует "локальный" тип кластера в MATLAB.Это предназначено для работы на ядрах одной машины.Если вы хотите работать в «реальном» кластере, вам нужно отправить задание (или запустить parpool), используя профиль кластера, который отправляет на MATLAB Parallel Server кластер.

Например, если вы хотите использовать существующий кластер с запущенным SLURM, вы должны следовать инструкциям здесь , чтобы установить вещи, а затем здесь , чтобы настроить профиль кластера.Если у вас есть профиль кластера такого типа, вы можете отправить задание batch для запуска там следующим образом:

clus = parcluster('my slurm profile');
j = batch(@myFunction, 3, {in1, in2}, 'Pool', 36); % 3 is nargout for myFunction

Или вы можете запустить интерактивный пул на своем клиенте, обращающемся к кластеру, например:так

parpool('my slurm profile', 36);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...