HnswIndexParams

View as Markdown

Java package: com.nvidia.cuvs

public class HnswIndexParams

Supplemental parameters to build HNSW index.

Public Members

NONE

NONE(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

CPU(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

GPU(2)

Full hierarchy is built using the GPU

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

getHierarchy

public CuvsHnswHierarchy getHierarchy()

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

getEfConstruction

public int getEfConstruction()

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

getNumThreads

public int getNumThreads()

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

getVectorDimension

public int getVectorDimension()

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

getM

public 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

public 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

public 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

public Builder()

Constructs this Builder with an instance of Arena.

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

withHierarchy

public 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

public 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

public 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

public 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

public 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

public 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

public 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

public 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