diff --git a/content/notes/Android Studio.md b/content/notes/Android_Studio.md similarity index 100% rename from content/notes/Android Studio.md rename to content/notes/Android_Studio.md diff --git a/content/notes/Connect_MPI_system_over_SSH_for_Dummy.md b/content/notes/Connect_MPI_system_over_SSH_for_Dummy.md new file mode 100644 index 0000000..2e5c13c --- /dev/null +++ b/content/notes/Connect_MPI_system_over_SSH_for_Dummy.md @@ -0,0 +1,80 @@ +--- +tags: + - General +title: Connect MPI system over SSH for Dummy +description: How to setup MPI system over SSH +date: 2025-01-01 +author: Nikola Petrov +draft: false +--- + +1. On all computers +``` +sudo apt install openssh-client +sudo apt install openssh-server +sudo apt install openmpi-bin libopenmpi-dev +``` + +2. Disable firewall +``` +sudo ufw status +sudo ufw disable +``` + +3. Try connecting master to every slave ( you will need password ) +``` +ssh user@ipslave1 +ssh user@ipslave2 +``` + +4. 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 +``` + +5. Try connecting master to every slave ( you will not need password ) +``` +ssh user@ipslave1 +ssh user@ipslave2 +``` + +6. Compile program +``` +mpicc main.c -o main +mpic++ main.cpp -o main +``` + +7. 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/ +``` + +8. Copy program to all computers + - Could use NFS server for auto copy +``` +scp +scp /tmp/mympiprogram/main user@ipslave1:/tmp/mympiprogram/main +scp /tmp/mympiprogram/main user@ipslave2:/tmp/mympiprogram/main +``` + + +9. 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 --host 127.0.0.1:,ipslave1:,ipslave2 /tmp/mympiprogram/main +``` + +10. Enable firewall +``` +sudo ufw status +sudo ufw enable +``` + + + +