kodama-cpp
Standalone float32 KODAMA kernels for CPU, CUDA, and Apple Metal
Loading...
Searching...
No Matches
kodama::ResidentIVFIndex Class Reference

#include <kodama.hpp>

Public Member Functions

 ResidentIVFIndex ()
 
 ~ResidentIVFIndex ()
 
 ResidentIVFIndex (ResidentIVFIndex &&) noexcept
 
ResidentIVFIndexoperator= (ResidentIVFIndex &&) noexcept
 
 ResidentIVFIndex (const ResidentIVFIndex &)=delete
 
ResidentIVFIndexoperator= (const ResidentIVFIndex &)=delete
 
bool valid () const noexcept
 
Backend backend () const noexcept
 
DistanceMetric metric () const noexcept
 
int rows () const noexcept
 
int dimensions () const noexcept
 
int nlist () const noexcept
 
double build_seconds () const noexcept
 

Friends

ResidentIVFIndex BuildResidentIVFIndex (MatrixView, const KNNOptions &)
 
NeighborGraph SearchResidentIVFIndex (const ResidentIVFIndex &, MatrixView, int, ResidentIVFSearchStats *)
 
NeighborGraph SearchResidentIVFIndexSelf (const ResidentIVFIndex &, int, bool, ResidentIVFSearchStats *)
 

Detailed Description

Move-only owner of an accelerator-resident IVF-Flat index.

The training matrix, projected matrix, centroids, inverted-list offsets, and inverted-list identifiers remain allocated on the selected CUDA or Metal device until this object is destroyed.

Definition at line 373 of file kodama.hpp.

Constructor & Destructor Documentation

◆ ResidentIVFIndex() [1/3]

kodama::ResidentIVFIndex::ResidentIVFIndex ( )

◆ ~ResidentIVFIndex()

kodama::ResidentIVFIndex::~ResidentIVFIndex ( )

◆ ResidentIVFIndex() [2/3]

kodama::ResidentIVFIndex::ResidentIVFIndex ( ResidentIVFIndex &&  )
noexcept

◆ ResidentIVFIndex() [3/3]

kodama::ResidentIVFIndex::ResidentIVFIndex ( const ResidentIVFIndex )
delete

Member Function Documentation

◆ backend()

Backend kodama::ResidentIVFIndex::backend ( ) const
noexcept

◆ build_seconds()

double kodama::ResidentIVFIndex::build_seconds ( ) const
noexcept

◆ dimensions()

int kodama::ResidentIVFIndex::dimensions ( ) const
noexcept

◆ metric()

DistanceMetric kodama::ResidentIVFIndex::metric ( ) const
noexcept

◆ nlist()

int kodama::ResidentIVFIndex::nlist ( ) const
noexcept

◆ operator=() [1/2]

ResidentIVFIndex & kodama::ResidentIVFIndex::operator= ( const ResidentIVFIndex )
delete

◆ operator=() [2/2]

ResidentIVFIndex & kodama::ResidentIVFIndex::operator= ( ResidentIVFIndex &&  )
noexcept

◆ rows()

int kodama::ResidentIVFIndex::rows ( ) const
noexcept

◆ valid()

bool kodama::ResidentIVFIndex::valid ( ) const
noexcept

Friends And Related Symbol Documentation

◆ BuildResidentIVFIndex

ResidentIVFIndex BuildResidentIVFIndex ( MatrixView  ,
const KNNOptions  
)
friend

◆ SearchResidentIVFIndex

NeighborGraph SearchResidentIVFIndex ( const ResidentIVFIndex ,
MatrixView  ,
int  ,
ResidentIVFSearchStats  
)
friend

Search an existing accelerator-resident IVF index.

Query rows are uploaded for this call. Returned neighbor identifiers are one-based, matching NeighborGraph throughout the public API.

◆ SearchResidentIVFIndexSelf

NeighborGraph SearchResidentIVFIndexSelf ( const ResidentIVFIndex ,
int  ,
bool  ,
ResidentIVFSearchStats  
)
friend

Search the resident training matrix against itself without uploading it again. Self-neighbors are excluded when exclude_self is true.


The documentation for this class was generated from the following file: