Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-10179 Optimization for SIMD instructions in Hive
  3. HIVE-11521

Loop optimization for SIMD in logical operators

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Component/s: None
    • Labels:
      None

      Description

      JVM is quite strict on the code schema which may executed with SIMD instructions, take a loop in ColOrCol.java for example,

      for (int i = 0; i != n; i++) {
        outputVector[i] = vector1[0] | vector2[i];
      }
      

      The "vector1[0]" reference would prevent JVM to execute this part of code with vectorized instructions, we need to assign the "vector1[0]" to a variable outside of loop, and use that variable in loop.

      This issues covers AND, OR, NOT logical operators.

        Attachments

        1. HIVE-11521.patch
          19 kB
          Teddy Choi

          Activity

            People

            • Assignee:
              teddy.choi Teddy Choi
              Reporter:
              teddy.choi Teddy Choi
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: