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] Extract some utilities function from join_common_utils.cuh into cuco_helpers.cuh #11176

Open
ttnghia opened this issue Jun 30, 2022 · 4 comments
Assignees
Labels
feature request New feature or request improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change

Comments

@ttnghia
Copy link
Contributor

ttnghia commented Jun 30, 2022

In join_common_utils.cuh, there are several utilities functions that were created to work with cuco hash tables data structure. They are useful not just in join implementation but also somewhere else, like in search implementation. As such, we should extract there functions into a new file named cuco_helpers.cuh.

@ttnghia ttnghia added feature request New feature or request libcudf Affects libcudf (C++/CUDA) code. improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jun 30, 2022
@ttnghia ttnghia self-assigned this Jun 30, 2022
@github-actions
Copy link

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.

@vyasr
Copy link
Contributor

vyasr commented Oct 25, 2022

Another piece of code that belongs here is the default_allocator. The allocator can also be (and is) used with the concurrent_unordered_map, but when the latter is removed the only usage of the allocator will be for the cuco hash maps.

rapids-bot bot pushed a commit that referenced this issue Jan 30, 2024
Surpass #14827

Related to #11176

This PR adds a new `cudf::detail::cuco_allocator` to deprecate and replace the old `default_allocator` in the global namespace. Following the comments in #14827 (review), the new `cudf::detail::cuco_allocator` class is moved to `detail/cuco_helpers.cuh`. Free functions in `hashing/detail/helper_functions.cuh` are left in the global namespace without changes due to the verbose nested namespace expression.

Authors:
  - Yunsong Wang (https://github.com/PointKernel)

Approvers:
  - Nghia Truong (https://github.com/ttnghia)
  - Vyas Ramasubramani (https://github.com/vyasr)

URL: #14877
@vyasr
Copy link
Contributor

vyasr commented May 17, 2024

@PointKernel in light of the ongoing discussions we're having about other improvements to cuco, are there any helpers in cudf that we might want to move to cuco itself so that others could use them too?

@PointKernel
Copy link
Member

There should be.

I've linked this issue to the hash table refactoring story so we can keep this in mind along with the process.

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 improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

No branches or pull requests

4 participants