Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[24.0] Sync with upstream for July 2024 CPU #771

Merged
merged 168 commits into from
Jul 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
0ad5167
new dev cycle GraalVM 24.0.2
marwan-hallaoui Apr 9, 2024
9eee021
Use all active contexts for CPUSampler#takeSample. Don't store hard r…
jchalou Apr 4, 2024
5c84cd5
Add epsilon to more floating-point probability comparisons
c-refice Mar 1, 2024
89048fa
Add helper methods for approximate comparisons to ProfileData
c-refice Mar 4, 2024
fc957d0
Add correct values to GCHeapSummary
roberttoyonaga Mar 25, 2024
27a096a
Minor cleanups.
christianhaeubl Mar 27, 2024
7b0d984
update JVMCI to 22.0.2+3-jvmci-b01
OracleLabsAutomation Apr 15, 2024
7c93032
svm: adopt "JDK-8329554: Avoid Class.forName in SecureRandom construc…
dougxc Feb 13, 2024
e527468
update labsjdk ce
marwan-hallaoui Apr 16, 2024
152e84f
deploy labsjdk snapshots
marwan-hallaoui Apr 16, 2024
fe7414c
[WIP] [GR-53436] Update labsjdk to 22.0.2+3-jvmci-b01
OracleLabsAutomation Apr 17, 2024
1c5e087
[GR-53098] Backport to 24.0: Add epsilon to more floating-point proba…
OracleLabsAutomation Apr 22, 2024
808d0ed
Adapt fix
elkorchi Apr 22, 2024
be5af00
[GR-51149] Wrong error message when polyglot implementation is missing.
tzezula Jan 3, 2024
506287b
[GR-51149] Removed obsolete message.
tzezula Apr 23, 2024
f2337fa
[GR-52957] Backport to 24.0: Fix values reported in JFR event GCHeapS…
OracleLabsAutomation Apr 23, 2024
de37c14
[GR-53476] Backport to 24.0: Upgrading the underlying Node.js to vers…
iamstolis Apr 23, 2024
b185a5d
Make reference processing more robust, especially against OOME during…
peter-hofer Apr 4, 2024
eaaf50a
E3 benchmarking migration
farquet Apr 9, 2024
969d611
Reduce frequency of baseline benchmarks
farquet Apr 9, 2024
29ecfaa
Migrate remaining bench jobs to E3
farquet Apr 19, 2024
1678f5b
Drop x52 machine type
farquet Apr 19, 2024
f410986
Force PMU for perf
farquet Apr 22, 2024
647b182
fix enumerator issue add missing field
marwan-hallaoui Apr 25, 2024
165a749
update ci-overlay revision
marwan-hallaoui Apr 25, 2024
fd5c4c6
fix style issue and update ci-overlay
marwan-hallaoui Apr 26, 2024
1dca007
[GR-53650] Backport 24.0: E3 Benchmarking migration.
marwan-hallaoui Apr 28, 2024
82dd252
[GR-53430] Backport to 24.0: Various CPUSampler fixes
jchalou Apr 29, 2024
936a41d
Remove OpaqueValueNodes at the end of low tier
c-refice Feb 20, 2024
1a4089c
Make OpaqueValueNode no longer LIRLowerable
c-refice Feb 27, 2024
6fb7ac0
Run RemoveOpaqueValuePhase only if there are OpaqueValueNodes in the …
c-refice Feb 28, 2024
be1f2c7
Adapt fix to 24.0
hamzaGhaissi Apr 22, 2024
e7daf1c
[GR-53471] Backport to 24.0: Make reference processing more robust, e…
OracleLabsAutomation May 3, 2024
dc24904
Add ability to trnasform globs into regex
dnestoro May 10, 2024
2e74f71
[GR-53602] Backport to 24.0: Wrong error message when polyglot implem…
tzezula May 13, 2024
83d3d77
add some support for physical memory usage and tests for every chunk …
roberttoyonaga Mar 4, 2024
b9fb96c
Cleanups.
christianhaeubl Mar 27, 2024
c1d7631
[GR-53095] Backport to 24.0: Remove OpaqueValueNodes at the end of lo…
hamzaGhaissi May 14, 2024
1f3292d
fix bug suspending the event thread multiple times instead of all the…
javeleon Apr 4, 2024
23bfc58
Recompute Buffer.address field for array-based buffers in the image heap
Apr 18, 2024
72318ba
Refactor conversion function
dnestoro May 15, 2024
65f01a0
Create the state machine based algorithm to convert glob into regex
dnestoro May 16, 2024
b0c6112
Renaming and coment fixes
dnestoro May 17, 2024
5639ccb
Fix typo
dnestoro May 17, 2024
e66e3bf
Add missing open parenthesis
dnestoro May 17, 2024
b2a068d
Disable LoggingTest#testDisableLoggersSingleContext in graavm-24.0.
tzezula May 20, 2024
d07de6f
Increase thread stack size for renaissance benchmarks on all configur…
c-refice Dec 14, 2023
65e6952
Remove redundant stack size flags from renaissance ci config
c-refice Dec 18, 2023
989d2cd
Refactor state machine implementation
dnestoro May 21, 2024
3a23a8e
Use Pattern.quote instead of the custom quote method
dnestoro May 21, 2024
3ef1852
[GR-52984] Backport to 24.0: Partial support for physical memory usag…
kassifar May 22, 2024
81b5c82
[GR-53801] NullPointerException: Cannot invoke "com.oracle.truffle.po…
tzezula May 2, 2024
a3ca8ec
[GR-53801] Resolved review comments.
tzezula May 13, 2024
0e51e01
[GR-53801] Updated unittests.
tzezula May 14, 2024
59cc60f
[GR-53801] Added context pre-initialization test for unpatched resour…
tzezula May 15, 2024
efa0677
Disable LoggingTest#testDisableLoggersSingleContext in graavm-24.0.
tzezula May 23, 2024
a6e22b8
[GR-53534] Backport to 24.0: JDWP method invocation fix.
OracleLabsAutomation May 23, 2024
028bcd8
Remove unnamed module optimization when replacing hosted modules
ivan-ristovic May 4, 2024
b0354e7
Expose methods for opening to a single unnamed module in ModuleUtil
ivan-ristovic May 7, 2024
407a895
Replicate visibility modifications for unnamed modules
ivan-ristovic May 7, 2024
14d161e
Optimize ModuleLayerFeature.replicateVisibilityModifications
ivan-ristovic May 7, 2024
5d8456f
loops which require overflow to terminate should not be counted
davleopo May 16, 2024
d67d1b5
adapt tests
davleopo May 16, 2024
3bdcc27
exact ivs can also use next/prev iteration API
davleopo May 17, 2024
4e9737a
Make ContextPolicyTest#testOptionDescriptorContextReuse more robust.
jchalou Jan 11, 2024
1d6f4fb
[GR-53770] Backport to 24.0: Recompute Buffer.address field for array…
kassifar May 27, 2024
2894488
make sure foreign exceptions also check for available type conversion…
javeleon Dec 22, 2023
affa658
for foreign exceptions with no meta object, simply wrap into espresso…
javeleon Dec 22, 2023
ab02552
remove throws declaration for not thrown exception
javeleon Dec 22, 2023
ce2c0df
update JVMCI to 22.0.2+7-jvmci-b01
OracleLabsAutomation May 27, 2024
2178b3e
update JVMCI version Check
marwan-hallaoui May 27, 2024
e6688fc
[GR-52884] Cannot update closed speculation encoding.
tzezula Mar 27, 2024
4e5db72
remove getpwuid in favor of getpwuid_r
lukasstadler Apr 24, 2024
ef24053
Fix: DeltaBlue benchmark.
jovanstevanovic May 11, 2024
d0abe2d
[GR-53655] Add ability to transform globs into regex
dnestoro May 28, 2024
e76ff2d
[GR-53541] Fixed a deadlock if we run OutOfMemory while entering a sy…
christianhaeubl May 2, 2024
212f2e2
don't resume threads which have suspension count above 0 for resume a…
javeleon Mar 18, 2024
e9e1641
Remove special resume all handling for resuming the event thread as t…
javeleon Mar 19, 2024
2263b56
remove unused method
javeleon Mar 19, 2024
2d9fd41
deploy snapshots
marwan-hallaoui May 28, 2024
a77d51c
make graal osr test usable outside of inheritance
davleopo Apr 18, 2024
496faee
bci for native methods should be -1, not -2 (unknown). Intrinsified j…
javeleon Mar 14, 2024
a9369c8
make all subclasses of espresso root nodes override getBci to make su…
javeleon Mar 14, 2024
146a91a
remove unused imports
javeleon Mar 14, 2024
9766e07
Revert changing what bci a substituted method returns internally in t…
javeleon Mar 14, 2024
8601302
For intrinsified methods, return -2 for native methods, but 0 for jav…
javeleon Mar 18, 2024
60abd62
[GR-54189] Update labsjdk to 22.0.2+7-jvmci-b01
OracleLabsAutomation May 29, 2024
c2f5b07
Move EndRecording to JfrRecorderThread.
jovanstevanovic May 13, 2024
087b1dc
[GR-53766] Backport to 24.0: Fix type converter combination for forei…
OracleLabsAutomation May 29, 2024
de28cc8
[GR-54092] Backport to 24.0: Make ContextPolicyTest#testOptionDescrip…
OracleLabsAutomation May 29, 2024
0debe2a
[GR-54210] Backport to 24.0: Replicate hosted module graph relations …
OracleLabsAutomation May 29, 2024
b80b2de
update JVMCI to 22.0.2+8-jvmci-b01
OracleLabsAutomation May 29, 2024
cb0e98e
[GR-53640] Backport to 24.0: remove getpwuid in favor of getpwuid_r
selhagani May 30, 2024
d9ab35a
Add check for bitcode in espresso LLVM JAVA_HOME
gilles-duboscq Apr 24, 2024
b1e5974
Depend on llvm-native-community from espresso's pom distribution
gilles-duboscq Apr 26, 2024
88d85c7
Allow disabling llvm library checks
gilles-duboscq May 13, 2024
2ee6964
[GR-54078] Backport to 24.0: NullPointerException: Cannot invoke "com…
tzezula May 30, 2024
04c507a
Generate the espresso runtime resources
gilles-duboscq May 3, 2024
ff38a40
Improve assertion message
gilles-duboscq May 17, 2024
82d0e1c
Make sure the implementor of java_home and llvm_java_home match
gilles-duboscq May 17, 2024
060f758
Define JAVA_COMMUNITY dynamically and fix licenses
gilles-duboscq May 17, 2024
6291726
Only declare espresso runtime resources if they are from OpenJDK
gilles-duboscq May 17, 2024
afec6a8
Try to use the host's runtime library on hotspot on linux
gilles-duboscq May 17, 2024
31d5794
Style fix espresso jsonnet
gilles-duboscq May 18, 2024
3ae5ab4
Avoid license issue on espresso llvm supprt
gilles-duboscq May 23, 2024
03b37c1
Ensure labsjdk-ee is used for JDK21 espresso resources
gilles-duboscq May 23, 2024
53cf878
Use register_distribution for JavaHomeDependency
gilles-duboscq May 23, 2024
bb26d20
Add comments
gilles-duboscq May 27, 2024
4d3a7f3
[GR-53518] Backport to 24.0: Make graal osr test usable outside of in…
OracleLabsAutomation Jun 3, 2024
50b2297
[GR-53543] Backport to 24.0: Fix issue when stepping and resuming onl…
OracleLabsAutomation Jun 3, 2024
170f28c
Align stack pointer while in deoptStub.
christianhaeubl May 16, 2024
3d24c1d
[GR-54339] Update labsjdk to 22.0.2+8-jvmci-b01
OracleLabsAutomation Jun 3, 2024
758da55
[GR-54178] Backport to 24.0: Unsigned loops that need an overflow to …
OracleLabsAutomation Jun 3, 2024
a9070b6
[GR-54447] [GR-54449] [GR-54448] Build espresso's runtime resources a…
gilles-duboscq Jun 3, 2024
0fecf13
[GR-54089] Backport to 24.0: Fix: DeltaBlue benchmark buffer leak.
OracleLabsAutomation Jun 4, 2024
77afc95
[GR-53407] Optionally ignore OutOfMemoryErrors while in VM-internal c…
christianhaeubl May 2, 2024
461ada3
Fix consistency issue in HeapImplMemoryMXBean.getHeapMemoryUsage().
christianhaeubl Apr 17, 2024
6967d42
[GR-53304] Backport to 24.0: Cannot update closed speculation encoding.
kassifar Jun 4, 2024
d88c98a
Don't log CPUSampler interrupt if the sampler is already closed.
jchalou May 29, 2024
cb366a5
[GR-54373] Backport to 24.0: Don't log CPUSampler interrupt if the sa…
hamzaGhaissi Jun 4, 2024
51f0db4
loop infra: use correct bit size for overflow checks
davleopo May 17, 2024
73ce6df
Remove espresso from "complete" environments
gilles-duboscq Jun 3, 2024
cf75bf0
Disable espresso standalone
gilles-duboscq Jun 3, 2024
993f3e2
Remove espresso standalone from ce-release-artifacts.json
gilles-duboscq Jun 6, 2024
d1e11ac
update JVMCI to 22.0.2+9-jvmci-b01
OracleLabsAutomation Jun 5, 2024
466e818
[GR-53544] Backport to 24.0 : Fix stepping into intrinsified Java met…
TheTaha-Alamine Jun 6, 2024
fc33da5
[GR-53805] Backport to 24.0: OutOfMemoryError-related fixes.
OracleLabsAutomation Jun 6, 2024
636bc4f
[GR-53500] Backport to 24.0: Fix consistency issue in HeapImplMemoryM…
medoussboug Jun 6, 2024
4f4bd90
derived offset iv: properly implement isConstantStride for masked negate
davleopo Jun 5, 2024
b4f48a0
svm: adopt "JDK-8328366: Thread.setContextClassloader from thread in …
zapster Apr 12, 2024
5694ebf
remove predicate
marwan-hallaoui Jun 10, 2024
10f4553
[GR-54257] Backport to 24.0: Align stack pointer while in deoptStub.
hamzaGhaissi Jun 11, 2024
fd8e7bb
[GR-54053] Backport to 24.0: Re-enable jdk-latest jobs on darwin-amd6…
kassifar Jun 12, 2024
2453cae
[GR-54176] Backport to 24.0: Loop infra: use correct bit size for ove…
OracleLabsAutomation Jun 12, 2024
10dfd5d
[GR-54551] Backport to 24.0: Remove espresso from standalones builds.
gilles-duboscq Jun 12, 2024
df8d7a0
[GR-54556] Update labsjdk to 22.0.2+9-jvmci-b01
OracleLabsAutomation Jun 12, 2024
46bfeb2
Change CCharPointer from "char" to "signed char".
christianhaeubl Mar 26, 2024
98ae9a7
Change CCharPointer from "signed char" to "char".
christianhaeubl May 15, 2024
1c98841
Treat CCharPointer read/write operations as signed.
christianhaeubl May 15, 2024
d2bba8f
Update mx version.
ansalond Jun 14, 2024
95fb59c
[WIP] [GR-54762] Add default manifest entries to maven jars.
ansalond Jun 17, 2024
38d8690
[GR-54676] Backport to 24.0: Make the esm-eval-returns-exports option…
woess Jun 19, 2024
4ab3030
[GR-54184] Backport to 24.0: Increase stack size for renaissance benc…
c-refice Jun 19, 2024
5be53f2
[GR-54094] [GR-52969] Backport to 24.0: Change CCharPointer from "sig…
kassifar Jun 20, 2024
09032b0
Guest to host conversion works even when host compact strings are dis…
rakachan Mar 6, 2024
f29cd06
Ensures guest String coder value is either UTF16 or LATIN1 for conver…
rakachan Mar 11, 2024
4ceb633
Suppress UCF fb warning.
rakachan Mar 14, 2024
9de1b8a
Adds profiling to interop method lookup.
rakachan Mar 26, 2024
6372e0e
Adds documentation to `MethodArgsUtils`
rakachan Mar 26, 2024
451d550
Move string conversion boundaries further down, allowing the common c…
rakachan Mar 28, 2024
1877d9d
Converts string key for method lookup to a symbol for comparisons.
rakachan Mar 28, 2024
c950a25
Use Inlined branch profiles for Klass interop.
rakachan Mar 28, 2024
2e0e6c9
Separate Virtual/Non-Virtual handling of InteropLookupAndInvoke into …
rakachan Apr 2, 2024
35d64bf
Allow inlining of string conversion boundaries.
rakachan Apr 2, 2024
70d1c71
Adds a header.
rakachan Apr 2, 2024
d3cfb68
Use Cached branch profiles even in the shared language case..
rakachan Apr 3, 2024
b30b84e
Push boundary down in MethodArgsUtil, to be able to prpagate method c…
rakachan Apr 4, 2024
1064fd0
Separate InteropLookupAndInvoke into sub-nodes.
rakachan Apr 4, 2024
710725a
[GR-53546] Backport to 24.0: Adds profiling to Espresso method resolu…
OracleLabsAutomation Jun 24, 2024
a165ae8
Avoid using IllegalStateException in getUncachedToEspresso
gilles-duboscq Feb 15, 2024
166a709
make sure we attempt type converters for not otherwise directly mappe…
javeleon Jun 14, 2024
3e65683
make sure specific type converters are attempted in specific exceptio…
javeleon Jun 20, 2024
5616789
[GR-54863] [GR-54866] Backport to 24.0: Support converting foreign ob…
OracleLabsAutomation Jun 27, 2024
625cbfe
Developer info is consistent with other suites.
ansalond Jun 26, 2024
6a69ef6
Update js imports.
ansalond Jul 1, 2024
f3256ed
[GR-54762] Developer info is consistent with other suites.
ansalond Jul 2, 2024
1f72d53
release GraalVM 24.0.2
marwan-hallaoui Jul 3, 2024
0b56897
Sync with upstream 'oracle/release/graal-vm/24.0' for July 2024 CPU
zakkak Jul 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 29 additions & 19 deletions ci/ci_common/bench-common.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@
else true
},

# max number of threads to use for benchmarking in general
# the goal being to limit parallelism on very large servers which may not be respresentative of real-world scenarios
bench_max_threads:: {
restrict_threads:: 36
},

bench_no_thread_cap:: {
restrict_threads:: null,
should_use_hwloc:: false
},

bench_hw:: {
_bench_machine:: {
targets+: ["bench"],
Expand All @@ -40,15 +51,16 @@
numa_nodes:: [],
is_numa:: std.length(self.numa_nodes) > 0,
num_threads:: error "num_threads must bet set!",
hyperthreading:: true,
threads_per_node:: if self.is_numa then self.num_threads / std.length(self.numa_nodes) else self.num_threads,
},

x52:: common.linux_amd64 + self._bench_machine + {
machine_name:: "x52",
capabilities+: ["tmpfs25g"],
e3:: common.linux_amd64 + self._bench_machine + {
machine_name:: "e3",
capabilities: ["e3", "tmpfs25g", "linux", "amd64"],
numa_nodes:: [0, 1],
default_numa_node:: 0,
num_threads:: 72
default_numa_node:: 1,
num_threads:: 256
},
e4_8_64:: common.linux_amd64 + self._bench_machine + {
machine_name:: "e4_8_64",
Expand All @@ -67,31 +79,29 @@
xgene3:: common.linux_aarch64 + self._bench_machine + {
machine_name:: "xgene3",
capabilities+: [],
num_threads:: 32
num_threads:: 32,
hyperthreading:: false
},
a12c:: common.linux_aarch64 + self._bench_machine + {
machine_name:: "a12c",
capabilities+: ["tmpfs25g"],
numa_nodes:: [0, 1],
default_numa_node:: 0,
num_threads:: 160
num_threads:: 160,
hyperthreading:: false
}
},

hwlocIfNuma(numa, cmd, node=0)::
if numa then
hwloc_cmd(cmd, num_threads, node, hyperthreading, max_threads_per_node)::
if num_threads == null then
["hwloc-bind", "--cpubind", "node:"+node, "--membind", "node:"+node, "--"] + cmd
else
cmd,

parallelHwloc(cmd_node0, cmd_node1)::
// Returns a list of commands that will run cmd_nod0 on NUMA node 0
// concurrently with cmd_node1 on NUMA node 1 and then wait for both to complete.
[
$.hwlocIfNuma(true, cmd_node0, node=0) + ["&"],
$.hwlocIfNuma(true, cmd_node1, node=1) + ["&"],
["wait"]
],
local threads = if num_threads != null then num_threads else max_threads_per_node;
assert if hyperthreading then threads % 2 == 0 else true: "It is required to bind to an even number of threads on hyperthreaded machines. Got requested "+threads+" threads";
assert threads <= max_threads_per_node: "Benchmarking must run on a single NUMA node for stability reasons. Got requested "+threads+" threads but the machine has only "+max_threads_per_node+" threads per node"; local cores = if hyperthreading then "0-"+((threads/2)-1)+".pu:0-1" else "0-"+(threads-1)+".pu:0";
local cpu_bind = if hyperthreading then "node:"+node+".core:"+cores else "node:"+node+".core:"+cores+".pu:0";
["hwloc-bind", "--cpubind", cpu_bind, "--membind", "node:"+node, "--"] + cmd
,

// building block used to generate fork builds
many_forks_benchmarking:: common.build_base + {
Expand Down
16 changes: 8 additions & 8 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
],

"mx_version": "7.4.1",
"mx_version": "7.4.1.1",

"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
"jdks": {
Expand Down Expand Up @@ -44,13 +44,13 @@
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-sulong", "platformspecific": true },

"oraclejdk-latest": {"name": "jpg-jdk", "version": "22", "build_id": "jdk-22.0.1+8", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-22.0.1+8-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-22.0.1+8-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-22.0.1+8-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-22.0.1+8-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-22.0.1+8-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-22.0.1+8-jvmci-b01-sulong", "platformspecific": true }
"oraclejdk-latest": {"name": "jpg-jdk", "version": "22", "build_id": "jdk-22.0.2+9", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-22.0.2+9-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-22.0.2+9-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-22.0.2+9-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-22.0.2+9-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-22.0.2+9-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-22.0.2+9-jvmci-b01-sulong", "platformspecific": true }
},

"eclipse": {
Expand Down
46 changes: 20 additions & 26 deletions compiler/ci/ci_common/benchmark-builders.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -11,41 +11,35 @@

local main_builds = std.flattenArrays([
[
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.dacapo + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_size_variants,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.renaissance + PR_bench_libgraal,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.specjvm2008 + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.awfy + PR_bench_libgraal,
c.daily + hw.x52 + jdk + cc.libgraal + bench.microservice_benchmarks,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_whitebox,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_dist,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_misc_graal_dist,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_shootout_graal_dist,
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.awfy + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.dacapo + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.scala_dacapo + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.renaissance + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.specjvm2008 + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.microservice_benchmarks + {job_prefix:: "bench-e4vm-compiler"},
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.dacapo + PR_bench_libgraal,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.scala_dacapo + PR_bench_libgraal,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.renaissance + PR_bench_libgraal,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.specjvm2008 + PR_bench_libgraal,
c.on_demand + hw.e3 + jdk + cc.libgraal + bench.dacapo_size_variants,
c.on_demand + hw.e3 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
c.monthly + hw.e3 + jdk + cc.libgraal + bench.specjbb2015,
c.daily + c.opt_post_merge + hw.e3 + jdk + cc.libgraal + bench.awfy + PR_bench_libgraal,
c.daily + hw.e3 + jdk + cc.libgraal + bench.microservice_benchmarks,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.micros_graal_whitebox,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.micros_graal_dist,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.micros_misc_graal_dist,
c.weekly + hw.e3 + jdk + cc.libgraal + bench.micros_shootout_graal_dist,
]
for jdk in cc.product_jdks
]),

local profiling_builds = std.flattenArrays([
[
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
c.monthly + hw.e3 + jdk + cc.libgraal + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
c.monthly + hw.e3 + jdk + cc.libgraal + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
]
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
]),

local weekly_amd64_forks_builds = std.flattenArrays([
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.libgraal + suite, subdir='compiler') +
bc.generate_fork_builds(c.monthly + hw.x52 + jdk + cc.jargraal + suite, subdir='compiler')
bc.generate_fork_builds(c.weekly + hw.e3 + jdk + cc.libgraal + suite, subdir='compiler') +
bc.generate_fork_builds(c.monthly + hw.e3 + jdk + cc.jargraal + suite, subdir='compiler')
for jdk in cc.product_jdks
for suite in bench.groups.weekly_forks_suites
]),
Expand All @@ -70,7 +64,7 @@
],

local zgc_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.zgc_mode + suite,
c.weekly + hw.e3 + jdk + cc.libgraal + cc.zgc_mode + suite,
for jdk in cc.product_jdks
for suite in bench.groups.main_suites + [bench.specjbb2015]
],
Expand All @@ -83,13 +77,13 @@
],

local no_tiered_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_tiered_comp + suite,
c.monthly + hw.e3 + jdk + cc.libgraal + cc.no_tiered_comp + suite,
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

local no_profile_info_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_profile_info + suite,
c.monthly + hw.e3 + jdk + cc.libgraal + cc.no_profile_info + suite,
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],
Expand Down
49 changes: 15 additions & 34 deletions compiler/ci/ci_common/benchmark-suites.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

// suite definitions
// *****************
awfy: cc.compiler_benchmark + c.heap.small + {
awfy: cc.compiler_benchmark + c.heap.small + bc.bench_max_threads + {
suite:: "awfy",
run+: [
self.benchmark_cmd + ["awfy:*", "--"] + self.extra_vm_args
Expand All @@ -36,7 +36,7 @@
max_jdk_version:: null
},

dacapo: cc.compiler_benchmark + c.heap.default + {
dacapo: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "dacapo",
run+: [
self.benchmark_cmd + ["dacapo:*", "--"] + self.extra_vm_args
Expand All @@ -48,7 +48,7 @@
max_jdk_version:: null
},

dacapo_size_variants: cc.compiler_benchmark + c.heap.default + {
dacapo_size_variants: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "dacapo-size-variants",
run+: [
self.benchmark_cmd + ["dacapo-small:*", "--"] + self.extra_vm_args,
Expand All @@ -64,7 +64,7 @@
max_jdk_version:: null
},

scala_dacapo: cc.compiler_benchmark + c.heap.default + {
scala_dacapo: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "scala-dacapo",
run+: [
self.benchmark_cmd + ["scala-dacapo:*", "--"] + self.extra_vm_args
Expand All @@ -76,7 +76,7 @@
max_jdk_version:: null
},

scala_dacapo_size_variants: cc.compiler_benchmark + c.heap.default + {
scala_dacapo_size_variants: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "scala-dacapo-size-variants",
run+: [
self.benchmark_cmd + ["scala-dacapo-tiny:*", "--"] + self.extra_vm_args,
Expand All @@ -97,7 +97,7 @@
max_jdk_version:: null
},

renaissance_template(suite_version=null, suite_name="renaissance", max_jdk_version=null):: cc.compiler_benchmark + c.heap.default + {
renaissance_template(suite_version=null, suite_name="renaissance", max_jdk_version=null):: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: suite_name,
local suite_version_args = if suite_version != null then ["--bench-suite-version=" + suite_version] else [],
run+: [
Expand All @@ -110,12 +110,9 @@
max_jdk_version:: max_jdk_version
},

renaissance: self.renaissance_template() + {
# [JDK-8303076] [GR-44499] requires extra stack size for C1
extra_vm_args+:: if self.platform == "c1" then ["-Xss1090K"] else []
},
renaissance: self.renaissance_template(),

specjbb2015: cc.compiler_benchmark + c.heap.large_with_large_young_gen + {
specjbb2015: cc.compiler_benchmark + c.heap.large_with_large_young_gen + bc.bench_max_threads + {
suite:: "specjbb2015",
downloads+: {
"SPECJBB2015": { name: "specjbb2015", version: "1.03" }
Expand All @@ -130,7 +127,7 @@
max_jdk_version:: null
},

specjvm2008: cc.compiler_benchmark + c.heap.default + {
specjvm2008: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "specjvm2008",
downloads+: {
"SPECJVM2008": { name: "specjvm2008", version: "1.01" }
Expand All @@ -146,7 +143,7 @@
},

// Microservice benchmarks
microservice_benchmarks: cc.compiler_benchmark + {
microservice_benchmarks: cc.compiler_benchmark + bc.bench_no_thread_cap + { # no thread cap here since hwloc is handled at the mx level for microservices
suite:: "microservices",
packages+: {
"pip:psutil": "==5.8.0"
Expand All @@ -159,42 +156,26 @@
local hwlocBind_16C_32T = ["--hwloc-bind=--cpubind node:0.core:0-15.pu:0-1 --membind node:0"],
run+: [
# shopcart-wrk
self.benchmark_cmd + ["shopcart-wrk:mixed-tiny"] + hwlocBind_1C_1T + ["--"] + self.extra_vm_args + ["-Xms32m", "-Xmx112m", "-XX:ActiveProcessorCount=1", "-XX:MaxDirectMemorySize=256m"],
bench_upload,
self.benchmark_cmd + ["shopcart-wrk:mixed-small"] + hwlocBind_2C_2T + ["--"] + self.extra_vm_args + ["-Xms64m", "-Xmx224m", "-XX:ActiveProcessorCount=2", "-XX:MaxDirectMemorySize=512m"],
bench_upload,
self.benchmark_cmd + ["shopcart-wrk:mixed-medium"] + hwlocBind_4C_4T + ["--"] + self.extra_vm_args + ["-Xms128m", "-Xmx512m", "-XX:ActiveProcessorCount=4", "-XX:MaxDirectMemorySize=1024m"],
bench_upload,
self.benchmark_cmd + ["shopcart-wrk:mixed-large"] + hwlocBind_16C_16T + ["--"] + self.extra_vm_args + ["-Xms512m", "-Xmx3072m", "-XX:ActiveProcessorCount=16", "-XX:MaxDirectMemorySize=4096m"],
bench_upload,
self.benchmark_cmd + ["shopcart-wrk:mixed-huge"] + hwlocBind_16C_32T + ["--"] + self.extra_vm_args + ["-Xms1024m", "-Xmx8192m", "-XX:ActiveProcessorCount=32", "-XX:MaxDirectMemorySize=8192m"],
bench_upload,

# petclinic-wrk
self.benchmark_cmd + ["petclinic-wrk:mixed-tiny"] + hwlocBind_1C_1T + ["--"] + self.extra_vm_args + ["-Xms32m", "-Xmx100m", "-XX:ActiveProcessorCount=1"],
bench_upload,
self.benchmark_cmd + ["petclinic-wrk:mixed-small"] + hwlocBind_2C_2T + ["--"] + self.extra_vm_args + ["-Xms40m", "-Xmx144m", "-XX:ActiveProcessorCount=2"],
bench_upload,
self.benchmark_cmd + ["petclinic-wrk:mixed-medium"] + hwlocBind_4C_4T + ["--"] + self.extra_vm_args + ["-Xms80m", "-Xmx256m", "-XX:ActiveProcessorCount=4"],
bench_upload,
self.benchmark_cmd + ["petclinic-wrk:mixed-large"] + hwlocBind_16C_16T + ["--"] + self.extra_vm_args + ["-Xms128m", "-Xmx512m", "-XX:ActiveProcessorCount=16"],
bench_upload,
self.benchmark_cmd + ["petclinic-wrk:mixed-huge"] + hwlocBind_16C_32T + ["--"] + self.extra_vm_args + ["-Xms640m", "-Xmx3072m", "-XX:ActiveProcessorCount=32"],
bench_upload,

# helloworld-wrk
self.benchmark_cmd + ["micronaut-helloworld-wrk:helloworld"] + hwlocBind_1C_1T + ["--"] + self.extra_vm_args + ["-Xms8m", "-Xmx64m", "-XX:ActiveProcessorCount=1", "-XX:MaxDirectMemorySize=256m"],
bench_upload,
self.benchmark_cmd + ["spring-helloworld-wrk:helloworld"] + hwlocBind_1C_1T + ["--"] + self.extra_vm_args + ["-Xms8m", "-Xmx64m", "-XX:ActiveProcessorCount=1", "-XX:MaxDirectMemorySize=256m"],
bench_upload
],
timelimit: "7:00:00",
timelimit: "4:00:00",
min_jdk_version:: 11,
max_jdk_version:: null
},

// JMH microbenchmarks
micros_graal_whitebox: cc.compiler_benchmark + c.heap.default + {
micros_graal_whitebox: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "micros-graal-whitebox",
run+: [
self.benchmark_cmd + ["jmh-whitebox:*", "--"] + self.extra_vm_args + ["--", "jdk.graal.compiler"]
Expand All @@ -204,7 +185,7 @@
max_jdk_version:: null
},

micros_graal_dist: cc.compiler_benchmark + c.heap.default + {
micros_graal_dist: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "micros-graal-dist",
run+: [
self.benchmark_cmd + ["jmh-dist:GRAAL_COMPILER_MICRO_BENCHMARKS", "--"] + self.extra_vm_args
Expand All @@ -214,7 +195,7 @@
max_jdk_version:: null
},

micros_misc_graal_dist: cc.compiler_benchmark + c.heap.default + {
micros_misc_graal_dist: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "micros-misc-graal-dist",
run+: [
self.benchmark_cmd + ["jmh-dist:GRAAL_BENCH_MISC", "--"] + self.extra_vm_args
Expand All @@ -224,7 +205,7 @@
max_jdk_version:: null
},

micros_shootout_graal_dist: cc.compiler_benchmark + c.heap.default {
micros_shootout_graal_dist: cc.compiler_benchmark + c.heap.default + bc.bench_max_threads + {
suite:: "micros-shootout-graal-dist",
run+: [
self.benchmark_cmd + ["jmh-dist:GRAAL_BENCH_SHOOTOUT", "--"] + self.extra_vm_args
Expand Down
3 changes: 2 additions & 1 deletion compiler/ci/ci_common/compiler-common.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@
"${BENCH_RESULTS_FILE_PATH}",
"--machine-name=${MACHINE_NAME}"] +
(if std.objectHasAll(self.environment, 'MX_TRACKER') then ["--tracker=" + self.environment['MX_TRACKER']] else ["--tracker=rss"]),
benchmark_cmd:: bench_common.hwlocIfNuma(self.should_use_hwloc, self.plain_benchmark_cmd, node=self.default_numa_node),
restrict_threads:: null, # can be overridden to restrict the benchmark to the given number of threads. If null, will use one full NUMA node
benchmark_cmd:: if self.should_use_hwloc then bench_common.hwloc_cmd(self.plain_benchmark_cmd, self.restrict_threads, self.default_numa_node, self.hyperthreading, self.threads_per_node) else self.plain_benchmark_cmd,
min_heap_size:: if std.objectHasAll(self.environment, 'XMS') then ["-Xms${XMS}"] else [],
max_heap_size:: if std.objectHasAll(self.environment, 'XMX') then ["-Xmx${XMX}"] else [],
extra_vm_args::
Expand Down
Loading