DoMPI и кластеры

У меня есть мой первый опыт использования R и кластеров. Выполняя поиск в Google, я обнаружил пакет "doMPI". Этот пакет позволяет мне автоматизировать создание процессов. Однако я немного запутался в функциях.

1 - В чем разница между startMPIcluster и registerDOMPI?

2 - Что за аргумент передан стартовому MPIcluster?

3 - Когда я использую команду mpirun -H n1,n2,n3 -n 1 R --slave -f sincMPI.Rчто это значит -n 1?

4 - Предположим, что у меня есть 4 кластера, каждый с 60 CPUS. Как это будет мой код?

1 ответ

Решение

Вы читали виньетку doMPI? Я пытался ответить на все эти вопросы в нем. Я также предлагаю вам скачать исходный код doMPI и просмотреть примеры скриптов, которые в него включены.

Что касается ваших вопросов:

  1. startMPIcluster используется для создания объекта кластера, представляющего набор процессов, используемых для параллельных вычислений; registerDoMPI используется для регистрации кластерного объекта с помощью foreach, поэтому он будет использоваться для выполнения параллельных циклов foreach. Обе функции должны быть использованы.

  2. Если вы выполняете свой R-скрипт через mpirun с -n 1 Опция mpirun запустит только один процесс для выполнения вашего R-скрипта (который я называю основным процессом) и первый аргумент startMPIcluster указывает количество рабочих, которые мастер должен запустить для выполнения задач, генерируемых циклами foreach. Если вы используете mpirun для запуска нескольких процессов, вам не нужно указывать count значение на всех. Я рекомендую использовать mpirun для запуска всех рабочих (используя -n 3в вашем примере), а не указав значение для count значение.

  3. Mpirun -n Параметр указывает количество рабочих / процессов, которые он должен запустить. Если вы хотите порождать рабочих, вы должны использовать -n 1 так что mpirun только запускает мастер и использует startMPIclustercount Аргумент, чтобы контролировать количество рабочих, чтобы нереститься.

Я действительно не понимаю ваш последний вопрос, но я думаю, что виньетка и примеры должны помочь вам лучше понять все эти концепции.

Другие вопросы по тегам