rmuir commented on PR #13572: URL: https://github.com/apache/lucene/pull/13572#issuecomment-2261866107
Attached is a patch to get x86 support working. It makes some changes to the build: specifically the java code statically picks the best MethodHandle (SVE, Neon, Generic), and its able to compile Generic on any architecture/compiler (e.g. x86). I added necessary guards to the arm SVE/Neon code for this to work. Changes were necessary to dodge performance traps with MethodHandle or use wrong compiler flags. But I think it makes the build more straightforward: it builds native as you expect, if you want to use different compiler set `CC` env vars etc differently. Just with generic C code I see a good lift on avx-256 skylake: ``` Benchmark (size) Mode Cnt Score Error Units VectorUtilBenchmark.binaryDotProductVector 768 thrpt 15 10.019 ± 0.080 ops/us VectorUtilBenchmark.dot8s 768 thrpt 15 17.492 ± 0.359 ops/us ``` Next step is to add x86 intrinsics (e.g. VNNI) and try to max out the hardware. [x86.patch.txt](https://github.com/user-attachments/files/16449392/x86.patch.txt) -- 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