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

Support executing collect_list on GPU with windowing. #1548

Merged
merged 15 commits into from
Feb 5, 2021

Conversation

firestarman
Copy link
Collaborator

@firestarman firestarman commented Jan 19, 2021

This PR is to support running collect_list on GPU with windowing.

This PR depends on the PR rapidsai/cudf#7189 .

  • Add integration tests.

Signed-off-by: Firestarman [email protected]

@firestarman firestarman changed the title Support executing collect_list on GPU with windowing. [WIP] Support executing collect_list on GPU with windowing. Jan 19, 2021
@firestarman
Copy link
Collaborator Author

Mark as draft since it depends on the support from cuDF native.

@firestarman
Copy link
Collaborator Author

rebased

@firestarman
Copy link
Collaborator Author

build

1 similar comment
@firestarman
Copy link
Collaborator Author

build

@firestarman firestarman changed the title [WIP] Support executing collect_list on GPU with windowing. Support executing collect_list on GPU with windowing. Jan 28, 2021
Let collect_list with Windowing supports type of array of struct.

Signed-off-by: Firestarman <[email protected]>
Signed-off-by: Firestarman <[email protected]>
Add integration tests for collect_list with windowing.

Signed-off-by: Firestarman <[email protected]>
@firestarman
Copy link
Collaborator Author

rebased

Signed-off-by: Firestarman <[email protected]>
Signed-off-by: Firestarman <[email protected]>
Signed-off-by: Firestarman <[email protected]>
@firestarman
Copy link
Collaborator Author

build

@firestarman firestarman marked this pull request as ready for review January 30, 2021 03:40
Signed-off-by: Firestarman <[email protected]>
@firestarman
Copy link
Collaborator Author

firestarman commented Feb 1, 2021

cudf nightly with PR rapidsai/cudf#7189 always fail, so the pre-merge check will fail too.

Signed-off-by: Firestarman <[email protected]>
@firestarman
Copy link
Collaborator Author

cudf nightly with PR rapidsai/cudf#7189 always fail, so the pre-merge check will fail too.

The fix is in review rapidsai/cudf#7266

Copy link
Collaborator

@revans2 revans2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, I ma really just down to nits at this point.

integration_tests/src/main/python/window_function_test.py Outdated Show resolved Hide resolved
TypeSig.ARRAY.nested(TypeSig.commonCudfTypes + TypeSig.DECIMAL + TypeSig.STRUCT),
TypeSig.ARRAY.nested(TypeSig.all),
Seq(ParamCheck("input",
(TypeSig.commonCudfTypes + TypeSig.DECIMAL).nested() + TypeSig.STRUCT,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again I think longer is clearer, but in this case because there is only one nested type I think it is okay. So we don't support doing a collect list on a struct that also contains a struct?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be supported. If it's not working, it might be a bug in libcudf. I'd be happy to investigate.

Copy link
Collaborator Author

@firestarman firestarman Feb 5, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated it, and the struct of struct is not covered in integration tests, so do not add it here. Shall we need it ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if yes, i will add it in a following PR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me

@firestarman
Copy link
Collaborator Author

cudf side is ready now

@firestarman
Copy link
Collaborator Author

build

Copy link
Collaborator

@revans2 revans2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mythrocks are you OK with a follow on PR to add in struct or struct support?

@mythrocks
Copy link
Collaborator

@mythrocks are you OK with a follow on PR to add in struct or struct support?

Sounds good.

@revans2 revans2 merged commit 462b878 into NVIDIA:branch-0.4 Feb 5, 2021
@firestarman firestarman deleted the collect_list branch February 22, 2021 08:24
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
tgravescs pushed a commit to tgravescs/spark-rapids that referenced this pull request Nov 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants