Connect MPI system over SSH for Dummy
- On all computers
sudo apt install openssh-client
sudo apt install openssh-server
sudo apt install openmpi-bin libopenmpi-dev
- Disable firewall
sudo ufw status
sudo ufw disable
- Try connecting master to every slave ( you will need password )
ssh user@ipslave1
ssh user@ipslave2
- On master generate a key and put it on the slaves
ssh-keygen -t rsa
ssh-copy-id user@ipslave1
ssh-copy-id user@ipslave2
- Try connecting master to every slave ( you will not need password )
ssh user@ipslave1
ssh user@ipslave2
- Compile program
mpicc main.c -o main
mpic++ main.cpp -o main
- Copy main in to /tmp folder for easy same location ( program needs to be in the same path on all computers )
cp /path/to/main /tmp/mympiprogram/
- Copy program to all computers
- Could use NFS server for auto copy
scp <source> <destination>
scp /tmp/mympiprogram/main user@ipslave1:/tmp/mympiprogram/main
scp /tmp/mympiprogram/main user@ipslave2:/tmp/mympiprogram/main
- Run program
num < c1 + c2 + c3- c1 is number of processes that can run on the computer
- num is number of processes that are needed for the program
mpirun -np <num> --host 127.0.0.1:<c1>,ipslave1:<c2>,ipslave2<c3> /tmp/mympiprogram/main
- Enable firewall
sudo ufw status
sudo ufw enable