RFR(S)JDK-8214074: Ghash optimization using AVX instructions
anthony.scarpino at oracle.com
Thu Nov 29 20:08:11 UTC 2018
[removed core-libs, added security-dev]
I'm fine with the jdk changes and solaris-sparc appears to work fine
with the existing security and intrinsic tests. I do not feel
comfortable reviewing the hotspot changes, so either Vladimir or someone
else from the hotspot team would need to look at it.
On 11/20/18 6:45 PM, Kamath, Smita wrote:
> Hi Tony,
> Thanks for your comments.
> 1) This intrinsic is also used with solaris-sparc, has there been a sanity check by anyone to make sure this does not break the sparc intrinsic? It may work as the code is now since the sparc intrinsic will only use the first two longs in the subkeyHtbl.
> Would it be possible to help with this sanity check? I don't have the required set-up to test this scenario.
> 2) I have changed the code so that subkeyH corresponds to the first two entries of subkeyHtbl. Please find the updated webrev link.
> Bug link: https://bugs.openjdk.java.net/browse/JDK-8214074
> Webrev link: http://cr.openjdk.java.net/~svkamath/ghash/webrev01/
> Thanks and Regards,
> -----Original Message-----
> From: Anthony Scarpino [mailto:anthony.scarpino at oracle.com]
> Sent: Tuesday, November 20, 2018 2:05 PM
> To: Kamath, Smita <smita.kamath at intel.com>; 'Vladimir Kozlov' <vladimir.kozlov at oracle.com>
> Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; core-libs-dev at openjdk.java.net; hotspot compiler <hotspot-compiler-dev at openjdk.java.net>
> Subject: Re: RFR(S)JDK-8214074: Ghash optimization using AVX instructions
> On 11/19/18 12:50 PM, Kamath, Smita wrote:
>> Hi Vladimir,
>> I'd like to contribute an optimization for GHASH Algorithm using AVX
>> Instructions. I have tested this optimization on SKX x86_64 platform
>> and it shows ~20-30% performance improvement for larger message sizes
>> (for example 8k).
>> I, smita.kamath at intel.com <mailto:smita.kamath at intel.com> , Shay
>> Gueuron, (shay.gueron at intel.com <mailto:shay.gueron at intel.com>)and
>> Regev Shemy (regev.shemy at intel.com <mailto:regev.shemy at intel.com>) are
>> contributors to this code.
>> Link to Bug: https://bugs.openjdk.java.net/browse/JDK-8214074
>> Link to webrev: http://cr.openjdk.java.net/~svkamath/ghash/webrev/
>> For testing the implementation, I have executed TestAESMain.java. I
>> have executed Jtreg tests and tested this code on 64 bit Windows and
>> Linux platforms.
>> Please review and let me know if you have any comments.
>> Thanks and Regards,
> This intrinsic is also used with solaris-sparc, has there been a sanity check by anyone to make sure this does not break the sparc intrinsic?
> It may work as the code is now since the sparc intrinsic will only use the first two longs in the subkeyHtbl.
> In that same idea, have you consider combining the subkeyH to be the first two of subkeyHtbl for the non-avx operations? It would eliminate an extra two longs per instance.
More information about the hotspot-compiler-dev