#mpi #cluster-computing
#mpi #кластерные вычисления
Вопрос:
Я новичок в Linux и mpi и создаю кластеры. Я использую linux ubuntu 18.04, и мне нужно запустить код mpi в кластере. Я создал кластер узлов tow, просто соедините их вместе с помощью коммутатора и установите openssh-server и mpich на каждый из них, используя эти команды:
sudo apt update
sudo apt upgrade
sudo apt install openssh-server
sudo apt install mpich
после этого, чтобы позволить им подключаться друг к другу без пароля, я генерирую ключ rsa для каждого on и добавляю его на другой узел, используя эти команды :
ssh-keygen -t rsa
ssh-copy-id {ip of the other node}
eval `ssh-agent`
ssh-add ~/.ssh/id_rsa
Затем я помещаю код hello world по одному и тому же пути на каждый узел, компилирую его и запускаю :
mpicc mpi_hello_world.c -o mpi_hello_world
mpirun -n 4 -hosts manager,worker ./mpi_hello_world
где manager и worker и определены в файле hosts .
вывод :
Hello world from processor manager, rank 1 out of 4 processors
Hello world from processor manager, rank 0 out of 4 processors
Hello world from processor manager, rank 3 out of 4 processors
Hello world from processor manager, rank 2 out of 4 processors
вот мои файлы hosts:
в диспетчере:
127.0.0.1 localhost
127.0.1.1 manager
127.0.1.2 worker
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
на рабочем :
127.0.0.1 localhost
127.0.1.1 manager
127.0.1.2 worker
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
есть ли какая-либо ошибка?
Комментарии:
1. возможное объяснение заключается
manager
в том, что у него более 4 ядер, а политика mpich по умолчанию заключается в том, чтобы сначала упаковать узлы.mpirun -ppn 2 ...
раньше это удавалось, но я давно не пробовал.2. результат все тот же. четыре оператора печати, но имя процесса — manager во всех.
3. Вы работаете
mpirun
наmanager
?4. Что
ssh worker hostname
возвращает?5. наконец-то это сработало! . я просто изменил IP-адреса, как вы сказали. большое спасибо 🙂