Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
537822d
Fix GPU and Java-heap OOM when building large vector indexes
nvzm123 Aug 17, 2026
e9dc410
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Aug 20, 2026
bba9010
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Sep 16, 2026
49d69d5
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Sep 16, 2026
b10b7bd
Parallelize bounded CAGRA graph materialization
Sep 16, 2026
9cce529
Parallelize bounded HNSW graph serialization
Sep 16, 2026
b4a3eb2
Merge remote-tracking branch 'origin/main' into pr-2476-memory-safety
nvzm123 Sep 18, 2026
d3220f6
Harden accelerated HNSW matrix ownership and merges
nvzm123 Sep 18, 2026
1e1fe2f
Harden device matrix construction and cleanup
nvzm123 Sep 18, 2026
512a28f
Merge remote-tracking branch 'origin/main' into pr-2476-scope-split
nvzm123 Sep 18, 2026
b7d0717
Narrow accelerated HNSW memory fix scope
nvzm123 Sep 18, 2026
f543ff0
Validate accelerated HNSW merge replay counts
nvzm123 Sep 18, 2026
f3bef0e
Close matrix builders during merge replay
nvzm123 Sep 18, 2026
3897c69
Restore fixed HNSW serialization waves
Sep 20, 2026
b308673
Merge latest PR-2476 base
Sep 20, 2026
7a58fb1
Clarify accelerated HNSW matrix documentation
nvzm123 Sep 22, 2026
8faae50
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Sep 22, 2026
5492b6c
Merge latest PR-2476 base
nvzm123 Sep 22, 2026
2fee8e2
Merge latest PR-2476 base
nvzm123 Sep 22, 2026
5b6b22c
Harden and document accelerated HNSW graph copying
nvzm123 Sep 22, 2026
ddd430e
Refresh Lucene API documentation
Sep 22, 2026
3ef42b7
Merge branch 'main' into post-ingest-hnsw-parallelism
nvzm123 Sep 23, 2026
502d977
Fix accelerated HNSW resource lifecycles
nvzm123 Sep 23, 2026
094ed83
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Sep 23, 2026
6c17550
Merge branch 'main' into zackm_cuvslucene-139
nvzm123 Sep 29, 2026
f2c90ad
Merge latest PR #2476 updates
nvzm123 Sep 30, 2026
e979614
Merge latest main into parallel HNSW work
nvzm123 Sep 30, 2026
f72e26d
Harden parallel HNSW graph processing
nvzm123 Sep 29, 2026
03d28e1
Verify parallel HNSW graph processing paths
nvzm123 Sep 30, 2026
60f48ad
Merge branch 'main' into post-ingest-hnsw-parallelism
nvzm123 Oct 1, 2026
91464bc
Merge branch 'main' into post-ingest-hnsw-parallelism
nvzm123 Oct 5, 2026
0f37c15
Make temporary graph copy budget configurable
nvzm123 Oct 7, 2026
a5ed4e2
Stabilize overlapping graph copy budgets
nvzm123 Oct 7, 2026
84eff73
Clarify graph copy budget integration scope
nvzm123 Oct 7, 2026
4b6f806
Set graph copy budget default to 24 GiB
nvzm123 Oct 7, 2026
26b000c
Document graph copy activation boundary
nvzm123 Oct 7, 2026
cc66170
Finalize graph processing defaults and copy budgets
nvzm123 Oct 7, 2026
56e3c11
Merge branch 'main' into post-ingest-hnsw-parallelism
nvzm123 Oct 7, 2026
8cd3263
Merge remote-tracking branch 'origin/main' into integration/pr2653-me…
nvzm123 Oct 8, 2026
f5425b3
Merge branch 'main' into post-ingest-hnsw-parallelism
nvzm123 Oct 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ci/test_lucene.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ fi
rapids-logger "Check GPU usage"
nvidia-smi

# This GPU lane must execute the real cuVS writer-path sentinel rather than skip it.
export CUVS_TESTS_REQUIRE_GPU=1

rapids-logger "Configuring conda strict channel priority"
conda config --set channel_priority strict

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,42 @@ public class AcceleratedHNSWParams
public int getWriterThreads()
```

Get the cuVS writer threads parameter
Get the native cuVS writer threads parameter.

**Returns**

cuVS writer threads parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:146`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:163`_

### getGraphThreads

```java
public int getGraphThreads()
```

Get the maximum threads per HNSW graph materialization or serialization operation. The count
includes the calling thread; shared helper capacity may reduce actual concurrency.

**Returns**

HNSW graph processing threads parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:173`_

### getGraphCopyMemoryBudgetBytes

```java
public long getGraphCopyMemoryBudgetBytes()
```

Get the configured temporary host-copy budget for parallel device-graph materialization.

**Returns**

graph-copy memory budget in bytes

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:182`_

### getIntermediateGraphDegree

Expand All @@ -38,7 +67,7 @@ Get the intermediate graph degree

the graph degree parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:155`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:191`_

### getGraphdegree

Expand All @@ -52,7 +81,7 @@ Get the graph degree

the graph degree parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:164`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:200`_

### getHnswLayers

Expand All @@ -66,7 +95,7 @@ Get the number of HNSW layers

the number of HNSW layers

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:173`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:209`_

### getMaxConn

Expand All @@ -80,7 +109,7 @@ Get the max connection parameter

the max connection parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:182`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:218`_

### getBeamWidth

Expand All @@ -94,7 +123,7 @@ Get the beam width parameter

the beam width parameter

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:191`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:227`_

### getCagraGraphBuildAlgo

Expand All @@ -108,7 +137,7 @@ Get the CAGRA graph build algorithm

the CAGRA graph build algorithm

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:200`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:236`_

### getCuVSIvfPqParams

Expand All @@ -122,7 +151,7 @@ Get the instance of `CuVSIvfPqParams`

the instance of `CuVSIvfPqParams`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:209`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:245`_

### getNumMergeWorkers

Expand All @@ -136,7 +165,7 @@ Get the number of merge workers set to be used in the fallback mechanism

the number of merge workers

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:218`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:254`_

### getMergeExec

Expand All @@ -150,7 +179,7 @@ Get the instance of the `ExecutorService` to be used in the fallback mechanism

the instance of the `ExecutorService`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:227`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:263`_

### getStrategy

Expand All @@ -167,7 +196,7 @@ When CUSTOM is chosen, the build algorithm and its parameters (either defaults o

get the chosen `Strategy`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:239`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:275`_

### getCuvsDistanceType

Expand All @@ -181,7 +210,7 @@ Get the cuvs distance type

the distance type

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:248`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:284`_

### getNNDescentNumIterations

Expand All @@ -195,7 +224,7 @@ get the number of Iterations to run if building with NN_DESCENT

the number of iterations for NN_DESCENT

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:257`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:293`_

### getHnswHeuristicType

Expand All @@ -210,15 +239,15 @@ beamWidth. Only consulted under the `Strategy#HEURISTIC` strategy.

the `HnswHeuristicType` to hand to cuVS

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:267`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:303`_

### withWriterThreads

```java
public Builder withWriterThreads(int writerThreads)
```

Set the number of cuVS writer threads while building the index
Set the number of native cuVS writer threads while building the index.
Valid range - Minimum: \{@value MIN_WRITER_THREADS\}, Maximum: \{@value MAX_WRITER_THREADS\}
Default value - \{@value DEFAULT_WRITER_THREADS\}

Expand All @@ -232,7 +261,57 @@ Default value - \{@value DEFAULT_WRITER_THREADS\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:332`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:374`_

### withGraphThreads

```java
public Builder withGraphThreads(int graphThreads)
```

Set the maximum threads per HNSW graph materialization or serialization operation. The count
includes the calling thread. Valid range - Minimum: \{@value MIN_GRAPH_THREADS\}, Maximum:
\{@value MAX_GRAPH_THREADS\}. Default value - \{@value DEFAULT_GRAPH_THREADS\}.

**Parameters**

| Name | Description |
| --- | --- |
| `graphThreads` | maximum graph-processing threads per operation |

**Returns**

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:387`_

### withGraphCopyMemoryBudgetBytes

```java
public Builder withGraphCopyMemoryBudgetBytes(long graphCopyMemoryBudgetBytes)
```

Set the ceiling for the raw temporary host adjacency copy used by parallel device-graph
materialization. Copies with the same ceiling share aggregate reservations in this class
loader. A copy with a different ceiling cannot overlap those reservations and uses the serial
fallback instead. This setting does not cap the heap-backed Lucene graph, which is allocated
by both the serial and parallel paths, and it is not a guarantee of physical memory
availability or a process-wide limit. A value of `0` disables the temporary copy while
preserving the serial fallback. A value of `-1` removes the copy ceiling; reservations
remain accounted, and an unlimited policy cannot overlap a different active policy. Values
less than `-1` are rejected. The default is 24 GiB (`24L << 30` bytes).

**Parameters**

| Name | Description |
| --- | --- |
| `graphCopyMemoryBudgetBytes` | graph-copy memory budget in bytes |

**Returns**

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:406`_

### withIntermediateGraphDegree

Expand All @@ -254,7 +333,7 @@ Default value - \{@value DEFAULT_INT_GRAPH_DEGREE\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:345`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:419`_

### withGraphDegree

Expand All @@ -276,7 +355,7 @@ Default value - \{@value DEFAULT_GRAPH_DEGREE\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:358`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:432`_

### withHNSWLayer

Expand All @@ -298,7 +377,7 @@ Default value - \{@value DEFAULT_HNSW_LAYERS\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:371`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:445`_

### withMaxConn

Expand All @@ -320,7 +399,7 @@ Default value - \{@value DEFAULT_MAX_CONN\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:384`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:458`_

### withBeamWidth

Expand All @@ -342,7 +421,7 @@ Default value - \{@value DEFAULT_BEAM_WIDTH\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:397`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:471`_

### withCagraGraphBuildAlgo

Expand All @@ -363,7 +442,7 @@ Default value - NN_DESCENT

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:409`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:483`_

### withCuVSIvfPqParams

Expand All @@ -383,7 +462,7 @@ Set the instance of `CuVSIvfPqParams`

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:420`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:494`_

### withNumMergeWorkers

Expand All @@ -404,7 +483,7 @@ Default value - \{@value DEFAULT_NUM_MERGE_WORKERS\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:432`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:506`_

### withMergeExecutorService

Expand All @@ -425,7 +504,7 @@ Default value an instance with one thread

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:444`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:518`_

### withStrategy

Expand All @@ -451,7 +530,7 @@ Default value - HEURISTIC

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:461`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:535`_

### withCuvsDistanceType

Expand All @@ -471,7 +550,7 @@ Set the CuvsDistanceType

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:472`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:546`_

### withNNDescentNumIterations

Expand All @@ -494,7 +573,7 @@ Default value - \{@value DEFAULT_NN_DESCENT_NUM_ITERATIONS\}

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:486`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:560`_

### withHnswHeuristicType

Expand All @@ -518,7 +597,7 @@ the equivalent HNSW graph (graph degree = 2 * maxConn).

instance of `Builder`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:501`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:575`_

### build

Expand All @@ -532,6 +611,6 @@ Create an instance of `AcceleratedHNSWParams`

instance of `AcceleratedHNSWParams`

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:546`_
_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:626`_

_Source: `java/cuvs-lucene/src/main/java/com/nvidia/cuvs/lucene/AcceleratedHNSWParams.java:17`_
Loading
Loading