Sync content/notes
This commit is contained in:
80
content/notes/Connect_MPI_system_over_SSH_for_Dummy.md
Normal file
80
content/notes/Connect_MPI_system_over_SSH_for_Dummy.md
Normal 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
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user