MPIEXEC Использование неправильного количества процессоров

StackOverflow https://stackoverflow.com/questions/4069208

Вопрос

Я пытаюсь настроить кластер MPI. Но у меня есть проблема, что количество процессоров, добавленных в файл mpd.conf, не используется правильно. У меня есть три сервера Ubuntu. Opteron с 48 ядер Calc1 с 8 сердечниками Calc2 с 8 ядрами.

Мой mpd.hosts выглядит как:
opteron:46
calc1:6
calc2:6

После загрузки (MPDBoot -N 3 -F MPD.Hosts) система работает. MPDTRACE -> Все трое из них перечислены.

Но запуск программного обеспечения типа «MPIEXEC -N 58 RaxmlHPC-MPI ...» приводит к тому, что Calc1 и Calc2 добираются до многих рабочих мест, а Opteron попадает в немногие одновременно. Что я делаю неправильно?

С уважением

Бабушка

Это было полезно?

Решение

Я нашел обходной путь. Я использовал дополнительный параметр «-MachineFile /path/to/mpd.hosts» для команды mpiexec. И теперь все узлы бегут правильно. Одна проблема, которую я получил, это то, что я получен после сообщения об ошибке:

... MPIU_SHMW_SEG_CREATE_ATTACH_TEMPL (671): Открыть не удалось - нет такого файла или каталога ...

Чтобы исправить это, мне пришлось установить переменную среды MPICH_NO_LOCAL=1

Другие советы

Как вы выяснили, вы должны пройти машину для обоих mpdboot а также mpiexec Для того, чтобы использовать процессы для каждого хоста. Выпуск «Open Shife» - это известная ошибка в MPD, менеджер процессов, который вы используете. Обратите внимание, что то MPICH_NO_LOCAL=1 Обходной путь будет работать, но, вероятно, приведет к большой производительности для интранодового общения.

Вы четко используете MPICH2 (или производное MPich2), но неясно, какая вы используете версию. Если вы можете, я решительно рекомендую обновить в MPich2 1.2.1P1 или (еще лучше) 1.3.1. Обе эти выпуски включают более новый менеджер процессов гидра Это намного быстрее и крепче. В 1.3.1 Hydra - это менеджер процессов по умолчанию. Это не требует mpdboot фаза, и она поддерживает $HYDRA_HOST_FILE Переменная среды, так что вам не нужно указывать машинный файл на каждом mpiexec.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top