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
Calling raft::neighbors::refine on input which uses a different indexing type for the input matrices than for the vector ids results in a compilation failure in raft::neighbors::ivf_flat::detail::fill_refinement_index. This comes up in attempting to refine output from some of our supported CAGRA instantiations, which use int64_t for the input matrices' indexes but some other type for the vector ids.
To trace through the problem:
refine can be instantiated with different idx_t and matrix_idxhere.
This calls refine_device with the same type instantiations here.
fill_refinement_index has only a single indexing type in its template. This is deduced to be idx_t from refine_device due to this argument, but matrix_idx due to this argument. Because these two do not match, no instantiation matches the template, and we fail to compile.
The text was updated successfully, but these errors were encountered:
I transferred this issue from raft because it is still relevant today, and it can lead to errors while building Milvus:
In cuVS the refine function is not compatible with CAGRA because CAGRA only support uint32_t as neighbors data type, and refine only support int64_t (see here) as neighbors data type.
Calling
raft::neighbors::refine
on input which uses a different indexing type for the input matrices than for the vector ids results in a compilation failure inraft::neighbors::ivf_flat::detail::fill_refinement_index
. This comes up in attempting to refine output from some of our supported CAGRA instantiations, which useint64_t
for the input matrices' indexes but some other type for the vector ids.To trace through the problem:
refine
can be instantiated with differentidx_t
andmatrix_idx
here.refine_device
with the same type instantiations here.refine_device
callsfill_refinement_index
here.fill_refinement_index
has only a single indexing type in its template. This is deduced to beidx_t
fromrefine_device
due to this argument, butmatrix_idx
due to this argument. Because these two do not match, no instantiation matches the template, and we fail to compile.The text was updated successfully, but these errors were encountered: