RFR(S)JDK-8214074: Ghash optimization using AVX instructions
vladimir.kozlov at oracle.com
Sun Dec 2 02:44:09 UTC 2018
All tests passed.
On 12/1/18 4:37 PM, Vladimir Kozlov wrote:
> I am fine with Hotspot changes.
> But we need to verify changes on all platforms.
> I see that aarch64 also supports it in addition to SPARC.
> I will run compiler/codegen/aes/ test to make sure it pass on SPARC but we don't test aarch64.
> I let you know testing results when they are done.
> 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 core-libs-dev