JDK-8245512 : CRC32 optimization using AVX512 instructions
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,15
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: x86
  • Submitted: 2020-05-20
  • Updated: 2022-03-01
  • Resolved: 2020-06-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 15
11.0.11-oracleFixed 15 b27Fixed
Related Reports
Relates :  
Description
CRC32 optimization for x86_64 architectures supporting AVX512 instructions

Contributor: Shravya Rukmannagari (shravya.rukmannagari@intel.com)
Algorithm Authors: Greg B Tucker(greg.b.tucker@intel.com)
Comments
Yes, backporting this to Oracle JDK 11u is fine with me. I'll take care of it.
11-01-2021

[~thartmann] Should we consider to backport it into Oracle JDK11u too? Viswanathan, Sandhya wrote: We see ~2x performance gain which is significant, and the patch is very self-contained with no impact on other architectures. CRC calculation is prevalent in big Java frameworks, so the request here.
08-01-2021

I would like to backport the CRC32 optimization using AVX512 instructions to JDK 11u. This optimization was introduced in JDK 15. Webrev: http://cr.openjdk.java.net/~sviswanathan/8245512/webrev.00/ Only one change is needed to the original patch in src/hotspot/cpu/x86/assembler_x86.cpp. The patch applies cleanly otherwise. The following in Assembler::blendvpb(), line 7908: emit_int24(0x4C, (0xC0 | encode), (0xF0 & src2_enc << 4)); was replaced by equivalent: emit_int8((unsigned char)0x4C); emit_int8((unsigned char)(0xC0 | encode)); emit_int8((unsigned char)(0xF0 & src2_enc<<4)); Review email thread: https://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2020-December/042774.html Please approve.
10-12-2020

Patch contributed by: Shravya Rukmannagari(shravya.rukmannagari@intel.com) Greg B Tucker(greg.b.tucker@intel.com)
05-06-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/d1cdbb790e8b User: sviswanathan Date: 2020-06-05 00:38:48 +0000
05-06-2020

http://cr.openjdk.java.net/~srukmannagar/CRC32/webrev.03/
04-06-2020