From 02c61950730aa0cd1a368c0c17b0202564acc48a Mon Sep 17 00:00:00 2001 From: pearce8 Date: Thu, 14 Dec 2023 13:22:45 -0600 Subject: [PATCH 01/26] Adding osu-micro-benchmarks (#67) * Adding osu-micro-benchmarks * Create ramble.yaml * added missing package to ramble.yaml --------- Co-authored-by: Nathan Hanford <8302958+nhanford@users.noreply.github.com> --- .../mpi-only/execute_experiment.tpl | 10 ++++++ .../osu-micro-benchmarks/mpi-only/ramble.yaml | 35 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl create mode 100644 experiments/osu-micro-benchmarks/mpi-only/ramble.yaml diff --git a/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl b/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl new file mode 100644 index 000000000..07a2c3dde --- /dev/null +++ b/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl @@ -0,0 +1,10 @@ +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{command} diff --git a/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml b/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml new file mode 100644 index 000000000..f40d3e327 --- /dev/null +++ b/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml @@ -0,0 +1,35 @@ +ramble: + include: + - ./configs/spack.yaml + - ./configs/variables.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + applications: + osu-micro-benchmarks: + workloads: + osu_latency: + variables: + n_ranks: '{processes_per_node} * {n_nodes}' + size_name: ['medium'] + scaling_nodes: [1] + n_nodes: '{scaling_nodes}' + experiments: + scaling_{n_nodes}nodes_{size_name}: + variables: + processes_per_node: ['36'] + spack: + concretized: true + packages: + osu-micro-benchmarks: + spack_spec: osu-micro-benchmarks + compiler: default-compiler + environments: + osu-micro-benchmarks: + packages: + - default-mpi + - osu-micro-benchmarks \ No newline at end of file From 26898a62154a8e90e4acd34794618160a34cb047 Mon Sep 17 00:00:00 2001 From: Riyaz Haque <5333387+rfhaque@users.noreply.github.com> Date: Mon, 18 Dec 2023 15:33:23 -0800 Subject: [PATCH 02/26] openmp implementation for HPCG (#77) * openmp implementation for HPCG * copyright * copyright --------- Co-authored-by: Riyaz Haque Co-authored-by: pearce8 --- .../hpcg/openmp/execute_experiment.tpl | 15 ++++++ experiments/hpcg/openmp/ramble.yaml | 51 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100755 experiments/hpcg/openmp/execute_experiment.tpl create mode 100644 experiments/hpcg/openmp/ramble.yaml diff --git a/experiments/hpcg/openmp/execute_experiment.tpl b/experiments/hpcg/openmp/execute_experiment.tpl new file mode 100755 index 000000000..11bf418a9 --- /dev/null +++ b/experiments/hpcg/openmp/execute_experiment.tpl @@ -0,0 +1,15 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{command} diff --git a/experiments/hpcg/openmp/ramble.yaml b/experiments/hpcg/openmp/ramble.yaml new file mode 100644 index 000000000..10a212ea0 --- /dev/null +++ b/experiments/hpcg/openmp/ramble.yaml @@ -0,0 +1,51 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +ramble: + include: + - ./configs/spack.yaml + - ./configs/variables.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + applications: + hpcg: + workloads: + standard: + env_vars: + set: + OMP_NUM_THREADS: '{n_threads}' + variables: + n_ranks: '1' + mx: '104' + my: '104' + mz: '104' + matrix_size: '{mx} {my} {mz}' + iterations: '60' + n_threads: ['8', '16'] + processes_per_node: '1' + n_nodes: '1' + experiments: + hpcg_standard_{mx}_{my}_{mz}_{iterations}_{n_ranks}_{n_threads}: + variables: + env_name: hpcg-omp + matrix: + - n_threads + + spack: + concretized: true + packages: + hpcg-omp: + spack_spec: 'hpcg@3.1 +openmp' + compiler: default-compiler + environments: + hpcg-omp: + packages: + - default-mpi + - hpcg-omp From 6a4621eda0c39d4fb9b9db489668e54dab0f8699 Mon Sep 17 00:00:00 2001 From: Riyaz Haque <5333387+rfhaque@users.noreply.github.com> Date: Mon, 18 Dec 2023 15:36:03 -0800 Subject: [PATCH 03/26] mpi-only implementation for md-test (#78) * openmp implementation for md-test * copyright * copyright --------- Co-authored-by: Riyaz Haque Co-authored-by: pearce8 --- .../md-test/mpi-only/execute_experiment.tpl | 17 +++++++ experiments/md-test/mpi-only/ramble.yaml | 46 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100755 experiments/md-test/mpi-only/execute_experiment.tpl create mode 100644 experiments/md-test/mpi-only/ramble.yaml diff --git a/experiments/md-test/mpi-only/execute_experiment.tpl b/experiments/md-test/mpi-only/execute_experiment.tpl new file mode 100755 index 000000000..f2026d0e2 --- /dev/null +++ b/experiments/md-test/mpi-only/execute_experiment.tpl @@ -0,0 +1,17 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{experiment_setup} + +{command} diff --git a/experiments/md-test/mpi-only/ramble.yaml b/experiments/md-test/mpi-only/ramble.yaml new file mode 100644 index 000000000..dd6ac11a4 --- /dev/null +++ b/experiments/md-test/mpi-only/ramble.yaml @@ -0,0 +1,46 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +ramble: + include: + - ./configs/spack.yaml + - ./configs/variables.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + applications: + md-test: + workloads: + multi-file: + variables: + n_ranks: ['1', '2', '4', '8'] + n_nodes: '1' + experiment_setup: '' + experiments: + mdtest_multifile_{num-objects}_{iterations}_{additional-args}_{n_nodes}_{n_ranks}: + variables: + env_name: mdtest + num-objects: '1000' + iterations: '10' + additional-args: '' + spack: + concretized: true + packages: + ior: + spack_spec: ior@3.3.0 + compiler: default-compiler + mdtest: + spack_spec: mdtest@1.9.3 + compiler: default-compiler + environments: + mdtest: + packages: + - default-mpi + - ior + - mdtest From 3cfecb1b7fa540d20ad2777d2dde4121ddb3ab54 Mon Sep 17 00:00:00 2001 From: Riyaz Haque <5333387+rfhaque@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:56:23 -0800 Subject: [PATCH 04/26] Add HPCC mpi-only to benchpark (#76) * Add HPCC mpi-only to benchpark * Update execute_experiment.tpl * Update ramble.yaml * Remove fftw and add support for x86 * copyright --------- Co-authored-by: Riyaz Haque Co-authored-by: pearce8 --- configs/x86/spack.yaml | 7 ++++ .../hpcc/mpi-only/execute_experiment.tpl | 17 ++++++++ experiments/hpcc/mpi-only/ramble.yaml | 40 +++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100755 experiments/hpcc/mpi-only/execute_experiment.tpl create mode 100644 experiments/hpcc/mpi-only/ramble.yaml diff --git a/configs/x86/spack.yaml b/configs/x86/spack.yaml index 44e4ed68a..db41dab79 100644 --- a/configs/x86/spack.yaml +++ b/configs/x86/spack.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + spack: packages: default-compiler: @@ -8,5 +13,7 @@ spack: spack_spec: intel default-mpi: spack_spec: openmpi + blas: + spack_spec: blas lapack: spack_spec: lapack diff --git a/experiments/hpcc/mpi-only/execute_experiment.tpl b/experiments/hpcc/mpi-only/execute_experiment.tpl new file mode 100755 index 000000000..f2026d0e2 --- /dev/null +++ b/experiments/hpcc/mpi-only/execute_experiment.tpl @@ -0,0 +1,17 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{experiment_setup} + +{command} diff --git a/experiments/hpcc/mpi-only/ramble.yaml b/experiments/hpcc/mpi-only/ramble.yaml new file mode 100644 index 000000000..39a50a154 --- /dev/null +++ b/experiments/hpcc/mpi-only/ramble.yaml @@ -0,0 +1,40 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +ramble: + include: + - ./configs/spack.yaml + - ./configs/variables.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + applications: + hpcc: + workloads: + standard: + variables: + n_ranks: ['1', '2', '4', '8'] + experiment_setup: '' + experiments: + hpcc_standard_{n_nodes}_{n_ranks}: + variables: + env_name: hpcc + n_nodes: '1' + spack: + concretized: true + packages: + hpcc: + spack_spec: hpcc@1.5.0 + compiler: default-compiler + environments: + hpcc: + packages: + - blas + - default-mpi + - hpcc From 76722c37c70ed8fac9648803215f3b9a53cd23fb Mon Sep 17 00:00:00 2001 From: pearce8 Date: Tue, 19 Dec 2023 18:58:45 -0600 Subject: [PATCH 05/26] Patch cuda arch (#80) * Adding LBANN Unet to Benchpark * Update execute_experiment.tpl * Update ramble.yaml * Update execute_experiment.tpl * Adding a recursive requirement for cuda_arch --- experiments/amg2023/cuda/ramble.yaml | 7 ++- experiments/lbann/cuda/execute_experiment.tpl | 17 ++++++ experiments/lbann/cuda/ramble.yaml | 57 +++++++++++++++++++ experiments/lbann/rocm/execute_experiment.tpl | 17 ++++++ experiments/raja-perf/cuda/ramble.yaml | 7 ++- experiments/saxpy/cuda/ramble.yaml | 7 ++- repo/lbann/application.py | 56 ++++++++++++++++++ 7 files changed, 165 insertions(+), 3 deletions(-) create mode 100755 experiments/lbann/cuda/execute_experiment.tpl create mode 100644 experiments/lbann/cuda/ramble.yaml create mode 100755 experiments/lbann/rocm/execute_experiment.tpl create mode 100644 repo/lbann/application.py diff --git a/experiments/amg2023/cuda/ramble.yaml b/experiments/amg2023/cuda/ramble.yaml index 515881828..741754c2d 100644 --- a/experiments/amg2023/cuda/ramble.yaml +++ b/experiments/amg2023/cuda/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: config: deprecated: true @@ -53,7 +58,7 @@ ramble: versions: ['10', 'default'] packages: hypre-cuda-{versions}: - spack_spec: 'hypre@2.28.0 +mpi+cuda+mixedint cuda_arch={cuda_arch} ^cuda@{cuda_version}' + spack_spec: 'hypre@2.28.0 +mpi+cuda+mixedint cuda_arch=={cuda_arch} ^cuda@{cuda_version}' compiler: '{cuda_compiler}' amg2023-cuda-{versions}: spack_spec: 'amg2023@develop +mpi+cuda ^cuda@{cuda_version}' diff --git a/experiments/lbann/cuda/execute_experiment.tpl b/experiments/lbann/cuda/execute_experiment.tpl new file mode 100755 index 000000000..f2026d0e2 --- /dev/null +++ b/experiments/lbann/cuda/execute_experiment.tpl @@ -0,0 +1,17 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{experiment_setup} + +{command} diff --git a/experiments/lbann/cuda/ramble.yaml b/experiments/lbann/cuda/ramble.yaml new file mode 100644 index 000000000..547a3cbdf --- /dev/null +++ b/experiments/lbann/cuda/ramble.yaml @@ -0,0 +1,57 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +ramble: + include: + - ./configs/spack.yaml + - ./configs/variables.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + applications: + lbann: + workloads: + problem1: + env_vars: + set: + OMP_NUM_THREADS: '{omp_num_threads}' + variables: + n_ranks: '{processes_per_node} * {n_nodes}' + p: 2 + px: '{p}' + py: '{p}' + pz: '{p}' + n: ['55', '110'] + nx: '{n}' + ny: '{n}' + nz: '{n}' + experiment_setup: '' + processes_per_node: ['8', '4'] + n_nodes: ['1', '2'] + threads_per_node_core: ['8', '10', '13'] #TODO: Specify n_threads according to available n_nodes and n_ranks + omp_num_threads: '{threads_per_node_core} * {n_nodes}' + experiments: + lbann_omp_problem1_{n_nodes}_{omp_num_threads}_{px}_{py}_{pz}_{nx}_{ny}_{nz}: + variables: + env_name: amg2023-omp + matrices: + - size_threads: + - n # TODO: Filter matrix + - threads_per_node_core # TODO: Filter matrix + spack: + concretized: true + packages: + lbann-cuda: + spack_spec: lbann@develop +mpi+cuda + compiler: default-compiler + environments: + amg2023-omp: + packages: + - default-mpi + - lbann-cuda diff --git a/experiments/lbann/rocm/execute_experiment.tpl b/experiments/lbann/rocm/execute_experiment.tpl new file mode 100755 index 000000000..f2026d0e2 --- /dev/null +++ b/experiments/lbann/rocm/execute_experiment.tpl @@ -0,0 +1,17 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +#!/bin/bash +{batch_nodes} +{batch_ranks} +{batch_timeout} + +cd {experiment_run_dir} + +{spack_setup} + +{experiment_setup} + +{command} diff --git a/experiments/raja-perf/cuda/ramble.yaml b/experiments/raja-perf/cuda/ramble.yaml index 0357ba0ba..c66eddfb0 100644 --- a/experiments/raja-perf/cuda/ramble.yaml +++ b/experiments/raja-perf/cuda/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml @@ -25,7 +30,7 @@ ramble: spack_spec: 'blt@0.5.2:' compiler: compiler-gcc raja-perf: - spack_spec: raja-perf@develop +cuda~openmp+mpi cuda_arch={cuda_arch} ^cuda@{default_cuda_version} + spack_spec: raja-perf@develop +cuda~openmp+mpi cuda_arch=={cuda_arch} ^cuda@{default_cuda_version} compiler: default-compiler environments: raja-perf: diff --git a/experiments/saxpy/cuda/ramble.yaml b/experiments/saxpy/cuda/ramble.yaml index 64b9d43fd..d9d157038 100644 --- a/experiments/saxpy/cuda/ramble.yaml +++ b/experiments/saxpy/cuda/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: config: deprecated: true @@ -22,7 +27,7 @@ ramble: concretized: true packages: saxpy: - spack_spec: saxpy@1.0.0 +cuda cuda_arch={cuda_arch} ^cuda@{default_cuda_version} + spack_spec: saxpy@1.0.0 +cuda cuda_arch=={cuda_arch} ^cuda@{default_cuda_version} compiler: default-compiler environments: saxpy: diff --git a/repo/lbann/application.py b/repo/lbann/application.py new file mode 100644 index 000000000..7675beb1e --- /dev/null +++ b/repo/lbann/application.py @@ -0,0 +1,56 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +from ramble.appkit import * + +import sys + +class LBANN(SpackApplication): + """LBANN benchmark""" + name = "lbann" + + tags = ["lbann"] + + executable('p1', 'lbann' + + ' -P {px} {py} {pz}' + + ' -n {nx} {ny} {nz}' + + ' -problem 1' + + ' -keepT', use_mpi=True) + + executable('p2', 'lbann' + + ' -P {px} {py} {pz}' + + ' -n {nx} {ny} {nz}' + + ' -problem 2' + + ' -keepT', use_mpi=True) + + workload('problem1', executables=['p1']) + workload('problem2', executables=['p2']) + + workload_variable('px', default='2', + description='px', + workloads=['problem1', 'problem2']) + workload_variable('py', default='2', + description='py', + workloads=['problem1', 'problem2']) + workload_variable('pz', default='2', + description='pz', + workloads=['problem1', 'problem2']) + workload_variable('nx', default='220', + description='nx', + workloads=['problem1', 'problem2']) + workload_variable('ny', default='220', + description='ny', + workloads=['problem1', 'problem2']) + workload_variable('nz', default='220', + description='nz', + workloads=['problem1', 'problem2']) + + figure_of_merit('Figure of Merit (FOM)', log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'Figure of Merit \(FOM\):\s+(?P[0-9]+\.[0-9]*(e^[0-9]*)?)', group_name='fom', units='') + + #TODO: Fix the FOM success_criteria(...) + success_criteria('pass', mode='string', match=r'Figure of Merit \(FOM\)', file='{experiment_run_dir}/{experiment_name}.out') + + def evaluate_success(self): + return True From d90b672ff356b87de33551435b7b03ae5e65efb5 Mon Sep 17 00:00:00 2001 From: Stephanie Labasan Brink Date: Wed, 20 Dec 2023 16:53:00 -0800 Subject: [PATCH 06/26] Query benchpark version (#87) add benchpark version as an argument --- bin/benchpark | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/bin/benchpark b/bin/benchpark index 780a2475e..f614be2d0 100755 --- a/bin/benchpark +++ b/bin/benchpark @@ -10,6 +10,8 @@ import sys DEBUG = False +__version__ = "0.1.0" + def debug_print(message): if DEBUG: @@ -21,6 +23,9 @@ def main(): raise Exception("Benchpark requires at least python 3.8+.") parser = argparse.ArgumentParser(description="Benchpark") + parser.add_argument( + "-V", "--version", action="store_true", help="show version number and exit" + ) subparsers = parser.add_subparsers(title="Subcommands", dest="subcommand") @@ -29,10 +34,17 @@ def main(): benchpark_setup(subparsers, actions) args = parser.parse_args() + no_args = True if len(sys.argv) == 1 else False + + if no_args: + parser.print_help() + return 1 + + if args.version: + print(get_version()) + return 0 - if not args.subcommand: - print("Must specify subcommand: " + " ".join(actions.keys())) - elif args.subcommand in actions: + if args.subcommand in actions: actions[args.subcommand](args) else: print( @@ -41,6 +53,12 @@ def main(): ) +def get_version(): + benchpark_version = __version__ + + return benchpark_version + + def source_location(): script_location = os.path.dirname(os.path.abspath(__file__)) return pathlib.Path(script_location).parent From 0db5dd2377916792f0e6cb2b17b23141f6d164ee Mon Sep 17 00:00:00 2001 From: Riyaz Haque <5333387+rfhaque@users.noreply.github.com> Date: Thu, 21 Dec 2023 06:54:30 -0800 Subject: [PATCH 07/26] Remove quotes from amdgpu_target (#88) Co-authored-by: Riyaz Haque --- experiments/amg2023/rocm/ramble.yaml | 4 ++-- experiments/raja-perf/rocm/ramble.yaml | 2 +- experiments/saxpy/rocm/ramble.yaml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/experiments/amg2023/rocm/ramble.yaml b/experiments/amg2023/rocm/ramble.yaml index b42a1a8bc..daae0d3a5 100644 --- a/experiments/amg2023/rocm/ramble.yaml +++ b/experiments/amg2023/rocm/ramble.yaml @@ -36,10 +36,10 @@ ramble: gtl: ["gtl", "no-gtl"] packages: hypre-{gtl}: - spack_spec: hypre@2.28.0 +mpi+rocm+mixedint amdgpu_target="{rocm_arch}" + spack_spec: hypre@2.28.0 +mpi+rocm+mixedint amdgpu_target={rocm_arch} compiler: compiler-rocm amg2023-gpu-{gtl}: - spack_spec: amg2023@develop +mpi+rocm amdgpu_target="{rocm_arch}" + spack_spec: amg2023@develop +mpi+rocm amdgpu_target={rocm_arch} compiler: compiler-rocm environments: amg2023-gpu-{gtl}: diff --git a/experiments/raja-perf/rocm/ramble.yaml b/experiments/raja-perf/rocm/ramble.yaml index 8de64d549..44bab2eab 100644 --- a/experiments/raja-perf/rocm/ramble.yaml +++ b/experiments/raja-perf/rocm/ramble.yaml @@ -26,7 +26,7 @@ ramble: spack_spec: 'blt@0.5.2:' compiler: compiler-gcc raja-perf: - spack_spec: raja-perf@develop +rocm~openmp amdgpu_target="{rocm_arch}" + spack_spec: raja-perf@develop +rocm~openmp amdgpu_target={rocm_arch} compiler: default-compiler environments: raja-perf: diff --git a/experiments/saxpy/rocm/ramble.yaml b/experiments/saxpy/rocm/ramble.yaml index 164b68acf..1bdd3ac01 100644 --- a/experiments/saxpy/rocm/ramble.yaml +++ b/experiments/saxpy/rocm/ramble.yaml @@ -26,7 +26,7 @@ ramble: concretized: true packages: saxpy: - spack_spec: saxpy@1.0.0 +rocm amdgpu_target="{rocm_arch}" + spack_spec: saxpy@1.0.0 +rocm amdgpu_target={rocm_arch} compiler: default-compiler environments: saxpy: From 42fbe1ec9bf49e7619a947e0417cf16e6db724cc Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 22 Dec 2023 16:08:32 -0600 Subject: [PATCH 08/26] Adding Copyright (#74) * Adding Copyright * add license check, add header to docs - add license.py for verifying headers - add license header to docs * add CI job for copyright header, find all files in subdirs * add copyright header to existing files * Update .github/workflows/scripts/license.py Co-authored-by: Alec Scott * remove .py, rename scripts to bin, update command in CI * fix for wrong copyright year, remove old license check --------- Co-authored-by: Stephanie Brink Co-authored-by: Alec Scott --- .github/workflows/bin/license | 184 ++++++++++++++++++ .github/workflows/ci.yml | 13 ++ .github/workflows/license.yml | 21 ++ COPYRIGHT | 16 ++ NOTICE | 21 ++ bin/benchpark | 5 + .../AWS-x86-ParallelCluster-3.7.2/README.txt | 5 + .../auxiliary_software_files/compilers.yaml | 5 + .../auxiliary_software_files/packages.yaml | 5 + .../AWS-x86-ParallelCluster-3.7.2/spack.yaml | 5 + .../variables.yaml | 5 + .../auxiliary_software_files/compilers.yaml | 5 + .../auxiliary_software_files/packages.yaml | 5 + configs/ats2/spack.yaml | 5 + configs/ats2/variables.yaml | 5 + .../auxiliary_software_files/compilers.yaml | 5 + .../auxiliary_software_files/packages.yaml | 5 + configs/ats4/spack.yaml | 5 + configs/ats4/variables.yaml | 5 + .../auxiliary_software_files/compilers.yaml | 5 + .../auxiliary_software_files/packages.yaml | 5 + configs/cts1/spack.yaml | 5 + configs/cts1/variables.yaml | 5 + configs/x86/variables.yaml | 5 + docs/1-getting-started.rst | 5 + docs/2-benchpark-list.rst | 5 + docs/3-opt-edit-experiment.rst | 5 + docs/4-benchpark-setup.rst | 5 + docs/5-build-experiment.rst | 5 + docs/6-run-experiment.rst | 5 + docs/7-analyze-experiment.rst | 5 + docs/FAQ-what-to-rerun.rst | 5 + docs/add-a-benchmark.rst | 5 + docs/add-a-system-config.rst | 5 + docs/add-an-experiment.rst | 5 + docs/experiments_root_structure.rst | 5 + docs/index.rst | 5 + docs/set-of-experiments.rst | 5 + .../amg2023/cuda/execute_experiment.tpl | 5 + .../amg2023/openmp/execute_experiment.tpl | 5 + experiments/amg2023/openmp/ramble.yaml | 5 + .../amg2023/rocm/execute_experiment.tpl | 5 + experiments/amg2023/rocm/ramble.yaml | 5 + .../hpcc/mpi-only/execute_experiment.tpl | 2 +- .../hpcg/openmp/execute_experiment.tpl | 2 +- experiments/hpl/openmp/execute_experiment.tpl | 5 + experiments/hpl/openmp/ramble.yaml | 5 + .../lammps/openmp/execute_experiment.tpl | 5 + experiments/lammps/openmp/ramble.yaml | 5 + .../md-test/mpi-only/execute_experiment.tpl | 2 +- .../mpi-only/execute_experiment.tpl | 5 + .../osu-micro-benchmarks/mpi-only/ramble.yaml | 7 +- .../raja-perf/cuda/execute_experiment.tpl | 5 + .../raja-perf/mpi-only/execute_experiment.tpl | 5 + experiments/raja-perf/mpi-only/ramble.yaml | 5 + .../raja-perf/openmp/execute_experiment.tpl | 5 + experiments/raja-perf/openmp/ramble.yaml | 5 + .../raja-perf/rocm/execute_experiment.tpl | 5 + experiments/raja-perf/rocm/ramble.yaml | 5 + experiments/saxpy/cuda/execute_experiment.tpl | 5 + .../saxpy/openmp/execute_experiment.tpl | 5 + experiments/saxpy/openmp/ramble.yaml | 5 + experiments/saxpy/rocm/execute_experiment.tpl | 5 + experiments/saxpy/rocm/ramble.yaml | 5 + .../stream/openmp/execute_experiment.tpl | 5 + experiments/stream/openmp/ramble.yaml | 5 + repo/amg2023/application.py | 9 +- repo/cray-mpich/package.py | 5 + repo/cublas/package.py | 5 + repo/hypre/package.py | 5 + repo/lapack-xl/package.py | 5 + repo/raja-perf/application.py | 9 +- repo/raja-perf/package.py | 6 +- repo/repo.yaml | 5 + repo/rocblas/package.py | 5 + repo/rocsolver/package.py | 5 + repo/saxpy/CMakeLists.txt | 5 + repo/saxpy/application.py | 9 +- repo/saxpy/package.py | 5 + repo/saxpy/saxpy.cc | 5 + 80 files changed, 611 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/bin/license create mode 100644 .github/workflows/license.yml create mode 100644 COPYRIGHT create mode 100644 NOTICE diff --git a/.github/workflows/bin/license b/.github/workflows/bin/license new file mode 100644 index 000000000..1d51b734c --- /dev/null +++ b/.github/workflows/bin/license @@ -0,0 +1,184 @@ +#!/bin/env python3 +# +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +from __future__ import print_function + +import os +import re +from collections import defaultdict +import sys + +#: SPDX license id must appear in the first lines of a file +license_lines = 7 + +#: Benchpark's license identifier +apache_spdx = "Apache-2.0" + +#: regular expressions for licensed files. +licensed_files = [ + r"^bin\/benchpark", + r"^configs\/[^\/]*\/[^\/]*", + r"^docs\/[^\/]*\.rst$", + r"^experiments\/[^\/]*\/[^\/]*", + r"^repo\/[^\/]*\/[^\/]*", +] + + +def _all_files(root="."): + """Generates root-relative paths of all files in the repository.""" + visited = set() + for cur_root, folders, files in os.walk(root): + for filename in files: + path = os.path.realpath(os.path.join(cur_root, filename)) + + if path not in visited: + yield os.path.relpath(path, root) + visited.add(path) + + +def _licensed_files(root): + for relpath in _all_files(root): + if any(regex.match(relpath) for regex in licensed_files): + yield relpath + + +def list_files(root): + """List files that should have license headers""" + for relpath in sorted(_licensed_files(root)): + print(os.path.join(".", relpath)) + + +# Error codes for license verification. All values are chosen such that +# bool(value) evaluates to True +SPDX_MISMATCH, GENERAL_MISMATCH, COPYRIGHT_YEAR_MISMATCH = range(1, 4) + +#: Latest year that copyright applies. UPDATE THIS when bumping copyright. +latest_year = 2023 +strict_date = r"Copyright %s" % latest_year + +#: regexes for valid license lines at tops of files +license_line_regexes = [ + r"Copyright (%d|[0-9]{4}) Lawrence Livermore National Security, LLC and other" + % latest_year, + r"Benchpark Project Developers. See the top-level COPYRIGHT file for details.", + r"SPDX-License-Identifier: Apache-2.0", +] + + +class LicenseError(object): + def __init__(self): + self.error_counts = defaultdict(int) + + def add_error(self, error): + self.error_counts[error] += 1 + + def has_errors(self): + return sum(self.error_counts.values()) > 0 + + def error_messages(self): + total = sum(self.error_counts.values()) + missing = self.error_counts[GENERAL_MISMATCH] + spdx_mismatch = self.error_counts[SPDX_MISMATCH] + copyright_year_mismatch = self.error_counts[COPYRIGHT_YEAR_MISMATCH] + return ( + "%d improperly licensed files\n" % (total), + "files with wrong SPDX-License-Identifier: %d\n" % spdx_mismatch, + "files not containing expected license: %d\n" % missing, + "files with wrong copyright year: %d\n" % copyright_year_mismatch, + ) + + +def _check_license(lines, path): + found = [] + + for line in lines: + line = re.sub(r"^[\s#\%\.\!\/\/]*", "", line) + line = line.rstrip() + for i, line_regex in enumerate(license_line_regexes): + if re.match(line_regex, line): + # The first line of the license contains the copyright date. + # We allow it to be out of date but print a warning if it is + # out of date. + if i == 0: + if not re.search(strict_date, line): + print("{0}: Copyright date mismatch".format(path)) + return COPYRIGHT_YEAR_MISMATCH + found.append(i) + + if len(found) == len(license_line_regexes) and found == list(sorted(found)): + return + + # If the SPDX identifier is present, then there is a mismatch (since it + # did not match the above regex) + def wrong_spdx_identifier(line, path): + m = re.search(r"SPDX-License-Identifier: [^\n]*", line) + if m and m.group(1) != apache_spdx: + print( + "{0}: SPDX license identifier mismatch" + "(expecting {1}, found {2})".format(path, apache_spdx, m.group(1)) + ) + return SPDX_MISMATCH + else: + print("{0}: SPDX license identifier missing".format(path)) + return GENERAL_MISMATCH + + checks = [wrong_spdx_identifier] + + for line in lines: + for check in checks: + error = check(line, path) + if error: + return error + + print( + "{0}: the license header at the top of the file does not match the" + " expected format".format(path) + ) + return GENERAL_MISMATCH + + +def verify(root): + """Verify that files have the right license header""" + + license_errors = LicenseError() + + for relpath in _licensed_files(root): + path = os.path.join(root, relpath) + with open(path) as f: + lines = [line for line in f][:license_lines] + + error = _check_license(lines, path) + if error: + license_errors.add_error(error) + + if license_errors.has_errors(): + print(*license_errors.error_messages()) + sys.exit(1) + else: + print("No license issues found.") + return + + +if __name__ == "__main__": + valid_options = ["list-files", "verify"] + + if len(sys.argv) != 2: + print("Please specify a valid option: {}".format(valid_options)) + sys.exit() + + cmd = sys.argv[1] + if cmd not in valid_options: + print("Invalid argument. Valid options are {}".format(valid_options)) + sys.exit() + + licensed_files[:] = [re.compile(regex) for regex in licensed_files] + root = os.path.abspath(os.curdir) + + if cmd == "list-files": + list_files(root) + elif cmd == "verify": + verify(root) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ed24751f..c1b1fd2d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,7 @@ jobs: docs: ${{ steps.filter.outputs.docs }} style: ${{ steps.filter.outputs.style }} run: ${{ steps.filter.outputs.run }} + license: ${{ steps.filter.outputs.license }} steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 @@ -49,6 +50,13 @@ jobs: - 'configs/**' - 'experiments/**' - 'repo/**' + license: + - '.github/**' + - 'bin/**' + - 'configs/**' + - 'docs/**' + - 'experiments/**' + - 'repo/**' docs: if: ${{ needs.changes.outputs.docs == 'true' }} @@ -64,3 +72,8 @@ jobs: if: ${{ needs.changes.outputs.run == 'true' }} needs: changes uses: ./.github/workflows/run.yml + + license: + if: ${{ needs.changes.outputs.license == 'true' }} + needs: changes + uses: ./.github/workflows/license.yml diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml new file mode 100644 index 000000000..851f684de --- /dev/null +++ b/.github/workflows/license.yml @@ -0,0 +1,21 @@ +name: License Checks +on: + # This Workflow can be triggered manually + workflow_dispatch: + workflow_call: + +jobs: + verify-license: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + + - name: Set up Python 3.11 + uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 + with: + python-version: '3.11' + cache: 'pip' + + - name: Verify license headers + run: | + python .github/workflows/bin/license verify diff --git a/COPYRIGHT b/COPYRIGHT new file mode 100644 index 000000000..f806bfd29 --- /dev/null +++ b/COPYRIGHT @@ -0,0 +1,16 @@ +Intellectual Property Notice +------------------------------ + +Benchpark is licensed under the Apache License, Version 2.0 (LICENSE-APACHE +or http://www.apache.org/licenses/LICENSE-2.0). + +Copyrights and patents in the Benchpark project are retained by contributors. +No copyright assignment is required to contribute to Benchpark. + + +SPDX usage +------------ + +Individual files contain SPDX tags instead of the full license text. +This enables machine processing of license information based on the SPDX +License Identifiers that are available here: https://spdx.org/licenses/ diff --git a/NOTICE b/NOTICE new file mode 100644 index 000000000..3737d5a86 --- /dev/null +++ b/NOTICE @@ -0,0 +1,21 @@ +This work was produced under the auspices of the U.S. Department of +Energy by Lawrence Livermore National Laboratory under Contract +DE-AC52-07NA27344. + +This work was prepared as an account of work sponsored by an agency of +the United States Government. Neither the United States Government nor +Lawrence Livermore National Security, LLC, nor any of their employees +makes any warranty, expressed or implied, or assumes any legal liability +or responsibility for the accuracy, completeness, or usefulness of any +information, apparatus, product, or process disclosed, or represents that +its use would not infringe privately owned rights. + +Reference herein to any specific commercial product, process, or service +by trade name, trademark, manufacturer, or otherwise does not necessarily +constitute or imply its endorsement, recommendation, or favoring by the +United States Government or Lawrence Livermore National Security, LLC. + +The views and opinions of authors expressed herein do not necessarily +state or reflect those of the United States Government or Lawrence +Livermore National Security, LLC, and shall not be used for advertising +or product endorsement purposes. diff --git a/bin/benchpark b/bin/benchpark index f614be2d0..31a7bc8d9 100755 --- a/bin/benchpark +++ b/bin/benchpark @@ -1,4 +1,9 @@ #!/usr/bin/env python3 +# +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 import argparse import subprocess diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/README.txt b/configs/AWS-x86-ParallelCluster-3.7.2/README.txt index dea80ad5c..6864ab012 100644 --- a/configs/AWS-x86-ParallelCluster-3.7.2/README.txt +++ b/configs/AWS-x86-ParallelCluster-3.7.2/README.txt @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + AWS x86 ParallelCluster 3.7.2 ----------------------------- diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml b/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml index 05b641ee7..31758ea83 100644 --- a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml +++ b/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + compilers: - compiler: spec: gcc@7.3.1 diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml b/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml index 248ea0e2b..60e9df4dc 100644 --- a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml +++ b/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + packages: tar: externals: diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml b/configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml index 69c35d334..15ddc2bbf 100644 --- a/configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml +++ b/configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + spack: packages: default-compiler: diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml b/configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml index b8a404d5b..fd0dbf964 100644 --- a/configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml +++ b/configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + variables: batch_time: '02:00' mpi_command: 'srun -N {n_nodes} -n {n_ranks} --mpi=pmix --export=ALL,FI_EFA_USE_DEVICE_RDMA=1,FI_PROVIDER="efa",OMPI_MCA_mtl_base_verbose=100' diff --git a/configs/ats2/auxiliary_software_files/compilers.yaml b/configs/ats2/auxiliary_software_files/compilers.yaml index 3232c1fe3..501522dcf 100644 --- a/configs/ats2/auxiliary_software_files/compilers.yaml +++ b/configs/ats2/auxiliary_software_files/compilers.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + compilers: - compiler: spec: xl@16.1.1-2022.08.19-cuda-11.7.0 diff --git a/configs/ats2/auxiliary_software_files/packages.yaml b/configs/ats2/auxiliary_software_files/packages.yaml index ba3625c54..dd43a66ba 100644 --- a/configs/ats2/auxiliary_software_files/packages.yaml +++ b/configs/ats2/auxiliary_software_files/packages.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + packages: tar: externals: diff --git a/configs/ats2/spack.yaml b/configs/ats2/spack.yaml index 8f0dca8df..bdebba667 100644 --- a/configs/ats2/spack.yaml +++ b/configs/ats2/spack.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + spack: packages: default-compiler: diff --git a/configs/ats2/variables.yaml b/configs/ats2/variables.yaml index a02f3cf97..717ed9d76 100644 --- a/configs/ats2/variables.yaml +++ b/configs/ats2/variables.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + variables: gtl_flag: '' # to be overwritten by tests that need GTL batch_time: '02:00' diff --git a/configs/ats4/auxiliary_software_files/compilers.yaml b/configs/ats4/auxiliary_software_files/compilers.yaml index 22b1dda74..5c22bf174 100644 --- a/configs/ats4/auxiliary_software_files/compilers.yaml +++ b/configs/ats4/auxiliary_software_files/compilers.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + compilers: - compiler: spec: cce@16.0.0-rocm5.5.1 diff --git a/configs/ats4/auxiliary_software_files/packages.yaml b/configs/ats4/auxiliary_software_files/packages.yaml index b47bf4772..1b2825fd7 100644 --- a/configs/ats4/auxiliary_software_files/packages.yaml +++ b/configs/ats4/auxiliary_software_files/packages.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + packages: all: require: target=x86_64 diff --git a/configs/ats4/spack.yaml b/configs/ats4/spack.yaml index 9c5b75b2c..e969f2fe6 100644 --- a/configs/ats4/spack.yaml +++ b/configs/ats4/spack.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + spack: packages: default-compiler: diff --git a/configs/ats4/variables.yaml b/configs/ats4/variables.yaml index ba46c9b78..e4145451a 100644 --- a/configs/ats4/variables.yaml +++ b/configs/ats4/variables.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + variables: gtl_flag: '' # to be overwritten by tests that need GTL rocm_arch: 'gfx90a' diff --git a/configs/cts1/auxiliary_software_files/compilers.yaml b/configs/cts1/auxiliary_software_files/compilers.yaml index 1027a214e..2e71df790 100644 --- a/configs/cts1/auxiliary_software_files/compilers.yaml +++ b/configs/cts1/auxiliary_software_files/compilers.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + compilers: - compiler: spec: gcc@12.1.1 diff --git a/configs/cts1/auxiliary_software_files/packages.yaml b/configs/cts1/auxiliary_software_files/packages.yaml index 2103edbed..941b8a7a6 100644 --- a/configs/cts1/auxiliary_software_files/packages.yaml +++ b/configs/cts1/auxiliary_software_files/packages.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + packages: tar: externals: diff --git a/configs/cts1/spack.yaml b/configs/cts1/spack.yaml index 556a47d94..5668e42f7 100644 --- a/configs/cts1/spack.yaml +++ b/configs/cts1/spack.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + spack: packages: default-compiler: diff --git a/configs/cts1/variables.yaml b/configs/cts1/variables.yaml index a8407aead..e4674cde0 100644 --- a/configs/cts1/variables.yaml +++ b/configs/cts1/variables.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + variables: batch_time: '02:00' mpi_command: 'srun -N {n_nodes} -n {n_ranks}' diff --git a/configs/x86/variables.yaml b/configs/x86/variables.yaml index 097ac05c4..b9c418080 100644 --- a/configs/x86/variables.yaml +++ b/configs/x86/variables.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + variables: batch_time: '' mpi_command: 'mpirun -n {n_nodes} -c {n_ranks} --oversubscribe' diff --git a/docs/1-getting-started.rst b/docs/1-getting-started.rst index 92e0228f5..9b26b4dca 100644 --- a/docs/1-getting-started.rst +++ b/docs/1-getting-started.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ============================== Getting Started with Benchpark ============================== diff --git a/docs/2-benchpark-list.rst b/docs/2-benchpark-list.rst index 85262a7e3..90cb5f6a4 100644 --- a/docs/2-benchpark-list.rst +++ b/docs/2-benchpark-list.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ============== Benchpark List ============== diff --git a/docs/3-opt-edit-experiment.rst b/docs/3-opt-edit-experiment.rst index 187c137ee..e35ca1758 100644 --- a/docs/3-opt-edit-experiment.rst +++ b/docs/3-opt-edit-experiment.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ========================== (optional) Edit experiment ========================== diff --git a/docs/4-benchpark-setup.rst b/docs/4-benchpark-setup.rst index f1e63cfbb..ecffdeb54 100644 --- a/docs/4-benchpark-setup.rst +++ b/docs/4-benchpark-setup.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + =============== Benchpark Setup =============== diff --git a/docs/5-build-experiment.rst b/docs/5-build-experiment.rst index 9021ac368..c8ecfd010 100644 --- a/docs/5-build-experiment.rst +++ b/docs/5-build-experiment.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ================ Build experiment ================ diff --git a/docs/6-run-experiment.rst b/docs/6-run-experiment.rst index e382d67e3..7af222991 100644 --- a/docs/6-run-experiment.rst +++ b/docs/6-run-experiment.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ================================== Running an Experiment in Benchpark ================================== diff --git a/docs/7-analyze-experiment.rst b/docs/7-analyze-experiment.rst index 9e82e4440..8502d91f1 100644 --- a/docs/7-analyze-experiment.rst +++ b/docs/7-analyze-experiment.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ================================== Analyzing Experiments in Benchpark ================================== diff --git a/docs/FAQ-what-to-rerun.rst b/docs/FAQ-what-to-rerun.rst index 2e705f022..a9c387f37 100644 --- a/docs/FAQ-what-to-rerun.rst +++ b/docs/FAQ-what-to-rerun.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ========================================== FAQ: I made changes. What should I rerun? ========================================== diff --git a/docs/add-a-benchmark.rst b/docs/add-a-benchmark.rst index 41eb980e5..fbd466beb 100644 --- a/docs/add-a-benchmark.rst +++ b/docs/add-a-benchmark.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ================== Adding a Benchmark ================== diff --git a/docs/add-a-system-config.rst b/docs/add-a-system-config.rst index db7a4ca4e..1e8ed09ab 100644 --- a/docs/add-a-system-config.rst +++ b/docs/add-a-system-config.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ============================= Adding a System Configuration ============================= diff --git a/docs/add-an-experiment.rst b/docs/add-an-experiment.rst index 0d063018a..878833c12 100644 --- a/docs/add-an-experiment.rst +++ b/docs/add-an-experiment.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ================= Add an Experiment ================= diff --git a/docs/experiments_root_structure.rst b/docs/experiments_root_structure.rst index 9fac7b94c..145dcb396 100644 --- a/docs/experiments_root_structure.rst +++ b/docs/experiments_root_structure.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + For each ``experiment`` (``benchmark`` x ``ProgrammingModel`` x ), Ramble sets up the following ``workspace`` directory structure to build and run the experiment:: diff --git a/docs/index.rst b/docs/index.rst index ae7d83727..58ddaec74 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + .. include:: ../README.rst .. toctree:: diff --git a/docs/set-of-experiments.rst b/docs/set-of-experiments.rst index a85f57824..a4e01437c 100644 --- a/docs/set-of-experiments.rst +++ b/docs/set-of-experiments.rst @@ -1,3 +1,8 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + ============== Working with a set of experiments ============== diff --git a/experiments/amg2023/cuda/execute_experiment.tpl b/experiments/amg2023/cuda/execute_experiment.tpl index 3c846b037..1343ccb0c 100755 --- a/experiments/amg2023/cuda/execute_experiment.tpl +++ b/experiments/amg2023/cuda/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_timeout} diff --git a/experiments/amg2023/openmp/execute_experiment.tpl b/experiments/amg2023/openmp/execute_experiment.tpl index 26ff98b18..b803b4898 100755 --- a/experiments/amg2023/openmp/execute_experiment.tpl +++ b/experiments/amg2023/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/amg2023/openmp/ramble.yaml b/experiments/amg2023/openmp/ramble.yaml index 95b5bf028..a6612e3d1 100644 --- a/experiments/amg2023/openmp/ramble.yaml +++ b/experiments/amg2023/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/amg2023/rocm/execute_experiment.tpl b/experiments/amg2023/rocm/execute_experiment.tpl index 115df1c45..af9908524 100755 --- a/experiments/amg2023/rocm/execute_experiment.tpl +++ b/experiments/amg2023/rocm/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/amg2023/rocm/ramble.yaml b/experiments/amg2023/rocm/ramble.yaml index daae0d3a5..d1ec1dda2 100644 --- a/experiments/amg2023/rocm/ramble.yaml +++ b/experiments/amg2023/rocm/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: config: deprecated: true diff --git a/experiments/hpcc/mpi-only/execute_experiment.tpl b/experiments/hpcc/mpi-only/execute_experiment.tpl index f2026d0e2..b803b4898 100755 --- a/experiments/hpcc/mpi-only/execute_experiment.tpl +++ b/experiments/hpcc/mpi-only/execute_experiment.tpl @@ -1,9 +1,9 @@ +#!/bin/bash # Copyright 2023 Lawrence Livermore National Security, LLC and other # Benchpark Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: Apache-2.0 -#!/bin/bash {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/hpcg/openmp/execute_experiment.tpl b/experiments/hpcg/openmp/execute_experiment.tpl index 11bf418a9..d24437712 100755 --- a/experiments/hpcg/openmp/execute_experiment.tpl +++ b/experiments/hpcg/openmp/execute_experiment.tpl @@ -1,9 +1,9 @@ +#!/bin/bash # Copyright 2023 Lawrence Livermore National Security, LLC and other # Benchpark Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: Apache-2.0 -#!/bin/bash {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/hpl/openmp/execute_experiment.tpl b/experiments/hpl/openmp/execute_experiment.tpl index 26ff98b18..b803b4898 100755 --- a/experiments/hpl/openmp/execute_experiment.tpl +++ b/experiments/hpl/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/hpl/openmp/ramble.yaml b/experiments/hpl/openmp/ramble.yaml index 153ab13d4..05462a12a 100644 --- a/experiments/hpl/openmp/ramble.yaml +++ b/experiments/hpl/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/lammps/openmp/execute_experiment.tpl b/experiments/lammps/openmp/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/lammps/openmp/execute_experiment.tpl +++ b/experiments/lammps/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/lammps/openmp/ramble.yaml b/experiments/lammps/openmp/ramble.yaml index 7d5af6795..5c1bd7890 100644 --- a/experiments/lammps/openmp/ramble.yaml +++ b/experiments/lammps/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/md-test/mpi-only/execute_experiment.tpl b/experiments/md-test/mpi-only/execute_experiment.tpl index f2026d0e2..b803b4898 100755 --- a/experiments/md-test/mpi-only/execute_experiment.tpl +++ b/experiments/md-test/mpi-only/execute_experiment.tpl @@ -1,9 +1,9 @@ +#!/bin/bash # Copyright 2023 Lawrence Livermore National Security, LLC and other # Benchpark Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: Apache-2.0 -#!/bin/bash {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl b/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl +++ b/experiments/osu-micro-benchmarks/mpi-only/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml b/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml index f40d3e327..7dc7325fb 100644 --- a/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml +++ b/experiments/osu-micro-benchmarks/mpi-only/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml @@ -32,4 +37,4 @@ ramble: osu-micro-benchmarks: packages: - default-mpi - - osu-micro-benchmarks \ No newline at end of file + - osu-micro-benchmarks diff --git a/experiments/raja-perf/cuda/execute_experiment.tpl b/experiments/raja-perf/cuda/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/raja-perf/cuda/execute_experiment.tpl +++ b/experiments/raja-perf/cuda/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/raja-perf/mpi-only/execute_experiment.tpl b/experiments/raja-perf/mpi-only/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/raja-perf/mpi-only/execute_experiment.tpl +++ b/experiments/raja-perf/mpi-only/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/raja-perf/mpi-only/ramble.yaml b/experiments/raja-perf/mpi-only/ramble.yaml index 79d6b3254..6e19371c1 100644 --- a/experiments/raja-perf/mpi-only/ramble.yaml +++ b/experiments/raja-perf/mpi-only/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/raja-perf/openmp/execute_experiment.tpl b/experiments/raja-perf/openmp/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/raja-perf/openmp/execute_experiment.tpl +++ b/experiments/raja-perf/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/raja-perf/openmp/ramble.yaml b/experiments/raja-perf/openmp/ramble.yaml index 521c266ff..648952a40 100644 --- a/experiments/raja-perf/openmp/ramble.yaml +++ b/experiments/raja-perf/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/raja-perf/rocm/execute_experiment.tpl b/experiments/raja-perf/rocm/execute_experiment.tpl index 07a2c3dde..d24437712 100644 --- a/experiments/raja-perf/rocm/execute_experiment.tpl +++ b/experiments/raja-perf/rocm/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/raja-perf/rocm/ramble.yaml b/experiments/raja-perf/rocm/ramble.yaml index 44bab2eab..925003c92 100644 --- a/experiments/raja-perf/rocm/ramble.yaml +++ b/experiments/raja-perf/rocm/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/saxpy/cuda/execute_experiment.tpl b/experiments/saxpy/cuda/execute_experiment.tpl index 07a2c3dde..d24437712 100755 --- a/experiments/saxpy/cuda/execute_experiment.tpl +++ b/experiments/saxpy/cuda/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/saxpy/openmp/execute_experiment.tpl b/experiments/saxpy/openmp/execute_experiment.tpl index 07a2c3dde..d24437712 100755 --- a/experiments/saxpy/openmp/execute_experiment.tpl +++ b/experiments/saxpy/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/saxpy/openmp/ramble.yaml b/experiments/saxpy/openmp/ramble.yaml index 9bf2fa569..96e6efa04 100644 --- a/experiments/saxpy/openmp/ramble.yaml +++ b/experiments/saxpy/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/saxpy/rocm/execute_experiment.tpl b/experiments/saxpy/rocm/execute_experiment.tpl index 07a2c3dde..d24437712 100755 --- a/experiments/saxpy/rocm/execute_experiment.tpl +++ b/experiments/saxpy/rocm/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/saxpy/rocm/ramble.yaml b/experiments/saxpy/rocm/ramble.yaml index 1bdd3ac01..b5657b34d 100644 --- a/experiments/saxpy/rocm/ramble.yaml +++ b/experiments/saxpy/rocm/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/experiments/stream/openmp/execute_experiment.tpl b/experiments/stream/openmp/execute_experiment.tpl index 07a2c3dde..d24437712 100755 --- a/experiments/stream/openmp/execute_experiment.tpl +++ b/experiments/stream/openmp/execute_experiment.tpl @@ -1,4 +1,9 @@ #!/bin/bash +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + {batch_nodes} {batch_ranks} {batch_timeout} diff --git a/experiments/stream/openmp/ramble.yaml b/experiments/stream/openmp/ramble.yaml index 533a5574e..da4112483 100644 --- a/experiments/stream/openmp/ramble.yaml +++ b/experiments/stream/openmp/ramble.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + ramble: include: - ./configs/spack.yaml diff --git a/repo/amg2023/application.py b/repo/amg2023/application.py index 00905141f..3baef63b4 100644 --- a/repo/amg2023/application.py +++ b/repo/amg2023/application.py @@ -1,10 +1,7 @@ -# Copyright 2022 Google LLC +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. # -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. +# SPDX-License-Identifier: Apache-2.0 from ramble.appkit import * diff --git a/repo/cray-mpich/package.py b/repo/cray-mpich/package.py index f0358be31..46bbba1da 100644 --- a/repo/cray-mpich/package.py +++ b/repo/cray-mpich/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * from spack.pkg.builtin.cray_mpich import CrayMpich as BuiltinCM diff --git a/repo/cublas/package.py b/repo/cublas/package.py index 33138222b..91aa07e0d 100644 --- a/repo/cublas/package.py +++ b/repo/cublas/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * class Cublas(Package): diff --git a/repo/hypre/package.py b/repo/hypre/package.py index e0d4b2a3e..7255e10d5 100644 --- a/repo/hypre/package.py +++ b/repo/hypre/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * from spack.pkg.builtin.hypre import Hypre as BuiltinHypre diff --git a/repo/lapack-xl/package.py b/repo/lapack-xl/package.py index 9348b3fc4..4b4cdee0a 100644 --- a/repo/lapack-xl/package.py +++ b/repo/lapack-xl/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * class LapackXl(Package): diff --git a/repo/raja-perf/application.py b/repo/raja-perf/application.py index b7cf1b7ba..42864ecba 100644 --- a/repo/raja-perf/application.py +++ b/repo/raja-perf/application.py @@ -1,10 +1,7 @@ -# Copyright 2022 Google LLC +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. # -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. +# SPDX-License-Identifier: Apache-2.0 from ramble.appkit import * diff --git a/repo/raja-perf/package.py b/repo/raja-perf/package.py index c116f1339..9e2b8d02e 100644 --- a/repo/raja-perf/package.py +++ b/repo/raja-perf/package.py @@ -1,7 +1,7 @@ -# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. # -# SPDX-License-Identifier: (Apache-2.0 OR MIT) +# SPDX-License-Identifier: Apache-2.0 import os import socket diff --git a/repo/repo.yaml b/repo/repo.yaml index 23ed59a45..3398d1438 100644 --- a/repo/repo.yaml +++ b/repo/repo.yaml @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + repo: namespace: benchpark subdirectory: '' diff --git a/repo/rocblas/package.py b/repo/rocblas/package.py index 4226c03da..084a88276 100644 --- a/repo/rocblas/package.py +++ b/repo/rocblas/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * from spack.pkg.builtin.rocblas import Rocblas as BuiltinRocblas diff --git a/repo/rocsolver/package.py b/repo/rocsolver/package.py index 5ed4d642c..1a3b33539 100644 --- a/repo/rocsolver/package.py +++ b/repo/rocsolver/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * from spack.pkg.builtin.rocsolver import Rocsolver as BuiltinRocsolver diff --git a/repo/saxpy/CMakeLists.txt b/repo/saxpy/CMakeLists.txt index 33a538dca..8382198cd 100644 --- a/repo/saxpy/CMakeLists.txt +++ b/repo/saxpy/CMakeLists.txt @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + cmake_minimum_required(VERSION 3.23) option(USE_OPNEMP "Use OpenMP" OFF) diff --git a/repo/saxpy/application.py b/repo/saxpy/application.py index 220dbdf4a..19ea06c80 100644 --- a/repo/saxpy/application.py +++ b/repo/saxpy/application.py @@ -1,10 +1,7 @@ -# Copyright 2022 Google LLC +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. # -# Licensed under the Apache License, Version 2.0 or the MIT license -# , at your -# option. This file may not be copied, modified, or distributed -# except according to those terms. +# SPDX-License-Identifier: Apache-2.0 from ramble.appkit import * diff --git a/repo/saxpy/package.py b/repo/saxpy/package.py index 4d426389a..2e96ea643 100644 --- a/repo/saxpy/package.py +++ b/repo/saxpy/package.py @@ -1,3 +1,8 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + from spack.package import * import os import shutil diff --git a/repo/saxpy/saxpy.cc b/repo/saxpy/saxpy.cc index 7928457f4..74f9f8a03 100644 --- a/repo/saxpy/saxpy.cc +++ b/repo/saxpy/saxpy.cc @@ -1,3 +1,8 @@ +// Copyright 2023 Lawrence Livermore National Security, LLC and other +// Benchpark Project Developers. See the top-level COPYRIGHT file for details. +// +// SPDX-License-Identifier: Apache-2.0 + #include #include #include From 95b7af78840954fb0454c9714c9f7e97c5a2e4ac Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 22 Dec 2023 17:09:15 -0600 Subject: [PATCH 09/26] Patch/system names (#81) * Changing system names to more descriptive * updating docs * Adding system definitions * reworking cts1 * adding one for x86 * Standardizing the system_definition across machines * Picking a specific AWS instance * Adding system name to system definition * Shortening the system names * Update configs/AWS-Hpc7a-EPYC4-EFA/system_definition.yaml Co-authored-by: Greg Becker * ISA to ISA_family * Adding micro architecture * Updating to use x86_64 in CI * Updating the docs, adding top500 instances * (opt)Integrator Co-authored-by: Greg Becker * icelake Co-authored-by: Greg Becker * -Summit * Adding more detail on system definition in the docs * removing OS from description * Further standardizing the naming convention * system names in docs * System naming syntax --------- Co-authored-by: Greg Becker --- .github/workflows/run.yml | 8 +-- .../README.txt | 0 .../auxiliary_software_files/compilers.yaml | 0 .../auxiliary_software_files/packages.yaml | 0 .../spack.yaml | 0 .../system_definition.yaml | 30 ++++++++++ .../variables.yaml | 0 .../auxiliary_software_files/compilers.yaml | 0 .../auxiliary_software_files/packages.yaml | 5 +- .../spack.yaml | 0 .../system_definition.yaml | 32 ++++++++++ .../variables.yaml | 0 .../auxiliary_software_files/compilers.yaml | 0 .../auxiliary_software_files/packages.yaml | 0 .../spack.yaml | 0 .../system_definition.yaml | 30 ++++++++++ .../variables.yaml | 0 .../auxiliary_software_files/compilers.yaml | 0 .../auxiliary_software_files/packages.yaml | 0 .../spack.yaml | 0 .../system_definition.yaml | 30 ++++++++++ .../variables.yaml | 0 configs/{x86 => x86_64}/spack.yaml | 0 configs/x86_64/system_definition.yaml | 30 ++++++++++ configs/{x86 => x86_64}/variables.yaml | 0 docs/4-benchpark-setup.rst | 2 +- docs/add-a-system-config.rst | 60 +++++++++++++++++-- 27 files changed, 213 insertions(+), 14 deletions(-) rename configs/{AWS-x86-ParallelCluster-3.7.2 => AWS_PCluster_Hpc7a-zen4-EFA}/README.txt (100%) rename configs/{AWS-x86-ParallelCluster-3.7.2 => AWS_PCluster_Hpc7a-zen4-EFA}/auxiliary_software_files/compilers.yaml (100%) rename configs/{AWS-x86-ParallelCluster-3.7.2 => AWS_PCluster_Hpc7a-zen4-EFA}/auxiliary_software_files/packages.yaml (100%) rename configs/{AWS-x86-ParallelCluster-3.7.2 => AWS_PCluster_Hpc7a-zen4-EFA}/spack.yaml (100%) create mode 100644 configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml rename configs/{AWS-x86-ParallelCluster-3.7.2 => AWS_PCluster_Hpc7a-zen4-EFA}/variables.yaml (100%) rename configs/{ats4 => HPECray-zen3-MI250X-Slingshot}/auxiliary_software_files/compilers.yaml (100%) rename configs/{ats4 => HPECray-zen3-MI250X-Slingshot}/auxiliary_software_files/packages.yaml (99%) rename configs/{ats4 => HPECray-zen3-MI250X-Slingshot}/spack.yaml (100%) create mode 100644 configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml rename configs/{ats4 => HPECray-zen3-MI250X-Slingshot}/variables.yaml (100%) rename configs/{ats2 => IBM-power9-V100-Infiniband}/auxiliary_software_files/compilers.yaml (100%) rename configs/{ats2 => IBM-power9-V100-Infiniband}/auxiliary_software_files/packages.yaml (100%) rename configs/{ats2 => IBM-power9-V100-Infiniband}/spack.yaml (100%) create mode 100644 configs/IBM-power9-V100-Infiniband/system_definition.yaml rename configs/{ats2 => IBM-power9-V100-Infiniband}/variables.yaml (100%) rename configs/{cts1 => Penguin-icelake-OmniPath}/auxiliary_software_files/compilers.yaml (100%) rename configs/{cts1 => Penguin-icelake-OmniPath}/auxiliary_software_files/packages.yaml (100%) rename configs/{cts1 => Penguin-icelake-OmniPath}/spack.yaml (100%) create mode 100644 configs/Penguin-icelake-OmniPath/system_definition.yaml rename configs/{cts1 => Penguin-icelake-OmniPath}/variables.yaml (100%) rename configs/{x86 => x86_64}/spack.yaml (100%) create mode 100644 configs/x86_64/system_definition.yaml rename configs/{x86 => x86_64}/variables.yaml (100%) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 04cf02512..4a94e5b4a 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -17,7 +17,7 @@ jobs: - name: Build Saxpy Workspace run: | - ./bin/benchpark setup saxpy/openmp x86 workspace/ + ./bin/benchpark setup saxpy/openmp x86_64 workspace/ - name: Setup Ramble & Spack run: | @@ -32,7 +32,7 @@ jobs: echo "PATH=$PATH" >> "$GITHUB_ENV" - name: Setup Saxpy Workspace - working-directory: ./workspace/saxpy/openmp/x86/workspace/ + working-directory: ./workspace/saxpy/openmp/x86_64/workspace/ run: | ramble \ --workspace-dir . \ @@ -42,7 +42,7 @@ jobs: workspace setup - name: Run Saxpy Experiments - working-directory: ./workspace/saxpy/openmp/x86/workspace/ + working-directory: ./workspace/saxpy/openmp/x86_64/workspace/ run: | ramble \ -c variables:n_nodes:1 \ @@ -53,7 +53,7 @@ jobs: on - name: Analyze Saxpy Results - working-directory: ./workspace/saxpy/openmp/x86/workspace/ + working-directory: ./workspace/saxpy/openmp/x86_64/workspace/ run: | ramble \ --workspace-dir . \ diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/README.txt b/configs/AWS_PCluster_Hpc7a-zen4-EFA/README.txt similarity index 100% rename from configs/AWS-x86-ParallelCluster-3.7.2/README.txt rename to configs/AWS_PCluster_Hpc7a-zen4-EFA/README.txt diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/auxiliary_software_files/compilers.yaml similarity index 100% rename from configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/compilers.yaml rename to configs/AWS_PCluster_Hpc7a-zen4-EFA/auxiliary_software_files/compilers.yaml diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/auxiliary_software_files/packages.yaml similarity index 100% rename from configs/AWS-x86-ParallelCluster-3.7.2/auxiliary_software_files/packages.yaml rename to configs/AWS_PCluster_Hpc7a-zen4-EFA/auxiliary_software_files/packages.yaml diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/spack.yaml similarity index 100% rename from configs/AWS-x86-ParallelCluster-3.7.2/spack.yaml rename to configs/AWS_PCluster_Hpc7a-zen4-EFA/spack.yaml diff --git a/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml new file mode 100644 index 000000000..08d4e1a88 --- /dev/null +++ b/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml @@ -0,0 +1,30 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +system_definition: + name: AWS_PCluster_Hpc7a-zen4-EFA + integrator: + vendor: AWS + name: ParallelCluster3.7.2-Hpc7a + processor: + vendor: AMD + name: EPYC-Zen4 + ISA: x86_64 + uArch: zen4 + accelerator: + vendor: None + name: None + ISA: None + uArch: None + interconnect: + vendor: AWS + name: EFA + system-tested: + site: AWS + name: "" + installation-year: "" + description: [aws/hpc7a](https://aws.amazon.com/ec2/instance-types/hpc7a) + top500-system-instances: + - None diff --git a/configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/variables.yaml similarity index 100% rename from configs/AWS-x86-ParallelCluster-3.7.2/variables.yaml rename to configs/AWS_PCluster_Hpc7a-zen4-EFA/variables.yaml diff --git a/configs/ats4/auxiliary_software_files/compilers.yaml b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml similarity index 100% rename from configs/ats4/auxiliary_software_files/compilers.yaml rename to configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml diff --git a/configs/ats4/auxiliary_software_files/packages.yaml b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml similarity index 99% rename from configs/ats4/auxiliary_software_files/packages.yaml rename to configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml index 1b2825fd7..175f143dd 100644 --- a/configs/ats4/auxiliary_software_files/packages.yaml +++ b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml @@ -5,7 +5,8 @@ packages: all: - require: target=x86_64 + require: target=x86_64: + variants: amdgpu_target=gfx90a tar: externals: - spec: tar@1.30 @@ -192,8 +193,6 @@ packages: prefix: /opt/cray/pe/libsci/23.05.1.4/gnu/10.3/x86_64/ lapack: buildable: false - hypre: - variants: amdgpu_target=gfx90a mpi: buildable: false cray-mpich: diff --git a/configs/ats4/spack.yaml b/configs/HPECray-zen3-MI250X-Slingshot/spack.yaml similarity index 100% rename from configs/ats4/spack.yaml rename to configs/HPECray-zen3-MI250X-Slingshot/spack.yaml diff --git a/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml b/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml new file mode 100644 index 000000000..aa4764ee7 --- /dev/null +++ b/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml @@ -0,0 +1,32 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +system_definition: + name: HPECray-zen3-MI250X-Slingshot + integrator: + vendor: HPECray + name: EX235a + processor: + vendor: AMD + name: EPYC-Zen3 + ISA: x86_64 + uArch: zen3 + accelerator: + vendor: AMD + name: MI250X + ISA: GCN + uArch: gfx90a + interconnect: + vendor: HPECray + name: Slingshot11 + system-tested: + site: LLNL + name: tioga + installation-year: 2022 + description: [top500](https://www.top500.org/system/180052) + top500-system-instances: + - Frontier (ORNL) + - Lumi (CSC) + - Tioga (LLNL) diff --git a/configs/ats4/variables.yaml b/configs/HPECray-zen3-MI250X-Slingshot/variables.yaml similarity index 100% rename from configs/ats4/variables.yaml rename to configs/HPECray-zen3-MI250X-Slingshot/variables.yaml diff --git a/configs/ats2/auxiliary_software_files/compilers.yaml b/configs/IBM-power9-V100-Infiniband/auxiliary_software_files/compilers.yaml similarity index 100% rename from configs/ats2/auxiliary_software_files/compilers.yaml rename to configs/IBM-power9-V100-Infiniband/auxiliary_software_files/compilers.yaml diff --git a/configs/ats2/auxiliary_software_files/packages.yaml b/configs/IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml similarity index 100% rename from configs/ats2/auxiliary_software_files/packages.yaml rename to configs/IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml diff --git a/configs/ats2/spack.yaml b/configs/IBM-power9-V100-Infiniband/spack.yaml similarity index 100% rename from configs/ats2/spack.yaml rename to configs/IBM-power9-V100-Infiniband/spack.yaml diff --git a/configs/IBM-power9-V100-Infiniband/system_definition.yaml b/configs/IBM-power9-V100-Infiniband/system_definition.yaml new file mode 100644 index 000000000..f11cfea1f --- /dev/null +++ b/configs/IBM-power9-V100-Infiniband/system_definition.yaml @@ -0,0 +1,30 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +system_definition: + name: IBM-power9-V100-Infiniband + integrator: + vendor: IBM + name: AC922 + processor: + vendor: IBM + name: POWER9 + ISA: ppc64le + uArch: power9 + accelerator: + vendor: NVIDIA + name: V100 + ISA: PTX + uArch: sm_70 + interconnect: + vendor: Mellanox + name: EDR-Infiniband + system-tested: + site: LLNL + name: lassen + installation-year: 2018 + description: [top500](https://www.top500.org/system/179398) + top500-system-instances: + - Sierra (LLNL) diff --git a/configs/ats2/variables.yaml b/configs/IBM-power9-V100-Infiniband/variables.yaml similarity index 100% rename from configs/ats2/variables.yaml rename to configs/IBM-power9-V100-Infiniband/variables.yaml diff --git a/configs/cts1/auxiliary_software_files/compilers.yaml b/configs/Penguin-icelake-OmniPath/auxiliary_software_files/compilers.yaml similarity index 100% rename from configs/cts1/auxiliary_software_files/compilers.yaml rename to configs/Penguin-icelake-OmniPath/auxiliary_software_files/compilers.yaml diff --git a/configs/cts1/auxiliary_software_files/packages.yaml b/configs/Penguin-icelake-OmniPath/auxiliary_software_files/packages.yaml similarity index 100% rename from configs/cts1/auxiliary_software_files/packages.yaml rename to configs/Penguin-icelake-OmniPath/auxiliary_software_files/packages.yaml diff --git a/configs/cts1/spack.yaml b/configs/Penguin-icelake-OmniPath/spack.yaml similarity index 100% rename from configs/cts1/spack.yaml rename to configs/Penguin-icelake-OmniPath/spack.yaml diff --git a/configs/Penguin-icelake-OmniPath/system_definition.yaml b/configs/Penguin-icelake-OmniPath/system_definition.yaml new file mode 100644 index 000000000..5703ff291 --- /dev/null +++ b/configs/Penguin-icelake-OmniPath/system_definition.yaml @@ -0,0 +1,30 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +system_definition: + name: Penguin-icelake-OmniPath + integrator: + vendor: PenguinComputing + name: RelionCluster + processor: + vendor: Intel + name: XeonPlatinum924248C + ISA: x86_64 + uArch: icelake + accelerator: + vendor: None + name: None + ISA: None + uArch: None + interconnect: + vendor: Intel + name: OmniPath + system-tested: + site: LLNL + name: magma + installation-year: 2019 + description: [top500](https://www.top500.org/system/179774) + top500-system-instances: + - Magma (LLNL) diff --git a/configs/cts1/variables.yaml b/configs/Penguin-icelake-OmniPath/variables.yaml similarity index 100% rename from configs/cts1/variables.yaml rename to configs/Penguin-icelake-OmniPath/variables.yaml diff --git a/configs/x86/spack.yaml b/configs/x86_64/spack.yaml similarity index 100% rename from configs/x86/spack.yaml rename to configs/x86_64/spack.yaml diff --git a/configs/x86_64/system_definition.yaml b/configs/x86_64/system_definition.yaml new file mode 100644 index 000000000..d9a9b2c79 --- /dev/null +++ b/configs/x86_64/system_definition.yaml @@ -0,0 +1,30 @@ +# Copyright 2023 Lawrence Livermore National Security, LLC and other +# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: Apache-2.0 + +system_definition: + name: x86_64 + integrator: + vendor: Any + name: Any + processor: + vendor: Any + name: Any + ISA: x86_64 + uArch: Any + accelerator: + vendor: None + name: None + ISA: None + uArch: None + interconnect: + vendor: Any + name: Any + system-tested: + site: Any + name: Any + installation-year: Any + description: Any + top500-system-instances: + - Many diff --git a/configs/x86/variables.yaml b/configs/x86_64/variables.yaml similarity index 100% rename from configs/x86/variables.yaml rename to configs/x86_64/variables.yaml diff --git a/docs/4-benchpark-setup.rst b/docs/4-benchpark-setup.rst index ecffdeb54..22ed8b62a 100644 --- a/docs/4-benchpark-setup.rst +++ b/docs/4-benchpark-setup.rst @@ -15,7 +15,7 @@ Also choose a directory for your experiment:: where: - ``benchmark/ProgrammingModel``: amg2023/openmp | amg2023/cuda | saxpy/openmp (available choices in ``benchpark/experiments``) -- ``system``: ats2 | ats4 | cts1 (available choices in ``benchpark/configs``) +- ``system``: x86_64 | HPECray-zen3-MI250X-Slingshot | AWS_PCluster_Hpc7a-zen4-EFA (available choices in ``benchpark/configs``) This command will assemble a Ramble workspace per experiment with a configuration for the specified benchmark and system diff --git a/docs/add-a-system-config.rst b/docs/add-a-system-config.rst index 1e8ed09ab..124517a3c 100644 --- a/docs/add-a-system-config.rst +++ b/docs/add-a-system-config.rst @@ -8,14 +8,62 @@ Adding a System Configuration ============================= ``benchpark/configs`` contains a directory for each system specified in Benchpark. -If the software stack on your system is unlike the available configurations, +If your system is unlike the available configurations, you can add a new directory with a name which identifies the system. -The following is required for each given system ``benchpark/configs/${SYSTEM}``: +The naming convention for the systems is as following:: -1. ``spack.yaml`` defines default compiler and package names Spack should + [INTEGRATOR]-MICROARCHITECTURE[-GPU][-NETWORK] + +where:: + + INTEGRATOR = COMPANY[_PRODUCTNAME][...] + +Benchpark has definitions for the following systems: +- AWS_PCluster_Hpc7a-zen4-EFA +- HPECray-zen3-MI250X-Slingshot (Frontier, Lumi, Tioga) +- IBM-power9-V100-Infiniband (Sierra) +- Penguin-icelake-OmniPath +- x86_64 (generic x86 CPU only platform) + +The following files are required for each system ``benchpark/configs/${SYSTEM}``: + +1. ``system_definition.yaml`` describes the system hardware, including the integrator (and the name of the product node or cluster type), the processor, (optionally) the accelerator, and the network; the information included here is what you will typically see recorded about the system on Top500.org. We intend to make the system definitions in Benchpark searchable, and will add a schema to enforce consistency; until then, please copy the file and fill out all of the fields without changing the keys. Also listed is the specific system the config was developed and tested on, as well as the known systems with the same hardware so that the users of those systems can find this system specification. + +.. code-block:: yaml + + system_definition: + name: HPECray-zen3-MI250X-Slingshot + integrator: + vendor: HPECray + name: EX235a + processor: + vendor: AMD + name: EPYC-Zen3 + ISA: x86_64 + uArch: zen3 + accelerator: + vendor: AMD + name: MI250X + ISA: GCN + uArch: gfx90a + interconnect: + vendor: HPECray + name: Slingshot11 + system-tested: + site: LLNL + name: tioga + installation-year: 2022 + description: [top500](https://www.top500.org/system/180052) + top500-system-instances: + - Frontier (ORNL) + - Lumi (CSC) + - Tioga (LLNL) + + +2. ``spack.yaml`` defines default compiler and package names Spack should use to build the benchmarks on this system. ``spack.yaml`` becomes the -spack section in the `Ramble configuration file +spack section in the `Ramble configuration file `_. .. code-block:: yaml @@ -27,7 +75,7 @@ spack section in the `Ramble configuration file default-mpi: spack_spec: 'spack_spec_for_package' -2. ``variables.yaml`` defines system-specific launcher and job scheduler. +3. ``variables.yaml`` defines system-specific launcher and job scheduler. .. code-block:: yaml @@ -38,7 +86,7 @@ spack section in the `Ramble configuration file batch_ranks: '' batch_timeout: '' -3. Optionally, one can add more information about the software installed on the system +4. Optionally, one can add more information about the software installed on the system by adding Spack config files in ``benchpark/configs/${SYSTEM}/auxiliary_software_files/``. - `compilers.yaml `_ defines the compilers installed on the system. From f2a8abf5642f86a4ba5ea042b57f55c373f448e4 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Thu, 28 Dec 2023 16:40:40 -0600 Subject: [PATCH 10/26] Removing magic (#79) * Removing magic * Update packages.yaml * Update packages.yaml * Update variables.yaml * There is no way to update ats2 to new compilers without tce, abort this mission * Update packages.yaml * Update packages.yaml * Disable fortran in amg2023 * Revert "Disable fortran in amg2023". Moving it to a separate branch/PR. This reverts commit 6b1ec7d5c6bac0324f70248a9a7c0e284741ced7. * Removing definition of gcc since it does not currently work with rocm --------- Co-authored-by: Riyaz Haque --- .../auxiliary_software_files/compilers.yaml | 8 ++++---- .../auxiliary_software_files/packages.yaml | 2 +- configs/HPECray-zen3-MI250X-Slingshot/spack.yaml | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml index 5c22bf174..e3a97b0ac 100644 --- a/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml +++ b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/compilers.yaml @@ -7,10 +7,10 @@ compilers: - compiler: spec: cce@16.0.0-rocm5.5.1 paths: - cc: /usr/tce/packages/cce-tce/cce-16.0.0/bin/craycc - cxx: /usr/tce/packages/cce-tce/cce-16.0.0/bin/crayCC - f77: /usr/tce/packages/cce-tce/cce-16.0.0/bin/crayftn - fc: /usr/tce/packages/cce-tce/cce-16.0.0/bin/crayftn + cc: /opt/cray/pe/cce/16.0.0/bin/craycc + cxx: /opt/cray/pe/cce/16.0.0/bin/crayCC + f77: /opt/cray/pe/cce/16.0.0/bin/crayftn + fc: /opt/cray/pe/cce/16.0.0/bin/crayftn flags: cflags: -g -O2 cxxflags: -g -O2 -std=c++14 diff --git a/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml index 175f143dd..93d45ceea 100644 --- a/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml +++ b/configs/HPECray-zen3-MI250X-Slingshot/auxiliary_software_files/packages.yaml @@ -5,7 +5,7 @@ packages: all: - require: target=x86_64: + require: 'target=x86_64:' variants: amdgpu_target=gfx90a tar: externals: diff --git a/configs/HPECray-zen3-MI250X-Slingshot/spack.yaml b/configs/HPECray-zen3-MI250X-Slingshot/spack.yaml index e969f2fe6..570a03bae 100644 --- a/configs/HPECray-zen3-MI250X-Slingshot/spack.yaml +++ b/configs/HPECray-zen3-MI250X-Slingshot/spack.yaml @@ -9,8 +9,6 @@ spack: spack_spec: cce@16.0.0-rocm5.5.1 default-mpi: spack_spec: cray-mpich@8.1.26%cce ~gtl - compiler-gcc: - spack_spec: gcc@12.2.0 compiler-rocm: spack_spec: cce@16.0.0-rocm5.5.1 blas-rocm: From 6cf6bfc56598079cc97e77ceb70d47264f1a61df Mon Sep 17 00:00:00 2001 From: pearce8 Date: Sun, 31 Dec 2023 19:17:00 -0600 Subject: [PATCH 11/26] Spacing in system docs --- docs/add-a-system-config.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/add-a-system-config.rst b/docs/add-a-system-config.rst index 124517a3c..93504d059 100644 --- a/docs/add-a-system-config.rst +++ b/docs/add-a-system-config.rst @@ -20,10 +20,15 @@ where:: INTEGRATOR = COMPANY[_PRODUCTNAME][...] Benchpark has definitions for the following systems: + - AWS_PCluster_Hpc7a-zen4-EFA + - HPECray-zen3-MI250X-Slingshot (Frontier, Lumi, Tioga) + - IBM-power9-V100-Infiniband (Sierra) + - Penguin-icelake-OmniPath + - x86_64 (generic x86 CPU only platform) The following files are required for each system ``benchpark/configs/${SYSTEM}``: @@ -90,4 +95,4 @@ spack section in the `Ramble configuration file by adding Spack config files in ``benchpark/configs/${SYSTEM}/auxiliary_software_files/``. - `compilers.yaml `_ defines the compilers installed on the system. -- `packages.yaml `_ defines the pre-installed packages (e.g., system MPI) on the system. +- `packages.yaml `_ defines the pre-installed packages (e.g., system MPI) on the system. One way to populate this list is to find available external packages: `spack external `. From 6315e43a10781ecf6abd57aac3dda3419324a171 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Sun, 31 Dec 2023 19:26:24 -0600 Subject: [PATCH 12/26] Fix links in system docs --- docs/add-a-system-config.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/add-a-system-config.rst b/docs/add-a-system-config.rst index 93504d059..440ea771b 100644 --- a/docs/add-a-system-config.rst +++ b/docs/add-a-system-config.rst @@ -94,5 +94,5 @@ spack section in the `Ramble configuration file 4. Optionally, one can add more information about the software installed on the system by adding Spack config files in ``benchpark/configs/${SYSTEM}/auxiliary_software_files/``. -- `compilers.yaml `_ defines the compilers installed on the system. -- `packages.yaml `_ defines the pre-installed packages (e.g., system MPI) on the system. One way to populate this list is to find available external packages: `spack external `. +- ``compilers.yaml`` defines the `compilers `_ installed on the system. +- ``packages.yaml`` defines the pre-installed `packages `_ (e.g., system MPI) on the system. One way to populate this list is to find available external packages: `spack external `_. From 5d163be1138034b709f00ab8105fa3e6a01923a7 Mon Sep 17 00:00:00 2001 From: Stephanie Labasan Brink Date: Fri, 5 Jan 2024 05:29:44 -0800 Subject: [PATCH 13/26] Parse system definition yaml files to table in docs (#91) parse sys definitions yaml to table in docs - add script to parse system_definitions.yaml into csv file docs: - build also updates csv of current system definitions - expand width of webpage in custom.css to reduce left/right scroll - add new section header for available specs with page for current list of system definitions schema: - leave non-applicable fields blank instead of "None" or "" -- this will show in the table as empty - system-tested.description value should be "text " --- .../system_definition.yaml | 16 ++-- .../system_definition.yaml | 2 +- .../system_definition.yaml | 2 +- .../system_definition.yaml | 10 +-- configs/x86_64/system_definition.yaml | 32 ++++---- docs/4-benchpark-setup.rst | 2 +- docs/Makefile | 5 +- docs/_static/.gitignore | 4 - docs/_static/css/custom.css | 3 + docs/available-system-specs.rst | 18 +++++ docs/conf.py | 10 +++ docs/generate-sys-defs-list.py | 74 +++++++++++++++++++ docs/index.rst | 6 ++ docs/tables/current-system-definitions.csv | 18 +++++ 14 files changed, 165 insertions(+), 37 deletions(-) delete mode 100644 docs/_static/.gitignore create mode 100644 docs/_static/css/custom.css create mode 100644 docs/available-system-specs.rst create mode 100755 docs/generate-sys-defs-list.py create mode 100644 docs/tables/current-system-definitions.csv diff --git a/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml b/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml index 08d4e1a88..a1866d7ef 100644 --- a/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml +++ b/configs/AWS_PCluster_Hpc7a-zen4-EFA/system_definition.yaml @@ -14,17 +14,17 @@ system_definition: ISA: x86_64 uArch: zen4 accelerator: - vendor: None - name: None - ISA: None - uArch: None + vendor: + name: + ISA: + uArch: interconnect: vendor: AWS name: EFA system-tested: site: AWS - name: "" - installation-year: "" - description: [aws/hpc7a](https://aws.amazon.com/ec2/instance-types/hpc7a) + name: + installation-year: + description: aws/hpc7a top500-system-instances: - - None + - diff --git a/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml b/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml index aa4764ee7..b536608b3 100644 --- a/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml +++ b/configs/HPECray-zen3-MI250X-Slingshot/system_definition.yaml @@ -25,7 +25,7 @@ system_definition: site: LLNL name: tioga installation-year: 2022 - description: [top500](https://www.top500.org/system/180052) + description: top500 top500-system-instances: - Frontier (ORNL) - Lumi (CSC) diff --git a/configs/IBM-power9-V100-Infiniband/system_definition.yaml b/configs/IBM-power9-V100-Infiniband/system_definition.yaml index f11cfea1f..cd9fef6ed 100644 --- a/configs/IBM-power9-V100-Infiniband/system_definition.yaml +++ b/configs/IBM-power9-V100-Infiniband/system_definition.yaml @@ -25,6 +25,6 @@ system_definition: site: LLNL name: lassen installation-year: 2018 - description: [top500](https://www.top500.org/system/179398) + description: top500 top500-system-instances: - Sierra (LLNL) diff --git a/configs/Penguin-icelake-OmniPath/system_definition.yaml b/configs/Penguin-icelake-OmniPath/system_definition.yaml index 5703ff291..5f12ea160 100644 --- a/configs/Penguin-icelake-OmniPath/system_definition.yaml +++ b/configs/Penguin-icelake-OmniPath/system_definition.yaml @@ -14,10 +14,10 @@ system_definition: ISA: x86_64 uArch: icelake accelerator: - vendor: None - name: None - ISA: None - uArch: None + vendor: + name: + ISA: + uArch: interconnect: vendor: Intel name: OmniPath @@ -25,6 +25,6 @@ system_definition: site: LLNL name: magma installation-year: 2019 - description: [top500](https://www.top500.org/system/179774) + description: top500 top500-system-instances: - Magma (LLNL) diff --git a/configs/x86_64/system_definition.yaml b/configs/x86_64/system_definition.yaml index d9a9b2c79..77c303b07 100644 --- a/configs/x86_64/system_definition.yaml +++ b/configs/x86_64/system_definition.yaml @@ -6,25 +6,25 @@ system_definition: name: x86_64 integrator: - vendor: Any - name: Any + vendor: + name: processor: - vendor: Any - name: Any + vendor: + name: ISA: x86_64 - uArch: Any + uArch: accelerator: - vendor: None - name: None - ISA: None - uArch: None + vendor: + name: + ISA: + uArch: interconnect: - vendor: Any - name: Any + vendor: + name: system-tested: - site: Any - name: Any - installation-year: Any - description: Any + site: + name: + installation-year: + description: top500-system-instances: - - Many + - diff --git a/docs/4-benchpark-setup.rst b/docs/4-benchpark-setup.rst index 22ed8b62a..80b0c58ca 100644 --- a/docs/4-benchpark-setup.rst +++ b/docs/4-benchpark-setup.rst @@ -15,7 +15,7 @@ Also choose a directory for your experiment:: where: - ``benchmark/ProgrammingModel``: amg2023/openmp | amg2023/cuda | saxpy/openmp (available choices in ``benchpark/experiments``) -- ``system``: x86_64 | HPECray-zen3-MI250X-Slingshot | AWS_PCluster_Hpc7a-zen4-EFA (available choices in ``benchpark/configs``) +- ``system``: x86_64 | HPECray-zen3-MI250X-Slingshot | AWS_PCluster_Hpc7a-zen4-EFA (available choices in :doc:`available-system-specs`) This command will assemble a Ramble workspace per experiment with a configuration for the specified benchmark and system diff --git a/docs/Makefile b/docs/Makefile index d4bb2cbb9..5f3bbf02d 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -12,7 +12,10 @@ BUILDDIR = _build help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: help Makefile +systemconfigs: + ./generate-sys-defs-list.py + +.PHONY: help sysconfigs Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/docs/_static/.gitignore b/docs/_static/.gitignore deleted file mode 100644 index 5e7d2734c..000000000 --- a/docs/_static/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css new file mode 100644 index 000000000..8aa6c288f --- /dev/null +++ b/docs/_static/css/custom.css @@ -0,0 +1,3 @@ +.wy-nav-content { + max-width: 1200px !important; +} diff --git a/docs/available-system-specs.rst b/docs/available-system-specs.rst new file mode 100644 index 000000000..131025eae --- /dev/null +++ b/docs/available-system-specs.rst @@ -0,0 +1,18 @@ +.. Copyright 2023 Lawrence Livermore National Security, LLC and other + Benchpark Project Developers. See the top-level COPYRIGHT file for details. + + SPDX-License-Identifier: Apache-2.0 + +============================= +Current System Configurations +============================= + +The table below provides a directory of information for systems that have been +defined in Benchpark. The column headers in the table below are available for +use as the ``system`` parameter in Benchpark setup. See +:doc:`4-benchpark-setup` for more details. + +.. csv-table:: Current system definitions in Benchpark. + :file: tables/current-system-definitions.csv + :header-rows: 1 + :align: left diff --git a/docs/conf.py b/docs/conf.py index b605acaa2..5f7555c7a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -6,6 +6,15 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information +import subprocess + +subprocess.call( + [ + "make", + "systemconfigs", + ] +) + project = "Benchpark" copyright = "2023, LLNS LLC" author = "Olga Pearce, Alec Scott, Peter Scheibel, Greg Becker, Riyaz Haque, and Nathan Hanford" @@ -24,3 +33,4 @@ html_theme = "sphinx_rtd_theme" html_static_path = ["_static"] +html_css_files = ["css/custom.css"] diff --git a/docs/generate-sys-defs-list.py b/docs/generate-sys-defs-list.py new file mode 100755 index 000000000..0d8a4424b --- /dev/null +++ b/docs/generate-sys-defs-list.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +import yaml +import glob +import pandas as pd + + +def main(): + sysconfig_yaml_files = glob.glob( + "../configs/**/system_definition.yaml", recursive=True + ) + + df_list = [] + for f in sysconfig_yaml_files: + with open(f, "r") as stream: + try: + data = yaml.safe_load(stream) + except yaml.YAMLError as exc: + print(exc) + + tmp_df = pd.json_normalize(data, max_level=2) + df_list.append(tmp_df) + + df = pd.concat(df_list) + + # Data formatting: converts system-tested.description yaml value to rst + # format for external links + df.loc[ + df["system_definition.system-tested.description"].notna(), + "system_definition.system-tested.description", + ] = ( + "`" + + df.loc[ + df["system_definition.system-tested.description"].notna(), + "system_definition.system-tested.description", + ].astype(str) + + "`_" + ) + + # Data formatting: converts top500-system-instances yaml list to rst string + # of strings (ideally to put 1 per line) + list_of_strings = [] + for i in df["system_definition.top500-system-instances"]: + list_of_strings.append(", ".join(item for item in i if item)) + df.loc[:, "system_definition.top500-system-instances"] = list_of_strings + + # Set index to be system names + df.set_index("system_definition.name", inplace=True) + df.index.name = "" # remove system_definition.name from cell + df_tpose = df.T + + # Remove system_definition from all field names + # (e.g., system_definition.system-tested.description) + df_tpose["fielddesc"] = df_tpose.index + df_tpose[["first", ""]] = df_tpose["fielddesc"].str.split(".", n=1, expand=True) + + # Add ** to either side of field names for bold rendering in RST + df_tpose[""] = "**" + df_tpose[""] + "**" + + # Drop temporary columns + df_tpose.drop(["first", "fielddesc"], axis=1, inplace=True) + + # Replace NaN with empty string + df_tpose.fillna("", inplace=True) + + # Set index to be field names + df_tpose.set_index([""], inplace=True) + + # Write out current system definitions to CSV format + df_tpose.to_csv("tables/current-system-definitions.csv") + + +if __name__ == "__main__": + main() diff --git a/docs/index.rst b/docs/index.rst index 58ddaec74..f11128ec5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -19,6 +19,12 @@ 7-analyze-experiment FAQ-what-to-rerun +.. toctree:: + :maxdepth: 1 + :caption: Available Specifications + + available-system-specs + .. toctree:: :maxdepth: 1 :caption: Contributing diff --git a/docs/tables/current-system-definitions.csv b/docs/tables/current-system-definitions.csv new file mode 100644 index 000000000..bd088307a --- /dev/null +++ b/docs/tables/current-system-definitions.csv @@ -0,0 +1,18 @@ +,HPECray-zen3-MI250X-Slingshot,AWS_PCluster_Hpc7a-zen4-EFA,Penguin-icelake-OmniPath,x86_64,IBM-power9-V100-Infiniband +**integrator.vendor**,HPECray,AWS,PenguinComputing,,IBM +**integrator.name**,EX235a,ParallelCluster3.7.2-Hpc7a,RelionCluster,,AC922 +**processor.vendor**,AMD,AMD,Intel,,IBM +**processor.name**,EPYC-Zen3,EPYC-Zen4,XeonPlatinum924248C,,POWER9 +**processor.ISA**,x86_64,x86_64,x86_64,x86_64,ppc64le +**processor.uArch**,zen3,zen4,icelake,,power9 +**accelerator.vendor**,AMD,,,,NVIDIA +**accelerator.name**,MI250X,,,,V100 +**accelerator.ISA**,GCN,,,,PTX +**accelerator.uArch**,gfx90a,,,,sm_70 +**interconnect.vendor**,HPECray,AWS,Intel,,Mellanox +**interconnect.name**,Slingshot11,EFA,OmniPath,,EDR-Infiniband +**system-tested.site**,LLNL,AWS,LLNL,,LLNL +**system-tested.name**,tioga,,magma,,lassen +**system-tested.installation-year**,2022,,2019,,2018 +**system-tested.description**,`top500 `_,`aws/hpc7a `_,`top500 `_,,`top500 `_ +**top500-system-instances**,"Frontier (ORNL), Lumi (CSC), Tioga (LLNL)",,Magma (LLNL),,Sierra (LLNL) From 414a6d4c34d1e5f407e38d9a29097deae371147f Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sat, 6 Jan 2024 07:04:11 -0800 Subject: [PATCH 14/26] Fix Dependabot Config & Expand to Manage Python CI Deps (#94) Fix typo in dependabot config and expand to manage pip ci deps --- .github/dependabot.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1ef1752e0..1200dfd93 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,14 @@ -versions: 2 +version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" + - package-ecosystem: "pip" + directory: "/.github/workflows/requirements" + schedule: + interval: "weekly" + ignore: + # setuptools releases new versions almost daily + - dependency-name: "setuptools" + update-types: ["version-update:semver-patch"] From d6f6c11c01eea739296bc1e3e0c056e0bf16a8b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:28:50 -0800 Subject: [PATCH 15/26] Bump actions/setup-python from 4.7.1 to 5.0.0 (#103) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236...0a5c61591373683505ea898e09a3ea4f39ef2b9c) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- .github/workflows/license.yml | 2 +- .github/workflows/style.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d3dce2913..5d600af34 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,7 +12,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Setup Python - uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c with: python-version: '3.11' cache: 'pip' diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index 851f684de..31b43ae03 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Set up Python 3.11 - uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c with: python-version: '3.11' cache: 'pip' diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index d00c7af1a..71c54552b 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - name: Set up Python 3.11 - uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 + uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c with: python-version: '3.11' cache: 'pip' From 01ad760ad6aeea77014b1f14ee15278af905b82c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:29:17 -0800 Subject: [PATCH 16/26] Bump sphinx-rtd-theme from 1.3.0 to 2.0.0 in /.github/workflows/requirements (#102) Bump sphinx-rtd-theme in /.github/workflows/requirements Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.3.0 to 2.0.0. - [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst) - [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.3.0...2.0.0) --- updated-dependencies: - dependency-name: sphinx-rtd-theme dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/requirements/docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/requirements/docs.txt b/.github/workflows/requirements/docs.txt index ee2e798f6..64d0b7b88 100644 --- a/.github/workflows/requirements/docs.txt +++ b/.github/workflows/requirements/docs.txt @@ -1,3 +1,3 @@ # docs sphinx==7.2.6 -sphinx-rtd-theme==1.3.0 +sphinx-rtd-theme==2.0.0 From 20526280f4d88f0cca6638a2acac5559f2bc0925 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:29:42 -0800 Subject: [PATCH 17/26] Bump flake8 from 6.1.0 to 7.0.0 in /.github/workflows/requirements (#101) Bumps [flake8](https://github.com/pycqa/flake8) from 6.1.0 to 7.0.0. - [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0) --- updated-dependencies: - dependency-name: flake8 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/requirements/style.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/requirements/style.txt b/.github/workflows/requirements/style.txt index bf324b7a5..7cf4cdca7 100644 --- a/.github/workflows/requirements/style.txt +++ b/.github/workflows/requirements/style.txt @@ -1,2 +1,2 @@ black==23.10.1 -flake8==6.1.0 +flake8==7.0.0 From f7123e78cb69e127db1b9192634b2636ecb027f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:30:12 -0800 Subject: [PATCH 18/26] Bump actions/upload-pages-artifact from 2.0.0 to 3.0.0 (#100) Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 2.0.0 to 3.0.0. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/a753861a5debcf57bf8b404356158c8e1e33150c...0252fc4ba7626f0298f0cf00902a25c6afc77fa8) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5d600af34..2a5b08be4 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,7 +31,7 @@ jobs: sphinx-build docs/ _build - name: Upload artifact - uses: actions/upload-pages-artifact@a753861a5debcf57bf8b404356158c8e1e33150c + uses: actions/upload-pages-artifact@0252fc4ba7626f0298f0cf00902a25c6afc77fa8 if: github.ref == 'refs/heads/develop' with: path: ./_build From 856baefd867c608a429229dbf6b7ec730fcbcd08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:30:50 -0800 Subject: [PATCH 19/26] Bump actions/deploy-pages from 2.0.4 to 4.0.2 (#99) Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 2.0.4 to 4.0.2. - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/9dbe3824824f8a1377b8e298bafde1a50ede43e5...7a9bd943aa5e5175aeb8502edcc6c1c02d398e10) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2a5b08be4..120bcb5f2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -52,4 +52,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@9dbe3824824f8a1377b8e298bafde1a50ede43e5 + uses: actions/deploy-pages@7a9bd943aa5e5175aeb8502edcc6c1c02d398e10 From 1163189d5656bba316110af8bc8c28d62d9bf659 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:32:28 -0800 Subject: [PATCH 20/26] Bump actions/configure-pages from 3.0.6 to 4.0.0 (#97) Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 3.0.6 to 4.0.0. - [Release notes](https://github.com/actions/configure-pages/releases) - [Commits](https://github.com/actions/configure-pages/compare/f156874f8191504dae5b037505266ed5dda6c382...1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d) --- updated-dependencies: - dependency-name: actions/configure-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 120bcb5f2..9dae5adaf 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: - name: Setup GitHub Pages id: pages - uses: actions/configure-pages@f156874f8191504dae5b037505266ed5dda6c382 + uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d - name: Install Sphinx and Theme via Pip run: | From 06954d7ae700434a6f9e50227878d104c495cb39 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 6 Jan 2024 08:35:21 -0800 Subject: [PATCH 21/26] Bump black from 23.10.1 to 23.12.1 in /.github/workflows/requirements (#98) Bumps [black](https://github.com/psf/black) from 23.10.1 to 23.12.1. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/23.10.1...23.12.1) --- updated-dependencies: - dependency-name: black dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/requirements/style.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/requirements/style.txt b/.github/workflows/requirements/style.txt index 7cf4cdca7..194918191 100644 --- a/.github/workflows/requirements/style.txt +++ b/.github/workflows/requirements/style.txt @@ -1,2 +1,2 @@ -black==23.10.1 +black==23.12.1 flake8==7.0.0 From 064a864777d4e0f55a073b257f643dd919e275a6 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sat, 6 Jan 2024 12:11:34 -0800 Subject: [PATCH 22/26] Add Nightly CI to Continually Test Benchmark Builds and Runs (#95) Add Nightly CI to continually test benchmark builds and runs Co-authored-by: pearce8 --- .github/workflows/nightly.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/nightly.yml diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 000000000..f63f2601e --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,13 @@ +name: nightly +on: + schedule: + - cron: '0 14 * * *' + +#------------------------------------------------------------------------ +# Execute a nightly CI run to verify benchmarks continue to build & run +# sucessfully. Will also update the CI buildcache to minimize build +# times in PRs. +#------------------------------------------------------------------------ +jobs: + run: + uses: ./.github/workflows/run.yml From 254eb3f07886205f624757edf78c3bc9295961dd Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 8 Jan 2024 05:19:27 -0800 Subject: [PATCH 23/26] Save Workspace Archive as CI Artifact (#96) * Save workspace archive as CI artifact * Fix typo in action path and add debug list view * Add working directory to steps * Modify working directory path for artifact upload * Remove debug list statement --- .github/workflows/run.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 4a94e5b4a..40d70a791 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -61,6 +61,23 @@ jobs: --disable-logger \ workspace analyze + - name: Archive Experiment Workspace + working-directory: ./workspace/saxpy/openmp/x86_64/workspace/ + if: always() + run: | + ramble \ + --workspace-dir . \ + --disable-progress-bar \ + --disable-logger \ + workspace archive + + - name: Upload Workspace Archive as CI Artifact + if: always() + uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 + with: + name: workspace-archive + path: './workspace/saxpy/openmp/x86_64/workspace/archive/**' + - name: Upload Binaries to CI Cache if: github.ref == 'refs/heads/develop' run: | From d389f4f9909b225c116cb9c198316f1a161ea801 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 8 Jan 2024 05:27:17 -0800 Subject: [PATCH 24/26] Run `isort` and `codespell` Against Repo & Add to CI (#104) * Add and run isort & codespell against python files * Add codespell check to docs * Don't run on build html docs * Ignore files in docs/_static * Add relative start to codespell config --------- Co-authored-by: pearce8 --- .github/workflows/bin/license | 2 +- .github/workflows/docs.yml | 4 ++++ .github/workflows/requirements/docs.txt | 1 + .github/workflows/requirements/style.txt | 2 ++ .github/workflows/style.yml | 4 +++- bin/benchpark | 6 +++--- docs/generate-sys-defs-list.py | 3 ++- pyproject.toml | 10 ++++++++++ repo/amg2023/application.py | 3 ++- repo/cray-mpich/package.py | 1 + repo/cublas/package.py | 1 + repo/hypre/package.py | 3 ++- repo/lapack-xl/package.py | 1 + repo/lbann/application.py | 3 ++- repo/raja-perf/application.py | 3 ++- repo/raja-perf/package.py | 6 +++--- repo/rocblas/package.py | 1 + repo/rocsolver/package.py | 1 + repo/saxpy/application.py | 3 ++- repo/saxpy/package.py | 4 +++- 20 files changed, 47 insertions(+), 15 deletions(-) diff --git a/.github/workflows/bin/license b/.github/workflows/bin/license index 1d51b734c..1dd37f974 100644 --- a/.github/workflows/bin/license +++ b/.github/workflows/bin/license @@ -9,8 +9,8 @@ from __future__ import print_function import os import re -from collections import defaultdict import sys +from collections import defaultdict #: SPDX license id must appear in the first lines of a file license_lines = 7 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9dae5adaf..5d75406e2 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -30,6 +30,10 @@ jobs: run: | sphinx-build docs/ _build + - name: Check for Typos using Codespell + run: | + codespell + - name: Upload artifact uses: actions/upload-pages-artifact@0252fc4ba7626f0298f0cf00902a25c6afc77fa8 if: github.ref == 'refs/heads/develop' diff --git a/.github/workflows/requirements/docs.txt b/.github/workflows/requirements/docs.txt index 64d0b7b88..6078a7a31 100644 --- a/.github/workflows/requirements/docs.txt +++ b/.github/workflows/requirements/docs.txt @@ -1,3 +1,4 @@ # docs sphinx==7.2.6 sphinx-rtd-theme==2.0.0 +codespell==2.2.6 diff --git a/.github/workflows/requirements/style.txt b/.github/workflows/requirements/style.txt index 194918191..724370591 100644 --- a/.github/workflows/requirements/style.txt +++ b/.github/workflows/requirements/style.txt @@ -1,2 +1,4 @@ black==23.12.1 flake8==7.0.0 +isort==5.13.2 +codespell==2.2.6 diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 71c54552b..5d250cab0 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -21,7 +21,9 @@ jobs: run: | pip install -r .github/workflows/requirements/style.txt - - name: Lint and Format Check with Flake8 and Black + - name: Lint and Format Check run: | black --diff --check . + codespell + isort flake8 diff --git a/bin/benchpark b/bin/benchpark index 31a7bc8d9..f81ba080d 100755 --- a/bin/benchpark +++ b/bin/benchpark @@ -6,11 +6,11 @@ # SPDX-License-Identifier: Apache-2.0 import argparse -import subprocess -import pathlib import os -import shutil +import pathlib import shlex +import shutil +import subprocess import sys DEBUG = False diff --git a/docs/generate-sys-defs-list.py b/docs/generate-sys-defs-list.py index 0d8a4424b..f96cce0c4 100755 --- a/docs/generate-sys-defs-list.py +++ b/docs/generate-sys-defs-list.py @@ -1,8 +1,9 @@ #!/usr/bin/env python3 -import yaml import glob + import pandas as pd +import yaml def main(): diff --git a/pyproject.toml b/pyproject.toml index 68cd8ae59..f787664d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ requires-python = ">=3.8" [tool.black] line-length = 88 +color = true target-version = ['py38', 'py39', 'py310', 'py311'] include = '\.pyi?$|bin\/benchpark' exclude = ''' @@ -23,3 +24,12 @@ exclude = ''' | repo )/ ''' + +[tool.isort] +profile = "black" +skip_gitignore = true +color_output = true + +[tool.codespell] +skip = './_build,./docs/_static' +ignore-words-list = 'fom' diff --git a/repo/amg2023/application.py b/repo/amg2023/application.py index 3baef63b4..7713f9ab6 100644 --- a/repo/amg2023/application.py +++ b/repo/amg2023/application.py @@ -3,9 +3,10 @@ # # SPDX-License-Identifier: Apache-2.0 +import sys + from ramble.appkit import * -import sys class Amg2023(SpackApplication): """AMG2023 benchmark""" diff --git a/repo/cray-mpich/package.py b/repo/cray-mpich/package.py index 46bbba1da..dcd820924 100644 --- a/repo/cray-mpich/package.py +++ b/repo/cray-mpich/package.py @@ -6,6 +6,7 @@ from spack.package import * from spack.pkg.builtin.cray_mpich import CrayMpich as BuiltinCM + class CrayMpich(BuiltinCM): variant("gtl", default=False, description="enable GPU-aware mode") diff --git a/repo/cublas/package.py b/repo/cublas/package.py index 91aa07e0d..80b09f4fa 100644 --- a/repo/cublas/package.py +++ b/repo/cublas/package.py @@ -5,6 +5,7 @@ from spack.package import * + class Cublas(Package): provides("blas") diff --git a/repo/hypre/package.py b/repo/hypre/package.py index 7255e10d5..359536004 100644 --- a/repo/hypre/package.py +++ b/repo/hypre/package.py @@ -3,10 +3,11 @@ # # SPDX-License-Identifier: Apache-2.0 +import os + from spack.package import * from spack.pkg.builtin.hypre import Hypre as BuiltinHypre -import os class Hypre(BuiltinHypre): requires("+rocm", when="^rocblas") diff --git a/repo/lapack-xl/package.py b/repo/lapack-xl/package.py index 4b4cdee0a..3f8ae6cf6 100644 --- a/repo/lapack-xl/package.py +++ b/repo/lapack-xl/package.py @@ -5,6 +5,7 @@ from spack.package import * + class LapackXl(Package): provides("lapack") diff --git a/repo/lbann/application.py b/repo/lbann/application.py index 7675beb1e..4d87357bc 100644 --- a/repo/lbann/application.py +++ b/repo/lbann/application.py @@ -3,9 +3,10 @@ # # SPDX-License-Identifier: Apache-2.0 +import sys + from ramble.appkit import * -import sys class LBANN(SpackApplication): """LBANN benchmark""" diff --git a/repo/raja-perf/application.py b/repo/raja-perf/application.py index 42864ecba..6d028a275 100644 --- a/repo/raja-perf/application.py +++ b/repo/raja-perf/application.py @@ -3,9 +3,10 @@ # # SPDX-License-Identifier: Apache-2.0 +import sys + from ramble.appkit import * -import sys class RajaPerf(SpackApplication): """RAJA Performance suite""" diff --git a/repo/raja-perf/package.py b/repo/raja-perf/package.py index 9e2b8d02e..8558b47bd 100644 --- a/repo/raja-perf/package.py +++ b/repo/raja-perf/package.py @@ -3,16 +3,16 @@ # # SPDX-License-Identifier: Apache-2.0 -import os -import socket import glob +import os import re - +import socket from os import environ as env from os.path import join as pjoin from spack import * + def spec_uses_toolchain(spec): gcc_toolchain_regex = re.compile(".*gcc-toolchain.*") using_toolchain = list(filter(gcc_toolchain_regex.match, spec.compiler_flags["cxxflags"])) diff --git a/repo/rocblas/package.py b/repo/rocblas/package.py index 084a88276..cb20d2ad1 100644 --- a/repo/rocblas/package.py +++ b/repo/rocblas/package.py @@ -6,6 +6,7 @@ from spack.package import * from spack.pkg.builtin.rocblas import Rocblas as BuiltinRocblas + class Rocblas(BuiltinRocblas): provides("blas") diff --git a/repo/rocsolver/package.py b/repo/rocsolver/package.py index 1a3b33539..24b1f593e 100644 --- a/repo/rocsolver/package.py +++ b/repo/rocsolver/package.py @@ -6,6 +6,7 @@ from spack.package import * from spack.pkg.builtin.rocsolver import Rocsolver as BuiltinRocsolver + class Rocsolver(BuiltinRocsolver): provides("lapack") diff --git a/repo/saxpy/application.py b/repo/saxpy/application.py index 19ea06c80..0fd12db01 100644 --- a/repo/saxpy/application.py +++ b/repo/saxpy/application.py @@ -3,9 +3,10 @@ # # SPDX-License-Identifier: Apache-2.0 +import sys + from ramble.appkit import * -import sys class Saxpy(SpackApplication): """saxpy benchmark""" diff --git a/repo/saxpy/package.py b/repo/saxpy/package.py index 2e96ea643..7e36aa00e 100644 --- a/repo/saxpy/package.py +++ b/repo/saxpy/package.py @@ -3,10 +3,12 @@ # # SPDX-License-Identifier: Apache-2.0 -from spack.package import * import os import shutil + import spack.repo +from spack.package import * + class Saxpy(CMakePackage, CudaPackage, ROCmPackage): """Test saxpy problem.""" From 35c2b9efdb50a8095917aba4fb039c0fd7974404 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 8 Jan 2024 05:31:21 -0800 Subject: [PATCH 25/26] Automatically Label PRs Based on Files Changed (#105) * Automatically label PRs based on files changed * Move labeler to it's a pull_request_target execution script * Fix name of job to match others more closely * Change name of label check to make the interface more understandable * Add note about security * Remove github_actions label as redundant * Fix comment styling --------- Co-authored-by: pearce8 --- .github/labeler.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/label.yml | 21 +++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/label.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..46a1206f2 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,31 @@ +application: +- changed-files: + - any-glob-to-any-file: + - repo/** + +ci: +- changed-files: + - any-glob-to-any-file: + - .github/** + +configs: +- changed-files: + - any-glob-to-any-file: + - configs/** + +dependencies: +- changed-files: + - any-glob-to-any-file: + - .github/worklflows/requirements/** + - pyproject.toml + +docs: +- changed-files: + - any-glob-to-any-file: + - docs/** + - README.rst + +experiment: +- changed-files: + - any-glob-to-any-file: + - experiments/** diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml new file mode 100644 index 000000000..8a5a17c4e --- /dev/null +++ b/.github/workflows/label.yml @@ -0,0 +1,21 @@ +#----------------------------------------------------------------------- +# DO NOT modify unless you really know what you are doing. +# +# See https://stackoverflow.com/a/74959635 for more info. +# Talk to @alecbcs if you have questions/are not sure of a change's +# possible impact to security. +#----------------------------------------------------------------------- +name: label +on: + pull_request_target: + branches: + - develop + +jobs: + pr: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 From f6a148225998e4842c248d84590f2f3e27fdd9a8 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 8 Jan 2024 05:32:48 -0800 Subject: [PATCH 26/26] Clean up legacy manual workflow calls (#106) Co-authored-by: pearce8 --- .github/workflows/docs.yml | 2 -- .github/workflows/license.yml | 2 -- .github/workflows/run.yml | 2 -- .github/workflows/style.yml | 2 -- 4 files changed, 8 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 5d75406e2..70cb4d618 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,7 +1,5 @@ name: Build & Deploy docs site to GitHub Pages on: - # This Workflow can be triggered manually - workflow_dispatch: workflow_call: jobs: diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml index 31b43ae03..a43d7ae4f 100644 --- a/.github/workflows/license.yml +++ b/.github/workflows/license.yml @@ -1,7 +1,5 @@ name: License Checks on: - # This Workflow can be triggered manually - workflow_dispatch: workflow_call: jobs: diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 40d70a791..f19f4f13b 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -1,7 +1,5 @@ name: Run Benchpark and Simple Benchmark Suite on: - # This Workflow can be triggered manually - workflow_dispatch: workflow_call: jobs: diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 5d250cab0..a4543f2fc 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -1,7 +1,5 @@ name: Linting & Style Checks on: - # This Workflow can be triggered manually - workflow_dispatch: workflow_call: jobs: