Skip to content

Commit 170b91a

Browse files
committed
[GR-64073] Migrate aarch64 benchmarking to hr350a and osprey.
PullRequest: graal/22784
2 parents 6a1a9e3 + 29e7df0 commit 170b91a

File tree

4 files changed

+30
-10
lines changed

4 files changed

+30
-10
lines changed

ci/ci_common/bench-common.libsonnet

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
# max number of threads to use for benchmarking in general
3535
# the goal being to limit parallelism on very large servers which may not be respresentative of real-world scenarios
3636
bench_max_threads:: {
37-
restrict_threads:: 36
37+
restrict_threads:: if self.arch == 'amd64' then 36 else 32,
3838
},
3939

4040
bench_no_thread_cap:: {
@@ -99,7 +99,27 @@
9999
default_numa_node:: 0,
100100
num_threads:: 160,
101101
hyperthreading:: false
102-
}
102+
},
103+
hr350a:: common.linux_aarch64 + self._bench_machine + {
104+
machine_name:: "hr350a",
105+
capabilities+: ["tmpfs25g"],
106+
numa_nodes:: [0],
107+
default_numa_node:: 0,
108+
num_threads:: 32,
109+
hyperthreading:: false
110+
},
111+
osprey:: common.linux_aarch64 + self._bench_machine + {
112+
machine_name:: "osprey",
113+
capabilities+: ["tmpfs25g"],
114+
numa_nodes:: [0],
115+
default_numa_node:: 0,
116+
num_threads:: 32,
117+
hyperthreading:: false
118+
},
119+
local contains(a_str, substr) = std.length(std.findSubstr(substr, a_str)) > 0,
120+
# Useful to distribute the benchmark load between two machine types, but always stay consistent for the same benchmark suite
121+
# This guarantees comparability of results, whatever the platform/context, for each suite
122+
hr350a_or_osprey(suite=null):: if suite != null && std.count([contains(s, suite) for s in ["barista", "renaissance"]], true) > 0 then self.osprey else self.hr350a,
103123
},
104124

105125
hwloc_cmd(cmd, num_threads, node, hyperthreading, max_threads_per_node)::

compiler/ci/ci_common/benchmark-builders.jsonnet

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@
4545
])),
4646

4747
local weekly_aarch64_forks_builds = std.flattenArrays([
48-
bc.generate_fork_builds(c.weekly + hw.a12c + jdk + cc.libgraal + suite, subdir='compiler')
48+
bc.generate_fork_builds(c.weekly + hw.hr350a_or_osprey(suite.suite) + jdk + cc.libgraal + suite, subdir='compiler')
4949
for jdk in cc.product_jdks
5050
for suite in bench.groups.weekly_forks_suites
5151
]),
5252

5353
local aarch64_builds = [
54-
c.daily + hw.a12c + jdk + cc.libgraal + suite,
54+
c.daily + hw.hr350a_or_osprey(suite.suite) + jdk + cc.libgraal + suite,
5555
for jdk in cc.product_jdks
5656
for suite in bench.groups.main_suites
5757
] + [
58-
c.monthly + hw.a12c + jdk + cc.libgraal + bench.specjbb2015,
58+
c.monthly + hw.hr350a_or_osprey(bench.specjbb2015.suite) + jdk + cc.libgraal + bench.specjbb2015,
5959
for jdk in cc.product_jdks
6060
],
6161

compiler/ci/ci_common/benchmark-suites.libsonnet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
run+: [
3030
self.benchmark_cmd + [self.suite + ":*", "--"] + self.extra_vm_args
3131
],
32-
timelimit: "30:00",
32+
timelimit: "1:00:00",
3333
forks_batches:: null,
3434
forks_timelimit:: null,
3535
min_jdk_version:: 8,

compiler/ci/ci_includes/baseline-benchmarks.jsonnet

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
local hotspot_builds = std.flattenArrays([
1010
[
1111
c.weekly + hw.x52 + jdk + cc.c2 + suite,
12-
c.weekly + hw.a12c + jdk + cc.c2 + suite
12+
c.weekly + hw.hr350a_or_osprey(suite.suite) + jdk + cc.c2 + suite
1313
]
1414
for jdk in cc.product_jdks
1515
for suite in bench.groups.all_suites
@@ -18,9 +18,9 @@
1818
local hotspot_profiling_builds = std.flattenArrays([
1919
[
2020
c.on_demand + hw.x52 + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
21-
c.on_demand + hw.a12c + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
21+
c.on_demand + hw.hr350a_or_osprey(suite.suite) + jdk + cc.c2 + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
2222
c.on_demand + hw.x52 + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
23-
c.on_demand + hw.a12c + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
23+
c.on_demand + hw.hr350a_or_osprey(suite.suite) + jdk + cc.c2 + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" },
2424
c.monthly + hw.x52_root + jdk + cc.c2 + suite + cc.energy_tracking + { job_prefix:: "bench-compiler-energy" }
2525
]
2626
for jdk in cc.product_jdks
@@ -37,7 +37,7 @@
3737
])),
3838

3939
local weekly_forks_aarch64_builds = std.flattenArrays([
40-
bc.generate_fork_builds(c.weekly + hw.a12c + jdk + cc.c2 + suite)
40+
bc.generate_fork_builds(c.weekly + hw.hr350a_or_osprey(suite.suite) + jdk + cc.c2 + suite)
4141
for jdk in cc.product_jdks
4242
for suite in bench.groups.weekly_forks_suites
4343
]),

0 commit comments

Comments
 (0)