RFR 8080325 SuperWord loop unrolling analysis

Berg, Michael C michael.c.berg at intel.com
Thu May 14 01:31:57 UTC 2015


Also, for now I have only enabled x86 and leave the analysis of its value to other target developer contributors after the fact.

Thanks,
Michael

From: hotspot-compiler-dev [mailto:hotspot-compiler-dev-bounces at openjdk.java.net] On Behalf Of Berg, Michael C
Sent: Wednesday, May 13, 2015 6:27 PM
To: hotspot-compiler-dev at openjdk.java.net
Subject: RFR 8080325 SuperWord loop unrolling analysis


Hi Folks,

We (Intel) would like to contribute superword loop unrolling analysis to facilitate more default unrolling and larger SIMD vector mapping.
Please review this patch and comment as needed:

Bug-id: https://bugs.openjdk.java.net/browse/JDK-8080325

webrev:

http://cr.openjdk.java.net/~kvn/8080325/webrev/

The design finds the highest common vector supported and implemented on a given machine and applies that to unrolling, iff it is greater than the default. If the user gates unrolling we will still obey the user directive. It's light weight, when we get to the analysis part, if we fail, we stop further tries. If we succeed we stop further tries. We generally always analyze only once. We then gate the unroll factor by extending the size of the unroll segment so that the iterative tries will keep unrolling, obtaining larger unrolls of a targeted loop. I see no negative behavior wrt to performance, and a modest positive swing in default behavior up to 1.5x for some micros.

Vladimir Kozlov has offered to sponsor this patch.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20150514/448595cf/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list