[ENHANCEMENT]: Improve `make_window_extent` in the case of linear probing
Opened this issue · 0 comments
PointKernel commented
Is your feature request related to a problem? Please describe.
The current make_window_extent
function always calculates prime capacity, regardless of the probing scheme used. This approach is suboptimal for linear probing, where the capacity does not need to be a prime number.
Describe the solution you'd like
If it's linear probing, return the window extent based on CG size and window size without the prime table lookup.
template <typename T>
struct is_double_hashing : cuda::std::false_type {};
template <int32_t CGSize, typename Hash1, typename Hash2>
struct is_double_hashing<cuco::double_hashing<CGSize, Hash1, Hash2>> : cuda::std::true_type {};
A trait similar to the above idea is needed to dispatch between linear probing and double hashing
Describe alternatives you've considered
No response
Additional context
No response