Skip to content

[WIP] Robin Hood Hashing#818

Open
aterenin wants to merge 11 commits into
NVIDIA:devfrom
aterenin:dev
Open

[WIP] Robin Hood Hashing#818
aterenin wants to merge 11 commits into
NVIDIA:devfrom
aterenin:dev

Conversation

@aterenin

@aterenin aterenin commented Jun 4, 2026

Copy link
Copy Markdown

This PR implements Robin Hood hashing, through introducing a new probing scheme, as per #817. An initial-pass implementation for get and insert, and tests, are done.

The implementation works by adding if constexpr logic throughout to handle Robin Hood specifics as they come up:

  • The big question: is this the right structure? As an alternative, I could refactor the code to write separate insert methods for Robin Hood vs. others, and dispatch according to table type.

Some more details about this question, with an example, are given at the very end of #817.

@copy-pr-bot

copy-pr-bot Bot commented Jun 4, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@PointKernel PointKernel added the type: feature request New feature request label Jun 5, 2026
@PointKernel

Copy link
Copy Markdown
Member

/ok to test 1f3d64e

@PointKernel

Copy link
Copy Markdown
Member

@aterenin Just wanted to let you know we haven't forgotten about this work! @sleeepyjack and I are discussing the new design and will align on a concrete proposal before moving forward to minimize unnecessary iterations. We'll keep you posted.

@aterenin

aterenin commented Jun 9, 2026

Copy link
Copy Markdown
Author

Sounds good!

The current WIP implements everything needed, along with tests. I've carefully gone over all the core logic, and I think is reasonably close to ready-to-review.

The main remaining item I was planning to think about more is whether there is a more maintenance-friendly way to organize and structure the code, which is what the "big question" in the PR centers on. I also have a list of a bunch of subtleties worth mentioning, but these should wait until a review.

If discussion would help, I'd be happy to jump on a Zoom call - just let me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature request New feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants