![]() |
9 months ago | |
---|---|---|
.. | ||
README.md | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product.cpp | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product.h | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_avx2.cpp | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_avx2.h | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_simple.cpp | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_simple.h | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_sse.cpp | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
dot_product_sse.h | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
ya.make | ea2ef6975f Knn UDF for Exact vector search (#4524) | 9 months ago |
Данная библиотека содержит функцию DotProduct, вычисляющую скалярное произведение векторов различных типов. В отличии от наивной реализации, библиотека использует SSE и работает существенно быстрее. Для сравнения можно посмотреть результаты бенчмарка.
Типичное использование - замена кусков кода вроде:
for (int i = 0; i < len; i++)
dot_product += a[i] * b[i]);
на существенно более эффективный вызов DotProduct(a, b, len)
.
Работает для типов i8, i32, float, double.