Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tag GpuWindow child expressions for GPU execution #6057

Merged
merged 6 commits into from
Jul 26, 2022

Commits on Jul 22, 2022

  1. Move initialization of UnixTimeExprMeta to constructor:

    Fixes NVIDIA#5984.
    
    Currently, `UnixTimeExprMeta` postpones part of the initialization of its state
    to `tagExprForGpu()`. This leads to situations where an incompletely initialized
    `UnixTimeExprMeta` object is exercised at runtime, such as in NVIDIA#5984.
    
    This change moves the initialization to the constructor, leaving `tagExprForGpu()`
    to deal only with tagging.
    
    Signed-off-by: MithunR <mythrocks@gmail.com>
    mythrocks committed Jul 22, 2022
    Configuration menu
    Copy the full SHA
    0101417 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2022

  1. Revert "Move initialization of UnixTimeExprMeta to constructor:"

    This reverts commit 0101417.
    
    This is the wrong solution. It does not protect against a different,
    unsupported time-format used in a window function.
    mythrocks committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    668c24e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe50908 View commit details
    Browse the repository at this point in the history
  3. Tag GpuWindow child expressions for GPU execution:

    This change tags the child expressions of a GpuWindowExecMeta, to ensure
    that all dependency expressions initialized correctly.
    
    Certain child expressions might not be completely initialized even after
    `GpuOverrides#wrapExpr()` has been called. For instance, `UnixTimeExprMeta`
    postpones some of its initialization until `tagExprForGpu()` is called.
    
    By declaring `windowExpressions`, `partitionSpec`, `orderSpec`, etc. as
    `childExprs` of `GpuWindowExecMeta`, one guarantees that the
    `GpuOverrides` infrastructure will tag them for GPU execution.
    
    Signed-off-by: MithunR <mythrocks@gmail.com>
    mythrocks committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    935a4b3 View commit details
    Browse the repository at this point in the history
  4. Updated Javadoc.

    mythrocks committed Jul 25, 2022
    Configuration menu
    Copy the full SHA
    aeb119c View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2022

  1. Configuration menu
    Copy the full SHA
    aad2059 View commit details
    Browse the repository at this point in the history