FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

BUG: aarch64 linux wheel builds failing on `highway_qsort` SVE error · Issue #25445 · numpy/numpy · GitHub

/ numpy Public

BUG: aarch64 linux wheel builds failing on highway_qsort SVE error #25445

Description

Issue observed in gh-25440, and is present on main too. Example from this CI log:

[48/314] Compiling C++ object numpy/_core/libhighway_qsort.dispatch.h_SVE.a.p/src_npysort_highway_qsort.dispatch.cpp.o
FAILED: numpy/_core/libhighway_qsort.dispatch.h_SVE.a.p/src_npysort_highway_qsort.dispatch.cpp.o 
c++ -Inumpy/_core/libhighway_qsort.dispatch.h_SVE.a.p -Inumpy/_core -I../numpy/_core -Inumpy/_core/include -I../numpy/_core/include -I../numpy/_core/src/common -I../numpy/_core/src/multiarray -I../numpy/_core/src/npymath -I../numpy/_core/src/umath -I../numpy/_core/src/highway -I/opt/_internal/cpython-3.11.6/include/python3.11 -I/project/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -std=c++17 -O3 -fPIC -DNPY_INTERNAL_BUILD -DHAVE_NPY_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__STDC_VERSION__=0 -fno-exceptions -fno-rtti -O3 -DNPY_HAVE_NEON_VFPV4 -DNPY_HAVE_NEON_FP16 -DNPY_HAVE_NEON -DNPY_HAVE_ASIMD -DNPY_HAVE_ASIMDHP -DNPY_HAVE_SVE -march=armv8.2-a+sve+fp16 -DNPY_MTARGETS_CURRENT=SVE -MD -MQ numpy/_core/libhighway_qsort.dispatch.h_SVE.a.p/src_npysort_highway_qsort.dispatch.cpp.o -MF numpy/_core/libhighway_qsort.dispatch.h_SVE.a.p/src_npysort_highway_qsort.dispatch.cpp.o.d -o numpy/_core/libhighway_qsort.dispatch.h_SVE.a.p/src_npysort_highway_qsort.dispatch.cpp.o -c ../numpy/_core/src/npysort/highway_qsort.dispatch.cpp
In file included from ../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:26,
                 from ../numpy/_core/src/npysort/highway_qsort.dispatch.cpp:3:
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator==(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1049:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1049 |   return F32FromF16(lhs) == F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator!=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1056:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1056 |   return F32FromF16(lhs) != F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator<(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1063:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1063 |   return F32FromF16(lhs) < F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator<=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1070:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1070 |   return F32FromF16(lhs) <= F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator>(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1077:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1077 |   return F32FromF16(lhs) > F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator>=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1084:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1084 |   return F32FromF16(lhs) >= F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
[49/314] Compiling C++ object numpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p/src_npysort_highway_qsort.dispatch.cpp.o
FAILED: numpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p/src_npysort_highway_qsort.dispatch.cpp.o 
c++ -Inumpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p -Inumpy/_core -I../numpy/_core -Inumpy/_core/include -I../numpy/_core/include -I../numpy/_core/src/common -I../numpy/_core/src/multiarray -I../numpy/_core/src/npymath -I../numpy/_core/src/umath -I../numpy/_core/src/highway -I/opt/_internal/cpython-3.11.6/include/python3.11 -I/project/build/meson_cpu -fdiagnostics-color=always -DNDEBUG -Wall -Winvalid-pch -std=c++17 -O3 -fPIC -DNPY_INTERNAL_BUILD -DHAVE_NPY_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__STDC_VERSION__=0 -fno-exceptions -fno-rtti -O3 -DNPY_HAVE_NEON_VFPV4 -DNPY_HAVE_NEON_FP16 -DNPY_HAVE_NEON -DNPY_HAVE_ASIMD -DNPY_MTARGETS_CURRENT=ASIMD -MD -MQ numpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p/src_npysort_highway_qsort.dispatch.cpp.o -MF numpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p/src_npysort_highway_qsort.dispatch.cpp.o.d -o numpy/_core/libhighway_qsort.dispatch.h_ASIMD.a.p/src_npysort_highway_qsort.dispatch.cpp.o -c ../numpy/_core/src/npysort/highway_qsort.dispatch.cpp
In file included from ../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:26,
                 from ../numpy/_core/src/npysort/highway_qsort.dispatch.cpp:3:
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator==(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1049:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1049 |   return F32FromF16(lhs) == F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator!=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1056:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1056 |   return F32FromF16(lhs) != F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator<(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1063:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1063 |   return F32FromF16(lhs) < F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator<=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1070:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1070 |   return F32FromF16(lhs) <= F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator>(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1077:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1077 |   return F32FromF16(lhs) > F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
../numpy/_core/src/highway/hwy/base.h: In function ‘constexpr bool hwy::operator>=(hwy::float16_t, hwy::float16_t)’:
../numpy/_core/src/highway/hwy/base.h:1084:20: error: call to non-‘constexpr’ function ‘float hwy::F32FromF16(hwy::float16_t)’
 1084 |   return F32FromF16(lhs) >= F32FromF16(rhs);
      |          ~~~~~~~~~~^~~~~
../numpy/_core/src/highway/hwy/base.h:975:33: note: ‘float hwy::F32FromF16(hwy::float16_t)’ declared here
  975 | HWY_API HWY_F16_CONSTEXPR float F32FromF16(float16_t f16) {
      |                                 ^~~~~~~~~~
In file included from ../numpy/_core/src/highway/hwy/highway.h:415,
                 from ../numpy/_core/src/highway/hwy/contrib/algo/copy-inl.h:28,
                 from ../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:98,
                 from ../numpy/_core/src/npysort/highway_qsort.dispatch.cpp:3:
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h: In instantiation of ‘hwy::N_NEON_WITHOUT_AES::VFromD<D> hwy::N_NEON_WITHOUT_AES::MinOfLanes(D, hwy::N_NEON_WITHOUT_AES::VFromD<D>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes > 1)>* <anonymous> = 0; hwy::N_NEON_WITHOUT_AES::VFromD<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>; hwy::N_NEON_WITHOUT_AES::TFromD<D> = double]’:
../numpy/_core/src/highway/hwy/contrib/sort/traits-inl.h:324:22:   required from ‘hwy::N_NEON_WITHOUT_AES::Vec<D> hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<T>::FirstOfLanes(D, hwy::N_NEON_WITHOUT_AES::Vec<D>, T*) const [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; T = double; hwy::N_NEON_WITHOUT_AES::Vec<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1685:28:   required from ‘void hwy::N_NEON_WITHOUT_AES::detail::PrintMinMax(D, Traits, const T*, size_t, T*) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1710:16:   required from ‘void hwy::N_NEON_WITHOUT_AES::detail::Recurse(D, Traits, T*, size_t, T*, uint64_t*, size_t) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int; uint64_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1900:20:   required from ‘void hwy::N_NEON_WITHOUT_AES::Sort(D, Traits, T*, size_t, T*) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1932:14:   required from ‘void hwy::N_NEON_WITHOUT_AES::Sort(D, Traits, T*, size_t) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1991:7:   required from ‘void hwy::N_NEON_WITHOUT_AES::VQSortStatic(T*, size_t, hwy::SortAscending) [with T = double; size_t = long unsigned int]’
../numpy/_core/src/npysort/highway_qsort.dispatch.cpp:29:69:   required from here
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7480:26: error: call of overloaded ‘ReduceMin(hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>&, hwy::N_NEON_WITHOUT_AES::VFromD<hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0> >&)’ is ambiguous
 7480 |   return Set(d, ReduceMin(d, v));
      |                 ~~~~~~~~~^~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7430:35: note: candidate: ‘hwy::float64_t hwy::N_NEON_WITHOUT_AES::ReduceMin(D, hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes == 2)>* <anonymous> = 0; hwy::float64_t = double]’
 7430 | HWY_NEON_DEF_REDUCTION_CORE_TYPES(ReduceMin, vminv)
      |                                   ^~~~~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7395:20: note: in definition of macro ‘HWY_NEON_DEF_REDUCTION’
 7395 |   HWY_API type##_t name(D /* tag */, Vec128<type##_t, size> v) {        \
      |                    ^~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7430:1: note: in expansion of macro ‘HWY_NEON_DEF_REDUCTION_CORE_TYPES’
 7430 | HWY_NEON_DEF_REDUCTION_CORE_TYPES(ReduceMin, vminv)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7445:19: note: candidate: ‘hwy::N_NEON_WITHOUT_AES::TFromD<D> hwy::N_NEON_WITHOUT_AES::ReduceMin(D, hwy::N_NEON_WITHOUT_AES::VFromD<D>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes == 2)>* <anonymous> = 0; hwy::N_NEON_WITHOUT_AES::TFromD<D> = double; hwy::N_NEON_WITHOUT_AES::VFromD<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>]’
 7445 | HWY_API TFromD<D> ReduceMin(D /* tag */, VFromD<D> v10) {
      |                   ^~~~~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h: In instantiation of ‘hwy::N_NEON_WITHOUT_AES::VFromD<D> hwy::N_NEON_WITHOUT_AES::MaxOfLanes(D, hwy::N_NEON_WITHOUT_AES::VFromD<D>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes > 1)>* <anonymous> = 0; hwy::N_NEON_WITHOUT_AES::VFromD<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>; hwy::N_NEON_WITHOUT_AES::TFromD<D> = double]’:
../numpy/_core/src/highway/hwy/contrib/sort/traits-inl.h:330:22:   required from ‘hwy::N_NEON_WITHOUT_AES::Vec<D> hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<T>::LastOfLanes(D, hwy::N_NEON_WITHOUT_AES::Vec<D>, T*) const [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; T = double; hwy::N_NEON_WITHOUT_AES::Vec<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1686:26:   required from ‘void hwy::N_NEON_WITHOUT_AES::detail::PrintMinMax(D, Traits, const T*, size_t, T*) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1710:16:   required from ‘void hwy::N_NEON_WITHOUT_AES::detail::Recurse(D, Traits, T*, size_t, T*, uint64_t*, size_t) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int; uint64_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1900:20:   required from ‘void hwy::N_NEON_WITHOUT_AES::Sort(D, Traits, T*, size_t, T*) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1932:14:   required from ‘void hwy::N_NEON_WITHOUT_AES::Sort(D, Traits, T*, size_t) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; Traits = hwy::N_NEON_WITHOUT_AES::detail::SharedTraits<hwy::N_NEON_WITHOUT_AES::detail::TraitsLane<hwy::N_NEON_WITHOUT_AES::detail::OrderAscending<double> > >; T = double; size_t = long unsigned int]’
../numpy/_core/src/highway/hwy/contrib/sort/vqsort-inl.h:1991:7:   required from ‘void hwy::N_NEON_WITHOUT_AES::VQSortStatic(T*, size_t, hwy::SortAscending) [with T = double; size_t = long unsigned int]’
../numpy/_core/src/npysort/highway_qsort.dispatch.cpp:29:69:   required from here
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7484:26: error: call of overloaded ‘ReduceMax(hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>&, hwy::N_NEON_WITHOUT_AES::VFromD<hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0> >&)’ is ambiguous
 7484 |   return Set(d, ReduceMax(d, v));
      |                 ~~~~~~~~~^~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7431:35: note: candidate: ‘hwy::float64_t hwy::N_NEON_WITHOUT_AES::ReduceMax(D, hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes == 2)>* <anonymous> = 0; hwy::float64_t = double]’
 7431 | HWY_NEON_DEF_REDUCTION_CORE_TYPES(ReduceMax, vmaxv)
      |                                   ^~~~~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7395:20: note: in definition of macro ‘HWY_NEON_DEF_REDUCTION’
 7395 |   HWY_API type##_t name(D /* tag */, Vec128<type##_t, size> v) {        \
      |                    ^~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7431:1: note: in expansion of macro ‘HWY_NEON_DEF_REDUCTION_CORE_TYPES’
 7431 | HWY_NEON_DEF_REDUCTION_CORE_TYPES(ReduceMax, vmaxv)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../numpy/_core/src/highway/hwy/ops/arm_neon-inl.h:7450:19: note: candidate: ‘hwy::N_NEON_WITHOUT_AES::TFromD<D> hwy::N_NEON_WITHOUT_AES::ReduceMax(D, hwy::N_NEON_WITHOUT_AES::VFromD<D>) [with D = hwy::N_NEON_WITHOUT_AES::Simd<double, 2, 0>; hwy::EnableIf<(D::kPrivateLanes == 2)>* <anonymous> = 0; hwy::N_NEON_WITHOUT_AES::TFromD<D> = double; hwy::N_NEON_WITHOUT_AES::VFromD<D> = hwy::N_NEON_WITHOUT_AES::Vec128<double, 2>]’
 7450 | HWY_API TFromD<D> ReduceMax(D /* tag */, VFromD<D> v10) {
      |                   ^~~~~~~~~
ninja: build stopped: subcommand failed.
ERROR Backend subprocess exited when trying to invoke build_wheel

A copy of this comment from the PR:

A search for that error comes up empty, however we haven't run these wheel builds in 1 months and 8 days I think (that was the last nightly upload for aarch64 to https://anaconda.org/scientific-python-nightly-wheels/numpy/files).

That last successful build was before the initial merge of highway_qsort (gh-24018), so this probably never worked in the wheel builds. @Mousius @seiko2plus does that error look familiar perhaps?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    00 - Bugcomponent: SIMDIssues in SIMD (fast instruction sets) code or machinery

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL