Integrated: 8287697: Limit auto vectorization to 32-byte vector on Cascade Lake

Sandhya Viswanathan sviswanathan at openjdk.java.net
Wed Jun 8 01:07:53 UTC 2022


On Wed, 25 May 2022 01:48:16 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

> We observe ~20% regression in SPECjvm2008 mpegaudio sub benchmark on Cascade Lake with Default vs -XX:UseAVX=2.
> The performance of all the other non-startup sub benchmarks of SPECjvm2008 is within +/- 5%. 
> The performance regression is due to auto-vectorization of small loops. 
> We don’t have AVX3Threshold consideration in auto-vectorization. 
> The performance regression in mpegaudio can be recovered by limiting auto-vectorization to 32-byte vectors.
> 
> This PR limits auto-vectorization to 32-byte vectors by default on Cascade Lake. Users can override this by either setting -XX:UseAVX=3 or -XX:SuperWordMaxVectorSize=64 on JVM command line.
> 
> Please review.
> 
> Best Regard,
> Sandhya

This pull request has now been integrated.

Changeset: 45f1b72a
Author:    Sandhya Viswanathan <sviswanathan at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/45f1b72a6ee5b86923c3217f101a90851c30401f
Stats:     48 lines in 6 files changed: 42 ins; 0 del; 6 mod

8287697: Limit auto vectorization to 32-byte vector on Cascade Lake

Reviewed-by: kvn, jbhateja

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

PR: https://git.openjdk.java.net/jdk/pull/8877


More information about the hotspot-dev mailing list