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

Forward-merge branch-23.08 to branch-23.10 #13764

Merged
merged 1 commit into from
Jul 26, 2023
Merged

Conversation

GPUtester
Copy link
Collaborator

Forward-merge triggered by push to branch-23.08 that creates a PR to keep branch-23.10 up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge.

A fully unbounded window function (i.e. [unbounded_preceding, unbounded_following]) need not go through the window function machinery for execution. E.g. Consider the following:

```c++
auto grps = { 0, 0, 0, 0, 1, 1, 1, 1, 2, 2 };
auto vals = { 3, 1, 4, 2, 6, 7, 8, 5, 9, 0 };
```

Running the `MIN` window function on the groups, over an `[UNBOUNDED, UNBOUNDED]` window should produce:

```c++
auto res = { 1, 1, 1, 1, 5, 5, 5, 5, 0, 0 };
```

This result could more easily be achieved using a grouped `MIN` aggregation, and replicating each group's result for every entry in the group.

This commit adds logic to detect fully unbounded windows, and use `groupby::aggregate()` (when one or more grouping keys are specified), or `reduce()` (when there are no grouping keys).

Tangentially, this change also adds the following:
1. A new overload of `cudf::groupby::groupby::aggregate()` that takes a `stream` parameter.
2. A `detail` header to declare the (pre-existing) `cudf::reduction::detail::reduce()` function.

Authors:
  - MithunR (https://github.com/mythrocks)

Approvers:
  - Robert (Bobby) Evans (https://github.com/revans2)
  - Ray Douglass (https://github.com/raydouglass)
  - Vyas Ramasubramani (https://github.com/vyasr)
  - Bradley Dice (https://github.com/bdice)

URL: #13727
@GPUtester GPUtester requested review from a team as code owners July 26, 2023 08:39
@GPUtester GPUtester requested review from bdice and divyegala July 26, 2023 08:39
@GPUtester GPUtester merged commit e55f944 into branch-23.10 Jul 26, 2023
@GPUtester
Copy link
Collaborator Author

SUCCESS - forward-merge complete.

@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. CMake CMake build issue conda Java Affects Java cuDF API. labels Jul 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake CMake build issue Java Affects Java cuDF API. libcudf Affects libcudf (C++/CUDA) code.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants