RFR: 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors
Deshpande, Vivek R
vivek.r.deshpande at intel.com
Tue Oct 1 23:36:56 UTC 2019
Hi Vladimir
I have updated the patch with appropriate comments in globals_x86.hpp and also updated the bug entry.
The updated webrev is here:
http://cr.openjdk.java.net/~vdeshpande/8221092/webrev.01/
Could you please review.
Regards,
Vivek
-----Original Message-----
From: Deshpande, Vivek R
Sent: Thursday, September 26, 2019 10:52 AM
To: Vladimir Kozlov <vladimir.kozlov at oracle.com>; hotspot-compiler-dev at openjdk.java.net
Cc: Scott Oaks <scott.oaks at oracle.com>; eric.caspole <eric.caspole at oracle.com>; Robert Strout <robert.strout at oracle.com>
Subject: RE: RFR: 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors
Thanks you Vladimir for the review.
I will work on the adding the comments and changes to the bug report.
Yes the threshold is for architectures after skylake which support AVX512.
With this threshold( value = 4096 bytes found experimentally), AVX512 will be used if the array size is bigger than that.
Regards,
Vivek
-----Original Message-----
From: Vladimir Kozlov [mailto:vladimir.kozlov at oracle.com]
Sent: Wednesday, September 25, 2019 12:41 PM
To: Deshpande, Vivek R <vivek.r.deshpande at intel.com>; hotspot-compiler-dev at openjdk.java.net
Cc: Scott Oaks <scott.oaks at oracle.com>; eric.caspole <eric.caspole at oracle.com>; Robert Strout <robert.strout at oracle.com>
Subject: Re: RFR: 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors
Thank you, Vivek
I see you did several changes including intrinsics code. Would be nice if you list changes you did in bug report. I see you removed _evex instructions variants in .ad file, replaced evex instructions in stubs and set UseAVX to 2 for Skylake. It is easy to understand.
But what about array limit AVX3Threshold? I assume it is for non-Skylake CPUs with AVX512. Right?
What number 4096 is based on. It seems AVX3Threshold == 0 has special meaning - add line in globals_x86.hpp explaining it. I would need more time to look on related changes.
Thanks,
Vladimir
On 9/3/19 5:02 PM, Deshpande, Vivek R wrote:
> Hi All
>
> I have created a patch which sets AVX2 for Skylake and selectively
> uses EVEX instructions based on threshold for platforms after Skylake.
> I don't observe the regressions for SPECjvm2008 on Skylake with this patch.
> JBS id:
> https://bugs.openjdk.java.net/browse/JDK-8221092
> Webrev:
> http://cr.openjdk.java.net/~vdeshpande/8221092/webrev.00/
> Could you all please review the patch.
>
> Regards,
> Vivek
>
More information about the hotspot-compiler-dev
mailing list