shubhamvishu commented on PR #13572: URL: https://github.com/apache/lucene/pull/13572#issuecomment-3051950027
> I really want the simple Python tool that I can run in my prod env and it tells me "yes, Lucene HNSW Is using optimal SIMD instructions in your JDK, Lucene version, OS, CPU architecture/revision, virtualized environment, etc. @mikemccand I think we can rely on the what Uwe pointed out about the info message, we can take that as a definitive indicator (as it mention if its enabled or not and also the bit size for that machine). I opened https://github.com/mikemccand/luceneutil/pull/423 to add the functionality to get back the disassembled code using `perf` tool. It helps to see into what instructions got executed (and even more events that we like to look into). I used it to verify that for 7-bit case in this PR the `SDOT` instruction is getting used as expected like below : **Baseline :** ``` >> PAGER=cat perf annotate -i perf1.data -f --stdio | head -100000 | grep "sdot" // nothing ``` **Candidate :** ``` >> PAGER=cat perf annotate -i perf2.data -f --stdio | head -100000 | grep "sdot" 0.00 : 79c: sdot v0.4s, v2.16b, v4.16b 0.00 : 7a8: sdot v7.4s, v6.16b, v5.16b 0.00 : 7b0: sdot v22.4s, v3.16b, v16.16b 0.00 : 7bc: sdot v21.4s, v18.16b, v17.16b 0.28 : 7e4: sdot v0.4s, v19.16b, v20.16b 0.55 : 7ec: sdot v7.4s, v23.16b, v30.16b 0.44 : 7f4: sdot v22.4s, v24.16b, v31.16b 1.81 : 7fc: sdot v21.4s, v25.16b, v1.16b 0.34 : 804: sdot v0.4s, v26.16b, v2.16b 0.58 : 80c: sdot v7.4s, v27.16b, v4.16b 0.61 : 814: sdot v22.4s, v28.16b, v5.16b 1.80 : 81c: sdot v21.4s, v29.16b, v3.16b 0.00 : 8b4: sdot v0.4s, v22.16b, v16.16b 0.00 : 8c0: sdot v0.4s, v17.16b, v18.16b 0.00 : 8cc: sdot v0.4s, v19.16b, v23.16b 0.00 : 8d8: sdot v0.4s, v24.16b, v25.16b 0.00 : 8e4: sdot v0.4s, v26.16b, v27.16b 0.00 : 8f0: sdot v0.4s, v28.16b, v29.16b 0.00 : 914: sdot v0.4s, v20.16b, v30.16b 0.00 : 928: sdot v0.4s, v31.16b, v6.16b 0.00 : 94c: sdot v0.4s, v16.16b, v22.16b 0.00 : 950: sdot v0.4s, v21.16b, v17.16b 0.00 : 954: sdot v0.4s, v5.16b, v18.16b 0.00 : 958: sdot v0.4s, v4.16b, v19.16b 0.00 : 95c: sdot v0.4s, v3.16b, v23.16b 0.00 : 960: sdot v0.4s, v2.16b, v24.16b 0.00 : a04: sdot v25.4s, v28.16b, v29.16b 0.00 : a14: sdot v25.4s, v20.16b, v30.16b 0.00 : a24: sdot v25.4s, v31.16b, v21.16b 0.00 : a34: sdot v25.4s, v5.16b, v4.16b 0.00 : a44: sdot v25.4s, v3.16b, v2.16b 0.00 : a54: sdot v25.4s, v6.16b, v22.16b 0.00 : a88: sdot v25.4s, v16.16b, v17.16b 0.00 : aa0: sdot v25.4s, v23.16b, v24.16b 0.00 : aa4: sdot v25.4s, v18.16b, v19.16b 0.00 : ab0: sdot v25.4s, v0.16b, v7.16b 0.00 : abc: sdot v25.4s, v1.16b, v26.16b 0.00 : ac8: sdot v25.4s, v27.16b, v28.16b 0.00 : ad4: sdot v25.4s, v29.16b, v20.16b 0.00 : ae0: sdot v25.4s, v30.16b, v31.16b 0.00 : bf8: sdot v0.4s, v21.16b, v6.16b 0.00 : c0c: sdot v25.4s, v27.16b, v26.16b ``` -- 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