Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-05-01 Thread via GitHub
benwtrent merged PR #13321: URL: https://github.com/apache/lucene/pull/13321 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.a

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-05-01 Thread via GitHub
uschindler commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2088443326 To me changes look fine. For discussion: In my opinion the conditional code falling back to defaults should possibly be moved to the VectorUtil class and i think them the boolea

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-05-01 Thread via GitHub
benwtrent commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2088378164 @uschindler I addressed your comments. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to t

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-29 Thread via GitHub
ChrisHegarty commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1582893750 ## lucene/core/src/java21/org/apache/lucene/internal/vectorization/PanamaVectorUtilSupport.java: ## @@ -390,22 +392,202 @@ private int dotProductBody128(byte[] a,

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-26 Thread via GitHub
benwtrent commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1581482527 ## lucene/core/src/java21/org/apache/lucene/internal/vectorization/PanamaVectorUtilSupport.java: ## @@ -390,22 +391,139 @@ private int dotProductBody128(byte[] a, by

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-26 Thread via GitHub
uschindler commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1581305081 ## lucene/core/src/java21/org/apache/lucene/internal/vectorization/PanamaVectorUtilSupport.java: ## @@ -390,22 +391,139 @@ private int dotProductBody128(byte[] a, b

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-26 Thread via GitHub
benwtrent commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2079695750 OK, I ran on Google's ARM machine (`Tau T2A machine series`) to make sure the ARM performance improvements still exist for int4 (and it wasn't some silly macos thing): ``` Be

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-26 Thread via GitHub
ChrisHegarty commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2079213000 I went over the Panama code again, and confused myself about the potential to overflow - there is no issue, but it was not obvious as one has to match the number of potential values

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-25 Thread via GitHub
rmuir commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2078163094 panama logic looks good to me. Not for this PR, just a question, is it possible to use this same trick for 8 bit integer calculations too? I imagine this trick could probably help there as

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-25 Thread via GitHub
ChrisHegarty commented on PR #13321: URL: https://github.com/apache/lucene/pull/13321#issuecomment-2077675140 > Because this makes things measurably slower. .. Ok. That's a very good reason! ;-) > And I am not sure how it makes the comparisons easier. We then have to add LoC to

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-25 Thread via GitHub
benwtrent commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1579422728 ## lucene/core/src/java/org/apache/lucene/util/VectorUtil.java: ## @@ -179,7 +179,30 @@ public static int int4DotProduct(byte[] a, byte[] b) { if (a.length != b

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-25 Thread via GitHub
ChrisHegarty commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1579117412 ## lucene/core/src/java/org/apache/lucene/util/VectorUtil.java: ## @@ -179,7 +179,30 @@ public static int int4DotProduct(byte[] a, byte[] b) { if (a.length !

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-24 Thread via GitHub
benwtrent commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1577962121 ## lucene/core/src/test/org/apache/lucene/codecs/lucene99/TestLucene99ScalarQuantizedVectorScorer.java: ## @@ -0,0 +1,145 @@ +/* + * Licensed to the Apache Software

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-24 Thread via GitHub
ChrisHegarty commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1577918752 ## lucene/core/src/java/org/apache/lucene/util/hnsw/RandomAccessVectorValues.java: ## @@ -72,6 +84,11 @@ interface Floats extends RandomAccessVectorValues {

Re: [PR] Improve int4 compressed comparisons performance [lucene]

2024-04-23 Thread via GitHub
benwtrent commented on code in PR #13321: URL: https://github.com/apache/lucene/pull/13321#discussion_r1576351827 ## lucene/core/src/java/org/apache/lucene/codecs/lucene99/Lucene99ScalarQuantizedVectorScorer.java: ## @@ -0,0 +1,283 @@ +/* + * Licensed to the Apache Software Foun

[PR] Improve int4 compressed comparisons performance [lucene]

2024-04-23 Thread via GitHub
benwtrent opened a new pull request, #13321: URL: https://github.com/apache/lucene/pull/13321 This updates the int4 dot-product comparison to have an optimized one for when one of the vectors are compressed (the most common search case). This change actually makes the compressed search on A