azevaykin ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
..
README.md ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product.cpp ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product.h ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_avx2.cpp ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_avx2.h ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_simple.cpp ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_simple.h ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_sse.cpp ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
dot_product_sse.h ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад
ya.make ea2ef6975f Knn UDF for Exact vector search (#4524) 9 месяцев назад

README.md

Библиотека для вычисления скалярного произведения векторов.

Данная библиотека содержит функцию DotProduct, вычисляющую скалярное произведение векторов различных типов. В отличии от наивной реализации, библиотека использует SSE и работает существенно быстрее. Для сравнения можно посмотреть результаты бенчмарка.

Типичное использование - замена кусков кода вроде:

for (int i = 0; i < len; i++)
    dot_product += a[i] * b[i]);

на существенно более эффективный вызов DotProduct(a, b, len).

Работает для типов i8, i32, float, double.