[FEA] expose python & C API for prefiltered brute force#174
Conversation
benfred
left a comment
There was a problem hiding this comment.
this looks great! thanks for getting this in.
some minor comments / feedback below:
|
/ok to test |
|
/ok to test |
|
/ok to test |
|
/ok to test |
cjnolet
left a comment
There was a problem hiding this comment.
I think this API is coming along great! Moslty minor things at this point, but I think this should be ready very soon.
| */ | ||
| enum cuvsPrefilterType { | ||
| /* No filter */ | ||
| NO_FILTER, |
There was a problem hiding this comment.
We will need a way to specify a custom filter function (maybe to accept a function pointer?) also. While bfknn currently only supports bitmap / bitset, we also need to expose the filtering APIs for the other ANN indexes (most ideally through the same API).
I'm okay pushing this to a future change, since it's going to be needed ASAP so that we can expose the remaining filtering functions for the other algorithm. Can you create an issue for this?
|
/ok to test |
| }; | ||
|
|
||
| template <typename T, typename IdxT, typename bitmap_t = uint32_t> | ||
| void recall_eval_with_filter(T* query_data, |
There was a problem hiding this comment.
Can you please make sure these are testing all possible combinations of the filter struct/type? Eg NULL, NO_FILTER, BITMAP, and BITSET?
We should set a good precedent for testing these early, so that all follow-on filtering implementations can do the same thing.
There was a problem hiding this comment.
Yeah, that makes sense. I just checked the code, the NO_FILTER, BITMAP have been covered(pls refer to https://github.com/rapidsai/cuvs/pull/174/files#diff-1b162130023c13d62c06d91f3aab663d943091dddd8a38813c27f65e7d6c61dfR93), and the BITSET is reserved for other algorithms to compatible which is not be implemented in brute-force. Would you like me to implement BITSET in brute-force and test it?
|
/ok to test |
|
/ok to test |
|
/merge |
Authors: - rhdong (https://github.com/rhdong) - Ben Frederickson (https://github.com/benfred) Approvers: - Ben Frederickson (https://github.com/benfred) - Corey J. Nolet (https://github.com/cjnolet) URL: rapidsai#174
No description provided.