riscv64 build is broken in `17.0.0`
[1992/4154] cd /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018 && /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018/li2018_demo_gradient.generator -n li2018_demo_gradient -d 0 -g demo -f demo -e c_header,object,registration -p /<<PKGBUILDDIR>>-build/build/stage-0/halide/src/autoschedulers/li2018/libautoschedule_li2018.so -o . target=riscv-64-linux-no_runtime autoscheduler=Li2018
FAILED: test/autoschedulers/li2018/li2018_demo_gradient.h test/autoschedulers/li2018/li2018_demo_gradient.o test/autoschedulers/li2018/li2018_demo_gradient.registration.cpp /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018/li2018_demo_gradient.h /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018/li2018_demo_gradient.o /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018/li2018_demo_gradient.registration.cpp
cd /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018 && /<<PKGBUILDDIR>>-build/build/stage-0/halide/test/autoschedulers/li2018/li2018_demo_gradient.generator -n li2018_demo_gradient -d 0 -g demo -f demo -e c_header,object,registration -p /<<PKGBUILDDIR>>-build/build/stage-0/halide/src/autoschedulers/li2018/libautoschedule_li2018.so -o . target=riscv-64-linux-no_runtime autoscheduler=Li2018
Unhandled exception: Error: No vector_bits was specified for RISCV codegen; this is almost certainly a mistake. You should add -rvv-vector_bits_N to your Target string, where N is the SIMD width in bits (e.g. 128).
https://buildd.debian.org/status/fetch.php?pkg=halide&arch=riscv64&ver=17.0.0-2&stamp=1708458881&raw=0
We don't have a RISC-V hosted build system on which to test a fix. If you'd like to offer a PR to fix this we can land it and backport it to the 17 branch.
I'm afraid i also don't have any way to test a fix other than putting it into that package :) But also, i don't know what the fix should be, so i was kinda hoping that the suspected fix could happen here first :)
backport it to the 17 branch.
BTW, it would be cool, but optional, if #8084/#8085 could be backported. Just less clutter on packaging side to deal with.
I think the issue here is that the test for the li2018 autoscheduler is generating vectorized code, but the RISCV backend needs explicit vector width support in its target string. The simplest fix is probably to disable the test in test/autoschedulers/li2018/CMakeLists.txt if the host system is RISCV... not sure the right way to detect that in CMake though.
Are any of the other tests suspect as well?
Sorry, I don't know.