RFR: 8300208: Optimize Adler32 stub for AVX-512 targets. [v2]

Jatin Bhateja jbhateja at openjdk.org
Fri Jan 27 11:21:42 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**
> 
> 
> ![image](https://user-images.githubusercontent.com/59989778/212934730-68717a61-191f-4dba-8c83-2eddf6007a47.png)
> 
> ![image](https://user-images.githubusercontent.com/59989778/212934945-cada95ad-c93c-487f-bacc-928a2e3b5c21.png)
> 
> ![image](https://user-images.githubusercontent.com/59989778/212935059-511aca3b-c736-40a2-bff6-89caf0664828.png)
> 
> 
> Please review and share your feedback.
> 
> Best Regards,
> Jatin

Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:

  8300208: Review comments resolution.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/12045/files
  - new: https://git.openjdk.org/jdk/pull/12045/files/2be04884..4af08f1d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=12045&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12045&range=00-01

  Stats: 4 lines in 2 files changed: 0 ins; 2 del; 2 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 hotspot-compiler-dev mailing list