pub struct CagraIndex<'data, T: CagraElement> { /* private fields */ }Expand description
Query-local CAGRA index with a device-padded dataset. Rows already aligned to 16 bytes use a borrowed padded view; other rows use an owning padded copy. Native search requires a device-padded index (components/cuvs/cuvs/c/src/neighbors/cagra.cpp:1843).
Implementations§
Source§impl<'data, T: CagraElement> CagraIndex<'data, T>
impl<'data, T: CagraElement> CagraIndex<'data, T>
pub fn build( resources: &CuvsResources, dataset: &ValidatedDeviceTensor<'data, T>, params: CagraIndexParams, ) -> Result<Self>
Sourcepub fn search_into(
&self,
queries: &ValidatedDeviceTensor<'_, T>,
k: usize,
params: CagraSearchParams,
neighbors: &mut DeviceBuffer<i64>,
distances: &mut DeviceBuffer<f32>,
) -> Result<KnnSearchOutput>
pub fn search_into( &self, queries: &ValidatedDeviceTensor<'_, T>, k: usize, params: CagraSearchParams, neighbors: &mut DeviceBuffer<i64>, distances: &mut DeviceBuffer<f32>, ) -> Result<KnnSearchOutput>
Search outputs are [queries.rows(), k]. Missing neighbors have ordinal i64::MAX.
pub fn rows(&self) -> usize
pub fn columns(&self) -> usize
Trait Implementations§
Source§impl<T: CagraElement> Debug for CagraIndex<'_, T>
impl<T: CagraElement> Debug for CagraIndex<'_, T>
Source§impl<T: CagraElement> Drop for CagraIndex<'_, T>
impl<T: CagraElement> Drop for CagraIndex<'_, T>
Auto Trait Implementations§
impl<'data, T> !RefUnwindSafe for CagraIndex<'data, T>
impl<'data, T> !Send for CagraIndex<'data, T>
impl<'data, T> !Sync for CagraIndex<'data, T>
impl<'data, T> !UnwindSafe for CagraIndex<'data, T>
impl<'data, T> Freeze for CagraIndex<'data, T>
impl<'data, T> Unpin for CagraIndex<'data, T>
impl<'data, T> UnsafeUnpin for CagraIndex<'data, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more