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

Minimize the AVX <-> SSE transition penalty through generation of vzeroupper instruction on x86

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 9, 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b21
    • CPU:
      x86

      Description

      This fix minimizes the AVX to SSE and SSE to AVX transition penalty through generation of vzeroupper instruction. With this patch we see zero transitions with penalty per SPECjbb2015 jOPS on BDW and a significant reduction on SKX CPU event vector width mismatch from 65 to 0.01 per SPECjbb2015 jOPS. We have also implemented an enhancement to disable vzeroupper generation for Knights family where the instruction has high penalty and is not recommended. The option UseVzeroupper is used to control generation of vzeroupper instruction and gets set to false on the Knights family.
      We observed ~3% gain on SPECJvm2008 composite result on Skylake.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                vdeshpande Vivek Deshpande
                Reporter:
                vdeshpande Vivek Deshpande
              • Votes:
                0 Vote for this issue
                Watchers:
                5 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