MPI и кластер

Просто научитесь программировать на суперкомпьютере, состоящем из ~ 100 узлов, каждый узел состоит из 4 процессоров Xeon и оперативной памяти 64 ГБ.

Я хочу назначить задания каждому узлу, а затем создать локальные многопоточные программы на каждом узле. Я хочу знать, что по умолчанию, когда MPI создает группу процессов, существует ли сопоставление 1-1 между каждым процесс задачи и один конкретный локальный узел или нет? (в моем случае это узел, состоящий из 4 процессоров Xeon с полностью 24 ядрами и оперативной памятью 64 ГБ).

3

Решение

MPI будет запускать M процессов на N узлах, где M может быть меньше, равно или больше N.

Этот сайт описывает настройку.

Я не могу найти прямой ответ на ваш вопрос, но в Интернете есть несколько сайтов, обсуждающих process migration а также checkpointing, Но общая тема этих сайтов, кажется, заключается в том, что эта работа все еще находится в стадии разработки. Поэтому я не ожидал бы, что это будет происходить автоматически в вашей реализации MPI.

Этот сайт обсуждает MPI_GET_PROCESSOR_NAME команда, которая может использоваться при миграции процессов, но утверждает, что «ничто в MPI не требует и не определяет миграцию процессов; это определение MPI_GET_PROCESSOR_NAME просто допускает такую ​​реализацию». С помощью этой команды вы можете по крайней мере проверить, активно ли переносится ваш код.

1

Другие решения

Других решений пока нет …