Skip to content

Commit 62bd188

Browse files
committed
[GR-64439] Add js polybench jobs.
PullRequest: graal/21617
2 parents 998dbaa + d4fdfd6 commit 62bd188

File tree

3 files changed

+65
-32
lines changed

3 files changed

+65
-32
lines changed

truffle/mx.truffle/mx_truffle.py

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2153,19 +2153,30 @@ def sl_polybench_runner(polybench_run: mx_polybench.PolybenchRunFunction, tags:
21532153
mx_polybench.register_polybench_benchmark_suite(mx_suite=_suite, name="sl", languages=["sl"], benchmark_distribution="SL_BENCHMARKS", benchmark_file_filter=".*sl", runner=sl_polybench_runner, tags={"gate", "benchmark"})
21542154

21552155
# NFI benchmarks use Graal.js to test upcalls/downcalls, so only register them if Graal.js is available.
2156-
# TODO (GR-64439): re-enable PMH after graaljs polybench migration
2157-
# if mx.dependency("PMH", fatalIfMissing=False) and mx.suite("graal-js", fatalIfMissing=False):
2158-
# mx_polybench.register_polybench_language(mx_suite=_suite, language="pmh", distributions=["PMH"], native_distributions=["PMH_BENCHMARK_NATIVE"])
2159-
2160-
2161-
# def nfi_polybench_runner(polybench_run: mx_polybench.PolybenchRunFunction, tags) -> None:
2162-
# if "gate" in tags:
2163-
# polybench_run(["--jvm", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2164-
# polybench_run(["--native", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2165-
# polybench_run(["--jvm", "nfi/panama/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2166-
# if "benchmark" in tags:
2167-
# polybench_run(["--jvm", "nfi/*.pmh"])
2168-
# polybench_run(["--native", "nfi/*.pmh"])
2169-
# polybench_run(["--jvm", "nfi/panama/*.pmh"])
2170-
2171-
# mx_polybench.register_polybench_benchmark_suite(mx_suite=_suite, name="nfi", languages=["pmh", "js"], benchmark_distribution="NFI_POLYBENCH_BENCHMARKS", benchmark_file_filter=".*pmh", runner=nfi_polybench_runner, tags={"gate", "benchmark"})
2156+
if mx.dependency("PMH", fatalIfMissing=False) and mx.suite("graal-js", fatalIfMissing=False):
2157+
mx_polybench.register_polybench_language(mx_suite=_suite, language="pmh", distributions=["PMH"], native_distributions=["PMH_BENCHMARK_NATIVE"])
2158+
2159+
def nfi_polybench_runner(polybench_run: mx_polybench.PolybenchRunFunction, tags) -> None:
2160+
if "gate" in tags:
2161+
polybench_run(["--jvm", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2162+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2163+
polybench_run(["--native", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false", "-w", "1", "-i", "1"])
2164+
if "benchmark" in tags:
2165+
polybench_run(["--jvm", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false"])
2166+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--experimental-options", "--engine.Compilation=false"])
2167+
polybench_run(["--native", "nfi/*.pmh", "--experimental-options", "--engine.Compilation=false"])
2168+
polybench_run(["--jvm", "nfi/*.pmh"])
2169+
polybench_run(["--jvm", "nfi/panama/*.pmh"])
2170+
polybench_run(["--native", "nfi/*.pmh"])
2171+
polybench_run(["--jvm", "nfi/*.pmh", "--metric=metaspace-memory"])
2172+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--metric=metaspace-memory"])
2173+
polybench_run(["--jvm", "nfi/*.pmh", "--metric=application-memory"])
2174+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--metric=application-memory"])
2175+
polybench_run(["--jvm", "nfi/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10", "--experimental-options", "--engine.Compilation=false"])
2176+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10", "--experimental-options", "--engine.Compilation=false"])
2177+
polybench_run(["--native", "nfi/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10", "--experimental-options", "--engine.Compilation=false"])
2178+
polybench_run(["--jvm", "nfi/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10"])
2179+
polybench_run(["--jvm", "nfi/panama/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10"])
2180+
polybench_run(["--native", "nfi/*.pmh", "--metric=allocated-bytes", "-w", "40", "-i", "10"])
2181+
2182+
mx_polybench.register_polybench_benchmark_suite(mx_suite=_suite, name="nfi", languages=["pmh", "js"], benchmark_distribution="NFI_POLYBENCH_BENCHMARKS", benchmark_file_filter=".*pmh", runner=nfi_polybench_runner, tags={"gate", "benchmark"})

vm/ci/ci_common/common-bench.jsonnet

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -216,20 +216,6 @@ local repo_config = import '../../../ci/repo-configuration.libsonnet';
216216
self.polybench_wrap(['mx', '--dy', '/espresso', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'espresso:benchmark']),
217217
],
218218
}
219-
/* TODO (GR-64439): re-enable NFI jobs once js is unchained.
220-
] + [
221-
# NFI polybench jobs
222-
self.polybench_vm_gate('linux', 'amd64', 'nfi') + {
223-
run+: [
224-
self.polybench_wrap(['mx', '--dy', '/graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'nfi:gate']),
225-
],
226-
},
227-
self.polybench_vm_daily('linux', 'amd64', 'nfi') + {
228-
run+: [
229-
self.polybench_wrap(['mx', '--dy', '/graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'nfi:benchmark']),
230-
],
231-
}
232-
*/
233219
] + [
234220
# TruffleRuby polybench jobs
235221
self.polybench_vm_gate('linux', 'amd64', 'ruby') + common.deps.truffleruby + {
@@ -272,6 +258,42 @@ local repo_config = import '../../../ci/repo-configuration.libsonnet';
272258
self.polybench_wrap(['mx', '--dy', 'graalpython', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'python:benchmark']),
273259
],
274260
}
261+
] + [
262+
# NFI polybench jobs
263+
self.polybench_vm_gate('linux', 'amd64', 'nfi') + {
264+
setup+: [
265+
['mx', '--dy', 'graal-js', 'build']
266+
],
267+
run+: [
268+
self.polybench_wrap(['mx', '--dy', 'graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'nfi:gate']),
269+
],
270+
},
271+
self.polybench_vm_daily('linux', 'amd64', 'nfi') + {
272+
setup+: [
273+
['mx', '--dy', 'graal-js', 'build']
274+
],
275+
run+: [
276+
self.polybench_wrap(['mx', '--dy', 'graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'nfi:benchmark']),
277+
],
278+
}
279+
] + [
280+
# Graal.js polybench jobs
281+
self.polybench_vm_gate('linux', 'amd64', 'js') + {
282+
setup+: [
283+
['mx', '--dy', 'graal-js', 'build']
284+
],
285+
run+: [
286+
self.polybench_wrap(['mx', '--dy', 'graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'js:gate']),
287+
],
288+
},
289+
self.polybench_vm_daily('linux', 'amd64', 'js') + {
290+
setup+: [
291+
['mx', '--dy', 'graal-js', 'build']
292+
],
293+
run+: [
294+
self.polybench_wrap(['mx', '--dy', 'graal-js', '--java-home', '${POLYBENCH_JVM}', 'polybench', 'run', '--suite', 'js:benchmark']),
295+
],
296+
}
275297
],
276298
# TODO (GR-60584): reimplement polybenchmarks jobs once polybench is unchained
277299

vm/mx.vm/suite.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"name": "graal-nodejs",
3434
"subdir": True,
3535
"dynamic": True,
36-
"version": "8967580a43ebe1bcee0ff70b5ae9fdbea61b85db",
36+
"version": "ee39e01d5a836169615ca7e3626bed7119e03c18",
3737
"urls" : [
3838
{"url" : "https://github.com/graalvm/graaljs.git", "kind" : "git"},
3939
]
@@ -42,7 +42,7 @@
4242
"name": "graal-js",
4343
"subdir": True,
4444
"dynamic": True,
45-
"version": "8967580a43ebe1bcee0ff70b5ae9fdbea61b85db",
45+
"version": "ee39e01d5a836169615ca7e3626bed7119e03c18",
4646
"urls": [
4747
{"url": "https://github.com/graalvm/graaljs.git", "kind" : "git"},
4848
]

0 commit comments

Comments
 (0)