For the record, a PR is now up for bundling xsimd with Arrow C++:
https://github.com/apache/arrow/pull/9556

Regards

Antoine.


On Tue, 9 Feb 2021 11:14:45 +0800
Yibo Cai <yibo....@arm.com> wrote:
> This topic was talked in an earlier thread [1], but not landed yet.
> 
> PR https://github.com/apache/arrow/pull/9424 optimizes ByteStreamSplit with 
> Arm64 NEON, maybe it's a good chance to evaluate possibility of simplifying 
> arch dependent SIMD code with an SIMD library.
> 
> I did a quick comparison of four open source SIMD libraries we've mentioned 
> in earlier talks.
> 
> All libraries support C++11, GCC/Clang/MSVC, x86 (up to AVX512), Arm64 NEON, 
> with permissive open source licenses.
> 
> Some differences:
> 
> - nsimd: https://github.com/agenium-scale/nsimd
>    * supports Arm64 SVE, Cuda
>    * needs installation, not header only
>    * 133 stars, 11 contributors
> 
> - mipp: https://github.com/aff3ct/MIPP
>    * header only
>    * 241 stars, 2 contributors
> 
> - xsimd: https://github.com/xtensor-stack/xsimd
>    * header only
>    * 938 stars, 28 contributors
> 
> - libsimdpp: https://github.com/p12tic/libsimdpp
>    * supports PPC, MIPS
>    * header only
>    * 906 stars, 17 contributors
> 
> I have a little experience of libsimdpp. It's straightforward to use. I 
> suppose other libraries are similar.
> I would prefer xsimd. Simply because it has more stars and contributors, and 
> a more active community.
> 
> [1] 
> https://mail-archives.apache.org/mod_mbox/arrow-dev/202006.mbox/%3C3667345c-fdd2-5bbd-9bff-023282c377d8%40python.org%3E
> 



Reply via email to