RFR: 8323641: Test compiler/loopopts/superword/TestAlignVectorFuzzer.java timed out [v2]
Emanuel Peter
epeter at openjdk.org
Mon Jan 15 07:43:45 UTC 2024
> It seems that allowing `90%` of the timeout-time was cutting it too close. Some individual tests can take more time occasionally, one even took more than `80 sec` (very rare).
>
> Why do these tests take so long?
> - Sometimes compilation can take quite a bit of time. `-XX:LoopUnrollLimit=250` already increases the number of nodes allowed in a loop-body, and with unrolling this increases significantly. SuperWord then has to work through all these nodes, and has a lot of quadratic and higher complexity loops.
> - The loop bodies are quite large (hand unrolled), and often lead to partial vectorization, with lots of scalar memory ops. This produces quite sub-optimal code, with a bit too many instructions in the loop body. Combined with lots of array copying, this probably takes quite a hit on caches.
>
> I will investigate SuperWord compilation time in the future, and lower the runtime complexity if neccessary/possible, it is part of my autovectorization plans.
>
> I now lowered the allowance down to `40%`, which is hopefully small enough to avoid timeout, while still allowing sufficient many run to get decent test coverage.
Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
camelCase for local variable, for Christian
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17389/files
- new: https://git.openjdk.org/jdk/pull/17389/files/27ba573c..e1a0deb8
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17389&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17389&range=00-01
Stats: 15 lines in 1 file changed: 0 ins; 0 del; 15 mod
Patch: https://git.openjdk.org/jdk/pull/17389.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17389/head:pull/17389
PR: https://git.openjdk.org/jdk/pull/17389
More information about the hotspot-compiler-dev
mailing list