Package: libxsimd-dev
Version: 10.0.0-3
Severity: serious
Justification: debci
libxsimd-dev 10 triggers an error in xtensor tests on arm64
xsimd passes its own tests, and xtensor passes on other arches (except
armel which has known issues)
The error output from
https://ci.debian.net/data/autopkgtest/unstable/arm64/x/xtensor/38197207/log.gz
is
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’:
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 xsimd::broadcast_as(From) [with To = int;
A = neon64; From = bool; simd_return_type = batch_bool]’
131s /usr/include/xtensor/xscalar.hpp:952:53: required from
‘xt_simd::simd_return_type
>::value_type, requested_type> xt::xscalar::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 >::value_type, requested_type> =
xsimd::batch_bool; typename
xt::xcontainer_inner_types >::value_type = bool; size_type =
long unsigned int]’
...
131s /usr/include/xtensor/xarray.hpp:510:30: required from
‘xt::xarray_container::xarray_container(const
xt::xexpression&) [with E = xt::xfunction >,
xt::layout_type::row_major, xt::svector, true>, xt::xtensor_expression_tag>&,
xt::xscalar >; EC = xt::uvector
>; xt::layout_type L = xt::layout_type::row_major; SC = xt::svector, 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::layout_type::row_major,
xt::svector, 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 >::DOCTEST_ANON_TMP_150ITERATOR(const char*, unsigned int, int) [with
Type = xt::xarray_container >, xt::layout_type::row_major,
xt::svector, true>,
xt::xtensor_expression_tag>; Rest = {xt::xtensor_container >, 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
131s64 | static_assert(!A::supported() ||
xsimd::has_simd_register::value,
131s |
^~~~
131s /usr/include/xsimd/types/xsimd_traits.hpp:64:43: note: ‘((!
xsimd::neon64::supported()) || ((bool)std::integral_constant::value))’ evaluates to false
Since xsimd passes it's own test, this might be a bug in xtensor.
Filing against libxsimd-dev to pause migration to testing.
-- System Information:
Debian Release: trixie/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.5.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8),
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
libxsimd-dev depends on no packages.
libxsimd-dev recommends no packages.
Versions of packages libxsimd-dev suggests:
ii libxsimd-doc