Sync content/notes

This commit is contained in:
2026-03-30 16:18:41 +02:00
parent 54a8364cab
commit 01b96ef523
2 changed files with 80 additions and 0 deletions

View File

@@ -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 <source> <destination>
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 <num> --host 127.0.0.1:<c1>,ipslave1:<c2>,ipslave2<c3> /tmp/mympiprogram/main
```
10. Enable firewall
```
sudo ufw status
sudo ufw enable
```