-
Notifications
You must be signed in to change notification settings - Fork 228
Optimize cuvs-lucene CAGRA_HNSW index build; add example #2481
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
Open
jamxia155
wants to merge
44
commits into
NVIDIA:main
Choose a base branch
from
jamxia155:cuvs-lucene-cagra-hnsw-build-optimization-with-example
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 32 commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
c579e87
cuvs-lucene__139: This code allows us to construct the HNSW graph on …
8598e4f
Consolidate duplicated HNSW graph and field-writing methods
nvzm123 f66bdce
Add example: chunked sequential ingestion of large .fbin files
jamxia155 d0b5eb9
Parallelize level-0 HNSW graph serialization in writeGraph
jamxia155 cd23490
Add native flat buffering for single-segment CAGRA_HNSW builds
jamxia155 3ad0d47
Parallelize CAGRA-to-HNSW conversion in GPUBuiltHnswGraph
jamxia155 948b41d
Add prefetching + reused-array to the fbin ingest example
jamxia155 33c85a2
Honor cagraGraphBuildAlgo override in HEURISTIC strategy
jamxia155 1b9b9d8
Expand the fbin ingest example into a full optimized CAGRA-HNSW build
jamxia155 56bc260
Expand OptimizedCagraHnswBuildExample and add early index-sort check
jamxia155 8ffba09
Fix merge errors
jamxia155 cfd3440
Add a Lucene-version tripwire and round-trip test for NativeFlatVecto…
jamxia155 4b4a0d7
Add equivalence test for writerThreads-parallelized graph constructio…
jamxia155 64ee08d
Add functional coverage for native flat buffering (numInputVectors)
jamxia155 22e10fe
Fix merge-time vector-count bug causing intermittent EOF during search
jamxia155 725fc9d
Restore unintended M-derivation change in createMultiLayerHnswGraph
jamxia155 9faae91
Restore unnecessary removals
jamxia155 77cbc65
Fix inconsistent handling of explicit CuVSIvfPqParams under HEURISTIC…
jamxia155 3ab2330
Guard against native flat buffering with quantized fields
jamxia155 68245a1
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 563428c
Apply Spotless formatting
jamxia155 b99dae2
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 286f03f
Interrupt in-flight tasks on writeLevel0Parallel failure
jamxia155 36b80d2
Pin NativeFlatVectorsWriter's Lucene99 format, not lucene-core version
jamxia155 7d8812b
Remove TestNativeFlatVectorsWriterFormatConstants
jamxia155 211c341
Add DENSE/SPARSE docsWithField and multi-field round-trip coverage
jamxia155 c420141
Hoist graph.maxConn() out of writeGraph's per-level/per-task loops
jamxia155 1086d44
Document the actual native flat buffering invariant in the example
jamxia155 7d4544f
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 e446e88
Document and diagnose the numInputVectors auto-flush footgun
jamxia155 6baf35b
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 e04bfba
Document that numInputVectors applies uniformly to every vector field
jamxia155 e9025da
Remove cagraGraphBuildAlgo override under HEURISTIC strategy
jamxia155 1047334
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 dc9bcf3
Add CagraHnswBulkIndexWriter for bulk CAGRA_HNSW index building
jamxia155 47077ac
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 b17ef4f
Move cuvs-lucene examples to examples/java, update spotless triggers
jamxia155 96456b8
Split native-flat-buffered writer out of Lucene99AcceleratedHNSWVecto…
jamxia155 d706808
Fix RMM-enable race in CagraHnswBulkIndexWriter
jamxia155 a1f34b3
Document RMM enable-method ownership on CuVSProvider
jamxia155 f8b5cd3
Split NativeFieldWriter out of FieldWriter
jamxia155 10af80e
Fix native buffer leak on native flat buffering failure
jamxia155 c3438f2
Fix VectorSource contract doc to match FbinVectorSource's actual enfo…
jamxia155 bc860ce
Merge remote-tracking branch 'origin/main' into cuvs-lucene-cagra-hns…
jamxia155 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
668 changes: 668 additions & 0 deletions
668
...xamples/src/main/java/com/nvidia/cuvs/lucene/examples/OptimizedCagraHnswBuildExample.java
Large diffs are not rendered by default.
Oops, something went wrong.
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
Oops, something went wrong.
Oops, something went wrong.
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.
examples/javais going to need to build its own jar (just how the examples for the other languages build their own artifacts)