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.
155 lines
2.8 KiB
155 lines
2.8 KiB
5 years ago
|
= mpi !
|
||
|
Apostolos rootApostolos@swarmlab.io
|
||
|
// Metadata:
|
||
|
:description: Intro and Install
|
||
|
:keywords: mpi
|
||
|
:data-uri:
|
||
|
:toc: right
|
||
|
:toc-title: Πίνακας περιεχομένων
|
||
|
:toclevels: 4
|
||
|
:source-highlighter: highlight
|
||
|
:icons: font
|
||
|
:sectnums:
|
||
|
|
||
|
{empty} +
|
||
|
|
||
|
|
||
|
[[cheat-Docker]]
|
||
|
== Install mpi
|
||
|
|
||
|
- Install docker +
|
||
|
http://docs.vlabs.uniwa.gr/Howtos/docker/install.adoc.html[^]
|
||
|
|
||
|
- Clone repo +
|
||
|
|
||
|
https://git.vlabs.uniwa.gr:3000/swarmlab/swarmlab-mpi +
|
||
|
See http://docs.vlabs.uniwa.gr/Howtos/git/use-git.adoc.html
|
||
|
|
||
|
|
||
|
[[cheat-swarmlab-mpi]]
|
||
|
== Usage (swarmlab-adoc)
|
||
|
|
||
|
|
||
|
- Open a console
|
||
|
|
||
|
- Create a directory
|
||
|
|
||
|
```
|
||
|
cd dir
|
||
|
swarmlab-mpi <tab><tab>
|
||
|
|
||
|
create create project (swarmlab-mpi create)
|
||
|
up start swarmlab-mpi (swarmlab-mpi up size=10)
|
||
|
scale resize swarmlab-mpi (swarmlab-mpi scale size=30)
|
||
|
reload rebuild image (swarmlab-mpi reload size=15)
|
||
|
login login swarmlab-mpi (swarmlab-mpi login)
|
||
|
exec execute command (swarmlab-mpi exec [SHELL COMMAND])
|
||
|
down stop swarmlab-mpi (swarmlab-mpi down)
|
||
|
clean clean project (swarmlab-mpi clean)
|
||
|
list show instances (swarmlab-mpi swarmlab-mpi list)
|
||
|
help show help (swarmlab-mpi help)
|
||
|
```
|
||
|
|
||
|
[NOTE]
|
||
|
====
|
||
|
Using the tab key to automatically complete unambiguous commands and paths in Bash
|
||
|
====
|
||
|
|
||
|
|
||
|
[[cheat-swarmlab-create]]
|
||
|
== Create swarmlab project
|
||
|
|
||
|
```
|
||
|
mkdir myproject
|
||
|
cd myproject
|
||
|
swarmlab-mpi create
|
||
|
```
|
||
|
.Relevant files:
|
||
|
[NOTE]
|
||
|
====
|
||
|
Project
|
||
|
├── Dockerfile # Image specification
|
||
|
├── project # Sample program source code
|
||
|
│ └── mpi_hello_world.c
|
||
|
├── ssh # keys for accessing
|
||
|
│ ├── id_rsa # (could generate your own)
|
||
|
│ └── id_rsa.pub
|
||
|
├── docker-compose.yml # Container orchestration
|
||
|
|
||
|
====
|
||
|
|
||
|
[[cheat-swarmlab-up]]
|
||
|
== Spin up the swarmlab cluster
|
||
|
|
||
|
```
|
||
|
cd myproject
|
||
|
swarmlab-mpi up size=5
|
||
|
```
|
||
|
|
||
|
[[cheat-swarmlab-up1]]
|
||
|
== Login to the swarmlab cluster
|
||
|
|
||
|
```
|
||
|
cd myproject
|
||
|
swarmlab-mpi login
|
||
|
```
|
||
|
|
||
|
[[cheat-swarmlab-complile]]
|
||
|
== Compile and Run the sample program.
|
||
|
|
||
|
```
|
||
|
cd myproject
|
||
|
mpicc -o mpi_hello_world ./mpi_hello_world.c
|
||
|
mpirun ./mpi_hello_world
|
||
|
```
|
||
|
|
||
|
.New files
|
||
|
[NOTE]
|
||
|
====
|
||
|
copy or create files into the project directory. Compile and Run!
|
||
|
====
|
||
|
|
||
|
|
||
|
|
||
|
[[cheat-swarmlab-scale]]
|
||
|
== Scale cluster in real-time
|
||
|
|
||
|
As the cluster running, without having to close the session, open a different terminal and go back to the project directory.
|
||
|
|
||
|
```
|
||
|
cd myproject
|
||
|
swarmlab-mpi scale size=10
|
||
|
```
|
||
|
|
||
|
[[cheat-swarmlab-down]]
|
||
|
== shutdown swarmlab-mpi cluster
|
||
|
|
||
|
|
||
|
```
|
||
|
cd myproject
|
||
|
swarmlab-mpi down
|
||
|
```
|
||
|
|
||
|
:hardbreaks:
|
||
|
|
||
|
{empty} +
|
||
|
{empty} +
|
||
|
{empty}
|
||
|
|
||
|
:!hardbreaks:
|
||
|
|
||
|
'''
|
||
|
|
||
|
.Reminder
|
||
|
[NOTE]
|
||
|
====
|
||
|
:hardbreaks:
|
||
|
Caminante, no hay camino,
|
||
|
se hace camino al andar.
|
||
|
|
||
|
Wanderer, there is no path,
|
||
|
the path is made by walking.
|
||
|
|
||
|
*Antonio Machado* Campos de Castilla
|
||
|
====
|