xtensor-stack / xtensor

C++ tensors with broadcasting and lazy computing
BSD 3-Clause "New" or "Revised" License
3.37k stars 399 forks source link

update for xsimd 13 #2769

Open drew-parsons opened 10 months ago

drew-parsons commented 10 months ago

xsimd 12 was recently released. It provides significant improvements in stability on less common architectures such as armhf, and has stabilised handling of batch bools (essentially by not doing it), which is not supported by all architectures.

The batch changes need some updating in xtensor, likely related to #2733

For instance, if the current dependence on xsimd 11 is manually flipped to 12 in CMakeFiles.txt, then xtensor 0.24.7 (patched by #2735) gives the error

/build/xtensor/test/test_xoperation.cpp:372:9:   required from here
/usr/include/xsimd/types/xsimd_traits.hpp:71:43: error: static assertion failed: usage of batch type with unsupported type
   71 |             static_assert(!A::supported() || xsimd::has_simd_register<T, A>::value,
      |                           ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/xsimd/types/xsimd_traits.hpp:71:43: note: ‘((! xsimd::fma3<xsimd::avx2>::supported()) || ((bool)std::integral_constant<bool, false>::value))’ evaluates to false

It would be great if xtensor could be updated for xsimd 12.

JohanMabille commented 10 months ago

We sould probably release xtensor 0.25 first, since no release of xstensor with the upgrade to xsimd 11 has been done yet.

drew-parsons commented 10 months ago

Makes sense to do that first.

drew-parsons commented 6 months ago

xsimd 13 now

perseoGI commented 5 months ago

Hello from Conan team! We have some conflicts with arrow recipe and we may need to upgrade xsimd/13.0.0 dependency. Any update on this? Thank you!