We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xsimd 10.0.0 exposed an error from xtensor (0.24.7) on arm64 architecture (neon64). The error was reported at xtensor-stack/xsimd#945 :
127s [ 26%] Building CXX object CMakeFiles/test_xtensor_lib.dir/test_xoptional_assembly.cpp.o 127s /usr/bin/g++ -DXSIMD_ENABLE_XTL_COMPLEX -DXTENSOR_USE_XSIMD -DXSIMD_ENABLE_XTL_COMPLEX=1 -march=native -std=c++14 -Wunused-parameter -Wextra -Wreorder -Wconversion -Wno-sign-conversion -Wold-style-cast -Wunused-variable -ftemplate-backtrace-limit=0 -O3 -DNDEBUG -MD -MT CMakeFiles/test_xtensor_lib.dir/test_xoptional_assembly.cpp.o -MF CMakeFiles/test_xtensor_lib.dir/test_xoptional_assembly.cpp.o.d -o CMakeFiles/test_xtensor_lib.dir/test_xoptional_assembly.cpp.o -c /tmp/autopkgtest-lxc.1p570fd4/downtmp/autopkgtest_tmp/test_xoptional_assembly.cpp 131s In file included from /usr/include/xsimd/types/xsimd_batch.hpp:493, 131s from /usr/include/xsimd/xsimd.hpp:61, 131s from /usr/include/xtensor/xtensor_config.hpp:61, 131s from /usr/include/xtensor/xexception.hpp:24, 131s from /usr/include/xtensor/xstorage.hpp:21, 131s from /usr/include/xtensor/xbuffer_adaptor.hpp:21, 131s from /usr/include/xtensor/xarray.hpp:19, 131s from /tmp/autopkgtest-lxc.1p570fd4/downtmp/autopkgtest_tmp/test_xoperation.cpp:13: 131s /usr/include/xsimd/types/xsimd_traits.hpp: In instantiation of ‘struct xsimd::detail::static_check_supported_config_emitter<bool, xsimd::neon64>’: 131s /usr/include/xsimd/types/xsimd_traits.hpp:84:19: required from ‘void xsimd::detail::static_check_supported_config() [with T = bool; A = xsimd::neon64]’ 131s /usr/include/xsimd/types/xsimd_api.hpp:437:55: required from ‘xsimd::simd_return_type<From, To, A> xsimd::broadcast_as(From) [with To = int; A = neon64; From = bool; simd_return_type<From, To, A> = batch_bool<int, neon64>]’ 131s /usr/include/xtensor/xscalar.hpp:952:53: required from ‘xt_simd::simd_return_type<typename xt::xcontainer_inner_types<xt::xscalar<CT> >::value_type, requested_type> xt::xscalar<CT>::load_simd(size_type) const [with align = xt::inner_aligned_mode; requested_type = int; long unsigned int N = 4; CT = bool; xt_simd::simd_return_type<typename xt::xcontainer_inner_types<xt::xscalar<CT> >::value_type, requested_type> = xsimd::batch_bool<int, xsimd::neon64>; typename xt::xcontainer_inner_types<xt::xscalar<CT> >::value_type = bool; size_type = long unsigned int]’ ... 131s /usr/include/xtensor/xarray.hpp:510:30: required from ‘xt::xarray_container<EC, L, SC, Tag>::xarray_container(const xt::xexpression<E>&) [with E = xt::xfunction<xt::detail::logical_and, const xt::xarray_container<xt::uvector<bool, xsimd::aligned_allocator<bool, 16> >, xt::layout_type::row_major, xt::svector<long unsigned int, 4, std::allocator<long unsigned int>, true>, xt::xtensor_expression_tag>&, xt::xscalar<bool> >; EC = xt::uvector<bool, xsimd::aligned_allocator<bool, 16> >; xt::layout_type L = xt::layout_type::row_major; SC = xt::svector<long unsigned int, 4, std::allocator<long unsigned int>, true>; Tag = xt::xtensor_expression_tag]’ 131s /tmp/autopkgtest-lxc.1p570fd4/downtmp/autopkgtest_tmp/test_xoperation.cpp:378:28: required from ‘void xt::DOCTEST_ANON_SUITE_131::DOCTEST_ANON_TMP_150() [with TypeParam = xt::xarray_container<xt::uvector<double, xsimd::aligned_allocator<double, 16> >, xt::layout_type::row_major, xt::svector<long unsigned int, 4, std::allocator<long unsigned int>, true>, xt::xtensor_expression_tag>]’ 131s /tmp/autopkgtest-lxc.1p570fd4/downtmp/autopkgtest_tmp/test_xoperation.cpp:372:9: required from ‘xt::DOCTEST_ANON_SUITE_131::{anonymous}::DOCTEST_ANON_TMP_150ITERATOR<std::tuple<_El0, _El ...> >::DOCTEST_ANON_TMP_150ITERATOR(const char*, unsigned int, int) [with Type = xt::xarray_container<xt::uvector<double, xsimd::aligned_allocator<double, 16> >, xt::layout_type::row_major, xt::svector<long unsigned int, 4, std::allocator<long unsigned int>, true>, xt::xtensor_expression_tag>; Rest = {xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 16> >, 2, xt::layout_type::row_major, xt::xtensor_expression_tag>}]’ 131s /tmp/autopkgtest-lxc.1p570fd4/downtmp/autopkgtest_tmp/test_xoperation.cpp:372:9: required from here 131s /usr/include/xsimd/types/xsimd_traits.hpp:64:43: error: static assertion failed: usage of batch type with unsupported type 131s 64 | static_assert(!A::supported() || xsimd::has_simd_register<T, A>::value, 131s | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 131s /usr/include/xsimd/types/xsimd_traits.hpp:64:43: note: ‘((! xsimd::neon64::supported()) || ((bool)std::integral_constant<bool, false>::value))’ evaluates to false
Apparently neon64 does not support batch bool (https://github.com/xtensor-stack/xsimd/blob/10.0.0/include/xsimd/types/xsimd_neon64_register.hpp)
bool
A minimal code reproducing the error with xtensor alone (on raspberry pi) was identified as
#include <xtensor/xtensor.hpp> int main() { { xt::xtensor<double, 1> a{0., 1.}; xt::xtensor<double, 1> b = a && 0.; } { xt::xtensor<bool, 1> a{false, true}; //xt::xtensor<bool, 1> b = a && false; } return 0; }
The text was updated successfully, but these errors were encountered:
armhf is also affected, apparently the same problem from neon, https://ci.debian.net/data/autopkgtest/unstable/armhf/x/xtensor/38875115/log.gz
Sorry, something went wrong.
No branches or pull requests
xsimd 10.0.0 exposed an error from xtensor (0.24.7) on arm64 architecture (neon64). The error was reported at xtensor-stack/xsimd#945 :
Apparently neon64 does not support batch
bool
(https://github.com/xtensor-stack/xsimd/blob/10.0.0/include/xsimd/types/xsimd_neon64_register.hpp)A minimal code reproducing the error with xtensor alone (on raspberry pi) was identified as
The text was updated successfully, but these errors were encountered: