From 47a22d12383ade3f29982f43f5ca9333f435afbe Mon Sep 17 00:00:00 2001 From: August George Knox Date: Thu, 20 Jun 2024 10:25:52 -0700 Subject: [PATCH 01/55] added helloworld --- bin/workspaceSetup.sh | 10 ++++ experiments/helloworld/openmp/ramble.yaml | 61 +++++++++++++++++++++++ repo/helloworld/application.py | 17 +++++++ repo/helloworld/package.py | 53 ++++++++++++++++++++ 4 files changed, 141 insertions(+) create mode 100644 bin/workspaceSetup.sh create mode 100644 experiments/helloworld/openmp/ramble.yaml create mode 100644 repo/helloworld/application.py create mode 100644 repo/helloworld/package.py diff --git a/bin/workspaceSetup.sh b/bin/workspaceSetup.sh new file mode 100644 index 000000000..3635488a5 --- /dev/null +++ b/bin/workspaceSetup.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +#SBATCH -p pbatch +#SBATCH -A fractale +#SBATCH -t 5 +#SBATCH --job-name=setup_workspace + +ramble -P -D /usr/workspace/knox10/bm/helloworld/openmp/nosite-x86_64/workspace workspace setup + +ramble -P -D /usr/workspace/knox10/bm/helloworld/openmp/nosite-x86_64/workspace on diff --git a/experiments/helloworld/openmp/ramble.yaml b/experiments/helloworld/openmp/ramble.yaml new file mode 100644 index 000000000..0a3639637 --- /dev/null +++ b/experiments/helloworld/openmp/ramble.yaml @@ -0,0 +1,61 @@ +# 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 + - ./configs/modifier.yaml + + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + modifiers: + - name: allocation + + applications: + helloworld: + #success_criteria: + #- name: 'ran' + #mode: 'string' + #match: '.*' + #file: 'blah' # '{experiment_run_dir}/{experiment_name}.out' + workloads: + problem: + experiments: + helloworld_{n}_{n_nodes}_{omp_num_threads}: + variables: + n_ranks_per_node: ['8', '4'] + n_nodes: ['1', '2'] + omp_num_threads: ['2', '4'] + n: ['512', '1024'] + matrices: + - size_threads: + - n + - omp_num_threads + success_criteria: + - name: 'ran' + mode: 'string' + match: '.*' + file: '{experiment_run_dir}/{experiment_name}.out' + + + spack: + packages: + openmpi: + spack_spec: openmpi@4.1.6 target=x86_64 + helloworld: + spack_spec: helloworld + compiler: default-compiler + environments: + helloworld: + packages: + - openmpi + - default-mpi + - helloworld + - '{modifier_package_name}' diff --git a/repo/helloworld/application.py b/repo/helloworld/application.py new file mode 100644 index 000000000..789cb148e --- /dev/null +++ b/repo/helloworld/application.py @@ -0,0 +1,17 @@ +import sys + + +from ramble.appkit import * +class Helloworld(SpackApplication): + name="helloworld" + + tags = ['openmp'] + + executable('p', 'helloworld -n {n}', use_mpi=True) + + workload('problem', executables=['p']) + workload_variable('n', default='512', description='problem size', workloads=['problem']) + #success_criteria("wrote_anything", mode="string", match=r".*") + figure_of_merit("success", fom_regex=r'.*', group_name='done', units='') + success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') + diff --git a/repo/helloworld/package.py b/repo/helloworld/package.py new file mode 100644 index 000000000..66a38f5af --- /dev/null +++ b/repo/helloworld/package.py @@ -0,0 +1,53 @@ +# 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) + +# ---------------------------------------------------------------------------- +# If you submit this package back to Spack as a pull request, +# please first remove this boilerplate and all FIXME comments. +# +# This is a template package file for Spack. We've put "FIXME" +# next to all the things you'll want to change. Once you've handled +# them, you can save this file and test your package like this: +# +# spack install helloworld +# +# You can edit this file again by typing: +# +# spack edit helloworld +# +# See the Spack documentation for more information on packaging. +# ---------------------------------------------------------------------------- + +from spack.package import * + + +class Helloworld(MakefilePackage): + """FIXME: Put a proper description of your package here.""" + + # FIXME: Add a proper url for your package's homepage here. + homepage = "https://www.example.com" + url = "https://github.com/august-knox/helloWorld/archive/refs/tags/v1.5.tar.gz" + + # FIXME: Add a list of GitHub accounts to + # notify when the package is updated. + # maintainers("github_user1", "github_user2") + + # FIXME: Add the SPDX identifier of the project's license below. + # See https://spdx.org/licenses/ for a list. Upon manually verifying + # the license, set checked_by to your Github username. + license("UNKNOWN", checked_by="github_user1") + + version("1.5", sha256="c0a3458fd151af7471cc31d250a79b1850567b9c901741e96ad8a5e1c6df2a68") + version("1.4", sha256="7ef028b04ce70fbeb997cb3d5fc14d93d288d1964bb2e848f082debf93db6fef") + version("1.3", sha256="7e9034d08a6132309e23085e4e14218e9e088594adb53cdf9a56b2bed8d365f6") + version("1.2", sha256="18cfa58756cf99d4322147b708bef2ba80ae90b5356e0ffbe0e2438efbc113e8") + version("1.1", sha256="56e2d4ff6b10f848da1307fdd8f219cae7db216be8703dc8a96248f840305237") + + # FIXME: Add dependencies if required. + # depends_on("foo") + + def install(self, spec, prefix): + mkdir(prefix.bin) + install("helloworld", prefix.bin) From 461fc2a5b47633d9d63d0b6d334cd88a2b1858ac Mon Sep 17 00:00:00 2001 From: pearce8 Date: Mon, 8 Jul 2024 19:57:03 -0500 Subject: [PATCH 02/55] licence --- repo/helloworld/application.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repo/helloworld/application.py b/repo/helloworld/application.py index 789cb148e..fce9f2052 100644 --- a/repo/helloworld/application.py +++ b/repo/helloworld/application.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 + import sys From 1caa88e4146f0488e5f17fbcddacd6b502f3c780 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Mon, 8 Jul 2024 19:57:45 -0500 Subject: [PATCH 03/55] license --- repo/helloworld/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repo/helloworld/package.py b/repo/helloworld/package.py index 66a38f5af..9682004ce 100644 --- a/repo/helloworld/package.py +++ b/repo/helloworld/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 # ---------------------------------------------------------------------------- # If you submit this package back to Spack as a pull request, From 9b6c7e26839ca6bc06aea62ec0da05926c4dc21f Mon Sep 17 00:00:00 2001 From: August George Knox Date: Thu, 11 Jul 2024 11:59:08 -0700 Subject: [PATCH 04/55] added openmp implementation of quicksilver benchmark to benchpark --- experiments/quicksilver/openmp/ramble.yaml | 46 ++++++++ repo/quicksilver/application.py | 121 +++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 experiments/quicksilver/openmp/ramble.yaml create mode 100644 repo/quicksilver/application.py diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml new file mode 100644 index 000000000..233fa464f --- /dev/null +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -0,0 +1,46 @@ +# Copyright 2013-2024 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 + - ./configs/modifier.yaml + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + modifiers: + - name: allocation + + variables: + scheduler: "slurm" + processes_per_node: 1 + applications: + quicksilver: + workloads: + quicksilver: + experiments: + execute_{n_nodes}_{n_ranks}: + variables: + n_nodes: ['1'] + n_ranks: ['1'] + + + spack: + packages: + mpi: + spack_spec: openmpi@4.1.6 + compiler: default-compiler + quicksilver: + spack_spec: quicksilver + compiler: default-compiler + environments: + quicksilver: + packages: + - default-mpi + - quicksilver + - '{modifier_package_name}' diff --git a/repo/quicksilver/application.py b/repo/quicksilver/application.py new file mode 100644 index 000000000..cd1fa2f14 --- /dev/null +++ b/repo/quicksilver/application.py @@ -0,0 +1,121 @@ +# 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 sys + +from ramble.appkit import * + + +class Quicksilver(SpackApplication): + """Quicksilver benchmark""" + name = "quicksilver" + + + + executable('run', 'qs', use_mpi=True) + + workload('quicksilver', executables=['run']) + #not sure if these variables are necesary + workload_variable('D', default='', + description='time step (seconds)', + workloads=['quicksilver']) + workload_variable('f', default='', + description='max random mesh node displacement', + workloads=['quicksilver']) + workload_variable('i', default='', + description='name of input file', + workloads=['quicksilver']) + workload_variable('e', default='', + description='', + workloads=['quicksilver']) + workload_variable('S', default='', + description='name of cross section output file', + workloads=['quicksilver']) + workload_variable('l', default='', + description='enable/disable load balancing', + workloads=['quicksilver']) + + workload_variable('c', default='', + description='enable/disable cycle timers', + workloads=['quicksilver']) + + workload_variable('t', default='', + description='set thread debug level to 1, 2, 3', + workloads=['quicksilver']) + + workload_variable('X', default='', + description='x-size of simulation (cm)', + workloads=['quicksilver']) + + workload_variable('Y', default='', + description='y-size of simulation (cm)', + workloads=['quicksilver']) + + workload_variable('Z', default='', + description='z-size of simulation (cm)', + workloads=['quicksilver']) + + workload_variable('n', default='', + description='number of particles', + workloads=['quicksilver']) + + workload_variable('g', default='', + description='number of particles in a vault/batch', + workloads=['quicksilver']) + + + workload_variable('b', default='', + description='number of vault/batch to start (sets batchSize automaticaly)', + workloads=['quicksilver']) + + workload_variable('N', default='', + description='number of time steps', + workloads=['quicksilver']) + + workload_variable('x', default='', + description='number of mesh elements in x', + workloads=['quicksilver']) + + workload_variable('y', default='', + description='number of mesh elements in y', + workloads=['quicksilver']) + + workload_variable('z', default='', + description='number of mesh elements in z', + workloads=['quicksilver']) + + workload_variable('s', default='', + description='random number seed', + workloads=['quicksilver']) + + workload_variable('I', default='', + description='number of MPI ranks in x', + workloads=['quicksilver']) + + workload_variable('J', default='', + description='number of MPI ranks in y', + workloads=['quicksilver']) + + workload_variable('K', default='', + description='number of MPI ranks in z', + workloads=['quicksilver']) + + workload_variable('B', default='', + description='number of balance tally replications', + workloads=['quicksilver']) + + workload_variable('F', default='', + description='number of scalar flux tally replications', + workloads=['quicksilver']) + + workload_variable('C', default='', + description='number of scalar cell tally replications', + workloads=['quicksilver']) + + + #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' + figure_of_merit("success", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'(?P.*)', group_name='done', units='') + success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') + From 529f71e00353d941287ce122f77778241227448c Mon Sep 17 00:00:00 2001 From: August George Knox Date: Thu, 11 Jul 2024 13:18:17 -0700 Subject: [PATCH 05/55] removed unnecessary files --- experiments/helloworld/openmp/ramble.yaml | 61 ----------------------- repo/helloworld/application.py | 17 ------- repo/helloworld/package.py | 53 -------------------- 3 files changed, 131 deletions(-) delete mode 100644 experiments/helloworld/openmp/ramble.yaml delete mode 100644 repo/helloworld/application.py delete mode 100644 repo/helloworld/package.py diff --git a/experiments/helloworld/openmp/ramble.yaml b/experiments/helloworld/openmp/ramble.yaml deleted file mode 100644 index 0a3639637..000000000 --- a/experiments/helloworld/openmp/ramble.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# 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 - - ./configs/modifier.yaml - - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - helloworld: - #success_criteria: - #- name: 'ran' - #mode: 'string' - #match: '.*' - #file: 'blah' # '{experiment_run_dir}/{experiment_name}.out' - workloads: - problem: - experiments: - helloworld_{n}_{n_nodes}_{omp_num_threads}: - variables: - n_ranks_per_node: ['8', '4'] - n_nodes: ['1', '2'] - omp_num_threads: ['2', '4'] - n: ['512', '1024'] - matrices: - - size_threads: - - n - - omp_num_threads - success_criteria: - - name: 'ran' - mode: 'string' - match: '.*' - file: '{experiment_run_dir}/{experiment_name}.out' - - - spack: - packages: - openmpi: - spack_spec: openmpi@4.1.6 target=x86_64 - helloworld: - spack_spec: helloworld - compiler: default-compiler - environments: - helloworld: - packages: - - openmpi - - default-mpi - - helloworld - - '{modifier_package_name}' diff --git a/repo/helloworld/application.py b/repo/helloworld/application.py deleted file mode 100644 index 789cb148e..000000000 --- a/repo/helloworld/application.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys - - -from ramble.appkit import * -class Helloworld(SpackApplication): - name="helloworld" - - tags = ['openmp'] - - executable('p', 'helloworld -n {n}', use_mpi=True) - - workload('problem', executables=['p']) - workload_variable('n', default='512', description='problem size', workloads=['problem']) - #success_criteria("wrote_anything", mode="string", match=r".*") - figure_of_merit("success", fom_regex=r'.*', group_name='done', units='') - success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') - diff --git a/repo/helloworld/package.py b/repo/helloworld/package.py deleted file mode 100644 index 66a38f5af..000000000 --- a/repo/helloworld/package.py +++ /dev/null @@ -1,53 +0,0 @@ -# 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) - -# ---------------------------------------------------------------------------- -# If you submit this package back to Spack as a pull request, -# please first remove this boilerplate and all FIXME comments. -# -# This is a template package file for Spack. We've put "FIXME" -# next to all the things you'll want to change. Once you've handled -# them, you can save this file and test your package like this: -# -# spack install helloworld -# -# You can edit this file again by typing: -# -# spack edit helloworld -# -# See the Spack documentation for more information on packaging. -# ---------------------------------------------------------------------------- - -from spack.package import * - - -class Helloworld(MakefilePackage): - """FIXME: Put a proper description of your package here.""" - - # FIXME: Add a proper url for your package's homepage here. - homepage = "https://www.example.com" - url = "https://github.com/august-knox/helloWorld/archive/refs/tags/v1.5.tar.gz" - - # FIXME: Add a list of GitHub accounts to - # notify when the package is updated. - # maintainers("github_user1", "github_user2") - - # FIXME: Add the SPDX identifier of the project's license below. - # See https://spdx.org/licenses/ for a list. Upon manually verifying - # the license, set checked_by to your Github username. - license("UNKNOWN", checked_by="github_user1") - - version("1.5", sha256="c0a3458fd151af7471cc31d250a79b1850567b9c901741e96ad8a5e1c6df2a68") - version("1.4", sha256="7ef028b04ce70fbeb997cb3d5fc14d93d288d1964bb2e848f082debf93db6fef") - version("1.3", sha256="7e9034d08a6132309e23085e4e14218e9e088594adb53cdf9a56b2bed8d365f6") - version("1.2", sha256="18cfa58756cf99d4322147b708bef2ba80ae90b5356e0ffbe0e2438efbc113e8") - version("1.1", sha256="56e2d4ff6b10f848da1307fdd8f219cae7db216be8703dc8a96248f840305237") - - # FIXME: Add dependencies if required. - # depends_on("foo") - - def install(self, spec, prefix): - mkdir(prefix.bin) - install("helloworld", prefix.bin) From a3a4fdda7a6c422424329d26205101a023deacef Mon Sep 17 00:00:00 2001 From: august-knox Date: Thu, 11 Jul 2024 13:40:32 -0700 Subject: [PATCH 06/55] removed extra files --- experiments/helloworld/openmp/ramble.yaml | 61 ------------------- repo/helloworld/application.py | 17 ------ ...y~1caa88e4146f0488e5f17fbcddacd6b502f3c780 | 22 ------- repo/helloworld/package.py | 53 ---------------- ...y~1caa88e4146f0488e5f17fbcddacd6b502f3c780 | 53 ---------------- 5 files changed, 206 deletions(-) delete mode 100644 experiments/helloworld/openmp/ramble.yaml delete mode 100644 repo/helloworld/application.py delete mode 100644 repo/helloworld/application.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 delete mode 100644 repo/helloworld/package.py delete mode 100644 repo/helloworld/package.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 diff --git a/experiments/helloworld/openmp/ramble.yaml b/experiments/helloworld/openmp/ramble.yaml deleted file mode 100644 index 0a3639637..000000000 --- a/experiments/helloworld/openmp/ramble.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# 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 - - ./configs/modifier.yaml - - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - helloworld: - #success_criteria: - #- name: 'ran' - #mode: 'string' - #match: '.*' - #file: 'blah' # '{experiment_run_dir}/{experiment_name}.out' - workloads: - problem: - experiments: - helloworld_{n}_{n_nodes}_{omp_num_threads}: - variables: - n_ranks_per_node: ['8', '4'] - n_nodes: ['1', '2'] - omp_num_threads: ['2', '4'] - n: ['512', '1024'] - matrices: - - size_threads: - - n - - omp_num_threads - success_criteria: - - name: 'ran' - mode: 'string' - match: '.*' - file: '{experiment_run_dir}/{experiment_name}.out' - - - spack: - packages: - openmpi: - spack_spec: openmpi@4.1.6 target=x86_64 - helloworld: - spack_spec: helloworld - compiler: default-compiler - environments: - helloworld: - packages: - - openmpi - - default-mpi - - helloworld - - '{modifier_package_name}' diff --git a/repo/helloworld/application.py b/repo/helloworld/application.py deleted file mode 100644 index 789cb148e..000000000 --- a/repo/helloworld/application.py +++ /dev/null @@ -1,17 +0,0 @@ -import sys - - -from ramble.appkit import * -class Helloworld(SpackApplication): - name="helloworld" - - tags = ['openmp'] - - executable('p', 'helloworld -n {n}', use_mpi=True) - - workload('problem', executables=['p']) - workload_variable('n', default='512', description='problem size', workloads=['problem']) - #success_criteria("wrote_anything", mode="string", match=r".*") - figure_of_merit("success", fom_regex=r'.*', group_name='done', units='') - success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') - diff --git a/repo/helloworld/application.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 b/repo/helloworld/application.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 deleted file mode 100644 index fce9f2052..000000000 --- a/repo/helloworld/application.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 +++ /dev/null @@ -1,22 +0,0 @@ -# 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 sys - - -from ramble.appkit import * -class Helloworld(SpackApplication): - name="helloworld" - - tags = ['openmp'] - - executable('p', 'helloworld -n {n}', use_mpi=True) - - workload('problem', executables=['p']) - workload_variable('n', default='512', description='problem size', workloads=['problem']) - #success_criteria("wrote_anything", mode="string", match=r".*") - figure_of_merit("success", fom_regex=r'.*', group_name='done', units='') - success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') - diff --git a/repo/helloworld/package.py b/repo/helloworld/package.py deleted file mode 100644 index 66a38f5af..000000000 --- a/repo/helloworld/package.py +++ /dev/null @@ -1,53 +0,0 @@ -# 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) - -# ---------------------------------------------------------------------------- -# If you submit this package back to Spack as a pull request, -# please first remove this boilerplate and all FIXME comments. -# -# This is a template package file for Spack. We've put "FIXME" -# next to all the things you'll want to change. Once you've handled -# them, you can save this file and test your package like this: -# -# spack install helloworld -# -# You can edit this file again by typing: -# -# spack edit helloworld -# -# See the Spack documentation for more information on packaging. -# ---------------------------------------------------------------------------- - -from spack.package import * - - -class Helloworld(MakefilePackage): - """FIXME: Put a proper description of your package here.""" - - # FIXME: Add a proper url for your package's homepage here. - homepage = "https://www.example.com" - url = "https://github.com/august-knox/helloWorld/archive/refs/tags/v1.5.tar.gz" - - # FIXME: Add a list of GitHub accounts to - # notify when the package is updated. - # maintainers("github_user1", "github_user2") - - # FIXME: Add the SPDX identifier of the project's license below. - # See https://spdx.org/licenses/ for a list. Upon manually verifying - # the license, set checked_by to your Github username. - license("UNKNOWN", checked_by="github_user1") - - version("1.5", sha256="c0a3458fd151af7471cc31d250a79b1850567b9c901741e96ad8a5e1c6df2a68") - version("1.4", sha256="7ef028b04ce70fbeb997cb3d5fc14d93d288d1964bb2e848f082debf93db6fef") - version("1.3", sha256="7e9034d08a6132309e23085e4e14218e9e088594adb53cdf9a56b2bed8d365f6") - version("1.2", sha256="18cfa58756cf99d4322147b708bef2ba80ae90b5356e0ffbe0e2438efbc113e8") - version("1.1", sha256="56e2d4ff6b10f848da1307fdd8f219cae7db216be8703dc8a96248f840305237") - - # FIXME: Add dependencies if required. - # depends_on("foo") - - def install(self, spec, prefix): - mkdir(prefix.bin) - install("helloworld", prefix.bin) diff --git a/repo/helloworld/package.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 b/repo/helloworld/package.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 deleted file mode 100644 index 9682004ce..000000000 --- a/repo/helloworld/package.py~1caa88e4146f0488e5f17fbcddacd6b502f3c780 +++ /dev/null @@ -1,53 +0,0 @@ -# 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 - -# ---------------------------------------------------------------------------- -# If you submit this package back to Spack as a pull request, -# please first remove this boilerplate and all FIXME comments. -# -# This is a template package file for Spack. We've put "FIXME" -# next to all the things you'll want to change. Once you've handled -# them, you can save this file and test your package like this: -# -# spack install helloworld -# -# You can edit this file again by typing: -# -# spack edit helloworld -# -# See the Spack documentation for more information on packaging. -# ---------------------------------------------------------------------------- - -from spack.package import * - - -class Helloworld(MakefilePackage): - """FIXME: Put a proper description of your package here.""" - - # FIXME: Add a proper url for your package's homepage here. - homepage = "https://www.example.com" - url = "https://github.com/august-knox/helloWorld/archive/refs/tags/v1.5.tar.gz" - - # FIXME: Add a list of GitHub accounts to - # notify when the package is updated. - # maintainers("github_user1", "github_user2") - - # FIXME: Add the SPDX identifier of the project's license below. - # See https://spdx.org/licenses/ for a list. Upon manually verifying - # the license, set checked_by to your Github username. - license("UNKNOWN", checked_by="github_user1") - - version("1.5", sha256="c0a3458fd151af7471cc31d250a79b1850567b9c901741e96ad8a5e1c6df2a68") - version("1.4", sha256="7ef028b04ce70fbeb997cb3d5fc14d93d288d1964bb2e848f082debf93db6fef") - version("1.3", sha256="7e9034d08a6132309e23085e4e14218e9e088594adb53cdf9a56b2bed8d365f6") - version("1.2", sha256="18cfa58756cf99d4322147b708bef2ba80ae90b5356e0ffbe0e2438efbc113e8") - version("1.1", sha256="56e2d4ff6b10f848da1307fdd8f219cae7db216be8703dc8a96248f840305237") - - # FIXME: Add dependencies if required. - # depends_on("foo") - - def install(self, spec, prefix): - mkdir(prefix.bin) - install("helloworld", prefix.bin) From da1685499ee2f1db107d8c9adf9473d2ba24d77b Mon Sep 17 00:00:00 2001 From: august-knox Date: Thu, 11 Jul 2024 13:46:55 -0700 Subject: [PATCH 07/55] removed another redundant file --- bin/workspaceSetup.sh | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 bin/workspaceSetup.sh diff --git a/bin/workspaceSetup.sh b/bin/workspaceSetup.sh deleted file mode 100644 index 3635488a5..000000000 --- a/bin/workspaceSetup.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -#SBATCH -p pbatch -#SBATCH -A fractale -#SBATCH -t 5 -#SBATCH --job-name=setup_workspace - -ramble -P -D /usr/workspace/knox10/bm/helloworld/openmp/nosite-x86_64/workspace workspace setup - -ramble -P -D /usr/workspace/knox10/bm/helloworld/openmp/nosite-x86_64/workspace on From 20bf6be9ab2935a4bdb8f08dafb7d1503b052343 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 12 Jul 2024 22:29:05 -0500 Subject: [PATCH 08/55] spellcheck --- repo/quicksilver/application.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repo/quicksilver/application.py b/repo/quicksilver/application.py index cd1fa2f14..f83838667 100644 --- a/repo/quicksilver/application.py +++ b/repo/quicksilver/application.py @@ -17,7 +17,7 @@ class Quicksilver(SpackApplication): executable('run', 'qs', use_mpi=True) workload('quicksilver', executables=['run']) - #not sure if these variables are necesary + #not sure if these variables are necessary workload_variable('D', default='', description='time step (seconds)', workloads=['quicksilver']) @@ -67,7 +67,7 @@ class Quicksilver(SpackApplication): workload_variable('b', default='', - description='number of vault/batch to start (sets batchSize automaticaly)', + description='number of vault/batch to start (sets batchSize automatically)', workloads=['quicksilver']) workload_variable('N', default='', From 970087833878c9195d978d6a159a57c73920f0f1 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 12 Jul 2024 22:30:57 -0500 Subject: [PATCH 09/55] new line --- experiments/quicksilver/openmp/ramble.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml index 233fa464f..40871ae00 100644 --- a/experiments/quicksilver/openmp/ramble.yaml +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -1,7 +1,8 @@ -# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# 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 From a40c4e86d23e4c596548d0a910a449ec5c530643 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 12 Jul 2024 22:36:55 -0500 Subject: [PATCH 10/55] adding tags --- repo/quicksilver/application.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/repo/quicksilver/application.py b/repo/quicksilver/application.py index f83838667..8a94ed9b0 100644 --- a/repo/quicksilver/application.py +++ b/repo/quicksilver/application.py @@ -12,7 +12,12 @@ class Quicksilver(SpackApplication): """Quicksilver benchmark""" name = "quicksilver" - + tags = ['asc','montecarlo', + 'single-node', + 'high-branching', + 'irregular-memory-access', + 'mpi', + 'c++','openmp'] executable('run', 'qs', use_mpi=True) From 6e0641f93a7f380347f4e8f628bf2427c861f1cf Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 12 Jul 2024 23:32:39 -0500 Subject: [PATCH 11/55] add dryrun --- .github/workflows/run.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index f21c27e36..59886dbc9 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -169,3 +169,13 @@ jobs: --disable-progress-bar \ --disable-logger \ workspace setup --dry-run + + - name: Dry run quicksilver/openmp on nosite-x86_64 with allocation modifier + run: | + ./bin/benchpark setup quicksilver/openmp nosite-x86_64 workspace/ + . workspace/setup.sh + ramble \ + --workspace-dir workspace/quicksilver/openmp/nosite-x86_64/workspace \ + --disable-progress-bar \ + --disable-logger \ + workspace setup --dry-run From 87c0d606f35178f742309c571367e0d9e05e8a91 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 22 Jul 2024 16:02:45 -0700 Subject: [PATCH 12/55] some new benchmarks --- experiments/ior/openmp/ramble.yaml | 48 ++++++++++++++++++ experiments/quicksilver/openmp/ramble.yaml | 19 ++++--- experiments/remhos/openmp/ramble.yaml | 57 +++++++++++++++++++++ repo/ior/application.py | 28 ++++++++++ repo/remhos/application.py | 59 ++++++++++++++++++++++ repo/remhos/package.py | 58 +++++++++++++++++++++ repo/remhos/slurm-2969003.out | 1 + repo/remhos/slurm-2969004.out | 1 + repo/remhos/slurm-2969005.out | 1 + repo/remhos/slurm-2969006.out | 1 + repo/remhos/slurm-2969007.out | 1 + repo/remhos/slurm-2969008.out | 1 + repo/remhos/slurm-2969009.out | 1 + repo/remhos/slurm-2969010.out | 1 + 14 files changed, 270 insertions(+), 7 deletions(-) create mode 100644 experiments/ior/openmp/ramble.yaml create mode 100644 experiments/remhos/openmp/ramble.yaml create mode 100644 repo/ior/application.py create mode 100644 repo/remhos/application.py create mode 100644 repo/remhos/package.py create mode 100644 repo/remhos/slurm-2969003.out create mode 100644 repo/remhos/slurm-2969004.out create mode 100644 repo/remhos/slurm-2969005.out create mode 100644 repo/remhos/slurm-2969006.out create mode 100644 repo/remhos/slurm-2969007.out create mode 100644 repo/remhos/slurm-2969008.out create mode 100644 repo/remhos/slurm-2969009.out create mode 100644 repo/remhos/slurm-2969010.out diff --git a/experiments/ior/openmp/ramble.yaml b/experiments/ior/openmp/ramble.yaml new file mode 100644 index 000000000..e0d83c7db --- /dev/null +++ b/experiments/ior/openmp/ramble.yaml @@ -0,0 +1,48 @@ +# Copyright 2013-2024 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 + - ./configs/modifier.yaml + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + modifiers: + - name: allocation + + applications: + ior: + workloads: + ior: + experiments: + execute_{n_nodes}_{omp_num_threads}_{n}: + variables: + n_ranks_per_node: ['8', '4'] + n_nodes: ['1', '2'] + omp_num_threads: ['2', '4'] + n: ['512', '1024'] + matrices: + - size_threads: + - n + - omp_num_threads + + spack: + packages: + mpi: + spack_spec: openmpi@4.1.6 + compiler: default-compiler + ior: + spack_spec: ior@3.3.0 + compiler: default-compiler + environments: + ior: + packages: + - default-mpi + - ior + - '{modifier_package_name}' diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml index 233fa464f..795424547 100644 --- a/experiments/quicksilver/openmp/ramble.yaml +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -16,19 +16,24 @@ ramble: modifiers: - name: allocation - variables: - scheduler: "slurm" - processes_per_node: 1 + #variables: + #scheduler: "slurm" + #processes_per_node: 1 applications: quicksilver: workloads: quicksilver: experiments: - execute_{n_nodes}_{n_ranks}: + execute_{n_nodes}_{omp_num_threads}_{n}: variables: - n_nodes: ['1'] - n_ranks: ['1'] - + n_ranks_per_node: ['8', '4'] + n_nodes: ['1', '2'] + omp_num_threads: ['2', '4'] + n: ['512', '1024'] + matrices: + - size_threads: + - n + - omp_num_threads spack: packages: diff --git a/experiments/remhos/openmp/ramble.yaml b/experiments/remhos/openmp/ramble.yaml new file mode 100644 index 000000000..1a615cdd4 --- /dev/null +++ b/experiments/remhos/openmp/ramble.yaml @@ -0,0 +1,57 @@ +# Copyright 2013-2024 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 + - ./configs/modifier.yaml + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + modifiers: + - name: allocation + + applications: + remhos: + workloads: + remhos: + experiments: + execute_{n}_{n_nodes}_{omp_num_threads}: + + variables: + n_ranks_per_node: ['8', '4'] + n_nodes: ['1', '2'] + omp_num_threads: ['2', '4'] + n: ['512', '1024'] + matrices: + - size_threads: + - n + - omp_num_threads + spack: + packages: + #hypre: + #spack_spec: hypre@2.10.0b + #compiler: default-compiler + #zlib-ng: + #spack_spec: zlib-ng@2.1.5 + #compiler: default-compiler + remhos: + spack_spec: remhos@1.0 + compiler: default-compiler + mfem: + spack_spec: mfem@4.5.0 + compiler: default-compiler + environments: + remhos: + packages: + #- hypre + - mfem + #- zlib-ng + - default-mpi + - remhos + - '{modifier_package_name}' diff --git a/repo/ior/application.py b/repo/ior/application.py new file mode 100644 index 000000000..1034a37e5 --- /dev/null +++ b/repo/ior/application.py @@ -0,0 +1,28 @@ +# 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 sys + +from ramble.appkit import * + + +class Ior(SpackApplication): + """Ior benchmark""" + name = "ior" + + tags = ['asc','engineering','hypre','solver','cfd','large-scale', + 'multi-node','single-node','mpi','network-latency-bound', + 'network-collectives','unstructured-grid'] + + executable('p', 'ior', use_mpi=True) + + workload('ior', executables=['p']) + #TODO: build FOMs. ior measures "throughput", but not sure how to calculate that from results + figure_of_merit('Major kernels total time', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'Major kernels total time \(seconds\):\s+(?P[0-9]+\.[0-9]*(e^[0-9]*)?)', + group_name='fom', units='seconds') + + success_criteria('pass', mode='string', match=r'Major kernels total time', file='{experiment_run_dir}/{experiment_name}.out') diff --git a/repo/remhos/application.py b/repo/remhos/application.py new file mode 100644 index 000000000..c070d6095 --- /dev/null +++ b/repo/remhos/application.py @@ -0,0 +1,59 @@ +# 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 sys + +from ramble.appkit import * + + +class Remhos(SpackApplication): + """Remhos benchmark""" + name = "remhos" + + + + executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+' -rp {rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True) + + workload('remhos', executables=['run']) + + workload_variable('mesh', default='{remhos}/data/cube01_hex.mesh', + description='mesh', + workloads=['remhos']) + + workload_variable('p', default='14', + description='p', + workloads=['remhos']) + + workload_variable('rs', default='2', + description='rs', + workloads=['remhos']) + + workload_variable('rp', default='1', + description='rp', + workloads=['remhos']) + + workload_variable('dt', default='0.0005', + description='dt', + workloads=['remhos']) + + workload_variable('tf', default='0.6', + description='tf', + workloads=['remhos']) + + workload_variable('ho', default='1', + description='ho', + workloads=['remhos']) + + workload_variable('lo', default='2', + description='lo', + workloads=['remhos']) + + workload_variable('fct', default='3', + description='fct', + workloads=['remhos']) + #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' + figure_of_merit("success", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'(?P.*)', group_name='done', units='') + success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') + diff --git a/repo/remhos/package.py b/repo/remhos/package.py new file mode 100644 index 000000000..fd0c483e3 --- /dev/null +++ b/repo/remhos/package.py @@ -0,0 +1,58 @@ +# 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 typing import List + +from spack.package import * + + +class Remhos(MakefilePackage): + """Remhos (REMap High-Order Solver) is a CEED miniapp that performs monotonic + and conservative high-order discontinuous field interpolation (remap) + using DG advection-based spatial discretization and explicit high-order + time-stepping. + """ + + tags = ["proxy-app"] + + homepage = "https://github.com/CEED/Remhos" + url = "https://github.com/CEED/Remhos/archive/v1.0.tar.gz" + git = "https://github.com/CEED/Remhos.git" + + maintainers("v-dobrev", "tzanio", "vladotomov") + + license("BSD-2-Clause") + + version("develop", branch="master") + version("1.0", sha256="e60464a867fe5b1fd694fbb37bb51773723427f071c0ae26852a2804c08bbb32") + + variant("metis", default=True, description="Enable/disable METIS support") + + depends_on("mfem+mpi+metis", when="+metis") + depends_on("mfem+mpi~metis", when="~metis") + + depends_on("mfem@develop", when="@develop") + depends_on("mfem@4.1.0:", when="@1.0") + + @property + def build_targets(self): + targets = [] + spec = self.spec + + targets.append("MFEM_DIR=%s" % spec["mfem"].prefix) + targets.append("CONFIG_MK=%s" % spec["mfem"].package.config_mk) + targets.append("TEST_MK=%s" % spec["mfem"].package.test_mk) + + return targets + + # See lib/spack/spack/build_systems/makefile.py + def check(self): + with working_dir(self.build_directory): + make("tests", *self.build_targets) + + def install(self, spec, prefix): + mkdirp(prefix.bin) + install("remhos", prefix.bin) + install_tree("data", prefix.data) + install_time_test_callbacks: List[str] = [] diff --git a/repo/remhos/slurm-2969003.out b/repo/remhos/slurm-2969003.out new file mode 100644 index 000000000..d198e6d91 --- /dev/null +++ b/repo/remhos/slurm-2969003.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969003 ON ruby248 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969004.out b/repo/remhos/slurm-2969004.out new file mode 100644 index 000000000..327a179a6 --- /dev/null +++ b/repo/remhos/slurm-2969004.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969004 ON ruby837 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969005.out b/repo/remhos/slurm-2969005.out new file mode 100644 index 000000000..41c7ac330 --- /dev/null +++ b/repo/remhos/slurm-2969005.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969005 ON ruby867 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969006.out b/repo/remhos/slurm-2969006.out new file mode 100644 index 000000000..900b1b3ea --- /dev/null +++ b/repo/remhos/slurm-2969006.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969006 ON ruby307 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969007.out b/repo/remhos/slurm-2969007.out new file mode 100644 index 000000000..4d0db88df --- /dev/null +++ b/repo/remhos/slurm-2969007.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969007 ON ruby86 CANCELLED AT 2024-07-17T17:24:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969008.out b/repo/remhos/slurm-2969008.out new file mode 100644 index 000000000..7df6f3dd6 --- /dev/null +++ b/repo/remhos/slurm-2969008.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969008 ON ruby146 CANCELLED AT 2024-07-17T17:24:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969009.out b/repo/remhos/slurm-2969009.out new file mode 100644 index 000000000..a96575f71 --- /dev/null +++ b/repo/remhos/slurm-2969009.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969009 ON ruby188 CANCELLED AT 2024-07-17T17:25:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969010.out b/repo/remhos/slurm-2969010.out new file mode 100644 index 000000000..a9fd43540 --- /dev/null +++ b/repo/remhos/slurm-2969010.out @@ -0,0 +1 @@ +slurmstepd: error: *** JOB 2969010 ON ruby839 CANCELLED AT 2024-07-17T17:26:11 DUE TO TIME LIMIT *** From a396eb81bc0c45799a6f2355b792e5d989f43d29 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 22 Jul 2024 16:06:16 -0700 Subject: [PATCH 13/55] some benchmarks to add --- repo/remhos/slurm-2969003.out | 1 - repo/remhos/slurm-2969004.out | 1 - repo/remhos/slurm-2969005.out | 1 - repo/remhos/slurm-2969006.out | 1 - repo/remhos/slurm-2969007.out | 1 - repo/remhos/slurm-2969008.out | 1 - repo/remhos/slurm-2969009.out | 1 - repo/remhos/slurm-2969010.out | 1 - 8 files changed, 8 deletions(-) delete mode 100644 repo/remhos/slurm-2969003.out delete mode 100644 repo/remhos/slurm-2969004.out delete mode 100644 repo/remhos/slurm-2969005.out delete mode 100644 repo/remhos/slurm-2969006.out delete mode 100644 repo/remhos/slurm-2969007.out delete mode 100644 repo/remhos/slurm-2969008.out delete mode 100644 repo/remhos/slurm-2969009.out delete mode 100644 repo/remhos/slurm-2969010.out diff --git a/repo/remhos/slurm-2969003.out b/repo/remhos/slurm-2969003.out deleted file mode 100644 index d198e6d91..000000000 --- a/repo/remhos/slurm-2969003.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969003 ON ruby248 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969004.out b/repo/remhos/slurm-2969004.out deleted file mode 100644 index 327a179a6..000000000 --- a/repo/remhos/slurm-2969004.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969004 ON ruby837 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969005.out b/repo/remhos/slurm-2969005.out deleted file mode 100644 index 41c7ac330..000000000 --- a/repo/remhos/slurm-2969005.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969005 ON ruby867 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969006.out b/repo/remhos/slurm-2969006.out deleted file mode 100644 index 900b1b3ea..000000000 --- a/repo/remhos/slurm-2969006.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969006 ON ruby307 CANCELLED AT 2024-07-17T17:23:40 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969007.out b/repo/remhos/slurm-2969007.out deleted file mode 100644 index 4d0db88df..000000000 --- a/repo/remhos/slurm-2969007.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969007 ON ruby86 CANCELLED AT 2024-07-17T17:24:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969008.out b/repo/remhos/slurm-2969008.out deleted file mode 100644 index 7df6f3dd6..000000000 --- a/repo/remhos/slurm-2969008.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969008 ON ruby146 CANCELLED AT 2024-07-17T17:24:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969009.out b/repo/remhos/slurm-2969009.out deleted file mode 100644 index a96575f71..000000000 --- a/repo/remhos/slurm-2969009.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969009 ON ruby188 CANCELLED AT 2024-07-17T17:25:41 DUE TO TIME LIMIT *** diff --git a/repo/remhos/slurm-2969010.out b/repo/remhos/slurm-2969010.out deleted file mode 100644 index a9fd43540..000000000 --- a/repo/remhos/slurm-2969010.out +++ /dev/null @@ -1 +0,0 @@ -slurmstepd: error: *** JOB 2969010 ON ruby839 CANCELLED AT 2024-07-17T17:26:11 DUE TO TIME LIMIT *** From fed3fd850ce7dfac7c421397683a2f9eb067a758 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 5 Aug 2024 11:55:33 -0700 Subject: [PATCH 14/55] strong and weak scaling for quicksilver --- experiments/quicksilver/openmp/ramble.yaml | 57 +++++++++++++------ repo/quicksilver/application.py | 22 ++++++-- repo/quicksilver/package.py | 64 ++++++++++++++++++++++ 3 files changed, 122 insertions(+), 21 deletions(-) create mode 100644 repo/quicksilver/package.py diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml index 4782f7922..42686e067 100644 --- a/experiments/quicksilver/openmp/ramble.yaml +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -5,7 +5,7 @@ ramble: include: - - ./configs/spack.yaml + - ./configs/software.yaml - ./configs/variables.yaml - ./configs/modifier.yaml config: @@ -17,32 +17,55 @@ ramble: modifiers: - name: allocation - #variables: - #scheduler: "slurm" - #processes_per_node: 1 applications: quicksilver: workloads: quicksilver: + variables: + experiment_setup: '' + arch: 'OpenMP' + n_threads_per_proc: '1' + omp_num_threads: '{n_threads_per_proc}' + n_ranks: '{I}*{J}*{K}' experiments: - execute_{n_nodes}_{omp_num_threads}_{n}: + quicksilver_openmp_weak_{n_nodes}_{n_ranks}: + variants: + package_manager: spack variables: - n_ranks_per_node: ['8', '4'] - n_nodes: ['1', '2'] - omp_num_threads: ['2', '4'] - n: ['512', '1024'] - matrices: - - size_threads: - - n - - omp_num_threads - - spack: + n: '{x}*{y}*{z}*10' + x: '{X}' + y: '{Y}' + z: '{Z}' + X: ['32','32','64','64'] + Y: ['32','32','32','64'] + Z: ['16','32','32','32'] + + I: ['2','2','4','4'] + J: ['2','2','2','4'] + K: ['1','2','2','2'] + + quicksilver_openmp_strong_{n_nodes}_{n_ranks}: + variants: + package_manager: spack + variables: + n: '{x}*{y}*{z}*10' + x: '{X}' + y: '{Y}' + z: '{Z}' + X: '32' + Y: '32' + Z: '16' + + I: ['2','2','4','4'] + J: ['2','2','2','4'] + K: ['1','2','2','2'] + software: packages: mpi: - spack_spec: openmpi@4.1.6 + pkg_spec: openmpi@4.1.6 compiler: default-compiler quicksilver: - spack_spec: quicksilver + pkg_spec: quicksilver compiler: default-compiler environments: quicksilver: diff --git a/repo/quicksilver/application.py b/repo/quicksilver/application.py index 8a94ed9b0..d02471d4d 100644 --- a/repo/quicksilver/application.py +++ b/repo/quicksilver/application.py @@ -8,7 +8,7 @@ from ramble.appkit import * -class Quicksilver(SpackApplication): +class Quicksilver(ExecutableApplication): """Quicksilver benchmark""" name = "quicksilver" @@ -19,7 +19,19 @@ class Quicksilver(SpackApplication): 'mpi', 'c++','openmp'] - executable('run', 'qs', use_mpi=True) + executable('run', 'qs'+ + ' -i {i}' + + ' -X {X}' + + ' -Y {Y}' + + ' -Z {Z}' + + ' -I {I}' + + ' -J {J}' + + ' -K {K}' + + ' -x {x}' + + ' -y {y}' + + ' -z {z}' + + ' -n {n}' + , use_mpi=True) workload('quicksilver', executables=['run']) #not sure if these variables are necessary @@ -29,7 +41,7 @@ class Quicksilver(SpackApplication): workload_variable('f', default='', description='max random mesh node displacement', workloads=['quicksilver']) - workload_variable('i', default='', + workload_variable('i', default='{quicksilver}/Examples/CTS2_Benchmark/CTS2.inp', description='name of input file', workloads=['quicksilver']) workload_variable('e', default='', @@ -121,6 +133,8 @@ class Quicksilver(SpackApplication): #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' - figure_of_merit("success", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'(?P.*)', group_name='done', units='') + figure_of_merit("FOM", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'Figure Of Merit\s+(?P[0-9]+\.[0-9]*([0-9]*)+e\+?[0-9]*)', group_name='fom', units='Num Segments / Cycle Tracking Time') + + figure_of_merit("avg cycleTracking", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'cycleTracking +[0-9]+\s+[0-9]+\.[0-9]*[0-9]*e\+?[0-9]+\s+(?P[0-9]+\.[0-9]*([0-9]*)+e\+?[0-9]*)', group_name='fom', units='Cumulative microseconds avg') success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') diff --git a/repo/quicksilver/package.py b/repo/quicksilver/package.py new file mode 100644 index 000000000..81dfebea6 --- /dev/null +++ b/repo/quicksilver/package.py @@ -0,0 +1,64 @@ +# 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 Quicksilver(MakefilePackage): + """Quicksilver is a proxy application that represents some elements of the + Mercury workload. + """ + + tags = ["proxy-app"] + + homepage = "https://codesign.llnl.gov/quicksilver.php" + url = "https://github.com/LLNL/Quicksilver/tarball/V1.0" + git = "https://github.com/LLNL/Quicksilver.git" + + maintainers("richards12") + + version("master", branch="master") + version("1.0", sha256="83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a") + + variant("openmp", default=True, description="Build with OpenMP support") + variant("mpi", default=True, description="Build with MPI support") + + depends_on("mpi", when="+mpi") + + build_directory = "src" + + @property + def build_targets(self): + targets = [] + spec = self.spec + + targets.append("CXXFLAGS={0}".format(self.compiler.cxx11_flag)) + + if "+mpi" in spec: + targets.append("CXX={0}".format(spec["mpi"].mpicxx)) + else: + targets.append("CXX={0}".format(spack_cxx)) + + if "+openmp+mpi" in spec: + targets.append( + "CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}".format(self.compiler.openmp_flag) + ) + elif "+openmp" in spec: + targets.append("CPPFLAGS=-DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)) + elif "+mpi" in spec: + targets.append("CPPFLAGS=-DHAVE_MPI") + + if "+openmp" in self.spec: + targets.append("LDFLAGS={0}".format(self.compiler.openmp_flag)) + + return targets + + def install(self, spec, prefix): + mkdir(prefix.bin) + mkdir(prefix.doc) + install("src/qs", prefix.bin) + install("LICENSE.md", prefix.doc) + install("README.md", prefix.doc) + install_tree("Examples", prefix.Examples) From 118a025521e31b006269fbfd031ef7516af749fc Mon Sep 17 00:00:00 2001 From: august-knox Date: Tue, 6 Aug 2024 16:05:56 -0700 Subject: [PATCH 15/55] most recent progress. Quicksilver weak/strong scaling implemented --- experiments/ior/openmp/ramble.yaml | 35 +++++++++++++++----------- experiments/remhos/openmp/ramble.yaml | 36 +++++++++++---------------- repo/ior/application.py | 36 ++++++++++++++++++++++----- repo/remhos/application.py | 18 +++++++------- 4 files changed, 75 insertions(+), 50 deletions(-) diff --git a/experiments/ior/openmp/ramble.yaml b/experiments/ior/openmp/ramble.yaml index e0d83c7db..2348854dc 100644 --- a/experiments/ior/openmp/ramble.yaml +++ b/experiments/ior/openmp/ramble.yaml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 ramble: include: - - ./configs/spack.yaml + - ./configs/software.yaml - ./configs/variables.yaml - ./configs/modifier.yaml config: @@ -20,25 +20,32 @@ ramble: ior: workloads: ior: + variables: + n_ranks: '{n_nodes}*{sys_cores_per_node}' experiments: - execute_{n_nodes}_{omp_num_threads}_{n}: + ior_openmp_weak_{n_nodes}: + variants: + package_manager: spack variables: - n_ranks_per_node: ['8', '4'] - n_nodes: ['1', '2'] - omp_num_threads: ['2', '4'] - n: ['512', '1024'] - matrices: - - size_threads: - - n - - omp_num_threads - - spack: + + n_nodes: ['1','2','4'] + b: ['1g','2g','4g'] + t: ['4m','8m','16m'] + + ior_openmp_strong_{n_nodes}: + variants: + package_manager: spack + variables: + n_nodes: ['1','2','4'] + b: '1g' + t: '4m' + software: packages: mpi: - spack_spec: openmpi@4.1.6 + pkg_spec: openmpi@4.1.6 compiler: default-compiler ior: - spack_spec: ior@3.3.0 + pkg_spec: ior@3.3.0 compiler: default-compiler environments: ior: diff --git a/experiments/remhos/openmp/ramble.yaml b/experiments/remhos/openmp/ramble.yaml index 1a615cdd4..dd2b32fb6 100644 --- a/experiments/remhos/openmp/ramble.yaml +++ b/experiments/remhos/openmp/ramble.yaml @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 ramble: include: - - ./configs/spack.yaml + - ./configs/software.yaml - ./configs/variables.yaml - ./configs/modifier.yaml config: @@ -21,36 +21,30 @@ ramble: workloads: remhos: experiments: - execute_{n}_{n_nodes}_{omp_num_threads}: - + execute_{n_nodes}: + variants: + package_manager: spack variables: - n_ranks_per_node: ['8', '4'] - n_nodes: ['1', '2'] - omp_num_threads: ['2', '4'] - n: ['512', '1024'] - matrices: - - size_threads: - - n - - omp_num_threads - spack: + n_nodes: ['1','2'] + software: packages: - #hypre: - #spack_spec: hypre@2.10.0b - #compiler: default-compiler + hypre: + pkg_spec: hypre + compiler: compiler-gcc #zlib-ng: #spack_spec: zlib-ng@2.1.5 #compiler: default-compiler remhos: - spack_spec: remhos@1.0 - compiler: default-compiler - mfem: - spack_spec: mfem@4.5.0 + pkg_spec: remhos@1.0 compiler: default-compiler + #mfem: + #pkg_spec: mfem@4.5.0 + #compiler: default-compiler environments: remhos: packages: - #- hypre - - mfem + - hypre + #- mfem #- zlib-ng - default-mpi - remhos diff --git a/repo/ior/application.py b/repo/ior/application.py index 1034a37e5..532737467 100644 --- a/repo/ior/application.py +++ b/repo/ior/application.py @@ -8,7 +8,7 @@ from ramble.appkit import * -class Ior(SpackApplication): +class Ior(ExecutableApplication): """Ior benchmark""" name = "ior" @@ -16,13 +16,37 @@ class Ior(SpackApplication): 'multi-node','single-node','mpi','network-latency-bound', 'network-collectives','unstructured-grid'] - executable('p', 'ior', use_mpi=True) + executable('p', 'ior -Cge -wWr -F'+ + ' -b {b}' + + ' -t {t}' + + ' -a {a}' + , use_mpi=True) workload('ior', executables=['p']) + + workload_variable('a', default='POSIX', + description='api', + workloads=['ior']) + + workload_variable('b', default='16m', + description='blockSize -- contiguous bytes to write per task (e.g.: 8, 4k, 2m, 1g)', + workloads=['ior']) + + workload_variable('t', default='1m', + description='transferSize -- size of transfer in bytes (e.g.: 8, 4k, 2m, 1g)', + workloads=['ior']) + + workload_variable('N', default='1', + description='numTasks -- number of tasks that are participating in the test (overrides MPI)', + workloads=['ior']) #TODO: build FOMs. ior measures "throughput", but not sure how to calculate that from results - figure_of_merit('Major kernels total time', + figure_of_merit('Max write', log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'Major kernels total time \(seconds\):\s+(?P[0-9]+\.[0-9]*(e^[0-9]*)?)', - group_name='fom', units='seconds') + fom_regex=r'Max Write:\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + group_name='fom', units='MiB/sec') - success_criteria('pass', mode='string', match=r'Major kernels total time', file='{experiment_run_dir}/{experiment_name}.out') + figure_of_merit('Max read', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'Max Read:\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + group_name='fom', units='MiB/sec') + success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') diff --git a/repo/remhos/application.py b/repo/remhos/application.py index c070d6095..d46d71a40 100644 --- a/repo/remhos/application.py +++ b/repo/remhos/application.py @@ -8,37 +8,37 @@ from ramble.appkit import * -class Remhos(SpackApplication): +class Remhos(ExecutableApplication): """Remhos benchmark""" name = "remhos" - executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+' -rp {rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True) + executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+'{rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True) workload('remhos', executables=['run']) - workload_variable('mesh', default='{remhos}/data/cube01_hex.mesh', + workload_variable('mesh', default='{remhos}/data/periodic-square.mesh', description='mesh', workloads=['remhos']) - workload_variable('p', default='14', + workload_variable('p', default='5', description='p', workloads=['remhos']) - workload_variable('rs', default='2', + workload_variable('rs', default='3', description='rs', workloads=['remhos']) - workload_variable('rp', default='1', + workload_variable('rp', default='', description='rp', workloads=['remhos']) - workload_variable('dt', default='0.0005', + workload_variable('dt', default='0.005', description='dt', workloads=['remhos']) - workload_variable('tf', default='0.6', + workload_variable('tf', default='0.8', description='tf', workloads=['remhos']) @@ -50,7 +50,7 @@ class Remhos(SpackApplication): description='lo', workloads=['remhos']) - workload_variable('fct', default='3', + workload_variable('fct', default='2', description='fct', workloads=['remhos']) #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' From 1a28c1e20652d2a7f63c571631e62f072d45f927 Mon Sep 17 00:00:00 2001 From: august-knox Date: Fri, 9 Aug 2024 10:49:44 -0700 Subject: [PATCH 16/55] progress on strong and weak scaling for IOR --- experiments/ior/openmp/ramble.yaml | 11 ++++++----- repo/ior/application.py | 26 ++++++++++++++++++-------- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/experiments/ior/openmp/ramble.yaml b/experiments/ior/openmp/ramble.yaml index 2348854dc..ff13463f1 100644 --- a/experiments/ior/openmp/ramble.yaml +++ b/experiments/ior/openmp/ramble.yaml @@ -27,18 +27,19 @@ ramble: variants: package_manager: spack variables: - n_nodes: ['1','2','4'] - b: ['1g','2g','4g'] - t: ['4m','8m','16m'] + b: '268435456' #256 mb + + t: '{b}/256' ior_openmp_strong_{n_nodes}: variants: package_manager: spack variables: n_nodes: ['1','2','4'] - b: '1g' - t: '4m' + b: '268435456/{n_nodes}' + t: '{b}/256' + #t: '{b}/({sys_cores_per_node}*4)' software: packages: mpi: diff --git a/repo/ior/application.py b/repo/ior/application.py index 532737467..2c9750928 100644 --- a/repo/ior/application.py +++ b/repo/ior/application.py @@ -16,15 +16,15 @@ class Ior(ExecutableApplication): 'multi-node','single-node','mpi','network-latency-bound', 'network-collectives','unstructured-grid'] - executable('p', 'ior -Cge -wWr -F'+ + executable('p', 'ior -Cge -vv -F -i5'+ ' -b {b}' + - ' -t {t}' + + ' -t {t}' + ' -a {a}' , use_mpi=True) workload('ior', executables=['p']) - workload_variable('a', default='POSIX', + workload_variable('a', default='MPIIO', description='api', workloads=['ior']) @@ -39,14 +39,24 @@ class Ior(ExecutableApplication): workload_variable('N', default='1', description='numTasks -- number of tasks that are participating in the test (overrides MPI)', workloads=['ior']) - #TODO: build FOMs. ior measures "throughput", but not sure how to calculate that from results - figure_of_merit('Max write', + #TODO: Simplify FOMs + + figure_of_merit('Mean write OPs', log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'Max Write:\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + fom_regex=r'write\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + group_name='fom', units='OPs') + + figure_of_merit('Mean read OPs', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + group_name='fom', units='OPs') + figure_of_merit('Mean write', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'write\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', group_name='fom', units='MiB/sec') - figure_of_merit('Max read', + figure_of_merit('Mean read', log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'Max Read:\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', group_name='fom', units='MiB/sec') success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') From b8fa4f2543f6f74aec33fa4e66f26fc1706effe0 Mon Sep 17 00:00:00 2001 From: august-knox Date: Tue, 13 Aug 2024 13:38:27 -0700 Subject: [PATCH 17/55] cleaning up unnecessary mpi version specs --- experiments/ior/openmp/ramble.yaml | 3 --- experiments/quicksilver/openmp/ramble.yaml | 3 --- experiments/remhos/openmp/ramble.yaml | 16 +++++----------- repo/remhos/application.py | 18 +++++++++--------- 4 files changed, 14 insertions(+), 26 deletions(-) diff --git a/experiments/ior/openmp/ramble.yaml b/experiments/ior/openmp/ramble.yaml index ff13463f1..a7180cf2b 100644 --- a/experiments/ior/openmp/ramble.yaml +++ b/experiments/ior/openmp/ramble.yaml @@ -42,9 +42,6 @@ ramble: #t: '{b}/({sys_cores_per_node}*4)' software: packages: - mpi: - pkg_spec: openmpi@4.1.6 - compiler: default-compiler ior: pkg_spec: ior@3.3.0 compiler: default-compiler diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml index 42686e067..1495e15c0 100644 --- a/experiments/quicksilver/openmp/ramble.yaml +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -61,9 +61,6 @@ ramble: K: ['1','2','2','2'] software: packages: - mpi: - pkg_spec: openmpi@4.1.6 - compiler: default-compiler quicksilver: pkg_spec: quicksilver compiler: default-compiler diff --git a/experiments/remhos/openmp/ramble.yaml b/experiments/remhos/openmp/ramble.yaml index dd2b32fb6..895fe3293 100644 --- a/experiments/remhos/openmp/ramble.yaml +++ b/experiments/remhos/openmp/ramble.yaml @@ -20,8 +20,10 @@ ramble: remhos: workloads: remhos: + variables: + n_ranks: '{n_nodes}*{sys_cores_per_node}' experiments: - execute_{n_nodes}: + remhos_strong_{n_nodes}: variants: package_manager: spack variables: @@ -30,22 +32,14 @@ ramble: packages: hypre: pkg_spec: hypre - compiler: compiler-gcc - #zlib-ng: - #spack_spec: zlib-ng@2.1.5 - #compiler: default-compiler + compiler: default-compiler remhos: - pkg_spec: remhos@1.0 + pkg_spec: remhos@1.0 +metis{modifier_spack_variant} compiler: default-compiler - #mfem: - #pkg_spec: mfem@4.5.0 - #compiler: default-compiler environments: remhos: packages: - hypre - #- mfem - #- zlib-ng - default-mpi - remhos - '{modifier_package_name}' diff --git a/repo/remhos/application.py b/repo/remhos/application.py index d46d71a40..7651bc25a 100644 --- a/repo/remhos/application.py +++ b/repo/remhos/application.py @@ -19,39 +19,39 @@ class Remhos(ExecutableApplication): workload('remhos', executables=['run']) workload_variable('mesh', default='{remhos}/data/periodic-square.mesh', - description='mesh', + description='mesh file', workloads=['remhos']) workload_variable('p', default='5', - description='p', + description='problem number', workloads=['remhos']) workload_variable('rs', default='3', - description='rs', + description='number of serial refinements', workloads=['remhos']) workload_variable('rp', default='', - description='rp', + description='number of parallel refinements', workloads=['remhos']) workload_variable('dt', default='0.005', - description='dt', + description='time step', workloads=['remhos']) workload_variable('tf', default='0.8', - description='tf', + description='time final', workloads=['remhos']) workload_variable('ho', default='1', - description='ho', + description='high order solver', workloads=['remhos']) workload_variable('lo', default='2', - description='lo', + description='low order solver', workloads=['remhos']) workload_variable('fct', default='2', - description='fct', + description='fct type', workloads=['remhos']) #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' figure_of_merit("success", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'(?P.*)', group_name='done', units='') From e5ec2b2e931d883a6c1053f1c5ce11d09bdf69e0 Mon Sep 17 00:00:00 2001 From: august-knox Date: Wed, 14 Aug 2024 09:35:58 -0700 Subject: [PATCH 18/55] updated ior to mpi-only and made quicksilver-mpi variant false --- .../ior/{openmp => mpi-only}/ramble.yaml | 4 ++-- repo/quicksilver/package.py | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) rename experiments/ior/{openmp => mpi-only}/ramble.yaml (94%) diff --git a/experiments/ior/openmp/ramble.yaml b/experiments/ior/mpi-only/ramble.yaml similarity index 94% rename from experiments/ior/openmp/ramble.yaml rename to experiments/ior/mpi-only/ramble.yaml index a7180cf2b..0b1b4cd4b 100644 --- a/experiments/ior/openmp/ramble.yaml +++ b/experiments/ior/mpi-only/ramble.yaml @@ -23,7 +23,7 @@ ramble: variables: n_ranks: '{n_nodes}*{sys_cores_per_node}' experiments: - ior_openmp_weak_{n_nodes}: + ior_mpi_weak_{n_nodes}: variants: package_manager: spack variables: @@ -32,7 +32,7 @@ ramble: t: '{b}/256' - ior_openmp_strong_{n_nodes}: + ior_mpi_strong_{n_nodes}: variants: package_manager: spack variables: diff --git a/repo/quicksilver/package.py b/repo/quicksilver/package.py index 81dfebea6..c901d4cdb 100644 --- a/repo/quicksilver/package.py +++ b/repo/quicksilver/package.py @@ -22,9 +22,9 @@ class Quicksilver(MakefilePackage): version("master", branch="master") version("1.0", sha256="83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a") - variant("openmp", default=True, description="Build with OpenMP support") - variant("mpi", default=True, description="Build with MPI support") - + variant("openmp", default=False, description="Build with OpenMP support") + variant("mpi", default=False, description="Build with MPI support") + variant("cuda", default=True, description="Build with CUDA support") depends_on("mpi", when="+mpi") build_directory = "src" @@ -33,8 +33,10 @@ class Quicksilver(MakefilePackage): def build_targets(self): targets = [] spec = self.spec - - targets.append("CXXFLAGS={0}".format(self.compiler.cxx11_flag)) + if "+cuda" in spec: + targets.append("CXXFLAGS= -DHAVE_CUDA {0}".format(self.compiler.cxx11_flag)) + else: + targets.append("CXXFLAGS={0}".format(self.compiler.cxx11_flag)) if "+mpi" in spec: targets.append("CXX={0}".format(spec["mpi"].mpicxx)) @@ -42,14 +44,11 @@ def build_targets(self): targets.append("CXX={0}".format(spack_cxx)) if "+openmp+mpi" in spec: - targets.append( - "CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}".format(self.compiler.openmp_flag) - ) + targets.append("CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)) elif "+openmp" in spec: targets.append("CPPFLAGS=-DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)) elif "+mpi" in spec: targets.append("CPPFLAGS=-DHAVE_MPI") - if "+openmp" in self.spec: targets.append("LDFLAGS={0}".format(self.compiler.openmp_flag)) From 24d1216338a70933e2ac194c51421d5685dd5996 Mon Sep 17 00:00:00 2001 From: august-knox Date: Wed, 14 Aug 2024 09:48:42 -0700 Subject: [PATCH 19/55] fixed line in qs --- experiments/quicksilver/openmp/ramble.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml index 1495e15c0..7a3adbefb 100644 --- a/experiments/quicksilver/openmp/ramble.yaml +++ b/experiments/quicksilver/openmp/ramble.yaml @@ -62,7 +62,7 @@ ramble: software: packages: quicksilver: - pkg_spec: quicksilver + pkg_spec: quicksilver +openmp+mpi compiler: default-compiler environments: quicksilver: From aa68b3f22e222f16b7f8344318df7250e566aff3 Mon Sep 17 00:00:00 2001 From: august-knox Date: Wed, 14 Aug 2024 10:42:44 -0700 Subject: [PATCH 20/55] fixed cuda also defaulting to true --- repo/quicksilver/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo/quicksilver/package.py b/repo/quicksilver/package.py index c901d4cdb..9b8f8f496 100644 --- a/repo/quicksilver/package.py +++ b/repo/quicksilver/package.py @@ -24,7 +24,7 @@ class Quicksilver(MakefilePackage): variant("openmp", default=False, description="Build with OpenMP support") variant("mpi", default=False, description="Build with MPI support") - variant("cuda", default=True, description="Build with CUDA support") + variant("cuda", default=False, description="Build with CUDA support") depends_on("mpi", when="+mpi") build_directory = "src" From d1409d05052be2f55edb91714d557bf704e2930a Mon Sep 17 00:00:00 2001 From: august-knox Date: Thu, 15 Aug 2024 12:04:33 -0700 Subject: [PATCH 21/55] initial commit of gpcnet --- experiments/gpcnet/mpi-only/ramble.yaml | 52 +++++++++++++++++++++++++ repo/gpcnet/application.py | 24 ++++++++++++ repo/gpcnet/package.py | 40 +++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 experiments/gpcnet/mpi-only/ramble.yaml create mode 100644 repo/gpcnet/application.py create mode 100644 repo/gpcnet/package.py diff --git a/experiments/gpcnet/mpi-only/ramble.yaml b/experiments/gpcnet/mpi-only/ramble.yaml new file mode 100644 index 000000000..9292b7bb5 --- /dev/null +++ b/experiments/gpcnet/mpi-only/ramble.yaml @@ -0,0 +1,52 @@ +# Copyright 2013-2024 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/software.yaml + - ./configs/variables.yaml + - ./configs/modifier.yaml + config: + deprecated: true + spack_flags: + install: '--add --keep-stage' + concretize: '-U -f' + + modifiers: + - name: allocation + + applications: + gpcnet: + workloads: + network_test: + variables: + n_ranks: '{n_nodes}*32' + experiments: + gpcnet_network_test_strong_{n_nodes}: + variants: + package_manager: spack + variables: + #must be run on at least 2 nodes + n_nodes: ['2','4'] + network_load_test: + variables: + n_ranks: '{n_nodes}*32' + experiments: + gpcnet_network_load_test_strong_{n_nodes}: + variants: + package_manager: spack + variables: + #must be run on at least 10 nodes + n_nodes: '10' + software: + packages: + gpcnet: + pkg_spec: gpcnet@master +mpi + compiler: default-compiler + environments: + gpcnet: + packages: + - default-mpi + - gpcnet + - '{modifier_package_name}' diff --git a/repo/gpcnet/application.py b/repo/gpcnet/application.py new file mode 100644 index 000000000..54bbe0aad --- /dev/null +++ b/repo/gpcnet/application.py @@ -0,0 +1,24 @@ +# 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 sys + +from ramble.appkit import * + + +class Gpcnet(ExecutableApplication): + """GPCNet benchmark""" + name = "GPCNet" + + executable('p1', 'network_test', use_mpi=True) + executable('p2', 'network_load_test', use_mpi=True) + workload('network_test', executables=['p1']) + workload('network_load_test', executables=['p2']) + + figure_of_merit('Mean read', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + group_name='fom', units='MiB/sec') + success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') diff --git a/repo/gpcnet/package.py b/repo/gpcnet/package.py new file mode 100644 index 000000000..f08a4d5a4 --- /dev/null +++ b/repo/gpcnet/package.py @@ -0,0 +1,40 @@ + +from spack.package import * + +class Gpcnet(MakefilePackage): + + + tags = ["proxy-app"] + + homepage = "https://codesign.llnl.gov/quicksilver.php" + url = "https://github.com/netbench/GPCNET/archive/refs/tags/1.2.tar.gz" + git = "https://github.com/netbench/GPCNET" + + maintainers("knox10") + + version("master", branch="master") + + variant("mpi", default=False, description="Build with MPI support") + + depends_on("mpi", when="+mpi") + + @property + def build_targets(self): + targets = ["all"] + # spec=self.spec + # if "+mpi" in spec: + # targets.append("CC={0}".format(spec["mpi"].mpicxx)) + return targets + + def edit(self, spec, prefix): + makefile = FileFilter("Makefile") + makefile.filter('CC = cc', "CC = {0}".format(spec["mpi"].mpicc)) + + + def install(self, spec, prefix): + mkdir(prefix.bin) + mkdir(prefix.doc) + install("network_test", prefix.bin) + install("network_load_test", prefix.bin) + install("LICENSE", prefix.doc) + install("README.md", prefix.doc) From 115a6bd2b95711c8be5675e942ba4dd192ae883c Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:07:12 -0700 Subject: [PATCH 22/55] Delete repo/remhos directory --- repo/remhos/application.py | 59 -------------------------------------- repo/remhos/package.py | 58 ------------------------------------- 2 files changed, 117 deletions(-) delete mode 100644 repo/remhos/application.py delete mode 100644 repo/remhos/package.py diff --git a/repo/remhos/application.py b/repo/remhos/application.py deleted file mode 100644 index 7651bc25a..000000000 --- a/repo/remhos/application.py +++ /dev/null @@ -1,59 +0,0 @@ -# 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 sys - -from ramble.appkit import * - - -class Remhos(ExecutableApplication): - """Remhos benchmark""" - name = "remhos" - - - - executable('run', 'remhos'+' -m {mesh}'+' -p {p}'+' -rs {rs}'+'{rp}'+' -dt {dt}'+' -tf {tf}'+' -ho {ho}' ' -lo {lo}'+' -fct {fct}', use_mpi=True) - - workload('remhos', executables=['run']) - - workload_variable('mesh', default='{remhos}/data/periodic-square.mesh', - description='mesh file', - workloads=['remhos']) - - workload_variable('p', default='5', - description='problem number', - workloads=['remhos']) - - workload_variable('rs', default='3', - description='number of serial refinements', - workloads=['remhos']) - - workload_variable('rp', default='', - description='number of parallel refinements', - workloads=['remhos']) - - workload_variable('dt', default='0.005', - description='time step', - workloads=['remhos']) - - workload_variable('tf', default='0.8', - description='time final', - workloads=['remhos']) - - workload_variable('ho', default='1', - description='high order solver', - workloads=['remhos']) - - workload_variable('lo', default='2', - description='low order solver', - workloads=['remhos']) - - workload_variable('fct', default='2', - description='fct type', - workloads=['remhos']) - #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' - figure_of_merit("success", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'(?P.*)', group_name='done', units='') - success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') - diff --git a/repo/remhos/package.py b/repo/remhos/package.py deleted file mode 100644 index fd0c483e3..000000000 --- a/repo/remhos/package.py +++ /dev/null @@ -1,58 +0,0 @@ -# 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 typing import List - -from spack.package import * - - -class Remhos(MakefilePackage): - """Remhos (REMap High-Order Solver) is a CEED miniapp that performs monotonic - and conservative high-order discontinuous field interpolation (remap) - using DG advection-based spatial discretization and explicit high-order - time-stepping. - """ - - tags = ["proxy-app"] - - homepage = "https://github.com/CEED/Remhos" - url = "https://github.com/CEED/Remhos/archive/v1.0.tar.gz" - git = "https://github.com/CEED/Remhos.git" - - maintainers("v-dobrev", "tzanio", "vladotomov") - - license("BSD-2-Clause") - - version("develop", branch="master") - version("1.0", sha256="e60464a867fe5b1fd694fbb37bb51773723427f071c0ae26852a2804c08bbb32") - - variant("metis", default=True, description="Enable/disable METIS support") - - depends_on("mfem+mpi+metis", when="+metis") - depends_on("mfem+mpi~metis", when="~metis") - - depends_on("mfem@develop", when="@develop") - depends_on("mfem@4.1.0:", when="@1.0") - - @property - def build_targets(self): - targets = [] - spec = self.spec - - targets.append("MFEM_DIR=%s" % spec["mfem"].prefix) - targets.append("CONFIG_MK=%s" % spec["mfem"].package.config_mk) - targets.append("TEST_MK=%s" % spec["mfem"].package.test_mk) - - return targets - - # See lib/spack/spack/build_systems/makefile.py - def check(self): - with working_dir(self.build_directory): - make("tests", *self.build_targets) - - def install(self, spec, prefix): - mkdirp(prefix.bin) - install("remhos", prefix.bin) - install_tree("data", prefix.data) - install_time_test_callbacks: List[str] = [] From 9884cb70127ed1c8a330b59591a4afabdf431eb8 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:08:44 -0700 Subject: [PATCH 23/55] Delete repo/ior directory --- repo/ior/application.py | 62 ----------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 repo/ior/application.py diff --git a/repo/ior/application.py b/repo/ior/application.py deleted file mode 100644 index 2c9750928..000000000 --- a/repo/ior/application.py +++ /dev/null @@ -1,62 +0,0 @@ -# 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 sys - -from ramble.appkit import * - - -class Ior(ExecutableApplication): - """Ior benchmark""" - name = "ior" - - tags = ['asc','engineering','hypre','solver','cfd','large-scale', - 'multi-node','single-node','mpi','network-latency-bound', - 'network-collectives','unstructured-grid'] - - executable('p', 'ior -Cge -vv -F -i5'+ - ' -b {b}' + - ' -t {t}' + - ' -a {a}' - , use_mpi=True) - - workload('ior', executables=['p']) - - workload_variable('a', default='MPIIO', - description='api', - workloads=['ior']) - - workload_variable('b', default='16m', - description='blockSize -- contiguous bytes to write per task (e.g.: 8, 4k, 2m, 1g)', - workloads=['ior']) - - workload_variable('t', default='1m', - description='transferSize -- size of transfer in bytes (e.g.: 8, 4k, 2m, 1g)', - workloads=['ior']) - - workload_variable('N', default='1', - description='numTasks -- number of tasks that are participating in the test (overrides MPI)', - workloads=['ior']) - #TODO: Simplify FOMs - - figure_of_merit('Mean write OPs', - log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'write\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', - group_name='fom', units='OPs') - - figure_of_merit('Mean read OPs', - log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', - group_name='fom', units='OPs') - figure_of_merit('Mean write', - log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'write\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', - group_name='fom', units='MiB/sec') - - figure_of_merit('Mean read', - log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', - group_name='fom', units='MiB/sec') - success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') From b9fd194c68a830efa03efa9c1bf75f472090b545 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:09:05 -0700 Subject: [PATCH 24/55] Delete repo/quicksilver directory --- repo/quicksilver/application.py | 140 -------------------------------- repo/quicksilver/package.py | 63 -------------- 2 files changed, 203 deletions(-) delete mode 100644 repo/quicksilver/application.py delete mode 100644 repo/quicksilver/package.py diff --git a/repo/quicksilver/application.py b/repo/quicksilver/application.py deleted file mode 100644 index d02471d4d..000000000 --- a/repo/quicksilver/application.py +++ /dev/null @@ -1,140 +0,0 @@ -# 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 sys - -from ramble.appkit import * - - -class Quicksilver(ExecutableApplication): - """Quicksilver benchmark""" - name = "quicksilver" - - tags = ['asc','montecarlo', - 'single-node', - 'high-branching', - 'irregular-memory-access', - 'mpi', - 'c++','openmp'] - - executable('run', 'qs'+ - ' -i {i}' + - ' -X {X}' + - ' -Y {Y}' + - ' -Z {Z}' + - ' -I {I}' + - ' -J {J}' + - ' -K {K}' + - ' -x {x}' + - ' -y {y}' + - ' -z {z}' + - ' -n {n}' - , use_mpi=True) - - workload('quicksilver', executables=['run']) - #not sure if these variables are necessary - workload_variable('D', default='', - description='time step (seconds)', - workloads=['quicksilver']) - workload_variable('f', default='', - description='max random mesh node displacement', - workloads=['quicksilver']) - workload_variable('i', default='{quicksilver}/Examples/CTS2_Benchmark/CTS2.inp', - description='name of input file', - workloads=['quicksilver']) - workload_variable('e', default='', - description='', - workloads=['quicksilver']) - workload_variable('S', default='', - description='name of cross section output file', - workloads=['quicksilver']) - workload_variable('l', default='', - description='enable/disable load balancing', - workloads=['quicksilver']) - - workload_variable('c', default='', - description='enable/disable cycle timers', - workloads=['quicksilver']) - - workload_variable('t', default='', - description='set thread debug level to 1, 2, 3', - workloads=['quicksilver']) - - workload_variable('X', default='', - description='x-size of simulation (cm)', - workloads=['quicksilver']) - - workload_variable('Y', default='', - description='y-size of simulation (cm)', - workloads=['quicksilver']) - - workload_variable('Z', default='', - description='z-size of simulation (cm)', - workloads=['quicksilver']) - - workload_variable('n', default='', - description='number of particles', - workloads=['quicksilver']) - - workload_variable('g', default='', - description='number of particles in a vault/batch', - workloads=['quicksilver']) - - - workload_variable('b', default='', - description='number of vault/batch to start (sets batchSize automatically)', - workloads=['quicksilver']) - - workload_variable('N', default='', - description='number of time steps', - workloads=['quicksilver']) - - workload_variable('x', default='', - description='number of mesh elements in x', - workloads=['quicksilver']) - - workload_variable('y', default='', - description='number of mesh elements in y', - workloads=['quicksilver']) - - workload_variable('z', default='', - description='number of mesh elements in z', - workloads=['quicksilver']) - - workload_variable('s', default='', - description='random number seed', - workloads=['quicksilver']) - - workload_variable('I', default='', - description='number of MPI ranks in x', - workloads=['quicksilver']) - - workload_variable('J', default='', - description='number of MPI ranks in y', - workloads=['quicksilver']) - - workload_variable('K', default='', - description='number of MPI ranks in z', - workloads=['quicksilver']) - - workload_variable('B', default='', - description='number of balance tally replications', - workloads=['quicksilver']) - - workload_variable('F', default='', - description='number of scalar flux tally replications', - workloads=['quicksilver']) - - workload_variable('C', default='', - description='number of scalar cell tally replications', - workloads=['quicksilver']) - - - #FOM_regex=r'(?<=Merit)\s+[\+\-]*[0-9]*\.*[0-9]+e*[\+\-]*[0-9]*' - figure_of_merit("FOM", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'Figure Of Merit\s+(?P[0-9]+\.[0-9]*([0-9]*)+e\+?[0-9]*)', group_name='fom', units='Num Segments / Cycle Tracking Time') - - figure_of_merit("avg cycleTracking", log_file='{experiment_run_dir}/{experiment_name}.out', fom_regex=r'cycleTracking +[0-9]+\s+[0-9]+\.[0-9]*[0-9]*e\+?[0-9]+\s+(?P[0-9]+\.[0-9]*([0-9]*)+e\+?[0-9]*)', group_name='fom', units='Cumulative microseconds avg') - success_criteria('valid', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') - diff --git a/repo/quicksilver/package.py b/repo/quicksilver/package.py deleted file mode 100644 index 9b8f8f496..000000000 --- a/repo/quicksilver/package.py +++ /dev/null @@ -1,63 +0,0 @@ -# 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 Quicksilver(MakefilePackage): - """Quicksilver is a proxy application that represents some elements of the - Mercury workload. - """ - - tags = ["proxy-app"] - - homepage = "https://codesign.llnl.gov/quicksilver.php" - url = "https://github.com/LLNL/Quicksilver/tarball/V1.0" - git = "https://github.com/LLNL/Quicksilver.git" - - maintainers("richards12") - - version("master", branch="master") - version("1.0", sha256="83371603b169ec75e41fb358881b7bd498e83597cd251ff9e5c35769ef22c59a") - - variant("openmp", default=False, description="Build with OpenMP support") - variant("mpi", default=False, description="Build with MPI support") - variant("cuda", default=False, description="Build with CUDA support") - depends_on("mpi", when="+mpi") - - build_directory = "src" - - @property - def build_targets(self): - targets = [] - spec = self.spec - if "+cuda" in spec: - targets.append("CXXFLAGS= -DHAVE_CUDA {0}".format(self.compiler.cxx11_flag)) - else: - targets.append("CXXFLAGS={0}".format(self.compiler.cxx11_flag)) - - if "+mpi" in spec: - targets.append("CXX={0}".format(spec["mpi"].mpicxx)) - else: - targets.append("CXX={0}".format(spack_cxx)) - - if "+openmp+mpi" in spec: - targets.append("CPPFLAGS=-DHAVE_MPI -DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)) - elif "+openmp" in spec: - targets.append("CPPFLAGS=-DHAVE_OPENMP {0}".format(self.compiler.openmp_flag)) - elif "+mpi" in spec: - targets.append("CPPFLAGS=-DHAVE_MPI") - if "+openmp" in self.spec: - targets.append("LDFLAGS={0}".format(self.compiler.openmp_flag)) - - return targets - - def install(self, spec, prefix): - mkdir(prefix.bin) - mkdir(prefix.doc) - install("src/qs", prefix.bin) - install("LICENSE.md", prefix.doc) - install("README.md", prefix.doc) - install_tree("Examples", prefix.Examples) From fd728828ec9930cd590e210e1adf6ed2fc456b31 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:09:29 -0700 Subject: [PATCH 25/55] Delete experiments/ior/mpi-only directory --- experiments/ior/mpi-only/ramble.yaml | 53 ---------------------------- 1 file changed, 53 deletions(-) delete mode 100644 experiments/ior/mpi-only/ramble.yaml diff --git a/experiments/ior/mpi-only/ramble.yaml b/experiments/ior/mpi-only/ramble.yaml deleted file mode 100644 index 0b1b4cd4b..000000000 --- a/experiments/ior/mpi-only/ramble.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright 2013-2024 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/software.yaml - - ./configs/variables.yaml - - ./configs/modifier.yaml - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - ior: - workloads: - ior: - variables: - n_ranks: '{n_nodes}*{sys_cores_per_node}' - experiments: - ior_mpi_weak_{n_nodes}: - variants: - package_manager: spack - variables: - n_nodes: ['1','2','4'] - b: '268435456' #256 mb - - t: '{b}/256' - - ior_mpi_strong_{n_nodes}: - variants: - package_manager: spack - variables: - n_nodes: ['1','2','4'] - b: '268435456/{n_nodes}' - t: '{b}/256' - #t: '{b}/({sys_cores_per_node}*4)' - software: - packages: - ior: - pkg_spec: ior@3.3.0 - compiler: default-compiler - environments: - ior: - packages: - - default-mpi - - ior - - '{modifier_package_name}' From c5ae5ce2f30e168e7a44adfa01e20b47ebdc4fd6 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:09:46 -0700 Subject: [PATCH 26/55] Delete experiments/quicksilver/openmp directory --- experiments/quicksilver/openmp/ramble.yaml | 72 ---------------------- 1 file changed, 72 deletions(-) delete mode 100644 experiments/quicksilver/openmp/ramble.yaml diff --git a/experiments/quicksilver/openmp/ramble.yaml b/experiments/quicksilver/openmp/ramble.yaml deleted file mode 100644 index 7a3adbefb..000000000 --- a/experiments/quicksilver/openmp/ramble.yaml +++ /dev/null @@ -1,72 +0,0 @@ -# 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/software.yaml - - ./configs/variables.yaml - - ./configs/modifier.yaml - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - quicksilver: - workloads: - quicksilver: - variables: - experiment_setup: '' - arch: 'OpenMP' - n_threads_per_proc: '1' - omp_num_threads: '{n_threads_per_proc}' - n_ranks: '{I}*{J}*{K}' - experiments: - quicksilver_openmp_weak_{n_nodes}_{n_ranks}: - variants: - package_manager: spack - variables: - n: '{x}*{y}*{z}*10' - x: '{X}' - y: '{Y}' - z: '{Z}' - X: ['32','32','64','64'] - Y: ['32','32','32','64'] - Z: ['16','32','32','32'] - - I: ['2','2','4','4'] - J: ['2','2','2','4'] - K: ['1','2','2','2'] - - quicksilver_openmp_strong_{n_nodes}_{n_ranks}: - variants: - package_manager: spack - variables: - n: '{x}*{y}*{z}*10' - x: '{X}' - y: '{Y}' - z: '{Z}' - X: '32' - Y: '32' - Z: '16' - - I: ['2','2','4','4'] - J: ['2','2','2','4'] - K: ['1','2','2','2'] - software: - packages: - quicksilver: - pkg_spec: quicksilver +openmp+mpi - compiler: default-compiler - environments: - quicksilver: - packages: - - default-mpi - - quicksilver - - '{modifier_package_name}' From fe7f4a890dc25f184c9101d805f3971495f7c322 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:09:54 -0700 Subject: [PATCH 27/55] Delete experiments/remhos/openmp directory --- experiments/remhos/openmp/ramble.yaml | 45 --------------------------- 1 file changed, 45 deletions(-) delete mode 100644 experiments/remhos/openmp/ramble.yaml diff --git a/experiments/remhos/openmp/ramble.yaml b/experiments/remhos/openmp/ramble.yaml deleted file mode 100644 index 895fe3293..000000000 --- a/experiments/remhos/openmp/ramble.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2013-2024 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/software.yaml - - ./configs/variables.yaml - - ./configs/modifier.yaml - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - remhos: - workloads: - remhos: - variables: - n_ranks: '{n_nodes}*{sys_cores_per_node}' - experiments: - remhos_strong_{n_nodes}: - variants: - package_manager: spack - variables: - n_nodes: ['1','2'] - software: - packages: - hypre: - pkg_spec: hypre - compiler: default-compiler - remhos: - pkg_spec: remhos@1.0 +metis{modifier_spack_variant} - compiler: default-compiler - environments: - remhos: - packages: - - hypre - - default-mpi - - remhos - - '{modifier_package_name}' From f21f9b2597eda0a9d3bc70e47f556684a7b46c61 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 19 Aug 2024 11:58:00 -0700 Subject: [PATCH 28/55] cleaning up gpcnet code --- experiments/gpcnet/mpi-only/ramble.yaml | 5 +++-- repo/gpcnet/application.py | 4 ++-- repo/gpcnet/package.py | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/experiments/gpcnet/mpi-only/ramble.yaml b/experiments/gpcnet/mpi-only/ramble.yaml index 9292b7bb5..5b1c53ce0 100644 --- a/experiments/gpcnet/mpi-only/ramble.yaml +++ b/experiments/gpcnet/mpi-only/ramble.yaml @@ -21,7 +21,8 @@ ramble: workloads: network_test: variables: - n_ranks: '{n_nodes}*32' + #only running on half of available cores per node because of mpi error on ruby when running with more than half + n_ranks: '{n_nodes}*{sys_cores_per_node}//2' experiments: gpcnet_network_test_strong_{n_nodes}: variants: @@ -31,7 +32,7 @@ ramble: n_nodes: ['2','4'] network_load_test: variables: - n_ranks: '{n_nodes}*32' + n_ranks: '{n_nodes}*{sys_cores_per_node}//2' experiments: gpcnet_network_load_test_strong_{n_nodes}: variants: diff --git a/repo/gpcnet/application.py b/repo/gpcnet/application.py index 54bbe0aad..09f8e0022 100644 --- a/repo/gpcnet/application.py +++ b/repo/gpcnet/application.py @@ -17,8 +17,8 @@ class Gpcnet(ExecutableApplication): workload('network_test', executables=['p1']) workload('network_load_test', executables=['p2']) - figure_of_merit('Mean read', + figure_of_merit('TBD', log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'read\s+[0-9]+\.[0-9]*[0-9]*\s+[0-9]+\.[0-9]*[0-9]*\s+(?P[0-9]+\.[0-9]*([0-9]*)?)', + fom_regex=r'.*', group_name='fom', units='MiB/sec') success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') diff --git a/repo/gpcnet/package.py b/repo/gpcnet/package.py index f08a4d5a4..62267da9f 100644 --- a/repo/gpcnet/package.py +++ b/repo/gpcnet/package.py @@ -1,3 +1,7 @@ +# 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 * @@ -21,9 +25,6 @@ class Gpcnet(MakefilePackage): @property def build_targets(self): targets = ["all"] - # spec=self.spec - # if "+mpi" in spec: - # targets.append("CC={0}".format(spec["mpi"].mpicxx)) return targets def edit(self, spec, prefix): From 617993fe6a08c6ab9ee3c22d248a71912f227a64 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 27 Sep 2024 07:59:14 -0500 Subject: [PATCH 29/55] license --- experiments/gpcnet/mpi-only/ramble.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/experiments/gpcnet/mpi-only/ramble.yaml b/experiments/gpcnet/mpi-only/ramble.yaml index 5b1c53ce0..13333323d 100644 --- a/experiments/gpcnet/mpi-only/ramble.yaml +++ b/experiments/gpcnet/mpi-only/ramble.yaml @@ -1,7 +1,8 @@ -# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# 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/software.yaml From fda1ea6267f48f440b8db0f3f6d9a41093fbf24f Mon Sep 17 00:00:00 2001 From: pearce8 Date: Fri, 27 Sep 2024 08:09:34 -0500 Subject: [PATCH 30/55] Adding dry run on dynamic tioga --- .github/workflows/run.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index e9b045229..4e2e7a17f 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -245,6 +245,17 @@ jobs: --disable-logger \ workspace setup --dry-run + - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier + run: | + ./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl + ./bin/benchpark setup gpcnet/mpi-only ./tioga-system workspace/ + . workspace/setup.sh + ramble \ + --workspace-dir workspace/gpcnet/mpi-only/Tioga-d34a754/workspace \ + --disable-progress-bar \ + --disable-logger \ + workspace setup --dry-run + - name: Dry run genesis/openmp with allocation modifier on Fugaku run: | ./bin/benchpark setup genesis/openmp RCCS-Fugaku-Fujitsu-A64FX-TofuD workspace/ From daff4da664b7a750e4084d61db6e2fa7548402f4 Mon Sep 17 00:00:00 2001 From: pearce8 Date: Mon, 30 Sep 2024 14:29:30 -0500 Subject: [PATCH 31/55] Moving dry run into its own directory --- .github/workflows/run.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index e56c7d64a..c333252e5 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -247,11 +247,11 @@ jobs: - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier run: | - ./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl - ./bin/benchpark setup gpcnet/mpi-only ./tioga-system workspace/ + ./bin/benchpark system init --dest=tioga-system-gpcnet tioga rocm=551 compiler=cce ~gtl + ./bin/benchpark setup gpcnet/mpi-only-gpcnet ./tioga-system workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet/mpi-only/Tioga-d34a754/workspace \ + --workspace-dir workspace/gpcnet/mpi-only-gpcnet/Tioga-d34a754/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From 1011c71863ef91dcf990490cc9dfb6f3e465d0fb Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 09:16:22 -0800 Subject: [PATCH 32/55] new gpcnet experiment.py --- experiments/gpcnet/experiment.py | 71 ++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 experiments/gpcnet/experiment.py diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py new file mode 100644 index 000000000..a8b4e4150 --- /dev/null +++ b/experiments/gpcnet/experiment.py @@ -0,0 +1,71 @@ +# 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 benchpark.error import BenchparkError +from benchpark.directives import variant +from benchpark.experiment import Experiment +from benchpark.openmp import OpenMPExperiment +from benchpark.cuda import CudaExperiment +from benchpark.rocm import ROCmExperiment +from benchpark.scaling import StrongScaling +from benchpark.scaling import WeakScaling +from benchpark.scaling import ThroughputScaling + + +class Gpcnet( + Experiment, + StrongScaling +): + variant( + "workload", + default="network_test", + values=("network_test", "network_load_test"), + description="network_test or network_load_test", + ) + + variant( + "version", + default="master", + description="app version", + ) + + # requires("system+papi", when(caliper=topdown*)) + + # TODO: Support list of 3-tuples + # variant( + # "p", + # description="value of p", + # ) + + # TODO: Support list of 3-tuples + # variant( + # "n", + # description="value of n", + # ) + + def compute_applications_section(self): + # TODO: Replace with conflicts clause + self.add_experiment_variable("n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True) + if self.spec.satisfies("workload=network_test"): + self.add_experiment_variable("n_nodes", ['2','4']) + elif self.spec.satisfies("workload=network_load_test"): + self.add_experiment_variable("n_nodes", '10') + + def compute_spack_section(self): + # get package version + app_version = self.spec.variants["version"][0] + + # get system config options + # TODO: Get compiler/mpi/package handles directly from system.py + system_specs = {} + system_specs["compiler"] = "default-compiler" + system_specs["mpi"] = "default-mpi" + + # empty package_specs value implies external package + self.add_spack_spec(system_specs["mpi"]) + + self.add_spack_spec( + self.name, [f"gpcnet@{app_version} +mpi", system_specs["compiler"]] + ) From d9fcd75ddfde0d7817dc4bd3dbd6cc24db134e0d Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:20:35 -0800 Subject: [PATCH 33/55] Delete experiments/gpcnet/mpi-only directory removing old gpcnet ramble.yaml --- experiments/gpcnet/mpi-only/ramble.yaml | 54 ------------------------- 1 file changed, 54 deletions(-) delete mode 100644 experiments/gpcnet/mpi-only/ramble.yaml diff --git a/experiments/gpcnet/mpi-only/ramble.yaml b/experiments/gpcnet/mpi-only/ramble.yaml deleted file mode 100644 index 13333323d..000000000 --- a/experiments/gpcnet/mpi-only/ramble.yaml +++ /dev/null @@ -1,54 +0,0 @@ -# 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/software.yaml - - ./configs/variables.yaml - - ./configs/modifier.yaml - config: - deprecated: true - spack_flags: - install: '--add --keep-stage' - concretize: '-U -f' - - modifiers: - - name: allocation - - applications: - gpcnet: - workloads: - network_test: - variables: - #only running on half of available cores per node because of mpi error on ruby when running with more than half - n_ranks: '{n_nodes}*{sys_cores_per_node}//2' - experiments: - gpcnet_network_test_strong_{n_nodes}: - variants: - package_manager: spack - variables: - #must be run on at least 2 nodes - n_nodes: ['2','4'] - network_load_test: - variables: - n_ranks: '{n_nodes}*{sys_cores_per_node}//2' - experiments: - gpcnet_network_load_test_strong_{n_nodes}: - variants: - package_manager: spack - variables: - #must be run on at least 10 nodes - n_nodes: '10' - software: - packages: - gpcnet: - pkg_spec: gpcnet@master +mpi - compiler: default-compiler - environments: - gpcnet: - packages: - - default-mpi - - gpcnet - - '{modifier_package_name}' From 3e86ff284962bed85a6ced11e1d0881b34256668 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 14:41:51 -0800 Subject: [PATCH 34/55] dry run and lint --- .github/workflows/run.yml | 13 +++++++++++++ experiments/gpcnet/experiment.py | 13 ++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 23b333d81..0b18efd71 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -398,3 +398,16 @@ jobs: --disable-progress-bar \ --disable-logger \ workspace setup --dry-run + + + - name: Dry run dynamic gpcNet/mpi-only with dynamic CTS ruby + run: | + ./bin/benchpark system init --dest=ruby-system cts cluster=ruby + ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet + ./bin/benchpark setup ./gpcnet-mpi-only ./ruby-system workspace/ + . workspace/setup.sh + ramble \ + --workspace-dir workspace/gpcnet-mpi-only/Cts-6d48f81/workspace \ + --disable-progress-bar \ + --disable-logger \ + workspace setup --dry-run diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index a8b4e4150..3f400b8ea 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -14,10 +14,7 @@ from benchpark.scaling import ThroughputScaling -class Gpcnet( - Experiment, - StrongScaling -): +class Gpcnet(Experiment, StrongScaling): variant( "workload", default="network_test", @@ -47,11 +44,13 @@ class Gpcnet( def compute_applications_section(self): # TODO: Replace with conflicts clause - self.add_experiment_variable("n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True) + self.add_experiment_variable( + "n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True + ) if self.spec.satisfies("workload=network_test"): - self.add_experiment_variable("n_nodes", ['2','4']) + self.add_experiment_variable("n_nodes", ["2","4"]) elif self.spec.satisfies("workload=network_load_test"): - self.add_experiment_variable("n_nodes", '10') + self.add_experiment_variable("n_nodes", "10") def compute_spack_section(self): # get package version From 93ea39f9fb66e7b37e5f0b3c2992633d45474598 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 14:44:42 -0800 Subject: [PATCH 35/55] more lint --- experiments/gpcnet/experiment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index 3f400b8ea..082face25 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -45,10 +45,10 @@ class Gpcnet(Experiment, StrongScaling): def compute_applications_section(self): # TODO: Replace with conflicts clause self.add_experiment_variable( - "n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True + "n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True ) if self.spec.satisfies("workload=network_test"): - self.add_experiment_variable("n_nodes", ["2","4"]) + self.add_experiment_variable("n_nodes", ["2", "4"]) elif self.spec.satisfies("workload=network_load_test"): self.add_experiment_variable("n_nodes", "10") From 4d08ce9f8ac15a6d9983c7416cd59282e52be9df Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 14:47:52 -0800 Subject: [PATCH 36/55] lint fix? --- experiments/gpcnet/experiment.py | 1 + 1 file changed, 1 insertion(+) diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index 082face25..32b75e8ac 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -47,6 +47,7 @@ def compute_applications_section(self): self.add_experiment_variable( "n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True ) + if self.spec.satisfies("workload=network_test"): self.add_experiment_variable("n_nodes", ["2", "4"]) elif self.spec.satisfies("workload=network_load_test"): From 4317859804d0aaf57c00a0f41f1b2b8578a15d94 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 14:50:27 -0800 Subject: [PATCH 37/55] removing random tab --- experiments/gpcnet/experiment.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index 32b75e8ac..90e5db2a6 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -47,8 +47,7 @@ def compute_applications_section(self): self.add_experiment_variable( "n_ranks", "{n_nodes}*{sys_cores_per_node}//2", True ) - - if self.spec.satisfies("workload=network_test"): + if self.spec.satisfies("workload=network_test"): self.add_experiment_variable("n_nodes", ["2", "4"]) elif self.spec.satisfies("workload=network_load_test"): self.add_experiment_variable("n_nodes", "10") From 700725196fd9bacfe7668a9300d16b1d6e06ac79 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 14:52:38 -0800 Subject: [PATCH 38/55] removing unused imports --- experiments/gpcnet/experiment.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index 90e5db2a6..148f9338d 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -3,15 +3,9 @@ # # SPDX-License-Identifier: Apache-2.0 -from benchpark.error import BenchparkError from benchpark.directives import variant from benchpark.experiment import Experiment -from benchpark.openmp import OpenMPExperiment -from benchpark.cuda import CudaExperiment -from benchpark.rocm import ROCmExperiment from benchpark.scaling import StrongScaling -from benchpark.scaling import WeakScaling -from benchpark.scaling import ThroughputScaling class Gpcnet(Experiment, StrongScaling): From d9c3edaba4728d8b3b990734fc4ee3b2b835642d Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:05:20 -0800 Subject: [PATCH 39/55] dry run --- .github/workflows/run.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 0b18efd71..8b79afd3e 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -400,14 +400,14 @@ jobs: workspace setup --dry-run - - name: Dry run dynamic gpcNet/mpi-only with dynamic CTS ruby + - name: Dry run dynamic gpcnet/mpi-only with dynamic CTS ruby run: | ./bin/benchpark system init --dest=ruby-system cts cluster=ruby - ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet - ./bin/benchpark setup ./gpcnet-mpi-only ./ruby-system workspace/ + ./bin/benchpark experiment init --dest=gpcnet-mpi gpcnet + ./bin/benchpark setup ./gpcnet-mpi ./ruby-system workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi-only/Cts-6d48f81/workspace \ + --workspace-dir workspace/gpcnet-mpi/Cts-6d48f81/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From d3718026e339820bb05480d56a82a96435765ad4 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:13:00 -0800 Subject: [PATCH 40/55] fixing old dryruns --- .github/workflows/run.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 8b79afd3e..c916b215f 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -272,21 +272,23 @@ jobs: - name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier run: | - ./bin/benchpark setup gpcnet/mpi-only nosite-x86_64 workspace/ + ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet + ./bin/benchpark setup gpcnet-mpi-only nosite-x86_64 workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet/mpi-only/nosite-x86_64/workspace \ + --workspace-dir workspace/gpcnet-mpi-only/nosite-x86_64/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier run: | - ./bin/benchpark system init --dest=tioga-system-gpcnet tioga rocm=551 compiler=cce ~gtl - ./bin/benchpark setup gpcnet/mpi-only-gpcnet ./tioga-system workspace/ + ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet + ./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl + ./bin/benchpark setup gpcnet-mpi-only ./tioga-system workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet/mpi-only-gpcnet/Tioga-d34a754/workspace \ + --workspace-dir workspace/gpcnet-mpi-only/Tioga-d34a754/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From 8468d61aea180c8b376e02609fd24ed6930db923 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:18:14 -0800 Subject: [PATCH 41/55] more dryrun fixes --- .github/workflows/run.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index c916b215f..c6063c34b 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -272,23 +272,23 @@ jobs: - name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier run: | - ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet - ./bin/benchpark setup gpcnet-mpi-only nosite-x86_64 workspace/ + ./bin/benchpark experiment init --dest=gpcnet-mpi-only1 gpcnet + ./bin/benchpark setup gpcnet-mpi-only1 nosite-x86_64 workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi-only/nosite-x86_64/workspace \ + --workspace-dir workspace/gpcnet-mpi-only1/nosite-x86_64/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier run: | - ./bin/benchpark experiment init --dest=gpcnet-mpi-only gpcnet + ./bin/benchpark experiment init --dest=gpcnet-mpi-only2 gpcnet ./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl - ./bin/benchpark setup gpcnet-mpi-only ./tioga-system workspace/ + ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-system workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi-only/Tioga-d34a754/workspace \ + --workspace-dir workspace/gpcnet-mpi-only2/Tioga-d34a754/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From 281c78a7549c71a1dd8ee157584f7d859c730533 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:25:04 -0800 Subject: [PATCH 42/55] more dryrun fixes --- .github/workflows/run.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index c6063c34b..a96771235 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -284,8 +284,8 @@ jobs: - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier run: | ./bin/benchpark experiment init --dest=gpcnet-mpi-only2 gpcnet - ./bin/benchpark system init --dest=tioga-system tioga rocm=551 compiler=cce ~gtl - ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-system workspace/ + ./bin/benchpark system init --dest=tioga-gpcnet tioga rocm=551 compiler=cce ~gtl + ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-gpcnet workspace/ . workspace/setup.sh ramble \ --workspace-dir workspace/gpcnet-mpi-only2/Tioga-d34a754/workspace \ From f2d117850e3be7b0e4f512c9fd179258e1723f28 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:31:29 -0800 Subject: [PATCH 43/55] more dryrun fixes --- .github/workflows/run.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index a96771235..f3d58b3b2 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -284,11 +284,10 @@ jobs: - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier run: | ./bin/benchpark experiment init --dest=gpcnet-mpi-only2 gpcnet - ./bin/benchpark system init --dest=tioga-gpcnet tioga rocm=551 compiler=cce ~gtl - ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-gpcnet workspace/ + ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-system workspace/ . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi-only2/Tioga-d34a754/workspace \ + --workspace-dir workspace/gpcnet-mpi-only2/Tioga-975af3c/workspace \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From 641a9941777d6008172b2071bfec40d7e7036532 Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 4 Nov 2024 15:36:33 -0800 Subject: [PATCH 44/55] removing final extra system init in dryrun --- .github/workflows/run.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index f3d58b3b2..07200af99 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -403,7 +403,6 @@ jobs: - name: Dry run dynamic gpcnet/mpi-only with dynamic CTS ruby run: | - ./bin/benchpark system init --dest=ruby-system cts cluster=ruby ./bin/benchpark experiment init --dest=gpcnet-mpi gpcnet ./bin/benchpark setup ./gpcnet-mpi ./ruby-system workspace/ . workspace/setup.sh From bedc891fe41de9a6aab1204a44145f732ff2f3c6 Mon Sep 17 00:00:00 2001 From: august-knox Date: Wed, 13 Nov 2024 10:43:10 -0800 Subject: [PATCH 45/55] removing old comment --- experiments/gpcnet/experiment.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/experiments/gpcnet/experiment.py b/experiments/gpcnet/experiment.py index 148f9338d..4df49b45e 100644 --- a/experiments/gpcnet/experiment.py +++ b/experiments/gpcnet/experiment.py @@ -22,20 +22,6 @@ class Gpcnet(Experiment, StrongScaling): description="app version", ) - # requires("system+papi", when(caliper=topdown*)) - - # TODO: Support list of 3-tuples - # variant( - # "p", - # description="value of p", - # ) - - # TODO: Support list of 3-tuples - # variant( - # "n", - # description="value of n", - # ) - def compute_applications_section(self): # TODO: Replace with conflicts clause self.add_experiment_variable( From 44f4f7345c3a183b4a762734c3391ffc60e54d4b Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 2 Dec 2024 14:56:03 -0800 Subject: [PATCH 46/55] updating dryrun --- .github/workflows/run.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index a53ed9f18..29c285c22 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -460,9 +460,10 @@ jobs: run: | ./bin/benchpark experiment init --dest=gpcnet-mpi gpcnet ./bin/benchpark setup ./gpcnet-mpi ./ruby-system workspace/ + system_id=$(./bin/benchpark system id ./ruby-system) . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi/Cts-6d48f81/workspace \ + --workspace-dir "workspace/gpcnet-mpi/$system_id/workspace" \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From 0456ecb45c052804a5d5cc499832b49ef86c631e Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 2 Dec 2024 15:11:55 -0800 Subject: [PATCH 47/55] fixing dryrun --- .github/workflows/run.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 29c285c22..efd397d34 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -289,9 +289,10 @@ jobs: run: | ./bin/benchpark experiment init --dest=gpcnet-mpi-only2 gpcnet ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-system workspace/ + system_id=$(./bin/benchpark system id ./tioga-system) . workspace/setup.sh ramble \ - --workspace-dir workspace/gpcnet-mpi-only2/Tioga-975af3c/workspace \ + --workspace-dir "workspace/gpcnet-mpi-only2/$tioga-system/workspace" \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From bedba0abe92dbe965a361b36f47d6d361312fcde Mon Sep 17 00:00:00 2001 From: august-knox Date: Mon, 2 Dec 2024 15:36:47 -0800 Subject: [PATCH 48/55] fix dryrun --- .github/workflows/run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index efd397d34..eaf12bf05 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -292,7 +292,7 @@ jobs: system_id=$(./bin/benchpark system id ./tioga-system) . workspace/setup.sh ramble \ - --workspace-dir "workspace/gpcnet-mpi-only2/$tioga-system/workspace" \ + --workspace-dir "workspace/gpcnet-mpi-only2/$system_id/workspace" \ --disable-progress-bar \ --disable-logger \ workspace setup --dry-run From e47ba09c7763c13f3365c5fbd0a19a91515765be Mon Sep 17 00:00:00 2001 From: august-knox Date: Wed, 8 Jan 2025 16:02:14 -0800 Subject: [PATCH 49/55] adding FOMs --- repo/gpcnet/application.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/repo/gpcnet/application.py b/repo/gpcnet/application.py index 09f8e0022..6c705c22d 100644 --- a/repo/gpcnet/application.py +++ b/repo/gpcnet/application.py @@ -17,8 +17,16 @@ class Gpcnet(ExecutableApplication): workload('network_test', executables=['p1']) workload('network_load_test', executables=['p2']) - figure_of_merit('TBD', + figure_of_merit('Avg Multiple Allreduce', log_file='{experiment_run_dir}/{experiment_name}.out', - fom_regex=r'.*', + fom_regex=r'\|\s+Multiple Allreduce \([0-9]* B\)\s+\|\s+(?P[0-9]+\.[0-9]*)', + group_name='fom', units='MiB/sec') + figure_of_merit('Avg RR Two-sided Lat', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'\|\s+RR Two-sided Lat \([0-9]* B\)\s+\|\s+(?P[0-9]+\.[0-9]*)', + group_name='fom', units='MiB/sec') + figure_of_merit('Avg RR Get Lat', + log_file='{experiment_run_dir}/{experiment_name}.out', + fom_regex=r'\|\s+RR Get Lat \([0-9]* B\)\s+\|\s+(?P[0-9]+\.[0-9]*)', group_name='fom', units='MiB/sec') success_criteria('pass', mode='string', match=r'.*', file='{experiment_run_dir}/{experiment_name}.out') From 6d90d3e9c7d0e5f19a5feb4952be678bfbb3b155 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 27 Jan 2025 14:59:17 -0800 Subject: [PATCH 50/55] Update run.yml From 6a8cb62620a67e0b80a6d0164fe36b1e0e37cb4b Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:05:13 -0800 Subject: [PATCH 51/55] Update run.yml --- .github/workflows/run.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 9e6b3e2e4..2d04f620d 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -258,7 +258,7 @@ jobs: --disable-progress-bar \ --disable-logger \ workspace setup --dry-run - + - name: Dry run phloem/mpi-only on nosite-x86_64 with allocation modifier run: | ./bin/benchpark setup phloem/mpi-only nosite-x86_64 workspace/ @@ -299,7 +299,7 @@ jobs: --disable-logger \ workspace setup --dry-run - - name: Dry run dynamic gpcnet/mpi-only with dynamic CTS ruby + - name: Dry run dynamic gpcnet/mpi-only with dynamic CTS ruby run: | ./bin/benchpark experiment init --dest=gpcnet-mpi gpcnet ./bin/benchpark setup ./gpcnet-mpi ./ruby-system workspace/ @@ -778,4 +778,3 @@ jobs: benchmark_spec: kripke+rocm caliper=mpi,time system_name: tioga system_spec: llnl-elcapitan rocm=5.5.1 compiler=cce +gtl - From d7bab086ed0ce78789cd2a1f5a4feee0cfd47988 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:06:32 -0800 Subject: [PATCH 52/55] Update run.yml --- .github/workflows/run.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 2d04f620d..e1394d4a1 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -323,7 +323,7 @@ jobs: --disable-logger \ workspace setup --dry-run - /- name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier + - name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier run: | ./bin/benchpark experiment init --dest=gpcnet-mpi-only1 gpcnet ./bin/benchpark setup gpcnet-mpi-only1 nosite-x86_64 workspace/ From abca01e1062103c0c4563520778de02b91a44a88 Mon Sep 17 00:00:00 2001 From: august-knox <112430443+august-knox@users.noreply.github.com> Date: Mon, 27 Jan 2025 15:08:13 -0800 Subject: [PATCH 53/55] Update run.yml --- .github/workflows/run.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index e1394d4a1..a6d3b5550 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -258,7 +258,7 @@ jobs: --disable-progress-bar \ --disable-logger \ workspace setup --dry-run - + - name: Dry run phloem/mpi-only on nosite-x86_64 with allocation modifier run: | ./bin/benchpark setup phloem/mpi-only nosite-x86_64 workspace/ @@ -344,18 +344,6 @@ jobs: run: | pip install -r ./requirements.txt - - name: Dry run dynamic genesis/openmp with dynamic fugaku - run: | - system_id=$(./bin/benchpark system id ./fugaku-system) - ./bin/benchpark experiment init --dest=genesis-openmp-fugaku genesis+openmp - ./bin/benchpark setup ./genesis-openmp-fugaku ./fugaku-system workspace/ - . workspace/setup.sh - ramble \ - --workspace-dir workspace/genesis-openmp-fugaku/$system_id/workspace \ - --disable-progress-bar \ - --disable-logger \ - workspace setup --dry-run - - name: saxpy/openmp ruby llnl-cluster cluster=ruby compiler=intel uses: ./.github/actions/dynamic-dry-run with: From 339d958e03821e23ed9571477aef856c2525fc9c Mon Sep 17 00:00:00 2001 From: august-knox Date: Tue, 28 Jan 2025 11:45:56 -0800 Subject: [PATCH 54/55] updating dryruns --- .github/workflows/run.yml | 62 +++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index a6d3b5550..501389cc2 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -299,41 +299,6 @@ jobs: --disable-logger \ workspace setup --dry-run - - name: Dry run dynamic gpcnet/mpi-only with dynamic CTS ruby - run: | - ./bin/benchpark experiment init --dest=gpcnet-mpi gpcnet - ./bin/benchpark setup ./gpcnet-mpi ./ruby-system workspace/ - system_id=$(./bin/benchpark system id ./ruby-system) - . workspace/setup.sh - ramble \ - --workspace-dir "workspace/gpcnet-mpi/$system_id/workspace" \ - --disable-progress-bar \ - --disable-logger \ - workspace setup --dry-run - - - name: Dry run gpcnet/mpi-only on dynamic Tioga with allocation modifier - run: | - ./bin/benchpark experiment init --dest=gpcnet-mpi-only2 gpcnet - ./bin/benchpark setup gpcnet-mpi-only2 ./tioga-system workspace/ - system_id=$(./bin/benchpark system id ./tioga-system) - . workspace/setup.sh - ramble \ - --workspace-dir "workspace/gpcnet-mpi-only2/$system_id/workspace" \ - --disable-progress-bar \ - --disable-logger \ - workspace setup --dry-run - - - name: Dry run gpcnet/mpi-only on nosite-x86_64 with allocation modifier - run: | - ./bin/benchpark experiment init --dest=gpcnet-mpi-only1 gpcnet - ./bin/benchpark setup gpcnet-mpi-only1 nosite-x86_64 workspace/ - . workspace/setup.sh - ramble \ - --workspace-dir workspace/gpcnet-mpi-only1/nosite-x86_64/workspace \ - --disable-progress-bar \ - --disable-logger \ - workspace setup --dry-run - dynamicdryrunexperiments: runs-on: ubuntu-22.04 steps: @@ -766,3 +731,30 @@ jobs: benchmark_spec: kripke+rocm caliper=mpi,time system_name: tioga system_spec: llnl-elcapitan rocm=5.5.1 compiler=cce +gtl + + - name: gpcNet/mpi caliper=mpi,time ruby llnl-cluster cluster=ruby compiler=intel + uses: ./.github/actions/dynamic-dry-run + with: + benchmark_name: gpcnet + benchmark_mode: mpi + benchmark_spec: gpcnet caliper=mpi,time + system_name: ruby + system_spec: llnl-cluster cluster=ruby compiler=intel + + - name: gpcNet/mpi caliper=mpi,time lassen llnl-sierra cuda=11-8-0 compiler=clang-ibm + uses: ./.github/actions/dynamic-dry-run + with: + benchmark_name: gpcnet + benchmark_mode: mpi + benchmark_spec: gpcnet caliper=mpi,time + system_name: lassen + system_spec: llnl-sierra cuda=11-8-0 compiler=clang-ibm + + - name: gpcNet/mpi caliper=mpi,time tioga llnl-elcapitan rocm=5.5.1 compiler=cce +gtl + uses: ./.github/actions/dynamic-dry-run + with: + benchmark_name: gpcnet + benchmark_mode: mpi + benchmark_spec: gpcnet caliper=mpi,time + system_name: tioga + system_spec: llnl-elcapitan rocm=5.5.1 compiler=cce +gtl From f7b0654451972c41b267844bced8779dbaef88f3 Mon Sep 17 00:00:00 2001 From: august-knox Date: Tue, 28 Jan 2025 12:01:47 -0800 Subject: [PATCH 55/55] removing caliper from dryruns --- .github/workflows/run.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 501389cc2..af68455fb 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -732,29 +732,29 @@ jobs: system_name: tioga system_spec: llnl-elcapitan rocm=5.5.1 compiler=cce +gtl - - name: gpcNet/mpi caliper=mpi,time ruby llnl-cluster cluster=ruby compiler=intel + - name: gpcNet/mpi ruby llnl-cluster cluster=ruby compiler=intel uses: ./.github/actions/dynamic-dry-run with: benchmark_name: gpcnet benchmark_mode: mpi - benchmark_spec: gpcnet caliper=mpi,time + benchmark_spec: gpcnet system_name: ruby system_spec: llnl-cluster cluster=ruby compiler=intel - - name: gpcNet/mpi caliper=mpi,time lassen llnl-sierra cuda=11-8-0 compiler=clang-ibm + - name: gpcNet/mpi lassen llnl-sierra cuda=11-8-0 compiler=clang-ibm uses: ./.github/actions/dynamic-dry-run with: benchmark_name: gpcnet benchmark_mode: mpi - benchmark_spec: gpcnet caliper=mpi,time + benchmark_spec: gpcnet system_name: lassen system_spec: llnl-sierra cuda=11-8-0 compiler=clang-ibm - - name: gpcNet/mpi caliper=mpi,time tioga llnl-elcapitan rocm=5.5.1 compiler=cce +gtl + - name: gpcNet/mpi tioga llnl-elcapitan rocm=5.5.1 compiler=cce +gtl uses: ./.github/actions/dynamic-dry-run with: benchmark_name: gpcnet benchmark_mode: mpi - benchmark_spec: gpcnet caliper=mpi,time + benchmark_spec: gpcnet system_name: tioga system_spec: llnl-elcapitan rocm=5.5.1 compiler=cce +gtl