Commit Graph

531 Commits

Author SHA1 Message Date
Andrew Kane
e1647473c9 Updated IvfflatGetType [skip ci] 2024-04-11 09:25:07 -07:00
Andrew Kane
bed40ec0b5 Moved code to get scan value to separate function for IVFFlat [skip ci] 2024-04-11 09:20:10 -07:00
Andrew Kane
e6ca831f3d Store very small values as zero for halfvec 2024-04-10 13:59:51 -07:00
Andrew Kane
a824af42fb Improved error message for out of range values for halfvec [skip ci] 2024-04-10 13:47:45 -07:00
Andrew Kane
62b411f94c Improved sparsevec input test [skip ci] 2024-04-09 16:44:34 -07:00
Andrew Kane
82a17b81f5 Improved sparsevec input test [skip ci] 2024-04-09 16:41:48 -07:00
Andrew Kane
85345e3f8c Removed todo [skip ci] 2024-04-09 14:41:49 -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
bd6fdb73eb Improved naming [skip ci] 2024-04-08 16:35:57 -07:00
Andrew Kane
ab382a2053 Improved code [skip ci] 2024-04-08 15:32:16 -07:00
Andrew Kane
191c8e1cca Use consistent naming [skip ci] 2024-04-08 14:56:59 -07:00
Andrew Kane
3eba34e5e3 Improved code for feature detection 2024-04-08 14:40:12 -07:00
Andrew Kane
862f17c1de Removed unneeded initialization [skip ci] 2024-04-08 14:15:34 -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
60b4bb2ad1 Moved halfvec distance functions to separate file [skip ci] 2024-04-08 10:00:34 -07:00
Andrew Kane
06309f5d07 Updated comments [skip ci] 2024-04-07 21:55:44 -07:00
Andrew Kane
39b8bd1816 Switched to storeu [skip ci] 2024-04-07 21:04:59 -07:00
Andrew Kane
925aa4e048 Added SIMD version of L2 distance 2024-04-07 20:22:19 -07:00
Andrew Kane
9ed39cee67 Added SIMD version of inner product 2024-04-07 20:10:54 -07:00
Andrew Kane
3bd67fef54 DRY halfvec distance functions 2024-04-07 19:03:20 -07:00
Andrew Kane
d861a0304e Removed extra space [skip ci] 2024-04-07 19:02:30 -07:00
Andrew Kane
d8719d59a3 Improved halfvec performance with F16C support 2024-04-07 18:53:50 -07:00
Andrew Kane
33daf87fcb Improved performance of HalfToFloat4 2024-04-07 13:01:58 -07:00
Andrew Kane
8d7e0e693c Fixed vector to sparsevec conversion 2024-04-07 10:30:54 -07:00
Andrew Kane
60104264d5 Improved error message [skip ci] 2024-04-06 15:52:26 -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
aec853dc68 Added memory usage for HNSW index scans [skip ci] 2024-04-04 14:37:39 -07:00
Andrew Kane
8961de6179 Improved halfvec input check [skip ci] 2024-04-03 22:23:23 -07:00
Andrew Kane
9f61dcff5d Improved error messages for halfvec input [skip ci] 2024-04-03 22:20:13 -07:00
Andrew Kane
3219a30290 Raise error for varbit 2024-04-03 21:30:43 -07:00
Andrew Kane
fc1aeee62c Added SPARSEVEC_MAX_NNZ 2024-04-03 21:05:35 -07:00
Andrew Kane
35d0fe88b9 Added IvfflatType [skip ci] 2024-04-03 16:40:27 -07:00
Andrew Kane
aaa2d644ce Added quantize_binary and subvector functions for halfvec 2024-04-03 14:53:03 -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
835f010257 Fixed missing header for Postgres 12 2024-04-02 12:17:41 -07:00
Andrew Kane
d6044dd423 Added subvector function 2024-04-02 12:13:04 -07:00
Andrew Kane
c75634a03c Fixed type check [skip ci] 2024-04-01 22:31:02 -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
1c82bdd932 Updated comments [skip ci] 2024-04-01 20:33:12 -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
2c48e3edc2 Mark type-specific code 2024-03-29 14:01:48 -07:00
Andrew Kane
de410a2915 Use variable for max dimemsions [skip ci] 2024-03-29 10:57:16 -07:00
Andrew Kane
64aa99aa31 Added todo [skip ci] 2024-03-29 10:56:24 -07:00
Andrew Kane
997fa167da Removed vector-specific code from HNSW 2024-03-29 10:50:06 -07:00
Andrew Kane
396090d8e0 Improved code [skip ci] 2024-03-27 21:38:22 -07:00
Andrew Kane
ba18942fcf Removed normvec from IVFFlat for simplicity (no difference in performance) 2024-03-27 16:41:17 -07:00