Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersConvert to IssueMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • vectorization-branch
    • vectorization-branch, 0.13.0
    • None
    • None

    Description

      Implement vectorized support for the all the built-in math functions. This includes implementing the vectorized operation, and tying it all together in VectorizationContext so it runs end-to-end. These functions include:

      round(Col)
      Round(Col, N)
      Floor(Col)
      Ceil(Col)
      Rand(), Rand(seed)
      Exp(Col)
      Ln(Col)
      Log10(Col)
      Log2(Col)
      Log(base, Col)
      Pow(col, p), Power(col, p)
      Sqrt(Col)
      Bin(Col)
      Hex(Col)
      Unhex(Col)
      Conv(Col, from_base, to_base)
      Abs(Col)
      Pmod(arg1, arg2)
      Sin(Col)
      Asin(Col)
      Cos(Col)
      ACos(Col)
      Atan(Col)
      Degrees(Col)
      Radians(Col)
      Positive(Col)
      Negative(Col)
      Sign(Col)
      E()
      Pi()

      To reduce the total code volume, do an implicit type cast from non-double input types to double.

      Also, POSITITVE and NEGATIVE are syntactic sugar for unary + and unary -, so reuse code for those as appropriate.

      Try to call the function directly in the inner loop and avoid new() or expensive operations, as appropriate.

      Templatize the code where appropriate, e.g. all the unary function of form

      DOUBLE func(DOUBLE)

      can probably be done with a template.

      Attachments

        1. HIVE-4822.1.patch
          175 kB
          Eric N. Hanson
        2. HIVE-4822.4.patch
          158 kB
          Eric N. Hanson
        3. HIVE-4822.5-vectorization.patch
          158 kB
          Eric N. Hanson
        4. HIVE-4822.6.patch.txt
          156 kB
          Teddy Choi
        5. HIVE-4822.7-vectorization.patch
          67 kB
          Eric N. Hanson

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            ehans Eric N. Hanson Assign to me
            ehans Eric N. Hanson
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment