Skip to content

Commit

Permalink
Add MPI to roofline benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
EdmundGoodman committed Apr 7, 2024
1 parent ef78b0e commit 3e27442
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 37 deletions.
47 changes: 40 additions & 7 deletions yaml_examples/avon/broken/roofline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,24 +71,57 @@ run_configurations:
run_command: "likwid-perfctr -C 0-16 -g MEM ./target/release/hpccg-rs"
# run_command: "./target/release/hpccg-rs"


"cpp-mpi":
sbatch_config:
"exclusive": "mcs"
"mem": 60000
module_loads:
- "GCC/11.3.0"
- "OpenMPI/4.1.4"
environment_variables: {}
directory: "../0_cpp_versions/2_mpi"
build_commands:
- "make no_yaml"
- "make -j 8"
run_command: "mpirun likwid-perfctr -C S0:1/ -g MEM ./test_HPCCG"

"rust-mpi":
sbatch_config:
"exclusive": "mcs"
"mem": 60000
module_loads:
- "GCC/11.3.0"
- "Clang/13.0.1"
- "OpenMPI/4.1.4"
environment_variables: {}
directory: "../7_mpi"
build_commands:
- "cargo build --release"
run_command: "mpirun likwid-perfctr -C S0:1/ -g MEM ./target/release/hpccg-rs"

benches:
"roofline-plots":
"roofline-parallelism":
run_configurations:
- "cpp-reference"
- "cpp-openmp"
- "cpp-mpi"
- "rust-reference"
- "rust-rayon"
# reruns:
# number: 3
# unaggregatable_metrics:
# - "Mesh x size"
# - "Total FLOPs"
- "rust-mpi"
reruns:
number: 5
highest_discard: 1
lowest_discard: 1
unaggregatable_metrics:
- "Mesh x size"
- "Total FLOPs"
matrix:
args:
- "100 100 100"
analysis:
roofline_plots:
- title: "OpenMP Roofline Plot"
- title: "Parallelism Roofline Plot"
gflops_per_sec: "Total MFLOPs/s"
mbytes_per_sec: "Memory Bandwidth"
ert_json: "./yaml_examples/roofline.json"
Expand Down
66 changes: 36 additions & 30 deletions yaml_examples/roofline.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,78 +5,84 @@
"data": [
[
"FP64 GFLOPs",
142.3
126.59
]
],
"metadata": {
"": [
"META_DATA",
"FLOPS 4",
"OPENMP_THREADS 16",
"FLOPS 8",
"OPENMP_THREADS 4",
"ERT_VERSION 1.1.0",
"HOSTNAME ('emu-44', ['emu-44.dcs.warwick.ac.uk'], ['137.205.113.192'])",
"UNAME uname_result(system='Linux', node='emu-44', release='4.18.0-513.11.1.el8_9.x86_64', version='#1 SMP Wed Jan 10 22:58:54 UTC 2024', machine='x86_64', processor='x86_64')",
"TIMESTAMP_DATA 1708823539.6386883",
"CONFIG {'ERT_RESULTS': ['Results.kudu.dcs.warwick.ac.uk'], 'ERT_DRIVER': ['driver1'], 'ERT_KERNEL': ['kernel1'], 'ERT_OPENMP': ['True'], 'ERT_OPENMP_CFLAGS': ['-fopenmp'], 'ERT_OPENMP_LDFLAGS': ['-fopenmp'], 'ERT_FLOPS': ['1,2,4,8,16'], 'ERT_ALIGN': ['32'], 'ERT_CC': ['g++'], 'ERT_CFLAGS': ['-O3', '-mavx2'], 'ERT_LD': ['g++'], 'ERT_LDFLAGS': [], 'ERT_LDLIBS': [], 'ERT_PRECISION': ['FP64'], 'ERT_RUN': ['export', 'KMP_AFFINITY=scatter;', 'export', 'OMP_NUM_THREADS=ERT_OPENMP_THREADS;', 'ERT_CODE'], 'ERT_OPENMP_THREADS': ['1,2,4,8,16'], 'ERT_NUM_EXPERIMENTS': ['5'], 'ERT_MEMORY_MAX': ['1073741824'], 'ERT_WORKING_SET_MIN': ['1'], 'ERT_TRIALS_MIN': ['1'], 'ERT_GNUPLOT': ['gnuplot'], 'ERT_MPI': [False], 'ERT_GPU': [False], 'ERT_HIP': [False], 'ERT_OCL': [False], 'ERT_SYCL': [False], 'ERT_WSS_MULT': [1.1]}",
"TIMESTAMP_DATA 1708823548.996027",
"TIMESTAMP_DATA 1708823558.3907762",
"TIMESTAMP_DATA 1708823567.7328458",
"TIMESTAMP_DATA 1708823577.0509684"
"HOSTNAME ('athena', [], ['127.0.1.1'])",
"UNAME uname_result(system='Linux', node='athena', release='6.6.17-1-lts', version='#1 SMP PREEMPT_DYNAMIC Sat, 17 Feb 2024 08:28:50 +0000', machine='x86_64')",
"TIMESTAMP_DATA 1709587681.6281435",
"CONFIG {'ERT_RESULTS': ['Results.athena.localhost.openmp'], 'ERT_SPEC_GBYTES_DRAM': ['19.2'], 'ERT_SPEC_GFLOPS': ['212.6'], 'ERT_DRIVER': ['driver1'], 'ERT_KERNEL': ['kernel1'], 'ERT_OPENMP': ['True'], 'ERT_OPENMP_CFLAGS': ['-fopenmp'], 'ERT_OPENMP_LDFLAGS': ['-fopenmp'], 'ERT_FLOPS': ['1,2,4,8,16'], 'ERT_ALIGN': ['32'], 'ERT_CC': ['g++'], 'ERT_CFLAGS': ['-O3', '-msse', '-msse2', '-mavx', '-mavx2', '-march=skylake'], 'ERT_LD': ['g++'], 'ERT_LDFLAGS': [], 'ERT_LDLIBS': [], 'ERT_PRECISION': ['FP64'], 'ERT_RUN': ['export', 'KMP_AFFINITY=scatter;', 'export', 'OMP_NUM_THREADS=ERT_OPENMP_THREADS;', 'ERT_CODE'], 'ERT_OPENMP_THREADS': ['1,2,4'], 'ERT_NUM_EXPERIMENTS': ['3'], 'ERT_MEMORY_MAX': ['1073741824'], 'ERT_WORKING_SET_MIN': ['1'], 'ERT_TRIALS_MIN': ['1'], 'ERT_GNUPLOT': ['gnuplot'], 'ERT_MPI': [False], 'ERT_GPU': [False], 'ERT_HIP': [False], 'ERT_OCL': [False], 'ERT_SYCL': [False], 'ERT_WSS_MULT': [1.1]}",
"TIMESTAMP_DATA 1709587706.8224244",
"TIMESTAMP_DATA 1709587729.7116096"
],
"TIMESTAMP_DB": 1708825108.4290774
"TIMESTAMP_DB": 1709588062.862823
}
},
"gbytes": {
"data": [
[
"L1",
956.43
610.51
],
[
"L2",
779.18
356.76
],
[
"L3",
517.49
49.45
],
[
"L4",
80.23
41.73
],
[
"L5",
67.04
33.85
],
[
"DRAM",
50.46
25.1
]
],
"metadata": {
"": [
"FLOPS 1",
"OPENMP_THREADS 8",
"OPENMP_THREADS 4",
"ERT_VERSION 1.1.0",
"HOSTNAME ('emu-44', ['emu-44.dcs.warwick.ac.uk'], ['137.205.113.192'])",
"UNAME uname_result(system='Linux', node='emu-44', release='4.18.0-513.11.1.el8_9.x86_64', version='#1 SMP Wed Jan 10 22:58:54 UTC 2024', machine='x86_64', processor='x86_64')",
"TIMESTAMP_DATA 1708822608.202654",
"CONFIG {'ERT_RESULTS': ['Results.kudu.dcs.warwick.ac.uk'], 'ERT_DRIVER': ['driver1'], 'ERT_KERNEL': ['kernel1'], 'ERT_OPENMP': ['True'], 'ERT_OPENMP_CFLAGS': ['-fopenmp'], 'ERT_OPENMP_LDFLAGS': ['-fopenmp'], 'ERT_FLOPS': ['1,2,4,8,16'], 'ERT_ALIGN': ['32'], 'ERT_CC': ['g++'], 'ERT_CFLAGS': ['-O3', '-mavx2'], 'ERT_LD': ['g++'], 'ERT_LDFLAGS': [], 'ERT_LDLIBS': [], 'ERT_PRECISION': ['FP64'], 'ERT_RUN': ['export', 'KMP_AFFINITY=scatter;', 'export', 'OMP_NUM_THREADS=ERT_OPENMP_THREADS;', 'ERT_CODE'], 'ERT_OPENMP_THREADS': ['1,2,4,8,16'], 'ERT_NUM_EXPERIMENTS': ['5'], 'ERT_MEMORY_MAX': ['1073741824'], 'ERT_WORKING_SET_MIN': ['1'], 'ERT_TRIALS_MIN': ['1'], 'ERT_GNUPLOT': ['gnuplot'], 'ERT_MPI': [False], 'ERT_GPU': [False], 'ERT_HIP': [False], 'ERT_OCL': [False], 'ERT_SYCL': [False], 'ERT_WSS_MULT': [1.1]}",
"TIMESTAMP_DATA 1708822617.4797907",
"TIMESTAMP_DATA 1708822626.7757773",
"TIMESTAMP_DATA 1708822636.0730813",
"TIMESTAMP_DATA 1708822645.3701603"
"HOSTNAME ('athena', [], ['127.0.1.1'])",
"UNAME uname_result(system='Linux', node='athena', release='6.6.17-1-lts', version='#1 SMP PREEMPT_DYNAMIC Sat, 17 Feb 2024 08:28:50 +0000', machine='x86_64')",
"TIMESTAMP_DATA 1709587020.5058753",
"CONFIG {'ERT_RESULTS': ['Results.athena.localhost.openmp'], 'ERT_SPEC_GBYTES_DRAM': ['19.2'], 'ERT_SPEC_GFLOPS': ['212.6'], 'ERT_DRIVER': ['driver1'], 'ERT_KERNEL': ['kernel1'], 'ERT_OPENMP': ['True'], 'ERT_OPENMP_CFLAGS': ['-fopenmp'], 'ERT_OPENMP_LDFLAGS': ['-fopenmp'], 'ERT_FLOPS': ['1,2,4,8,16'], 'ERT_ALIGN': ['32'], 'ERT_CC': ['g++'], 'ERT_CFLAGS': ['-O3', '-msse', '-msse2', '-mavx', '-mavx2', '-march=skylake'], 'ERT_LD': ['g++'], 'ERT_LDFLAGS': [], 'ERT_LDLIBS': [], 'ERT_PRECISION': ['FP64'], 'ERT_RUN': ['export', 'KMP_AFFINITY=scatter;', 'export', 'OMP_NUM_THREADS=ERT_OPENMP_THREADS;', 'ERT_CODE'], 'ERT_OPENMP_THREADS': ['1,2,4'], 'ERT_NUM_EXPERIMENTS': ['3'], 'ERT_MEMORY_MAX': ['1073741824'], 'ERT_WORKING_SET_MIN': ['1'], 'ERT_TRIALS_MIN': ['1'], 'ERT_GNUPLOT': ['gnuplot'], 'ERT_MPI': [False], 'ERT_GPU': [False], 'ERT_HIP': [False], 'ERT_OCL': [False], 'ERT_SYCL': [False], 'ERT_WSS_MULT': [1.1]}",
"TIMESTAMP_DATA 1709587040.2990174",
"TIMESTAMP_DATA 1709587060.1167665"
],
"TIMESTAMP_DB": 1708825108.4291584
"TIMESTAMP_DB": 1709588062.8630075
}
}
},
"spec": {
"gflops": {
"data": []
"data": [
[
"GFLOPs",
212.6
]
]
},
"gbytes": {
"data": []
"data": [
[
"DRAM",
19.2
]
]
}
}
}

0 comments on commit 3e27442

Please sign in to comment.