# 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 mpi ![alt text](images/swarmlab-network.png "") [inspired by NLKNguyen](https://github.com/NLKNguyen/alpine-mpich) ## Quickstart This is a quickstart guide of howto use this *LabInstance to deploy MPI programs* ### HowTo use it - On step "*1. Select Git Repo*" [see here](http://docs.swarmlab.io/SwarmLab-HowTos/HowTo-create-lab.adoc.html) choose "*examples-mpi*" - On step "*2. Select swarm service*" choose "*ondemand_mpi_master*" - On step "*3. Save Lab Instance*" put the name you want - Save it. Your are ready to run your fresh *LabInstance* [see here](http://docs.swarmlab.io/SwarmLab-HowTos/HowTo-create-lab.adoc.html#_run_instance) ### Default Configuration - Working Directory > /project - Default user for MPI > mpi - Buid-in Web Server --- **INFO** *Lab_Instance Name* = The name you give [here](http://docs.swarmlab.io/SwarmLab-HowTos/HowTo-create-lab.adoc.html#_step_3_save_lab_instance) You can also find [here](http://docs.swarmlab.io/SwarmLab-HowTos/index.adoc.html#_main_lab_intance_interface) Usage: > touch /var/www/html/[name]/file --- - The host file that contains addresses of connected workers can be created with: > IP_ADDR=$(ip addr show | grep "inet " | grep "eth0" | awk '{print $2}') > > nmap -sP $IP_ADDR | grep ondemand_mpi_worker | awk -F "[()]" '{ for (i=2; i /project/hosts - Compile > mpicc -o /project/mpi_hello_world examples/mpi_hello_world.c - run the MPI hello world program > sudo -u mpi mpirun -n 10 -f /project/hosts /project/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 sudo -u mpi scp /project/mpi_hello_world mpi@$line:/project/mpi_hello_world done < /project/hosts ``` --- --- **MORE INFO** See swarmlab and examples directory ---