Skip to content

Commit d7120f1

Browse files
author
Riyaz Haque
committed
Merge with develop
2 parents 4c31e2b + 9c72b1f commit d7120f1

File tree

14 files changed

+264
-84
lines changed

14 files changed

+264
-84
lines changed

.github/workflows/run.yml

Lines changed: 76 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ jobs:
224224
225225
- name: Dry run dynamic gromacs/openmp with dynamic Ruby
226226
run: |
227-
./bin/benchpark system init --dest=cluster-system llnl-cluster compiler=gcc lapack=intel-oneapi-mkl blas=intel-oneapi-mkl
227+
./bin/benchpark system init --dest=cluster-system llnl-cluster compiler=gcc
228228
system_id=$(./bin/benchpark system id ./cluster-system)
229229
./bin/benchpark experiment init --dest=gromacs-openmp gromacs +openmp~cuda~rocm gpu-aware-mpi=off
230230
./bin/benchpark setup ./gromacs-openmp ./cluster-system workspace/
@@ -346,26 +346,6 @@ jobs:
346346
--disable-logger \
347347
workspace setup --dry-run
348348
349-
- name: Dry run genesis/openmp with allocation modifier on Fugaku
350-
run: |
351-
./bin/benchpark setup genesis/openmp RCCS-Fugaku-Fujitsu-A64FX-TofuD workspace/
352-
. workspace/setup.sh
353-
ramble \
354-
--workspace-dir workspace/genesis/openmp/RCCS-Fugaku-Fujitsu-A64FX-TofuD/workspace \
355-
--disable-progress-bar \
356-
--disable-logger \
357-
workspace setup --dry-run
358-
359-
- name: Dry run genesis/openmp with allocation modifier on nosite-x86_64
360-
run: |
361-
./bin/benchpark setup genesis/openmp nosite-x86_64 workspace/
362-
. workspace/setup.sh
363-
ramble \
364-
--workspace-dir workspace/genesis/openmp/nosite-x86_64/workspace \
365-
--disable-progress-bar \
366-
--disable-logger \
367-
workspace setup --dry-run
368-
369349
- name: Dry run salmon/openmp with allocation modifier on Fugaku
370350
run: |
371351
./bin/benchpark setup salmon/openmp RCCS-Fugaku-Fujitsu-A64FX-TofuD workspace/
@@ -396,9 +376,9 @@ jobs:
396376
--disable-logger \
397377
workspace setup --dry-run
398378
399-
- name: Dry run dynamic saxpy/openmp with dynamic llnl-cluster ruby
379+
- name: Dry run dynamic saxpy/openmp with dynamic llnl-cluster ruby compiler=intel
400380
run: |
401-
./bin/benchpark system init --dest=ruby-system llnl-cluster cluster=ruby
381+
./bin/benchpark system init --dest=ruby-system llnl-cluster cluster=ruby compiler=intel
402382
system_id=$(./bin/benchpark system id ./ruby-system)
403383
./bin/benchpark experiment init --dest=saxpy-openmp saxpy+openmp
404384
./bin/benchpark setup ./saxpy-openmp ./ruby-system workspace/
@@ -434,32 +414,33 @@ jobs:
434414
--disable-logger \
435415
workspace setup --dry-run
436416
437-
- name: Dry run dynamic saxpy/openmp with dynamic generic x86
417+
- name: Dry run dynamic amg2023+openmp with dynamic generic x86
438418
run: |
439419
./bin/benchpark system init --dest=x86-system genericx86
440-
./bin/benchpark experiment init --dest=saxpy-omp-generic saxpy+openmp
441-
./bin/benchpark setup ./saxpy-omp-generic ./x86-system workspace/
420+
./bin/benchpark experiment init --dest=amg2023-openmp-generic amg2023+openmp
421+
./bin/benchpark setup ./amg2023-openmp-generic ./x86-system workspace/
442422
. workspace/setup.sh
443423
ramble \
444-
--workspace-dir "workspace/saxpy-omp-generic/x86-system/workspace" \
424+
--workspace-dir "workspace/amg2023-openmp-generic/x86-system/workspace" \
445425
--disable-progress-bar \
446426
--disable-logger \
447427
workspace setup --dry-run
448428
449429
- name: Dry run dynamic saxpy/openmp with dynamic aws
450430
run: |
451431
./bin/benchpark system init --dest=aws1 aws-pcluster instance_type=hpc6a.48xlarge
452-
./bin/benchpark setup ./saxpy-omp-generic ./aws1 workspace/
432+
./bin/benchpark experiment init --dest=saxpy-openmp-generic saxpy+openmp
433+
./bin/benchpark setup ./saxpy-openmp-generic ./aws1 workspace/
453434
. workspace/setup.sh
454435
ramble \
455-
--workspace-dir "workspace/saxpy-omp-generic/aws1/workspace" \
436+
--workspace-dir "workspace/saxpy-openmp-generic/aws1/workspace" \
456437
--disable-progress-bar \
457438
--disable-logger \
458439
workspace setup --dry-run
459440
460441
- name: Dry run dynamic remhos/mpi with dynamic Ruby
461442
run: |
462-
./bin/benchpark system init --dest=cluster-system1 llnl-cluster compiler=gcc lapack=intel-oneapi-mkl blas=intel-oneapi-mkl
443+
./bin/benchpark system init --dest=cluster-system1 llnl-cluster compiler=gcc
463444
system_id=$(./bin/benchpark system id ./cluster-system1)
464445
./bin/benchpark experiment init --dest=remhos-mpi-ruby remhos ~cuda~rocm caliper=mpi,time
465446
./bin/benchpark setup ./remhos-mpi-ruby ./cluster-system1 workspace/
@@ -537,11 +518,11 @@ jobs:
537518
- name: Dry run dynamic saxpy/openmp with dynamic fugaku
538519
run: |
539520
./bin/benchpark system init --dest=fugaku-system fugaku
540-
./bin/benchpark experiment init --dest=saxpy-omp-fugaku saxpy+openmp
541-
./bin/benchpark setup ./saxpy-omp-fugaku ./fugaku-system workspace/
521+
./bin/benchpark experiment init --dest=saxpy-openmp-fugaku saxpy+openmp
522+
./bin/benchpark setup ./saxpy-openmp-fugaku ./fugaku-system workspace/
542523
. workspace/setup.sh
543524
ramble \
544-
--workspace-dir workspace/saxpy-omp-fugaku/Fugaku-cf3cb1d/workspace \
525+
--workspace-dir workspace/saxpy-openmp-fugaku/Fugaku-cf3cb1d/workspace \
545526
--disable-progress-bar \
546527
--disable-logger \
547528
workspace setup --dry-run
@@ -627,4 +608,65 @@ jobs:
627608
--workspace-dir "workspace/babelstream/$system_id/workspace" \
628609
--disable-progress-bar \
629610
--disable-logger \
630-
workspace setup --dry-run
611+
workspace setup --dry-run
612+
613+
- name: Dry run dynamic raja-perf/mpi with dynamic CTS ruby
614+
run: |
615+
./bin/benchpark experiment init --dest=raja-perf raja-perf
616+
./bin/benchpark setup ./raja-perf ./ruby-system workspace/
617+
system_id=$(./bin/benchpark system id ./ruby-system)
618+
. workspace/setup.sh
619+
ramble \
620+
--workspace-dir "workspace/raja-perf/$system_id/workspace" \
621+
--disable-progress-bar \
622+
--disable-logger \
623+
workspace setup --dry-run
624+
625+
- name: Dry run dynamic raja-perf/mpi with dynamic CTS tioga
626+
run: |
627+
./bin/benchpark experiment init --dest=raja-perf-tioga raja-perf
628+
./bin/benchpark setup ./raja-perf-tioga ./tioga-system workspace/
629+
system_id=$(./bin/benchpark system id ./tioga-system)
630+
. workspace/setup.sh
631+
ramble \
632+
--workspace-dir "workspace/raja-perf-tioga/$system_id/workspace" \
633+
--disable-progress-bar \
634+
--disable-logger \
635+
workspace setup --dry-run
636+
637+
- name: Dry run dynamic raja-perf/mpi with dynamic CTS lassen
638+
run: |
639+
./bin/benchpark experiment init --dest=raja-perf-lassen raja-perf
640+
./bin/benchpark system init --dest=lassen-clang llnl-sierra compiler=clang
641+
./bin/benchpark setup ./raja-perf-lassen ./lassen-clang workspace/
642+
system_id=$(./bin/benchpark system id ./lassen-clang)
643+
. workspace/setup.sh
644+
ramble \
645+
--workspace-dir "workspace/raja-perf-lassen/$system_id/workspace" \
646+
--disable-progress-bar \
647+
--disable-logger \
648+
workspace setup --dry-run
649+
650+
- name: Dry run dynamic genesis/openmp with dynamic CTS ruby
651+
run: |
652+
system_id=$(./bin/benchpark system id ./ruby-system)
653+
./bin/benchpark experiment init --dest genesis-openmp genesis +openmp
654+
./bin/benchpark setup genesis-openmp ./ruby-system workspace/
655+
. workspace/setup.sh
656+
ramble \
657+
--workspace-dir workspace/genesis-openmp/$system_id/workspace \
658+
--disable-progress-bar \
659+
--disable-logger \
660+
workspace setup --dry-run
661+
662+
- name: Dry run dynamic genesis/openmp with dynamic fugaku
663+
run: |
664+
system_id=$(./bin/benchpark system id ./fugaku-system)
665+
./bin/benchpark experiment init --dest=genesis-openmp-fugaku genesis+openmp
666+
./bin/benchpark setup ./genesis-openmp-fugaku ./fugaku-system workspace/
667+
. workspace/setup.sh
668+
ramble \
669+
--workspace-dir workspace/genesis-openmp-fugaku/$system_id/workspace \
670+
--disable-progress-bar \
671+
--disable-logger \
672+
workspace setup --dry-run

experiments/amg2023/experiment.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ def compute_spack_section(self):
140140
system_specs = {}
141141
system_specs["compiler"] = "default-compiler"
142142
system_specs["mpi"] = "default-mpi"
143-
system_specs["lapack"] = "default-lapack"
144-
system_specs["blas"] = "default-blas"
143+
system_specs["lapack"] = "lapack"
144+
system_specs["blas"] = "blas"
145145

146146
# set package spack specs
147147
# empty package_specs value implies external package

experiments/genesis/experiment.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Copyright 2023 Lawrence Livermore National Security, LLC and other
2+
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
from benchpark.directives import variant
7+
from benchpark.experiment import Experiment
8+
from benchpark.openmp import OpenMPExperiment
9+
10+
11+
class Genesis(Experiment, OpenMPExperiment):
12+
13+
variant(
14+
"workload",
15+
default="DHFR",
16+
values=("DHFR", "ApoA1", "UUN", "cryoEM"),
17+
description="genesis",
18+
)
19+
20+
variant(
21+
"version",
22+
default="main",
23+
description="app version",
24+
)
25+
26+
def compute_applications_section(self):
27+
28+
self.add_experiment_variable("experiment_setup", "")
29+
self.add_experiment_variable("lx", "32")
30+
self.add_experiment_variable("ly", "6")
31+
self.add_experiment_variable("lz", "4")
32+
self.add_experiment_variable("lt", "3")
33+
self.add_experiment_variable("px", "1")
34+
self.add_experiment_variable("py", "1")
35+
self.add_experiment_variable("pz", "1")
36+
self.add_experiment_variable("pt", "1")
37+
self.add_experiment_variable("tol_outer", "-1")
38+
self.add_experiment_variable("tol_inner", "-1")
39+
self.add_experiment_variable("maxiter_plus1_outer", "6")
40+
self.add_experiment_variable("maxiter_inner", "50")
41+
42+
if self.spec.satisfies("+openmp"):
43+
self.add_experiment_variable("n_nodes", ["2"], True)
44+
self.add_experiment_variable("processes_per_node", ["4"])
45+
self.add_experiment_variable("n_ranks", "{processes_per_node} * {n_nodes}")
46+
self.add_experiment_variable("omp_num_threads", ["12"])
47+
self.add_experiment_variable("arch", "OpenMP")
48+
49+
def compute_spack_section(self):
50+
# get package version
51+
app_version = self.spec.variants["version"][0]
52+
53+
system_specs = {}
54+
system_specs["compiler"] = "default-compiler"
55+
system_specs["mpi"] = "default-mpi"
56+
system_specs["lapack"] = "lapack"
57+
58+
# if package_spec left empty spack will use external
59+
self.add_spack_spec(system_specs["mpi"])
60+
self.add_spack_spec(system_specs["lapack"])
61+
62+
self.add_spack_spec(
63+
self.name, [f"genesis@{app_version} +mpi", system_specs["compiler"]]
64+
)
65+
self.add_spack_spec(
66+
system_specs["lapack"], [system_specs["lapack"], system_specs["compiler"]]
67+
)

experiments/gromacs/experiment.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ def compute_spack_section(self):
9393
system_specs = {}
9494
system_specs["compiler"] = "default-compiler"
9595
system_specs["mpi"] = "default-mpi"
96-
system_specs["blas"] = "default-blas"
97-
system_specs["lapack"] = "default-lapack"
96+
system_specs["blas"] = "blas"
97+
system_specs["lapack"] = "lapack"
9898

9999
# set package spack specs
100100
# empty package_specs value implies external package

experiments/laghos/experiment.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ def compute_spack_section(self):
6666
system_specs = {}
6767
system_specs["compiler"] = "default-compiler"
6868
system_specs["mpi"] = "default-mpi"
69-
system_specs["lapack"] = "default-lapack"
70-
system_specs["blas"] = "default-blas"
69+
system_specs["lapack"] = "lapack"
70+
system_specs["blas"] = "blas"
7171

7272
# set package spack specs
7373
# empty package_specs value implies external package

experiments/raja-perf/experiment.py

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Copyright 2023 Lawrence Livermore National Security, LLC and other
2+
# Benchpark Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
from benchpark.directives import variant
7+
from benchpark.experiment import Experiment
8+
from benchpark.scaling import StrongScaling
9+
from benchpark.openmp import OpenMPExperiment
10+
from benchpark.cuda import CudaExperiment
11+
from benchpark.rocm import ROCmExperiment
12+
from benchpark.expr.builtin.caliper import Caliper
13+
14+
15+
class RajaPerf(
16+
Experiment,
17+
StrongScaling,
18+
CudaExperiment,
19+
ROCmExperiment,
20+
OpenMPExperiment,
21+
Caliper,
22+
):
23+
variant(
24+
"workload",
25+
default="suite",
26+
description="base Rajaperf suite or other problem",
27+
)
28+
29+
variant(
30+
"version",
31+
default="develop",
32+
description="app version",
33+
)
34+
35+
def compute_applications_section(self):
36+
37+
n_resources = {"n_ranks": 1}
38+
39+
if self.spec.satisfies("+single_node"):
40+
for pk, pv in n_resources.items():
41+
n_resources = pv
42+
43+
elif self.spec.satisfies("+strong"):
44+
scaled_variables = self.generate_strong_scaling_params(
45+
{tuple(n_resources.keys()): list(n_resources.values())},
46+
int(self.spec.variants["scaling-factor"][0]),
47+
int(self.spec.variants["scaling-iterations"][0]),
48+
)
49+
n_resources = scaled_variables["n_ranks"]
50+
51+
if self.spec.satisfies("+cuda") or self.spec.satisfies("+rocm"):
52+
self.add_experiment_variable("n_gpus", n_resources, True)
53+
elif self.spec.satisfies("+openmp"):
54+
self.add_experiment_variable("n_ranks", n_resources, True)
55+
self.add_experiment_variable("n_threads_per_proc", 1, True)
56+
else:
57+
self.add_experiment_variable("n_ranks", n_resources, True)
58+
59+
def compute_spack_section(self):
60+
# get package version
61+
app_version = self.spec.variants["version"][0]
62+
63+
system_specs = {}
64+
system_specs["compiler"] = "default-compiler"
65+
system_specs["mpi"] = "default-mpi"
66+
67+
if self.spec.satisfies("+cuda"):
68+
system_specs["cuda_version"] = "{default_cuda_version}"
69+
system_specs["cuda_arch"] = "{cuda_arch}"
70+
if self.spec.satisfies("+rocm"):
71+
system_specs["rocm_arch"] = "{rocm_arch}"
72+
73+
self.add_spack_spec(system_specs["mpi"])
74+
75+
self.add_spack_spec(
76+
self.name, [f"raja-perf@{app_version}", system_specs["compiler"]]
77+
)

experiments/remhos/experiment.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ def compute_spack_section(self):
9292
system_specs = {}
9393
system_specs["compiler"] = "default-compiler"
9494
system_specs["mpi"] = "default-mpi"
95-
system_specs["lapack"] = "default-lapack"
96-
system_specs["blas"] = "default-blas"
95+
system_specs["blas"] = "blas"
96+
system_specs["lapack"] = "lapack"
9797

9898
# set package spack specs
9999
# empty package_specs value implies external package

repo/genesis/package.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@ class Genesis(AutotoolsPackage):
1717
homepage = "https://www.r-ccs.riken.jp/labs/cbrt/"
1818
git = "https://github.com/genesis-release-r-ccs/genesis"
1919

20-
version("master", branch="master", submodules=False)
20+
version("main", branch="main", submodules=False)
21+
version(
22+
"2.1.4", submodules=False, tag="v2.1.4", commit="48fa5654ae1ecdf606fb6cd0bdcc2952f5caaa65"
23+
)
2124
version(
2225
"2.1.3", submodules=False, tag="v2.1.3", commit="835ef1538f9350cfa7e9489f340837d0908afbd2"
2326
)

0 commit comments

Comments
 (0)