From e04037e0d0864184eb15d37382f243b3a14878e4 Mon Sep 17 00:00:00 2001 From: Hank Wikle Date: Thu, 14 May 2026 12:18:34 -0600 Subject: [PATCH 1/3] Add initial spatter test --- .gitmodules | 3 +++ utils/pav_config/suites/spatter/src | 1 + utils/pav_config/suites/spatter/suite.yaml | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) create mode 160000 utils/pav_config/suites/spatter/src create mode 100644 utils/pav_config/suites/spatter/suite.yaml diff --git a/.gitmodules b/.gitmodules index 0d3891b..b7220c7 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,3 +26,6 @@ [submodule "microbenchmarks/spatter"] path = microbenchmarks/spatter url = git@github.com:lanl/spatter.git +[submodule "utils/pav_config/suites/spatter/src"] + path = utils/pav_config/suites/spatter/src + url = git@github.com:hpcgarage/spatter.git diff --git a/utils/pav_config/suites/spatter/src b/utils/pav_config/suites/spatter/src new file mode 160000 index 0000000..ec89237 --- /dev/null +++ b/utils/pav_config/suites/spatter/src @@ -0,0 +1 @@ +Subproject commit ec8923711f8dc21eedff7189f12b02eb06845d2f diff --git a/utils/pav_config/suites/spatter/suite.yaml b/utils/pav_config/suites/spatter/suite.yaml new file mode 100644 index 0000000..b1f7ce0 --- /dev/null +++ b/utils/pav_config/suites/spatter/suite.yaml @@ -0,0 +1,16 @@ +spatter: + maintainer: + name: Hank Wikle + email: hwikle@lanl.gov + + summary: Benchmark for measuring the performance of sparse and irregular memory access. + + build: + modules: + - cmake + + cmds: + - cd src + - cmake -DUSE_OPENMP=1 -DUSE_MPI=1 -B build_openmp_mpi -S . + - cd build_openmp_mpi + - make -j 8 From e4b1c505ca6d4bdeb854550f56ff120bbd141276 Mon Sep 17 00:00:00 2001 From: Hank Wikle Date: Thu, 14 May 2026 13:59:17 -0600 Subject: [PATCH 2/3] Fix spatter run stage --- utils/pav_config/suites/spatter/suite.yaml | 82 ++++++++++++++++++++-- 1 file changed, 77 insertions(+), 5 deletions(-) diff --git a/utils/pav_config/suites/spatter/suite.yaml b/utils/pav_config/suites/spatter/suite.yaml index b1f7ce0..5d0bd0c 100644 --- a/utils/pav_config/suites/spatter/suite.yaml +++ b/utils/pav_config/suites/spatter/suite.yaml @@ -1,16 +1,88 @@ -spatter: +_base: maintainer: name: Hank Wikle email: hwikle@lanl.gov summary: Benchmark for measuring the performance of sparse and irregular memory access. + schedule: + qos: debug + partition: debug + reservation: debug + nodes: 2 + build: + purge_modules: True + modules: + - cpe/23.12 - cmake cmds: - - cd src - - cmake -DUSE_OPENMP=1 -DUSE_MPI=1 -B build_openmp_mpi -S . - - cd build_openmp_mpi - - make -j 8 + - "cd src" + - "cmake {{ cmake_opts }} -B build_{{ backend }} -S ." + - "cd build_{{ backend }}" + - "make -j 8" + + run: + purge_modules: True + + modules: + - cpe/23.12 + + cmds: + - "cd src/build_{{ backend }}" + - "./spatter -pUNIFORM:8:1 -l$((2**24))" + +serial: + inherits_from: _base + + build: + modules+: + - gcc + + run: + modules+: + - gcc + + variables: + backend: serial + cmake_opts: "" + +openmp_mpi: + inherits_from: _base + + build: + modules+: + - gcc + - "{{ mpis }}" + + run: + modules+: + - gcc + - "{{ mpis }}" + + variables: + backend: openmp_mpi + cmake_opts: -DUSE_OPENMP=1 -DUSE_MPI=1 + +cuda: + inherits_from: _base + + only_if: + "{{ sys_name }}": [venado, venadito] + + build: + modules+: + - cudatoolkit + + variables: + backend: cuda + cmake_opts: -DUSE_CUDA=1 + +_debug: + inherits_from: _base + + variables: + backend: serial + cmake_opts: -DCMAKE_BUILD_TYPE=Debug From 5d36b232683c2a77080340cec1277bb5db71fb2f Mon Sep 17 00:00:00 2001 From: Hank Wikle Date: Thu, 14 May 2026 15:09:23 -0600 Subject: [PATCH 3/3] Add result parsers for spatter test --- utils/pav_config/suites/spatter/suite.yaml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/utils/pav_config/suites/spatter/suite.yaml b/utils/pav_config/suites/spatter/suite.yaml index 5d0bd0c..a27a9fd 100644 --- a/utils/pav_config/suites/spatter/suite.yaml +++ b/utils/pav_config/suites/spatter/suite.yaml @@ -5,6 +5,14 @@ _base: summary: Benchmark for measuring the performance of sparse and irregular memory access. + variables: + pattern_params: + type: UNIFORM + length: 8 + jump_size: 1 + pattern: "{{pattern_params.type}}:{{pattern_params.length}}:{{pattern_params.jump_size}}" + num_gathers: 48 + schedule: qos: debug partition: debug @@ -32,7 +40,7 @@ _base: cmds: - "cd src/build_{{ backend }}" - - "./spatter -pUNIFORM:8:1 -l$((2**24))" + - "./spatter -p{{ pattern }} -l{{ num_gathers }}" serial: inherits_from: _base @@ -49,6 +57,11 @@ serial: backend: serial cmake_opts: "" + result_parse: + split: + "_, bytes, time, bandwidth": + preceded_by: "^config" + openmp_mpi: inherits_from: _base @@ -66,6 +79,11 @@ openmp_mpi: backend: openmp_mpi cmake_opts: -DUSE_OPENMP=1 -DUSE_MPI=1 + result_parse: + split: + "_, avg_bytes, total_bytes, avg_time, avg_bandwidth, total_bandwidth": + preceded_by: "^config" + cuda: inherits_from: _base