Le 09/02/2021 à 10:36, Antoine Pitrou a écrit :
> 
> Note that we need to decouple the SIMD level available at compile-time
> from the SIMD level available at runtime.  That is, we typically build
> optional AVX512 accelerations at compile-time, but only enable them at
> runtime if the CPU supports AVX512 (and if the environment variable
> ARROW_USER_SIMD_LEVEL wasn't forced to a lower value).
> 
> From a quick glance, it's not obvious that xsimd supports that level of
> control.  Though it may just be undocumented.  I will check with the
> authors, since I happen to know them.

Ok, there shouldn't be any problem on that front.  We just need to
compile with the right compiler flags to select the desired SIMD level,
like we already do currently when compiling multiple versions of a function.

I'll note that xsimd isn't very complete.  For example, it seems to lack
the functions required for byte stream split encoding and decoding.
Those functions are exported by libsimdpp under the names "zip_lo" and
"zip_hi".

libsimdpp, on the other hand, seems to lack maintenance.  It hasn't had
a commit in one year, and issues and PRs seem to be unanswered.  So
perhaps xsimd is a better course, provided we want to contribute the
missing functions.

Regards

Antoine.

Reply via email to