Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8154974

AVX-512 equipped inflate, has_negatives & compress intrinsics

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b120
    • CPU:
      x86

      Description

      Inflate, Compress, hasNegatives AVX512 enabled intrinsics. Using mask registers for a tail of the loops. 32 element warp size for inflate, compress. 64 warp for hasNegatives (regardless of bitnes of the architecture). Tight loop followed by a tail (and sometimes partial candidates snippet).
      Code Contributed by: Tomasz Wojtowicz (tomasz.wojtowicz@intel.com)
      ---------
      Testing:
      ---------
      Internally developed ubenchmarks for performance & similar functional using Reflections API for those 3 intrinsics on an up to 4K chunks of pseudo random initialized data to verify correctness.
      Has_negatives had a negative sentinel as a last element in an array.
      Also tailored examples for compress which would test all of the possible entry scenarios (tail present/not present, non-compressable element found in head OR tail - to make sure that there is a coverage for all of the basic blocks inside intrinsic)

      Everything run at least 3 times for -XX:UseAVX=1 then 2 and 3, depending on a scenario for establishing performance baseline AND/OR correctness when "older"(AVX<=2) had been modified.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mcberg Michael Berg
                Reporter:
                vdeshpande Vivek Deshpande
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 6 weeks
                  6w
                  Remaining:
                  Remaining Estimate - 2 days
                  2d
                  Logged:
                  Time Spent - Not Specified Time Not Required
                  Not Specified