jhorstmann commented on issue #10841: URL: https://github.com/apache/arrow-rs/issues/10841#issuecomment-5417529355
I would also prefer not doing multiple versions of every compute kernel, as that could multiply compile times. Runtime dispatch should be reserved for kernels where it enables a big improvement in performance, possibly bigger than simply recompiling with avx2 vs sse2 or avx512 instead of avx2. Otherwise I see the risk of added complexity everywhere, for performance improvements in the 10%-20% range. Runtime dispatch also introduces problems for testing and code coverage. The detection might need to be overridden (for example via environment variables), and tests run multiple times. I think we can continue recommending users to set a reasonable baseline target-cpu, like x86-64-v3 on Intel/AMD hardware. The [Steam Hardware Survey](https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam) shows avx2 and bmi2 at ~95%, so compile-time detection for bmi instructions for example should be fine. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
