From 2ded607ffa3cf482ddd34f9688e43330e17c6de8 Mon Sep 17 00:00:00 2001 From: "Olga T. Pearce" Date: Thu, 29 Feb 2024 19:27:38 -0800 Subject: [PATCH 01/11] Caliperizing stream --- repo/stream/package.py | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 repo/stream/package.py diff --git a/repo/stream/package.py b/repo/stream/package.py new file mode 100644 index 000000000..842a9b2e8 --- /dev/null +++ b/repo/stream/package.py @@ -0,0 +1,69 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Stream(MakefilePackage): + """The STREAM benchmark is a simple synthetic benchmark program that + measures sustainable memory bandwidth (in MB/s) and the corresponding + computation rate for simple vector kernels.""" + + homepage = "https://www.cs.virginia.edu/stream/ref.html" + git = "https://github.com/jeffhammond/STREAM.git" + + version("5.10") + + variant("openmp", default=False, description="Build with OpenMP support") + + variant("stream_array_size", default="none", description="Size of work arrays in elements") + variant( + "ntimes", + default="none", + description='STREAM runs each kernel "NTIMES" times and reports the *best* result', + ) + variant("offset", default="none", description="Relative alignment between arrays") + variant( + "stream_type", + default="none", + values=("none", "float", "double", "int", "long"), + description="Datatype of arrays elements", + ) + + def edit(self, spec, prefix): + makefile = FileFilter("Makefile") + + # Use the Spack compiler wrappers + makefile.filter("CC = .*", "CC = {0}".format(spack_cc)) + makefile.filter("FC = .*", "FC = {0}".format(spack_f77)) + + cflags = "-O2" + fflags = "-O2" + if "+openmp" in self.spec: + cflags += " " + self.compiler.openmp_flag + fflags += " " + self.compiler.openmp_flag + if "%aocc" in self.spec: + cflags += " -mcmodel=large -ffp-contract=fast -fnt-store" + + if self.spec.variants["stream_array_size"].value != "none": + cflags += " -DSTREAM_ARRAY_SIZE={0}".format( + self.spec.variants["stream_array_size"].value + ) + if self.spec.variants["ntimes"].value != "none": + cflags += " -DNTIMES={0}".format(self.spec.variants["ntimes"].value) + if self.spec.variants["offset"].value != "none": + cflags += " -DOFFSET={0}".format(self.spec.variants["offset"].value) + if self.spec.variants["stream_type"].value != "none": + cflags += " -DSTREAM_TYPE={0}".format(self.spec.variants["stream_type"].value) + + # Set the appropriate flags for this compiler + makefile.filter("CFLAGS = .*", "CFLAGS = {0}".format(cflags)) + makefile.filter("FFLAGS = .*", "FFLAGS = {0}".format(fflags)) + + def install(self, spec, prefix): + # Manual installation + mkdir(prefix.bin) + install("stream_c.exe", prefix.bin) + install("stream_f.exe", prefix.bin) From 18fb8532c828e3dce910710c964131d2af64d8cb Mon Sep 17 00:00:00 2001 From: "Olga T. Pearce" Date: Thu, 29 Feb 2024 19:49:07 -0800 Subject: [PATCH 02/11] license --- repo/stream/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repo/stream/package.py b/repo/stream/package.py index 842a9b2e8..bb32f0d9c 100644 --- a/repo/stream/package.py +++ b/repo/stream/package.py @@ -1,7 +1,7 @@ -# Copyright 2013-2024 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 from spack.package import * From 01efac6c5b0485c36de57650c7c71abb78b2d1a6 Mon Sep 17 00:00:00 2001 From: David Boehme Date: Fri, 1 Mar 2024 11:20:39 -0800 Subject: [PATCH 03/11] Add +caliper option for STREAM package.py --- repo/stream/package.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/repo/stream/package.py b/repo/stream/package.py index bb32f0d9c..cda2c4140 100644 --- a/repo/stream/package.py +++ b/repo/stream/package.py @@ -14,7 +14,9 @@ class Stream(MakefilePackage): homepage = "https://www.cs.virginia.edu/stream/ref.html" git = "https://github.com/jeffhammond/STREAM.git" - version("5.10") + version("5.10-caliper", git="https://github.com/daboehme/STREAM.git", + branch="caliper-support") + version("5.10", preferred=True) variant("openmp", default=False, description="Build with OpenMP support") @@ -31,6 +33,12 @@ class Stream(MakefilePackage): values=("none", "float", "double", "int", "long"), description="Datatype of arrays elements", ) + variant("caliper", default=False, description="Enable Caliper/Adiak support") + + requires("@5.10-caliper", when="+caliper") + + depends_on("caliper", when="+caliper") + depends_on("adiak@0.4:", when="+caliper") def edit(self, spec, prefix): makefile = FileFilter("Makefile") @@ -46,6 +54,12 @@ def edit(self, spec, prefix): fflags += " " + self.compiler.openmp_flag if "%aocc" in self.spec: cflags += " -mcmodel=large -ffp-contract=fast -fnt-store" + if "+caliper" in self.spec: + cflags += " -DSTREAM_ENABLE_CALIPER" + cflags += " -I{0}".format(self.spec["adiak"].prefix.include) + cflags += " -I{0}".format(self.spec["caliper"].prefix.include) + cflags += " -L{0} -ladiak".format(self.spec["adiak"].prefix.lib) + cflags += " -L{0} -lcaliper".format(self.spec["caliper"].prefix.lib64) if self.spec.variants["stream_array_size"].value != "none": cflags += " -DSTREAM_ARRAY_SIZE={0}".format( From 5cd545348293ea8b7edf5a32752c7573d43d3110 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Wed, 6 Mar 2024 09:31:54 -0800 Subject: [PATCH 04/11] stream openmp config --- .../auxiliary_software_files/packages.yaml | 5 +++++ .../spack.yaml | 2 ++ .../auxiliary_software_files/packages.yaml | 2 ++ .../spack.yaml | 2 ++ .../spack.yaml | 2 ++ experiments/stream/openmp/ramble.yaml | 13 ++++++++----- 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/auxiliary_software_files/packages.yaml b/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/auxiliary_software_files/packages.yaml index 1daf4b719..aa98751fd 100644 --- a/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/auxiliary_software_files/packages.yaml +++ b/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/auxiliary_software_files/packages.yaml @@ -27,6 +27,11 @@ packages: externals: - spec: autoconf@2.69 prefix: /usr + python: + externals: + - spec: python@3.10.8 + prefix: /usr/tce/packages/python/python-3.10.8 + buildable: false mpi: buildable: false mvapich2: diff --git a/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/spack.yaml b/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/spack.yaml index 1f15be61d..fb400531c 100644 --- a/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/spack.yaml +++ b/configs/LLNL-Pascal-Penguin-broadwell-P100-OmniPath/spack.yaml @@ -15,6 +15,8 @@ spack: spack_spec: clang@=14.0.6 mpi-clang: spack_spec: mvapich2@2.3.7-clang-14.0.6 + mpi-gcc: + spack_spec: mvapich2@2.3.7-gcc-11.2.1 blas: spack_spec: intel-oneapi-mkl@2022.1.0 cublas-cuda: diff --git a/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml b/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml index 61c85f62d..859afa32c 100644 --- a/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml +++ b/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/auxiliary_software_files/packages.yaml @@ -84,4 +84,6 @@ packages: prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-clang-16.0.6-cuda-11.8.0-gcc-11.2.1 extra_attributes: ldflags: "-lmpiprofilesupport -lmpi_ibm_usempi -lmpi_ibm_mpifh -lmpi_ibm" + - spec: spectrum-mpi@2022.08.19-gcc-8.3.1 + prefix: /usr/tce/packages/spectrum-mpi/spectrum-mpi-rolling-release-gcc-8.3.1 buildable: false diff --git a/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/spack.yaml b/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/spack.yaml index ed1edcb60..8ba12f63b 100644 --- a/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/spack.yaml +++ b/configs/LLNL-Sierra-IBM-power9-V100-Infiniband/spack.yaml @@ -15,6 +15,8 @@ spack: spack_spec: clang@16.0.6-cuda{default_cuda_version} mpi-clang: spack_spec: spectrum-mpi@2022.08.19-clang16.0.6-cuda-{default_cuda_version} + mpi-gcc: + spack_spec: spectrum-mpi@2022.08.19-gcc-8.3.1 blas: spack_spec: cublas@11.8.0 cublas-cuda: diff --git a/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml b/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml index 0b96b4d54..9e99d6397 100644 --- a/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml +++ b/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml @@ -13,6 +13,8 @@ spack: spack_spec: cce@16 compiler-amdclang: spack_spec: clang@16.0.0-rocm5.5.1 + compiler-gcc: + spack_spec: gcc@12.2.0 blas-rocm: spack_spec: rocblas@5.5 blas: diff --git a/experiments/stream/openmp/ramble.yaml b/experiments/stream/openmp/ramble.yaml index da4112483..0b8ce39f9 100644 --- a/experiments/stream/openmp/ramble.yaml +++ b/experiments/stream/openmp/ramble.yaml @@ -7,6 +7,7 @@ ramble: include: - ./configs/spack.yaml - ./configs/variables.yaml + - ./configs/modifier.yaml config: deprecated: true @@ -15,8 +16,8 @@ ramble: concretize: '-U -f' variables: - n_times: ['20', '35'] - array_size: ['80000000', '1280000000'] + n_times: ['35'] + array_size: ['128000000'] applications: streamc: @@ -33,7 +34,7 @@ ramble: env_name: 'stream_{array_size}_{n_times}' processes_per_node: '1' n_nodes: '1' - n_threads: ['8', '16', '32'] + n_threads: ['32'] matrix: - n_threads @@ -41,9 +42,11 @@ ramble: concretized: true packages: stream_{array_size}_{n_times}: - spack_spec: 'stream@5.10 +openmp stream_array_size={array_size} ntimes={n_times} cflags="-mcmodel=medium -Ofast -flto"' - compiler: default-compiler + spack_spec: 'stream@5.10 +openmp{modifier_spack_variant} stream_array_size={array_size} ntimes={n_times}' + compiler: compiler-gcc environments: stream_{array_size}_{n_times}: packages: - stream_{array_size}_{n_times} + - mpi-gcc + - '{modifier_package_name}' From 938c756423e84145143db2e1bcc9c0823123cb82 Mon Sep 17 00:00:00 2001 From: David Boehme Date: Mon, 18 Mar 2024 18:00:38 -0700 Subject: [PATCH 05/11] Update stream --- experiments/stream/openmp/ramble.yaml | 10 ++-- repo/stream/package.py | 80 ++++++--------------------- 2 files changed, 21 insertions(+), 69 deletions(-) diff --git a/experiments/stream/openmp/ramble.yaml b/experiments/stream/openmp/ramble.yaml index 0b8ce39f9..0ece17963 100644 --- a/experiments/stream/openmp/ramble.yaml +++ b/experiments/stream/openmp/ramble.yaml @@ -31,7 +31,7 @@ ramble: experiments: stream_{array_size}_{n_times}_{n_threads}: variables: - env_name: 'stream_{array_size}_{n_times}' + env_name: 'stream' processes_per_node: '1' n_nodes: '1' n_threads: ['32'] @@ -41,12 +41,12 @@ ramble: spack: concretized: true packages: - stream_{array_size}_{n_times}: - spack_spec: 'stream@5.10 +openmp{modifier_spack_variant} stream_array_size={array_size} ntimes={n_times}' + stream: + spack_spec: 'stream@5.10-caliper' compiler: compiler-gcc environments: - stream_{array_size}_{n_times}: + stream: packages: - - stream_{array_size}_{n_times} + - stream - mpi-gcc - '{modifier_package_name}' diff --git a/repo/stream/package.py b/repo/stream/package.py index cda2c4140..b67d4c623 100644 --- a/repo/stream/package.py +++ b/repo/stream/package.py @@ -1,38 +1,25 @@ -# Copyright 2023 Lawrence Livermore National Security, LLC and other -# Benchpark Project Developers. See the top-level COPYRIGHT file for details. +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. # -# SPDX-License-Identifier: Apache-2.0 +# SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack.package import * - -class Stream(MakefilePackage): +class Stream(CMakePackage): """The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s) and the corresponding - computation rate for simple vector kernels.""" + computation rate for simple vector kernels. + + This package builds a fork of the official code with Caliper support, + a CMake build system, and the ability to configure settings + (array size, iterations, offset) at runtime via the command line.""" homepage = "https://www.cs.virginia.edu/stream/ref.html" - git = "https://github.com/jeffhammond/STREAM.git" + git = "https://github.com/daboehme/STREAM.git" version("5.10-caliper", git="https://github.com/daboehme/STREAM.git", - branch="caliper-support") - version("5.10", preferred=True) + branch="caliper-benchpark") - variant("openmp", default=False, description="Build with OpenMP support") - - variant("stream_array_size", default="none", description="Size of work arrays in elements") - variant( - "ntimes", - default="none", - description='STREAM runs each kernel "NTIMES" times and reports the *best* result', - ) - variant("offset", default="none", description="Relative alignment between arrays") - variant( - "stream_type", - default="none", - values=("none", "float", "double", "int", "long"), - description="Datatype of arrays elements", - ) variant("caliper", default=False, description="Enable Caliper/Adiak support") requires("@5.10-caliper", when="+caliper") @@ -40,44 +27,9 @@ class Stream(MakefilePackage): depends_on("caliper", when="+caliper") depends_on("adiak@0.4:", when="+caliper") - def edit(self, spec, prefix): - makefile = FileFilter("Makefile") - - # Use the Spack compiler wrappers - makefile.filter("CC = .*", "CC = {0}".format(spack_cc)) - makefile.filter("FC = .*", "FC = {0}".format(spack_f77)) - - cflags = "-O2" - fflags = "-O2" - if "+openmp" in self.spec: - cflags += " " + self.compiler.openmp_flag - fflags += " " + self.compiler.openmp_flag - if "%aocc" in self.spec: - cflags += " -mcmodel=large -ffp-contract=fast -fnt-store" - if "+caliper" in self.spec: - cflags += " -DSTREAM_ENABLE_CALIPER" - cflags += " -I{0}".format(self.spec["adiak"].prefix.include) - cflags += " -I{0}".format(self.spec["caliper"].prefix.include) - cflags += " -L{0} -ladiak".format(self.spec["adiak"].prefix.lib) - cflags += " -L{0} -lcaliper".format(self.spec["caliper"].prefix.lib64) - - if self.spec.variants["stream_array_size"].value != "none": - cflags += " -DSTREAM_ARRAY_SIZE={0}".format( - self.spec.variants["stream_array_size"].value - ) - if self.spec.variants["ntimes"].value != "none": - cflags += " -DNTIMES={0}".format(self.spec.variants["ntimes"].value) - if self.spec.variants["offset"].value != "none": - cflags += " -DOFFSET={0}".format(self.spec.variants["offset"].value) - if self.spec.variants["stream_type"].value != "none": - cflags += " -DSTREAM_TYPE={0}".format(self.spec.variants["stream_type"].value) - - # Set the appropriate flags for this compiler - makefile.filter("CFLAGS = .*", "CFLAGS = {0}".format(cflags)) - makefile.filter("FFLAGS = .*", "FFLAGS = {0}".format(fflags)) + def cmake_args(self): + args = [ + self.define_from_variant("STREAM_ENABLE_CALIPER", "caliper") + ] - def install(self, spec, prefix): - # Manual installation - mkdir(prefix.bin) - install("stream_c.exe", prefix.bin) - install("stream_f.exe", prefix.bin) + return args From d5cc1bdd7cea412187e739697dec07ff8357e775 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Wed, 20 Mar 2024 16:35:44 -0700 Subject: [PATCH 06/11] Fix stream ramble config --- experiments/stream/openmp/ramble.yaml | 13 ++-- repo/stream/application.py | 107 ++++++++++++++++++++++++++ 2 files changed, 114 insertions(+), 6 deletions(-) create mode 100644 repo/stream/application.py diff --git a/experiments/stream/openmp/ramble.yaml b/experiments/stream/openmp/ramble.yaml index 0ece17963..b5f4c9a16 100644 --- a/experiments/stream/openmp/ramble.yaml +++ b/experiments/stream/openmp/ramble.yaml @@ -16,20 +16,21 @@ ramble: concretize: '-U -f' variables: - n_times: ['35'] - array_size: ['128000000'] + n: ['35'] + s: ['128000000'] + o: ['0'] applications: - streamc: + stream: workloads: - streamc: + stream: env_vars: set: OMP_NUM_THREADS: '{n_threads}' variables: n_ranks: '1' experiments: - stream_{array_size}_{n_times}_{n_threads}: + stream_{s}_{o}_{n}_{n_threads}: variables: env_name: 'stream' processes_per_node: '1' @@ -42,7 +43,7 @@ ramble: concretized: true packages: stream: - spack_spec: 'stream@5.10-caliper' + spack_spec: 'stream@5.10-caliper{modifier_spack_variant}' compiler: compiler-gcc environments: stream: diff --git a/repo/stream/application.py b/repo/stream/application.py new file mode 100644 index 000000000..25ea89efa --- /dev/null +++ b/repo/stream/application.py @@ -0,0 +1,107 @@ +# Copyright 2022-2024 Google LLC +# +# 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. + +import os +from ramble.appkit import * +from ramble.expander import Expander + + +class Stream(SpackApplication): + '''Define STREAM application''' + name = 'stream' + + maintainers('dodecatheon') + + tags('memorybenchmark', 'microbenchmark', 'memory-benchmark', 'micro-benchmark') + + default_compiler('gcc12', spack_spec='gcc@12.2.0') + + software_spec('stream', + spack_spec='stream@5.10 +openmp cflags="-O3 -DSTREAM_ARRAY_SIZE=80000000 -DNTIMES=20"', + compiler='gcc12') + + required_package('stream') + + executable('execute', 'stream') + + workload('stream', executable='execute') + + workload_variable('n', default='10', description='NTIMES', workloads=['stream']) + workload_variable('s', default='10000000', description='STREAM_ARRAY_SIZE', workloads=['stream']) + workload_variable('o', default='0', description='OFFSET', workloads=['stream']) + + log_file = os.path.join(Expander.expansion_str('experiment_run_dir'), + Expander.expansion_str('experiment_name') + '.out') + + success_criteria('valid', mode='string', + match=r'Solution Validates: avg error less than 1.000000e-13 on all three arrays', + file=log_file) + + figure_of_merit("Array size", + log_file=log_file, + fom_regex=r'Array size\s+\=\s+(?P[0-9]+)', + group_name='array_size', + units='elements') + + figure_of_merit("Array memory", + log_file=log_file, + fom_regex=r'Memory per array\s+\=\s+(?P[0-9]+)\.*[0-9]*', + group_name='array_mem', + units='MiB') + + figure_of_merit("Total memory", + log_file=log_file, + fom_regex=r'Total memory required\s+\=\s+(?P[0-9]+\.*[0-9]*)', + group_name='total_mem', + units='MiB') + + figure_of_merit("Number of iterations per thread", + log_file=log_file, + fom_regex=r'Each kernel will be executed\s+(?P[0-9]+)', + group_name='n_times', + units='') + + figure_of_merit("Number of threads", + log_file=log_file, + fom_regex=r'Number of Threads counted\s+\=\s+(?P[0-9]+\.*[0-9]*)', + group_name='n_threads', + units='') + + for opName in ['Copy', 'Scale', 'Add', 'Triad']: + + opname = opName.lower() + + opregex = (r'^' + opName + r':' + + r'\s+(?P<' + opname + r'_top_rate>[0-9]+\.[0-9]*)' + + r'\s+(?P<' + opname + r'_avg_time>[0-9]+\.[0-9]*)' + + r'\s+(?P<' + opname + r'_min_time>[0-9]+\.[0-9]*)' + + r'\s+(?P<' + opname + r'_max_time>[0-9]+\.[0-9]*)') + + figure_of_merit(opName + ' top rate', + log_file=log_file, + fom_regex=opregex, + group_name=(opname + '_top_rate'), + units='MB/s') + + figure_of_merit(opName + ' average time', + log_file=log_file, + fom_regex=opregex, + group_name=(opname + '_avg_time'), + units='s') + + figure_of_merit(opName + ' min time', + log_file=log_file, + fom_regex=opregex, + group_name=(opname + '_min_time'), + units='s') + + figure_of_merit(opName + ' max time', + log_file=log_file, + fom_regex=opregex, + group_name=(opname + '_max_time'), + units='s') From ea7a04ff5e3d662599b7eea48fbc6788cdb4e304 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Thu, 21 Mar 2024 13:51:25 -0700 Subject: [PATCH 07/11] Add multiple sizes --- experiments/stream/openmp/ramble.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/experiments/stream/openmp/ramble.yaml b/experiments/stream/openmp/ramble.yaml index b5f4c9a16..a5901ec95 100644 --- a/experiments/stream/openmp/ramble.yaml +++ b/experiments/stream/openmp/ramble.yaml @@ -16,9 +16,9 @@ ramble: concretize: '-U -f' variables: - n: ['35'] - s: ['128000000'] - o: ['0'] + n: ['35', '35', '35', '35'] + s: ['32000000', '64000000', '128000000', '256000000'] + o: ['0', '0', '0', '0'] applications: stream: @@ -35,7 +35,7 @@ ramble: env_name: 'stream' processes_per_node: '1' n_nodes: '1' - n_threads: ['32'] + n_threads: ['16', '32'] matrix: - n_threads From 910f84d4c4b643e8a1efe527baaf4cf72b621c4b Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Mon, 1 Apr 2024 14:44:02 -0700 Subject: [PATCH 08/11] Fix stream execution script --- repo/stream/application.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo/stream/application.py b/repo/stream/application.py index 25ea89efa..09c6b1669 100644 --- a/repo/stream/application.py +++ b/repo/stream/application.py @@ -27,7 +27,7 @@ class Stream(SpackApplication): required_package('stream') - executable('execute', 'stream') + executable('execute', 'stream -n {n} -s {s} -o {o}', use_mpi=True) workload('stream', executable='execute') From 4d77d9bc2d6e019ad572d467ff446bc160012545 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Fri, 7 Jun 2024 19:33:47 -0700 Subject: [PATCH 09/11] Fix application.py --- repo/stream/application.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/repo/stream/application.py b/repo/stream/application.py index 09c6b1669..e699cd2d4 100644 --- a/repo/stream/application.py +++ b/repo/stream/application.py @@ -19,8 +19,6 @@ class Stream(SpackApplication): tags('memorybenchmark', 'microbenchmark', 'memory-benchmark', 'micro-benchmark') - default_compiler('gcc12', spack_spec='gcc@12.2.0') - software_spec('stream', spack_spec='stream@5.10 +openmp cflags="-O3 -DSTREAM_ARRAY_SIZE=80000000 -DNTIMES=20"', compiler='gcc12') From eabc4e76a4dfb7d1fbfaf0692fc4c043e0edcad6 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Fri, 7 Jun 2024 23:02:23 -0700 Subject: [PATCH 10/11] config changes --- configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml | 2 +- modifiers/allocation/modifier.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml b/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml index 9e99d6397..594993d96 100644 --- a/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml +++ b/configs/LLNL-Tioga-HPECray-zen3-MI250X-Slingshot/spack.yaml @@ -8,7 +8,7 @@ spack: default-compiler: spack_spec: cce@16 default-mpi: - spack_spec: cray-mpich@8.1%cce ~gtl + spack_spec: cray-mpich@8.1.26%cce@16.0.0 ~gtl compiler-rocm: spack_spec: cce@16 compiler-amdclang: diff --git a/modifiers/allocation/modifier.py b/modifiers/allocation/modifier.py index a40092f05..a46b5ee42 100644 --- a/modifiers/allocation/modifier.py +++ b/modifiers/allocation/modifier.py @@ -344,7 +344,7 @@ def flux_instructions(self, v): cmd_opts.append(f"--gpus-per-task={gpus_per_rank}") if v.timeout: - batch_opts.append("-t {v.timeout}m") + batch_opts.append(f"-t {v.timeout}m") batch_directives = list(f"# flux: {x}" for x in (cmd_opts + batch_opts)) From 6def900e44ebf7f53edd0ab2a92729c5bc17fef0 Mon Sep 17 00:00:00 2001 From: Riyaz Haque Date: Fri, 7 Jun 2024 23:09:41 -0700 Subject: [PATCH 11/11] Change license --- repo/stream/application.py | 9 +++------ repo/stream/package.py | 6 +++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/repo/stream/application.py b/repo/stream/application.py index e699cd2d4..7b432a27b 100644 --- a/repo/stream/application.py +++ b/repo/stream/application.py @@ -1,10 +1,7 @@ -# Copyright 2022-2024 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 import os from ramble.appkit import * diff --git a/repo/stream/package.py b/repo/stream/package.py index b67d4c623..e047fd80f 100644 --- a/repo/stream/package.py +++ b/repo/stream/package.py @@ -1,7 +1,7 @@ -# Copyright 2013-2024 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 from spack.package import *