Skip to content

Commit 2d621f6

Browse files
committed
kernels-omp: move to a separate directory
1 parent 49cbe8f commit 2d621f6

11 files changed

Lines changed: 89 additions & 58 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ the results.
2323
Microbenchmarks:
2424
* [Polybench](./tasks/polybench/README.md) - experiment to measure the baseline overhead of using WebAssembly to execute the [PolyBench/C](https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/) kernels.
2525
* [Kernels (MPI)](./tasks/kernels_mpi/README.md) - microbenchmark of Faabric's MPI implementation using a subset of the [ParRes Kernels](https://github.com/ParRes/Kernels)
26-
* Kernels (OpenMP) - TODO
26+
* [Kernels (OpenMP)](./tasks/kernels_omp/README.md) - microbenchmark of Faabric's OpenMP implementation using a subset of the [ParRes Kernels](https://github.com/ParRes/Kernels).
2727
* LULESH - TODO
2828
* [LAMMPS](./tasks/lammps/README.md) - experiment using Faabric to run a one-off molecule simulation using [LAMMPS](https://www.lammps.org)
2929
* [Migration](./tasks/migration/README.md) - microbenchmark showcasing the benefits of migrating an MPI application to improve locality.
30+
* [Elastic] - TODO
3031

3132
Macrobenchmarks:
3233
* [Makespan](./tasks/makespan/README.md) - experiment using Faabric to run a trace of scientific applications over a shared cluster of VMs. Comes in three flavours:

tasks/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
import logging
77

88
from tasks.kernels_mpi import ns as kernels_mpi_ns
9+
from tasks.kernels_omp import ns as kernels_omp_ns
910
from tasks.lammps import ns as lammps_ns
1011
from tasks.makespan import ns as makespan_ns
1112
from tasks.migration import ns as migration_ns
1213
from tasks.motivation import ns as motivation_ns
13-
from tasks.openmp import ns as openmp_ns
1414
from tasks.polybench import ns as polybench_ns
1515

1616

@@ -21,10 +21,10 @@
2121
format_code,
2222
)
2323

24-
ns.add_collection(lammps_ns, name="lammps")
2524
ns.add_collection(kernels_mpi_ns, name="kernels-mpi")
25+
ns.add_collection(kernels_omp_ns, name="kernels-omp")
26+
ns.add_collection(lammps_ns, name="lammps")
2627
ns.add_collection(makespan_ns, name="makespan")
2728
ns.add_collection(migration_ns, name="migration")
2829
ns.add_collection(motivation_ns, name="motivation")
29-
ns.add_collection(openmp_ns, name="openmp")
3030
ns.add_collection(polybench_ns, name="polybench")

tasks/kernels_mpi/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
# ParRes Kernels Experiment
1+
# ParRes Kernels Experiment (MPI)
22

33
This experiment runs a set of the [ParRes Kernels](https://github.com/ParRes/Kernels)
4-
as a microbenchmark for Granny's MPI and OpenMP implementation.
5-
6-
> [WARNING] For the moment this instructions only cover the MPI kernels.
4+
as a microbenchmark for Granny's MPI implementation.
75

86
## Start AKS cluster
97

@@ -68,7 +66,7 @@ inv kernels-mpi.plot
6866
the plot will be available in [`./plots/kernels-mpi/mpi_kernels_slowdown.pdf`](
6967
./plots/kernels-mpi/mpi_kernels_slowdown.pdf), we also include it below:
7068

71-
![MPI Kernels Slowdown Plot](./plots/kernels-mpi/mpi_kernels_slowdown.pdf)
69+
![MPI Kernels Slowdown Plot](./plots/kernels-mpi/mpi_kernels_slowdown.png)
7270

7371
## Clean-up
7472

tasks/kernels_omp/README.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# ParRes Kernels Experiment (OpenMP)
2+
3+
This experiment runs a set of the [ParRes Kernels](https://github.com/ParRes/Kernels)
4+
as a microbenchmark for Granny's OpenMP implementation.
5+
6+
## Start AKS cluster
7+
8+
In the `experiment-base` terminal, run:
9+
10+
```bash
11+
(faasm-exp-base) inv cluster.provision --vm Standard_D8_v5 --nodes 2 cluster.credentials
12+
```
13+
14+
## Granny
15+
16+
Deploy the cluster:
17+
18+
```bash
19+
(faasm-exp-faabric) faasmctl deploy.k8s --workers=4
20+
```
21+
22+
Upload the WASM file:
23+
24+
```bash
25+
(faasm-exp-faabric) inv kernels-omp.wasm.upload
26+
```
27+
28+
and run the experiment with:
29+
30+
```bash
31+
(faasm-exp-faabric) inv kernels-omp.run.granny
32+
```
33+
34+
finally, delete the Granny cluster:
35+
36+
```bash
37+
faasmctl delete
38+
```
39+
40+
## OpenMPI
41+
42+
Deploy the native cluster:
43+
44+
```bash
45+
inv kernels-omp.native.deploy
46+
```
47+
48+
```bash
49+
inv kernels-omp.run.native
50+
```
51+
52+
finally, delete the native cluster
53+
54+
```bash
55+
inv kernels-omp.native.delete
56+
```
57+
58+
## Plot
59+
60+
To plot the results, just run:
61+
62+
```bash
63+
inv kernels-omp.plot
64+
```
65+
66+
the plot will be available in [`./plots/kernels-omp/openmp_kernels_slowdown.pdf`](
67+
./plots/kernels-omp/openmp_kernels_slowdown.pdf), we also include it below:
68+
69+
![OpenMP Kernels Slowdown Plot](./plots/kernels-omp/openmp_kernels_slowdown.png)
70+
71+
## Clean-up
72+
73+
Finally, delete the AKS cluster:
74+
75+
```bash
76+
(faasm-exp-base) inv cluster.delete
77+
```
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
from tasks.util.env import OPENMP_KERNELS, PLOTS_ROOT, PROJ_ROOT
88

99

10-
RESULTS_DIR = join(PROJ_ROOT, "results", "openmp")
11-
PLOTS_DIR = join(PLOTS_ROOT, "openmp")
10+
RESULTS_DIR = join(PROJ_ROOT, "results", "kernels-omp")
11+
PLOTS_DIR = join(PLOTS_ROOT, "kernels-omp")
1212

1313

1414
def _read_results():
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929

3030
def _init_csv_file(csv_name):
31-
result_dir = join(RESULTS_DIR, "openmp")
31+
result_dir = join(RESULTS_DIR, "kernels-omp")
3232
makedirs(result_dir, exist_ok=True)
3333

3434
result_file = join(result_dir, csv_name)
@@ -38,7 +38,7 @@ def _init_csv_file(csv_name):
3838

3939

4040
def _write_csv_line(csv_name, num_threads, run, exec_time):
41-
result_dir = join(RESULTS_DIR, "openmp")
41+
result_dir = join(RESULTS_DIR, "kernels-omp")
4242
makedirs(result_dir, exist_ok=True)
4343

4444
result_file = join(result_dir, csv_name)

0 commit comments

Comments
 (0)