xtensor-stack / xsimd

C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
https://xsimd.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
2.19k stars 254 forks source link

xsimd::transform replacement #1045

Open bbias opened 2 months ago

bbias commented 2 months ago

Hello xsimd maintainers,

I noticed that the xsimd::transform function has been removed in version 10.0 of the xsimd library. I was wondering what the reason for this removal is and what the recommended best practice is for performing SIMD-optimized transform operations in its place.

Thank you for your insights!

serge-sans-paille commented 2 months ago

We removed it because it doesn't belong to the core of xsimd, and we planned to fill https://github.com/xtensor-stack/xsimd-algorithm as an extension. As you can see, this hasn't been done (yet?). @JohanMabille I think I know your answer on that topic, but could you expand?

@bbias current approach would be to write the plain loop, which may be specialized to your use case (aligned / unaligned loads, unrolling factor etc)