-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Add bulk-sparse native vector scoring for searchable snapshots via DirectAccessInput #144557
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
Changes from all commits
0d88d5b
4444d5d
6bfc44d
a9268d0
c8033dd
92d40d7
686c156
00f1c85
ee98fe0
5d00766
8f2ef5e
babca93
b9d9d86
39798e4
eec44f3
c30918a
63c10a3
100e31d
ce567f7
f27b600
debc09f
4cf3800
03f5eb1
d989532
28f9538
e440ebb
e47f813
d4e659f
03448f2
cede413
f75b960
14bfaeb
c7bdb13
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| area: Vector Search | ||
| issues: [] | ||
| pr: 144557 | ||
| summary: Add bulk-gather native vector scoring for searchable snapshots via `DirectAccessInput` | ||
| type: enhancement |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -136,7 +136,21 @@ enum Operation { | |
| * <li>Score results, as 4-byte floats, in order of iteration through the offset array</li> | ||
| * </ol> | ||
| */ | ||
| BULK_OFFSETS | ||
| BULK_OFFSETS, | ||
| /** | ||
| * Scores multiple vectors against a single vector, using an array of direct memory addresses | ||
| * to locate each vector. | ||
| * <p> | ||
| * Method handle takes arguments {@code (MemorySegment, MemorySegment, int, int, MemorySegment)}: | ||
| * <ol> | ||
| * <li>Array of 8-byte longs containing the native memory address of each vector</li> | ||
ChrisHegarty marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| * <li>Single vector to score against</li> | ||
| * <li>Number of dimensions, or for bbq, the number of index bytes</li> | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this isn't for BBQ (yet?)
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I just didn't write the native code for it yet, but given how this is progressing - the native mapper template should be trivial. lemme take a look.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. BBQ can use a similar technique, but the code is a bit more involved. Let's do it as a follow up.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need to do this for BBQ/DiskBBQ? I think that in that case data is always contiguous... |
||
| * <li>Number of vectors to score</li> | ||
| * <li>Score results, as 4-byte floats</li> | ||
| * </ol> | ||
| */ | ||
| BULK_SPARSE | ||
| } | ||
|
|
||
| MethodHandle getHandle(Function function, DataType dataType, Operation operation); | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.