RFR: 8300208: Optimize Adler32 stub for AVX-512 targets.
Jatin Bhateja
jbhateja at openjdk.org
Tue Jan 17 17:33:04 UTC 2023
Patch optimizes Adler32 stub for AVX512 target.
Main computation loop now uses zero extended lane widening load vector operation.
New sequence also honors AVX3Thresholds so that implementation uses existing AVX2 instruction sequence on relevant targets
if input size is smaller than threshold limit (default 4096).
Following are the result of an [existing JMH micro ](https://github.com/openjdk/jdk/blob/master/test/micro/org/openjdk/bench/java/util/TestAdler32.java)on various targets.
**System Configurations : Turbo frequency scaling is disabled, all the data is collected at fixed frequency of 2.8 GHz.
SUT1 : Intel® Xeon® Platinum 8480+ Processor (Sapphire Rapids) 56C 2S
SUT2 : Intel(R) Xeon(R) Platinum 8380 CPU (Icelake Server) 40C 2S
SUT3 : Intel(R) Xeon(R) Platinum 8280 CPU (Cascadelake Server) 28C 2S**



Please review and share your feedback.
Best Regards,
Jatin
-------------
Commit messages:
- 8300208: Optimize Adler32 stub for AVX-512 targets.
Changes: https://git.openjdk.org/jdk/pull/12045/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12045&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8300208
Stats: 142 lines in 4 files changed: 84 ins; 28 del; 30 mod
Patch: https://git.openjdk.org/jdk/pull/12045.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/12045/head:pull/12045
PR: https://git.openjdk.org/jdk/pull/12045
More information about the core-libs-dev
mailing list