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

[FEA] Refactor semi/anti join to use cuCollections #9586

Closed
jrhemstad opened this issue Nov 3, 2021 · 2 comments · Fixed by #9666
Closed

[FEA] Refactor semi/anti join to use cuCollections #9586

jrhemstad opened this issue Nov 3, 2021 · 2 comments · Fixed by #9666
Assignees
Labels
feature request New feature or request libcudf Affects libcudf (C++/CUDA) code.

Comments

@jrhemstad
Copy link
Contributor

Is your feature request related to a problem? Please describe.

#8934 refactored inner/outer/full joins to use the cuCollections multi-map, but not semi or anti-join.

Describe the solution you'd like

Refactor semi/anti-join to use cuco::static_map.

Additional context

This is a precondition of support semi-joins with equality + conditional as described in #5401

There were a number of improvements we made to cuco::static_multimap that haven't been ported to static_map yet that we may want to do alongside this effort.

@jrhemstad jrhemstad added feature request New feature or request libcudf Affects libcudf (C++/CUDA) code. labels Nov 3, 2021
@jrhemstad
Copy link
Contributor Author

Ideally, semi/anit join would just be implemented with a set instead of a hash map, but cuco doesn't have sets (yet).

@github-actions
Copy link

github-actions bot commented Dec 3, 2021

This issue has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be labeled inactive-90d if there is no activity in the next 60 days.

@rapids-bot rapids-bot bot closed this as completed in #9666 Jan 5, 2022
rapids-bot bot pushed a commit that referenced this issue Jan 5, 2022
…nti joins (#9666)

This PR resolves #9586, replacing the hash table used in semi and anti joins with cuco::static_map. It depends on NVIDIA/cuCollections#118. At present the code is slower than the original version, so we'll probably want to make some optimizations in cuco before merging this.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Yunsong Wang (https://github.com/PointKernel)
  - Conor Hoekstra (https://github.com/codereport)
  - Jake Hemstad (https://github.com/jrhemstad)

URL: #9666
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 libcudf Affects libcudf (C++/CUDA) code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants