pitrou commented on issue #40333: URL: https://github.com/apache/arrow/issues/40333#issuecomment-1976751134
The wording could probably be improved, but there are two categories of SIMD optimizations in Arrow: 1) some optimizations are enabled statically at compile-time; these are governed by `ARROW_SIMD_LEVEL`. If you compile with `ARROW_SIMD_LEVEL=AVX2` and execute on non-AVX2 CPU, the code will crash. 2) some optimizations are selected dynamically at runtime; these are governed by `ARROW_RUNTIME_SIMD_LEVEL`. If you compile with `ARROW_RUNTIME_SIMD_LEVEL=AVX2` and execute on non-AVX2 CPU, a non-AVX2 code path (perhaps SSE2) will be executed. If you compile with `ARROW_RUNTIME_SIMD_LEVEL=AVX2` and execute on AVX2 CPU, a AVX2 code path will be executed (but not AVX512, because for that you would have needed `ARROW_RUNTIME_SIMD_LEVEL=AVX512`) -- 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]
