RFR: 8323641: Test compiler/loopopts/superword/TestAlignVectorFuzzer.java timed out

Christian Hagedorn chagedorn at openjdk.org
Fri Jan 12 16:33:21 UTC 2024


On Fri, 12 Jan 2024 08:22:54 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> 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.

That looks reasonable.

test/hotspot/jtreg/compiler/loopopts/superword/TestAlignVectorFuzzer.java line 565:

> 563:                                         20_000;
> 564:         System.out.println("Time Allowance:   " + test_time_allowance_diff);
> 565:         long test_time_allowance = System.currentTimeMillis() + test_time_allowance_diff;

Nit: You should use CamelCase for local Java variables.

-------------

Marked as reviewed by chagedorn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/17389#pullrequestreview-1818631559
PR Review Comment: https://git.openjdk.org/jdk/pull/17389#discussion_r1450676162


More information about the hotspot-compiler-dev mailing list