Я пытаюсь создать действительно простой «кластер» из 2-х многоядерных компьютеров, используя openmpi.
Моя проблема в том, что я не могу найти учебники по этому вопросу. Я не хочу использовать крутящий момент, потому что в моем случае это не нужно, тем не менее, все учебники дают подробную информацию о конфигурации крутящего момента или mpd (чего нет в реализации openmpi).
Не могли бы вы дать мне несколько советов или ссылки на соответствующие руководства?
Шаги, которые я уже выполнил:
- установка openmpi
- настройка сети (компьютеры видят друг друга)
- SSH пароль без входа на второй компьютер
Я попытался использовать машинные файлы без дальнейшей настройки и только с двумя IP-адресами. Но задания, похоже, не начинаются вообще после инициализации. (MPI, кажется, работает, потому что я могу распределять задания на нескольких ядрах обоих компьютеров без связи между ними).
Ответы:
Лучшее решение для использования OpenMPI на таком небольшом количестве машин - это использовать команды mpirun или mpiexec с файлом хоста или без него. Это должно работать, и вам не требуется сторонний менеджер процессов, такой как Torque или Slurm.
Если ваша работа MPI не запускается, возможно, что-то не так с коммуникацией. Проверьте это, создав файл хоста, который содержит только ваш локальный компьютер, который должен назначить все ваши процессы MPI вашему локальному хосту. Кроме того, прежде чем запускать собственное задание MPI, начните с примеров заданий, поставляемых с Open MPI.
Это может быть довольно привередливый, чтобы настроить Open MPI. В вашем скрипте configure прямо укажите, какая базовая коммуникационная поддержка вам нужна (например, sm и tcp). Когда вы выполняете свою работу, укажите, какие каналы должен использовать MPI. Если явно указать эти значения, MPI вернет ошибку, если что-то не так.
Чтобы начать работу с mpirun, посмотрите документацию Open MPI последней версии: http://www.open-mpi.org/doc/current/man1/mpirun.1.php
источник