-
Notifications
You must be signed in to change notification settings - Fork 150
[FEA] IVF-PQ to Write Flat PQ Codes #1607
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
base: release/26.02
Are you sure you want to change the base?
Conversation
|
/ok to test dc99bfb |
…with strat pattern
…into ivfpq-flat-codes
|
/ok to test f6cf637 |
|
/ok to test d9c9b62 |
|
/ok to test 02f4c76 |
…into ivfpq-flat-codes
|
/ok to test a5e482b |
| uint8_t code = action(in_ix, j); | ||
| if (lane_id == 0) { code_view[j] = code; } | ||
| } | ||
| } |
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.
Small optimization opportunity here: We can do the lane_id == 0 check at the very beginning and simply return if that condition is not true. Because the code writing is done only by the thread with lane_id = 0.
|
/ok to test 252cfbd |
1 similar comment
|
/ok to test 252cfbd |
@cjnolet, there was an error processing your request: See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/ |
|
/ok to test 3bf9018 |
|
/ok to test 3bf9018 |
… ivfpq-flat-codes
3bf9018 to
b5cfc7e
Compare
|
/ok to test b5cfc7e |
This PR brings new params to ivf_pq: an option for the user to choose the layout of the ivf lists. The lists can be flat (no interleaving) or interleaved (current default). Flat codes allows building the index in a CPU-compatible format.
[UPDATE as of 12/19/2025]:
After #1278 is merged, we can unify IVF-PQ and PQ API codepaths.
[UPDATE 01/08/2026]:
This PR can be merged before #1278. The flat code-writing can potentially be reverted once #1278 is merged (so we can later use the PQ preprocessing API directly). However that will come naturally as a part if a broader unification of IVF-PQ and PQ codepaths.
[Benchmarks 01/15/2026]:
IVF-PQ Layout Benchmark Results
Dataset: 1,000,000 vectors × 128 dimensions | pq_dim: 32