rmuir opened a new pull request, #12681:
URL: https://github.com/apache/lucene/pull/12681

   This builds on https://github.com/apache/lucene/pull/12680 so please review 
that one first to make it easier. The advantage there is we split out vector 
kernels into smaller manageable methods, making it easy to specialize the 
avx-512 cases.
   
   This speeds up all the binary functions on avx-256, without slowing anything 
down on avx-512 (it explicitly avoids using 512-bit integer multiply). the 
squareDistance is sped up a bit on avx-512, only because avx-512 users were 
suffering from downclocking already (already doing 512-bit multiply), but we 
might as well clean up the other math. 512-bit multiply can't be easily avoided 
in this function due to the formula.
   
   ```
   Old:
   Benchmark                                   (size)   Mode  Cnt   Score   
Error   Units
   VectorUtilBenchmark.binaryCosineVector        1024  thrpt    5   3.544 ± 
0.046  ops/us
   VectorUtilBenchmark.binaryDotProductVector    1024  thrpt    5   7.268 ± 
0.081  ops/us
   VectorUtilBenchmark.binarySquareVector        1024  thrpt    5   6.387 ± 
0.091  ops/us
   
   New:
   Benchmark                                   (size)   Mode  Cnt  Score   
Error   Units
   VectorUtilBenchmark.binaryCosineVector        1024  thrpt    5  3.704 ± 
0.252  ops/us
   VectorUtilBenchmark.binaryDotProductVector    1024  thrpt    5  8.556 ± 
0.145  ops/us
   VectorUtilBenchmark.binarySquareVector        1024  thrpt    5  7.514 ± 
0.048  ops/us
   ```
   
   We have to think about testing. I don't want to rely upon various hardware 
for correctness. I think there's a way to alter the code so that we can test 
the correctness of everything (albeit slowly), e.g. exercise 128, 256, and 512 
in our tests.


-- 
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.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to