HnswIndexParams

View as Markdown

Java package: com.nvidia.cuvs

1public class HnswIndexParams

Supplemental parameters to build HNSW index.

Public Members

NONE

1NONE(0), /** * Full hierarchy is built using the CPU */ CPU(1), /** * Full hierarchy is built using the GPU */ GPU(2)

Flat hierarchy, search is base-layer only

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:38

CPU

1CPU(1), /** * Full hierarchy is built using the GPU */ GPU(2)

Full hierarchy is built using the CPU

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:43

GPU

1GPU(2)

Full hierarchy is built using the GPU

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:48

getHierarchy

1public CuvsHnswHierarchy getHierarchy()

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:98

getEfConstruction

1public int getEfConstruction()

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:106

getNumThreads

1public int getNumThreads()

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:114

getVectorDimension

1public int getVectorDimension()

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:122

getM

1public long getM()

Gets the HNSW M parameter: number of bi-directional links per node (used when building with ACE). graph_degree = m * 2, intermediate_graph_degree = m * 3.

Returns

the M parameter

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:133

getMetric

1public CuvsDistanceType getMetric()

Gets the distance metric type.

Returns

the metric type

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:142

getAceParams

1public HnswAceParams getAceParams()

Gets the ACE parameters for building HNSW index using ACE algorithm.

Returns

the ACE parameters, or null if not set

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:151

Builder

1public Builder()

Constructs this Builder with an instance of Arena.

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:190

withHierarchy

1public Builder withHierarchy(CuvsHnswHierarchy hierarchy)

Sets the hierarchy for HNSW index when converting from CAGRA index.

NOTE: When the value is NONE, the HNSW index is built as a base-layer-only index.

Parameters

NameDescription
hierarchythe hierarchy for HNSW index when converting from CAGRA index

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:202

withEfConstruction

1public Builder withEfConstruction(int efConstruction)

Sets the size of the candidate list during hierarchy construction when hierarchy is CPU.

Parameters

NameDescription
efConstructionthe size of the candidate list during hierarchy construction when hierarchy is CPU

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:215

withNumThreads

1public Builder withNumThreads(int numThreads)

Sets the number of host threads to use to construct hierarchy when hierarchy is CPU.

Parameters

NameDescription
numThreadsthe number of threads

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:227

withVectorDimension

1public Builder withVectorDimension(int vectorDimension)

Sets the vector dimension

Parameters

NameDescription
vectorDimensionthe vector dimension

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:238

withM

1public Builder withM(long m)

Sets the HNSW M parameter: number of bi-directional links per node (used when building with ACE). graph_degree = m * 2, intermediate_graph_degree = m * 3.

Parameters

NameDescription
mthe M parameter

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:251

withMetric

1public Builder withMetric(CuvsDistanceType metric)

Sets the distance metric type.

Parameters

NameDescription
metricthe metric type

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:262

withAceParams

1public Builder withAceParams(HnswAceParams aceParams)

Sets the ACE parameters for building HNSW index using ACE algorithm.

Parameters

NameDescription
aceParamsthe ACE parameters

Returns

an instance of Builder

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:273

build

1public HnswIndexParams build()

Builds an instance of HnswIndexParams.

Returns

an instance of HnswIndexParams

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:283

Source: java/cuvs-java/src/main/java/com/nvidia/cuvs/HnswIndexParams.java:12