NVIDIA / NVIDIA/cudf

[FEA] Hash function refactoring

Open
#13,706 3 comments 0 reactions 0 assignees View on GitHub
0 - Backlog feature request libcudf
Dominant language
C++
Stars
9.8k
Forks
1.1k
Avg merge
3d 6m
Merged PRs (30d)
278

Description

Following up from #13681 and #13612, there are some tasks I think can be done to clean up hashing code. I am opening this issue to be a tracker for the work we've deferred from other PRs.

- Functions like `getblock32` can be reused by multiple hash functions. https://github.com/rapidsai/cudf/pull/13612/files#r1265587501
Also consider optimizing this to use `memcpy` or `if constexpr` on key type perhaps.
- Functions like `rotate_bits_left` should not use CUDA intrinsics (it doesn't affect the PTX/SASS compared to a naive shift-based implementation), thereby making them `constexpr`-friendly and possible to put into a shared `hpp` header. https://github.com/rapidsai/cudf/pull/13681#discussion_r1264527017
- The `@brief` of hashing APIs should mention the algorithm name. https://github.com/rapidsai/cudf/pull/13612/files#r1267270076

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.