-
Notifications
You must be signed in to change notification settings - Fork 915
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
Update MurmurHash3_x64_128 to use the cuco equivalent implementation #17457
Update MurmurHash3_x64_128 to use the cuco equivalent implementation #17457
Conversation
template <typename Key> | ||
struct MurmurHash3_x64_128 { | ||
using result_type = thrust::pair<uint64_t, uint64_t>; | ||
using result_type = cuda::std::array<uint64_t, 2>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any benefit from this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cuda::std::array
is the proper type.
In the original implementation, the output was an array of two elements. Since cuda::std::array
was not available when the hasher was introduced into libcudf, we used thrust::pair
instead. Looking ahead, if we adopt more 128-bit hashers where the return type could consist of four 32-bit integers, cuda::std::array
would still be a suitable choice, whereas thrust::pair
would not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One suggestion otherwise LGTM.
/merge |
Description
This PR modifies MurmurHash3_x64_128 to utilize the cuco equivalent implementation, eliminating duplication.
Checklist