Commit Graph

110 Commits

Author SHA1 Message Date
Andrew Kane
09ea1b0d5c Improved target_clones logic [skip ci] 2024-04-17 15:05:47 -07:00
Andrew Kane
8d68f88507 Improved target_clones logic [skip ci] 2024-04-17 15:05:19 -07:00
Andrew Kane
312da84536 Added CPU dispatching for vector cosine distance [skip ci] 2024-04-15 10:47:06 -07:00
Andrew Kane
2913c9f0b6 Moved vector L1 distance to separate function [skip ci] 2024-04-15 10:35:16 -07:00
Andrew Kane
fac88d0fd4 Moved vector cosine similarity to separate function [skip ci] 2024-04-15 10:33:23 -07:00
Andrew Kane
38b223b4bd Added concatenate operator for vectors 2024-04-14 23:12:07 -07:00
Andrew Kane
b70fb2b3f4 Added l2_normalize function - closes #220 2024-04-14 20:53:05 -07:00
Andrew Kane
00308491d3 Added CPU dispatching for distance functions on Linux x86-64 - closes #311
Co-authored-by: Arda Aytekin <arda.aytekin@microsoft.com>
2024-04-14 19:30:41 -07:00
Andrew Kane
fe9a9a0d0f Renamed quantize_binary to binary_quantize 2024-04-14 16:57:28 -07:00
Andrew Kane
e146f3cfb6 Added avg for half vectors [skip ci] 2024-04-14 15:11:11 -07:00
Andrew Kane
89629abc08 Removed unneeded check [skip ci] 2024-04-13 15:06:17 -07:00
Andrew Kane
f5e6e58359 Improved performance of vector_in 2024-04-13 14:49:00 -07:00
Andrew Kane
8f93d02c71 Updated comments [skip ci] 2024-04-13 14:06:10 -07:00
Andrew Kane
c5c82bafda Updated invalid input syntax messages to be consistent [skip ci] 2024-04-13 11:32:47 -07:00
Andrew Kane
23944302fe Improved input functions [skip ci] 2024-04-13 11:09:59 -07:00
Andrew Kane
f3477cf28d DRY vector_spherical_distance [skip ci] 2024-04-08 16:45:08 -07:00
Andrew Kane
434f3f5e88 DRY vector distance functions 2024-04-08 16:41:50 -07:00
Andrew Kane
21bcff6722 Added CPU dispatching for halfvec distance functions - #311
Co-authored-by: Arda Aytekin <arda.aytekin@microsoft.com>
2024-04-08 13:50:18 -07:00
Andrew Kane
4450029bdc Changed indices to start at 1 for sparse vectors to match SQL 2024-04-06 14:02:07 -07:00
Andrew Kane
060d299e4b Improved error message for out of range elements 2024-04-03 10:12:17 -07:00
Andrew Kane
abac7a3f77 Added sparsevec type 2024-04-02 14:25:09 -07:00
Andrew Kane
32a502c838 Added halfvec type 2024-04-02 13:55:45 -07:00
Andrew Kane
d6044dd423 Added subvector function 2024-04-02 12:13:04 -07:00
Andrew Kane
ab7b2ed39e Updated comparison operators to support vectors with different dimensions - #451 2024-04-01 22:12:06 -07:00
Andrew Kane
94a444f029 Added support for bit vectors to HNSW 2024-04-01 20:30:55 -07:00
Andrew Kane
2f2f3631a8 Improved vector_out code 2024-03-31 09:55:07 -07:00
Andrew Kane
2716a223a6 Fixed error with ANALYZE and vectors with different dimensions - fixes #451 2024-02-02 10:47:48 -08:00
Andrew Kane
a1e526ef82 Dropped support for Postgres 11 2024-01-22 23:52:54 -08:00
Andrew Kane
1ff9ab5133 Revert "Improved vector_in"
This reverts commit 4894dc5da1.
2024-01-17 17:14:42 -08:00
Andrew Kane
4894dc5da1 Improved vector_in 2024-01-17 16:57:16 -08:00
Heikki Linnakangas
b7304a3a4a Don't modify input string in vector_in() (#413)
Fixes issue #399
2024-01-17 10:49:04 -08:00
Andrew Kane
c653ac524f Simplified code [skip ci] 2023-12-04 12:19:38 -08:00
Andrew Kane
bf0d56e78e Updated comment [skip ci] 2023-12-03 13:09:57 -08:00
Andrew Kane
a01a72d812 Updated comment [skip ci] 2023-11-05 08:42:06 -08:00
Andrew Kane
0c2fc18a80 Updated comment [skip ci] 2023-11-05 08:40:21 -08:00
Andrew Kane
e860042d3c Improved variable name [skip ci] 2023-11-05 08:35:54 -08:00
Andrew Kane
8e507f3bf5 Free remaining allocation from deconstruct_array - #332 2023-11-02 21:20:21 -07:00
Andrew Kane
e115773a55 Removed unneeded allocation 2023-11-02 21:16:06 -07:00
Andrew Kane
0b0e542ce6 Fixed auto-vectorization for vector_spherical_distance with MSVC 2023-09-01 18:42:37 -07:00
Andrew Kane
206c42e170 Cleaned up header 2023-08-19 01:22:28 -07:00
Andrew Kane
dab8f25d1c Fixed overflow with vector_norm 2023-08-09 16:33:54 -07:00
Andrew Kane
51d292c93d Added HNSW index type - #181 2023-08-08 16:42:47 -07:00
Andrew Kane
e45c84fd46 Added space before comment [skip ci] 2023-08-05 10:20:30 -07:00
Andrew Kane
e36cf20bce Fixed CI 2023-07-25 15:44:04 -07:00
Andrew Kane
47e5a86b63 Fixed out of range results for cosine distance - fixes #196 2023-07-25 14:54:13 -07:00
Andrew Kane
b710dc68a0 Use fused multiply-add for cosine distance 2023-07-18 16:10:17 -07:00
Andrew Kane
8a05debda1 Ran pgindent [skip ci] 2023-07-18 16:08:50 -07:00
Pavel Borisov
3950bc3dc6 Speed up ivfflat build: use float instead of double for dot product (#180)
calculation

On ARM this makes CPU using vector multiply-add instruction (fmadd)
instead of vector multiplication + conversion to double + addition
(fmul + fcvt + fadd) at each vector dimension.

Output of distance functions and calculations that are are done once
per vector pair are left double as this don't make speed difference
and for compatibility.
2023-07-18 12:55:38 -07:00
Andrew Kane
f4c28b1c06 Improved includes 2023-07-17 13:17:48 -07:00
Andrew Kane
d13eb8563e Improved includes 2023-07-17 13:15:10 -07:00