You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
# mpi !
Instances of Ubuntu Linux with [MPICH ](https://www.mpich.org ) -- portable implementation of Message Passing Interface (MPI) standard. Designed for MPI program development and deployment.
## LabInstance mpi2
![alt text ](images/swarmlab-network.png "" )
> ### NOTE
>
> Vlabs are reset every night around 02:00!
>
>> If you would like to keep your work please refer to "publish".
>
> Vlabs dont have firewall restrictions BUT the machines are not exposed to the internet.
>
> You share all machines so please be cooperative and discrete.
>
## Quickstart
This is a quickstart guide of howto use this *LabInstance to deploy MPI programs*
### HowTo use it
- cd /home/ubuntu
> git clone https://git.swarmlab.io:3000/labs/examples-mpi2.git
- cd examples-mpi2/examples
> make all
### Default Configuration
- Working Directory
> /home/ubuntu
- Default user
> ubuntu
#### Find lab workers
The host file that contains addresses of connected workers can be created with:
>
> swarmlab-getworkers > /home/ubuntu/invhosts
>
#### connect to workers
```bash
ssh ubuntu@[IP]
Info: user has sudo privileges without a password
```
#### Compile
> mpicc -o /home/ubuntu/mpi_hello_world examples/mpi_hello_world.c
#### run the MPI hello world program
> mpirun -n 10 -f /home/ubuntu/hosts /home/ubuntu/mpi_hello_world
---
**NOTE:** copy hello world to all clients
```bash
# scp hello wrold to all clients. sudo -u mpi for auto scp connect. see /home/mpi/.ssh
while read -r line;
do
scp /home/ubuntu/mpi_hello_world ubuntu@$line:/home/ubuntu/mpi_hello_world
done < /home/ubuntu/hosts
```
---
#### Publish Your Work
```bash
mkdir /home/ubuntu/directory
put your files and other directories into /home/ubuntu/directory
swarmlab-publish /home/ubuntu/directory
open URL in Browser
```
---
**MORE INFO**
See examples directory
```bash
cd examples
make mpi_hello_world
make example ex=squares
...
```
---