-
Notifications
You must be signed in to change notification settings - Fork 25.7k
Enable directIO and bfloat16 for bbq and unquantized HNSW vector field types #135940
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
Merged
thecoop
merged 63 commits into
elastic:main
from
thecoop:hnsw-directio-bfloat16-enabled
Nov 10, 2025
Merged
Changes from 3 commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
c72eda6
Add BFloat16 raw vector format to bbq_hnsw and bbq_disk
thecoop b4c682a
Remove tripping assertion
thecoop 803dfc1
Enable direct IO and bfloat16
thecoop c2c52e7
[CI] Auto commit changes from spotless
05f0b71
Merge branch 'bbq_hnsw-bfloat16' into hnsw-directio-bfloat16-enabled
thecoop 2f8e975
Remove tripping assertion
thecoop 4030f47
PR comments
thecoop 17a58a2
Merge branch 'bbq_hnsw-bfloat16' into hnsw-directio-bfloat16-enabled
thecoop e910cd5
Propagate files across
thecoop 5ef4cf1
PR comments
thecoop 69f52cb
Turn the generic format into a proper format
thecoop 2c31186
Merge branch 'bbq_hnsw-bfloat16' into hnsw-directio-bfloat16-enabled
thecoop 5ce914d
More propagation
thecoop 2e815fe
Add a basic generic HNSW implementation
thecoop 9c81e33
Relax unit vector check for bfloat16
thecoop 90ca761
Merge branch 'main' into bbq_hnsw-bfloat16
thecoop ce690ff
Add tests for ES93HnswVectorsFormat
thecoop 1de5bd8
Remove unquantized format
thecoop e54d4c6
Consolidate parameter order
thecoop 80d9809
Use the correct values
thecoop d6491a2
Merge branch 'main' into bbq_hnsw-bfloat16
thecoop 74bb130
Remove unneeded method
thecoop 37e3257
Merge commit '74bb130' into bbq_hnsw-bfloat16-format
thecoop 4c669ec
Merge branch 'main' into bbq_hnsw-bfloat16-format
thecoop be062e7
Merge commit '4c669ec513f' into hnsw-directio-bfloat16-enabled
thecoop 38183b7
Use bfloat16/directio in rescore tests
thecoop 5277641
Test updates
thecoop 201ed46
Get parameters the right way round
thecoop 9258804
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop 5e6ddc9
Use ElementType
thecoop 0b8fcf2
Add basic HNSW support
thecoop a3e7cb6
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop 2766e4b
Use new formats
thecoop f352602
Add normal HNSW
thecoop 415bc94
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop ca4551c
Update for merge
thecoop 8f92014
Update tests
thecoop 8c697c3
Leave semantic text and rank vectors alone for the moment
thecoop 99395e5
Need some basic support in downstream classes
thecoop 297db11
Test updates
thecoop 5965de3
Non-quantized HNSW doesn't need direct IO
thecoop ba7427f
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop 2bd4423
Use DenseVectorFieldMapper ElementType
thecoop a87ffd7
Update docs/changelog/135940.yaml
thecoop e871fbc
Some updates
thecoop 4f2f673
Provide some more implementations
thecoop 8395687
Test and fixes
thecoop a8de10f
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop 9eaa152
PR comments
thecoop 7b36722
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop 6bef1f0
Add assert for an interface it shouldn't implement yet
thecoop 1e905de
Add case
thecoop e2c2730
Base64 support
thecoop cc414b0
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop ee46e00
Add a feature flag for the new formats
thecoop 9db655c
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop dce8dd8
Update the feature flag & cluster feature names
thecoop 66aa767
Remove obsoleted yaml tests
thecoop eed749e
Turn off yaml tests for now
thecoop ab5ee25
Remove index version (not needed yet)
thecoop 2a58d2f
Don't accept the rescore option if the flag is not enabled
thecoop 749780d
Add generic vector flag to the yaml runners
thecoop 2a0d9ba
Merge branch 'main' into hnsw-directio-bfloat16-enabled
thecoop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 2 additions & 5 deletions
7
...c/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/40_knn_search_bfloat16.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 2 additions & 5 deletions
7
...lRestTest/resources/rest-api-spec/test/search.vectors/41_knn_search_bbq_hnsw_bfloat16.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 2 additions & 5 deletions
7
...lRestTest/resources/rest-api-spec/test/search.vectors/42_knn_search_bbq_flat_bfloat16.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 2 additions & 5 deletions
7
...mlRestTest/resources/rest-api-spec/test/search.vectors/46_knn_search_bbq_ivf_bfloat16.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I am not sure we can do this? Do we know if we have shipped a version of ES that allowed this option for diskbbq?
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.
9.2 didn't include it, so we can change it here