You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New interfaces in support of distributed execution (#68)
This PR includes some changes and refactoring to better support distributed execution of TileDB vector search.
* Separated out functionality for sorting query vectors according to the partitions that where they will be searching for nearest neighbors into `partition_ivf_index()`
* Updated `qv_query_heap_finite_ram()` to use `partition_ivf_index`
* Updated `qv_query_heap_infinite_ram()` to use `partition_ivf_index` (Currently the file `qv.h` still contains the OG implementations of `qv_query_heap_*finite_ram()` in order to test and debug the new versions as needed. These will be removed in a future PR once we are satisfied the new implementation is correct and performs as well as the OG.)
* Added `initializer_list` constructor for `Matrix`
* Greatly simplified the interfaces and implementations of `tdbMatrix` and `tdbPartitionedMatrix`. Both classes now do not load any data when they are opened. Rather, the `load()` member function must be invoked to load the data. For the `tdbPartitionedMatrix`, this implements out of core operation -- subsequent calls to `load()` will load the next chunk of memory into the `tdbPartitionedMatrix`
* Added more fine-grained timers to various functions in the C++ library
* Fixed `flat.cc` so that all "flat" queries are correctly called
* Fixed `sgemm` computations to handle `uint8_t` vector arrays (by copying the `uint8_t` array into a `float` array)
* Various fixes to eliminate numerous warning emitted by g++-12
0 commit comments