Skip to content

Commit 8cc2315

Browse files
committed
[GR-42277] Add aarch64 JDK20 benchmarking.
PullRequest: graal/13870
2 parents 6333d0c + b11dad9 commit 8cc2315

File tree

6 files changed

+41
-50
lines changed

6 files changed

+41
-50
lines changed

ci/ci_common/bench-common.libsonnet

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"mount_modules": true
2121
},
2222
should_use_hwloc:: std.objectHasAll(self, "is_numa") && self.is_numa && std.length(std.find("bench", self.targets)) > 0,
23+
restricted_archs:: null, # null means all architectures are supported, otherwise it must be a list of allowed archs as strings
24+
is_arch_supported(arch):: if self.restricted_archs == null then true else std.member(self.restricted_archs, arch),
2325
min_jdk_version:: null,
2426
max_jdk_version:: null,
2527
is_jdk_supported(jdk_version)::

compiler/ci/ci_common/benchmark-builders.jsonnet

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,23 @@
88
local main_builds = std.flattenArrays([
99
[
1010
c.daily + hw.x52 + jdk + cc.libgraal + bench.dacapo + { unicorn_pull_request_benchmarking:: {name: 'libgraal', metrics: ['time']}},
11-
c.daily + hw.x52 + jdk + cc.jargraal + bench.dacapo,
1211
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_size_variants,
13-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.dacapo_size_variants,
1412
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_timing,
15-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.dacapo_timing,
1613
c.daily + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo,
17-
c.daily + hw.x52 + jdk + cc.jargraal + bench.scala_dacapo,
1814
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
19-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.scala_dacapo_size_variants,
2015
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_timing,
21-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.scala_dacapo_timing,
2216
c.daily + hw.x52 + jdk + cc.libgraal + bench.renaissance + {unicorn_pull_request_benchmarking:: 'libgraal'},
23-
c.daily + hw.x52 + jdk + cc.jargraal + bench.renaissance,
2417
c.daily + hw.x52 + jdk + cc.libgraal + bench.specjvm2008,
25-
c.daily + hw.x52 + jdk + cc.jargraal + bench.specjvm2008,
2618
c.daily + hw.x52 + jdk + cc.libgraal + bench.specjbb2015,
27-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.specjbb2015,
2819
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015_full_machine,
29-
c.monthly + hw.x52 + jdk + cc.jargraal + bench.specjbb2015_full_machine,
3020
c.weekly + hw.x52 + jdk + cc.libgraal + bench.renaissance_0_11,
31-
c.monthly + hw.x52 + jdk + cc.jargraal + bench.renaissance_0_11,
3221
c.daily + hw.x52 + jdk + cc.libgraal + bench.awfy + {unicorn_pull_request_benchmarking:: 'libgraal'},
33-
c.daily + hw.x52 + jdk + cc.jargraal + bench.awfy,
3422
c.daily + hw.x52 + jdk + cc.libgraal + bench.microservice_benchmarks,
35-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.microservice_benchmarks,
3623
c.daily + hw.x52 + jdk + cc.libgraal + bench.renaissance_legacy,
37-
c.daily + hw.x52 + jdk + cc.jargraal + bench.renaissance_legacy,
3824
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_whitebox,
39-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.micros_graal_whitebox,
4025
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_dist,
41-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.micros_graal_dist,
4226
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_misc_graal_dist,
43-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.micros_misc_graal_dist,
4427
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_shootout_graal_dist,
45-
c.weekly + hw.x52 + jdk + cc.jargraal + bench.micros_shootout_graal_dist,
4628
]
4729
for jdk in cc.bench_jdks
4830
]),
@@ -57,22 +39,23 @@
5739
for suite in bench.groups.profiled_suites
5840
]),
5941

60-
// intensive weekly benchmarking
61-
local weekly_forks_builds = std.flattenArrays([
62-
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.libgraal + suite, subdir='compiler')
42+
local weekly_amd64_forks_builds = std.flattenArrays([
43+
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.libgraal + suite, subdir='compiler') +
44+
bc.generate_fork_builds(c.monthly + hw.x52 + jdk + cc.jargraal + suite, subdir='compiler')
6345
for jdk in cc.bench_jdks
6446
for suite in bench.groups.weekly_forks_suites
6547
]),
6648

67-
local aarch64_builds = std.flattenArrays([
68-
[
69-
c.weekly + hw.a12c + jdk + cc.libgraal + suite,
70-
c.weekly + hw.a12c + jdk + cc.jargraal + suite
71-
]
72-
for jdk in cc.bench_jdks
73-
for suite in bench.groups.all_suites
49+
local weekly_aarch64_forks_builds = std.flattenArrays([
50+
bc.generate_fork_builds(c.weekly + hw.a12c + cc.latest_jdk + cc.libgraal + suite, subdir='compiler')
51+
for suite in bench.groups.weekly_forks_suites
7452
]),
7553

54+
local aarch64_builds = [
55+
c.daily + hw.a12c + cc.latest_jdk + cc.libgraal + suite,
56+
for suite in bench.groups.all_suites
57+
],
58+
7659
local avx_builds = [
7760
c.monthly + hw.x82 + jdk + cc.libgraal + avx + suite,
7861
for avx in [cc.avx2_mode, cc.avx3_mode]
@@ -93,8 +76,8 @@
9376
],
9477

9578

96-
local all_builds = main_builds + weekly_forks_builds + profiling_builds + avx_builds + aarch64_builds + no_tiered_builds + no_profile_info_builds,
97-
local filtered_builds = [b for b in all_builds if b.is_jdk_supported(b.jdk_version)],
79+
local all_builds = main_builds + weekly_amd64_forks_builds + weekly_aarch64_forks_builds + profiling_builds + avx_builds + aarch64_builds + no_tiered_builds + no_profile_info_builds,
80+
local filtered_builds = [b for b in all_builds if b.is_jdk_supported(b.jdk_version) && b.is_arch_supported(b.arch)],
9881
// adds a "defined_in" field to all builds mentioning the location of this current file
9982
builds:: [{ defined_in: std.thisFile } + b for b in filtered_builds]
10083
}

compiler/ci/ci_common/benchmark-suites.libsonnet

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
legacy_and_secondary_suites:: unique_suites([$.renaissance_0_11, $.renaissance_legacy]),
1414
jmh_micros_suites:: unique_suites([$.micros_graal_dist, $.micros_misc_graal_dist , $.micros_shootout_graal_dist]),
1515
graal_internals_suites:: unique_suites([$.micros_graal_whitebox]),
16-
special_suites:: unique_suites([$.renaissance, $.dacapo_size_variants, $.scala_dacapo_size_variants, $.specjbb2015_full_machine]),
16+
special_suites:: unique_suites([$.dacapo_size_variants, $.scala_dacapo_size_variants, $.specjbb2015_full_machine]),
1717
microservice_suites:: unique_suites([$.microservice_benchmarks]),
1818

19-
main_suites:: unique_suites([$.specjvm2008] + self.open_suites + self.legacy_and_secondary_suites),
19+
main_suites:: unique_suites([$.specjvm2008] + self.open_suites),
2020
all_suites:: unique_suites(self.main_suites + self.spec_suites + self.jmh_micros_suites + self.special_suites + self.microservice_suites),
2121

2222
weekly_forks_suites:: self.main_suites,
@@ -59,8 +59,8 @@
5959
self._bench_upload(),
6060
self.benchmark_cmd + ["dacapo-huge:*", "--"] + self.extra_vm_args
6161
],
62-
timelimit: "07:00:00",
63-
forks_batches:: null, # weekly forks disabled
62+
timelimit: "09:00:00",
63+
forks_batches:: null,
6464
forks_timelimit:: null,
6565
min_jdk_version:: 8,
6666
max_jdk_version:: null
@@ -266,7 +266,8 @@
266266
bench_upload
267267
],
268268
timelimit: "7:00:00",
269-
min_jdk_version:: 11, # GR-32793: disabled JDK8
269+
restricted_archs:: ["amd64"], # load testers only work on amd64 at the moment: GR-35619
270+
min_jdk_version:: 11,
270271
max_jdk_version:: null
271272
},
272273

compiler/ci/ci_common/compiler-common.libsonnet

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@
3131
]
3232
},
3333

34+
latest_jdk:: common["labsjdk-ee-20"],
3435
bench_jdks:: [
3536
common["labsjdk-ee-17"],
36-
common["labsjdk-ee-20"]
37+
self.latest_jdk
3738
],
3839

3940
// Benchmarking building blocks

compiler/ci/ci_includes/baseline-benchmarks.jsonnet

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,36 @@
55
local bench = (import '../ci_common/benchmark-suites.libsonnet'),
66
local hw = bc.bench_hw,
77

8-
local hotspot_main_builds = [
8+
local hotspot_amd64_builds = [
99
c.weekly + hw.x52 + jdk + cc.c2 + suite
1010
for jdk in cc.bench_jdks
1111
for suite in bench.groups.all_suites
1212
],
1313

14+
local hotspot_aarch64_builds = [
15+
c.weekly + hw.a12c + cc.latest_jdk + cc.c2 + suite
16+
for suite in bench.groups.all_suites
17+
],
18+
1419
local hotspot_profiling_builds = std.flattenArrays([
1520
[
16-
c.weekly + hw.x52 + jdk + cc.c2 + cc.enable_profiling + suite + { job_prefix:: "bench-profiling" },
17-
c.weekly + hw.x52 + jdk + cc.c2 + cc.footprint_tracking + suite + { job_prefix:: "bench-footprint" }
21+
c.weekly + hw.x52 + cc.latest_jdk + cc.c2 + cc.enable_profiling + suite + { job_prefix:: "bench-profiling" },
22+
c.weekly + hw.a12c + cc.latest_jdk + cc.c2 + cc.enable_profiling + suite + { job_prefix:: "bench-profiling" },
23+
c.weekly + hw.x52 + cc.latest_jdk + cc.c2 + cc.footprint_tracking + suite + { job_prefix:: "bench-footprint" },
24+
c.weekly + hw.a12c + cc.latest_jdk + cc.c2 + cc.footprint_tracking + suite + { job_prefix:: "bench-footprint" }
1825
]
19-
for jdk in cc.bench_jdks
2026
for suite in bench.groups.profiled_suites
2127
]),
2228

23-
local weekly_forks_builds = std.flattenArrays([
29+
local weekly_forks_amd64_builds = std.flattenArrays([
2430
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.c2 + suite)
2531
for jdk in cc.bench_jdks
2632
for suite in bench.groups.weekly_forks_suites
2733
]),
2834

29-
local aarch64_builds = std.flattenArrays([
30-
[
31-
c.weekly + hw.a12c + jdk + cc.c2 + suite
32-
]
33-
for jdk in cc.bench_jdks
34-
for suite in bench.groups.all_suites
35+
local weekly_forks_aarch64_builds = std.flattenArrays([
36+
bc.generate_fork_builds(c.weekly + hw.a12c + cc.latest_jdk + cc.c2 + suite)
37+
for suite in bench.groups.weekly_forks_suites
3538
]),
3639

3740
local daily_economy_builds = [
@@ -56,8 +59,9 @@
5659
for suite in bench.groups.main_suites
5760
]),
5861

59-
local all_builds = hotspot_main_builds + hotspot_profiling_builds + weekly_forks_builds + aarch64_builds + daily_economy_builds + weekly_economy_builds + no_tiered_builds,
60-
local filtered_builds = [b for b in all_builds if b.is_jdk_supported(b.jdk_version)],
62+
local all_builds = hotspot_amd64_builds + hotspot_aarch64_builds + hotspot_profiling_builds +
63+
weekly_forks_amd64_builds + weekly_forks_aarch64_builds + daily_economy_builds + weekly_economy_builds + no_tiered_builds,
64+
local filtered_builds = [b for b in all_builds if b.is_jdk_supported(b.jdk_version) && b.is_arch_supported(b.arch)],
6165
// adds a "defined_in" field to all builds mentioning the location of this current file
6266
builds:: [{ defined_in: std.thisFile } + b for b in filtered_builds]
6367
}

graal-common.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"README": "This file contains definitions that are useful for the jsonnet CI files of the graal and graal-enterprise repositories.",
33
"ci": {
4-
"overlay": "eb33a970f96d7156df8179549e60ed5a00e34eb8"
4+
"overlay": "b9d28e698657109fa59673908fbfc722976430d0"
55
}
66
}

0 commit comments

Comments
 (0)