646 Commits

Author SHA1 Message Date
Andrew Kane
626bc053e5 Improved k-means code [skip ci] 2024-04-11 16:54:43 -07:00
Andrew Kane
66a29dbdf3 Switched to Datum for ApplyNorm [skip ci] 2024-04-11 16:50:21 -07:00
Andrew Kane
1c26da6ef5 Mark type-specific code [skip ci] 2024-04-11 16:44:10 -07:00
Andrew Kane
000cc13c29 Switched to datumIsEqual for duplicate check in IVFFlat [skip ci] 2024-04-11 16:37:34 -07:00
Andrew Kane
bbfe1e8b61 Removed more vector-specific code from IVFFlat [skip ci] 2024-04-11 14:05:41 -07:00
Andrew Kane
7e8be16e37 Improved code [skip ci] 2024-04-11 14:01:21 -07:00
Andrew Kane
17c2f9c0b6 Removed more vector-specific code from IVFFlat 2024-04-11 13:59:20 -07:00
Andrew Kane
bd52ed29e0 Added halfvec_spherical_distance function [skip ci] 2024-04-11 13:52:59 -07:00
Andrew Kane
245bac5e8e Removed vector-specific code from IVFFlat [skip ci] 2024-04-11 13:50:23 -07:00
Andrew Kane
d84fc303ee Removed vector-specific code from IVFFlat [skip ci] 2024-04-11 13:49:28 -07:00
Andrew Kane
4ff36af67e Added itemsize to VectorArray [skip ci] 2024-04-11 13:47:36 -07:00
Andrew Kane
5834b58c5a Moved VECTOR_SIZE out of IVFFLAT_LIST_SIZE [skip ci] 2024-04-11 09:43:35 -07:00
Andrew Kane
381216a956 Improved variable scoping 2024-04-11 09:41:47 -07:00
Andrew Kane
c3c6af8a84 Improved variable scoping [skip ci] 2024-04-11 09:38:54 -07:00
Andrew Kane
d45f561d75 Use memory context for k-means [skip ci] 2024-04-11 09:34:05 -07:00
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