RFR: 8221092: UseAVX=3 has performance degredation on Skylake (X7) processors
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Mon Oct 7 11:03:11 UTC 2019
> http://cr.openjdk.java.net/~vdeshpande/8221092/webrev.01/
Looks good.
Best regards,
Vladimir Ivanov
> -----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