Skip to navigation

Neighbors Cagra Params Module

View as Markdown

Rust module: cuvs::neighbors::cagra::params

Source: rust/cuvs/src/neighbors/cagra/params.rs

Builder-pattern parameter types for CAGRA index build and search.

Each parameter type owns its C params handle directly. The generated bon builder configures that handle in the constructor, so there is no duplicate Rust field-bag to keep in sync with the FFI state. All setters are optional; unset values retain the library defaults from the underlying C *ParamsCreate functions. Out-of-range values are rejected by build() with [CagraError::Validation].

IndexParams

pub struct IndexParams {
/* private fields */
}

Parameters for building a CAGRA index.

use cuvs::neighbors::cagra::IndexParams;
use cuvs::distance::DistanceType;
let params = IndexParams::builder()
.metric(DistanceType::InnerProduct)
.graph_degree(64)
.build()?;

Methods

NameSource
newrust/cuvs/src/neighbors/cagra/params.rs:59

new

#[builder]
pub fn new(
metric: Option<DistanceType>,
intermediate_graph_degree: Option<usize>,
graph_degree: Option<usize>,
#[builder(setters(vis = "", some_fn = graph_build_internal))] graph_build: Option<
RequestedGraphBuild,
>,
) -> Result<Self, CagraError>

Source: rust/cuvs/src/neighbors/cagra/params.rs:59

Source: rust/cuvs/src/neighbors/cagra/params.rs:49

SearchParams

pub struct SearchParams {
/* private fields */
}

Parameters for searching a CAGRA index.

use cuvs::neighbors::cagra::SearchParams;
let params = SearchParams::builder().itopk_size(128).build()?;

Methods

NameSource
newrust/cuvs/src/neighbors/cagra/params.rs:233

new

#[builder]
#[allow(clippy::too_many_arguments)]
pub fn new(
max_queries: Option<usize>,
itopk_size: Option<usize>,
max_iterations: Option<usize>,
algo: Option<SearchAlgo>,
team_size: Option<usize>,
search_width: Option<usize>,
min_iterations: Option<usize>,
thread_block_size: Option<usize>,
hashmap_mode: Option<HashMode>,
hashmap_min_bitlen: Option<usize>,
hashmap_max_fill_rate: Option<f32>,
num_random_samplings: Option<u32>,
rand_xor_mask: Option<u64>,
persistent: Option<bool>,
persistent_lifetime: Option<f32>,
persistent_device_usage: Option<f32>,
) -> Result<Self, CagraError>

Source: rust/cuvs/src/neighbors/cagra/params.rs:233

Source: rust/cuvs/src/neighbors/cagra/params.rs:225

impl IndexParamsBuilder

impl IndexParamsBuilder

Methods

NameSource
autorust/cuvs/src/neighbors/cagra/params.rs:107
nn_descentrust/cuvs/src/neighbors/cagra/params.rs:114
nn_descent_with_iterationsrust/cuvs/src/neighbors/cagra/params.rs:121
iterative_cagra_searchrust/cuvs/src/neighbors/cagra/params.rs:131
acerust/cuvs/src/neighbors/cagra/params.rs:138
ivf_pqrust/cuvs/src/neighbors/cagra/params.rs:145

auto

pub fn auto(self) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:107

nn_descent

pub fn nn_descent(self) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:114

nn_descent_with_iterations

pub fn nn_descent_with_iterations(
self,
iterations: usize,
) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:121

pub fn iterative_cagra_search(self) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:131

ace

pub fn ace(self) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:138

ivf_pq

pub fn ivf_pq(self) -> IndexParamsBuilder<SetGraphBuild<S>>
where
S::GraphBuild: IsUnset,

Source: rust/cuvs/src/neighbors/cagra/params.rs:145

Source: rust/cuvs/src/neighbors/cagra/params.rs:106