Halide icon indicating copy to clipboard operation
Halide copied to clipboard

riscv64 build is broken in `17.0.0`

Open LebedevRI opened this issue 1 year ago • 6 comments

[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

LebedevRI avatar Feb 20 '24 20:02 LebedevRI

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.

steven-johnson avatar Feb 20 '24 20:02 steven-johnson

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 :)

LebedevRI avatar Feb 20 '24 21:02 LebedevRI

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.

LebedevRI avatar Feb 20 '24 21:02 LebedevRI

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.

steven-johnson avatar Feb 20 '24 22:02 steven-johnson

Are any of the other tests suspect as well?

LebedevRI avatar Feb 20 '24 22:02 LebedevRI

Sorry, I don't know.

steven-johnson avatar Feb 20 '24 22:02 steven-johnson