Skip to content
New issue

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

riscv64 build is broken in 17.0.0 #8114

Open
LebedevRI opened this issue Feb 20, 2024 · 6 comments
Open

riscv64 build is broken in 17.0.0 #8114

LebedevRI opened this issue Feb 20, 2024 · 6 comments
Assignees
Labels
backport me This change should be backported to release versions

Comments

@LebedevRI
Copy link
Contributor

[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

@steven-johnson
Copy link
Contributor

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.

@LebedevRI
Copy link
Contributor Author

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
Copy link
Contributor Author

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.

@steven-johnson
Copy link
Contributor

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 steven-johnson added the backport me This change should be backported to release versions label Feb 20, 2024
@LebedevRI
Copy link
Contributor Author

Are any of the other tests suspect as well?

@steven-johnson
Copy link
Contributor

Sorry, I don't know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport me This change should be backported to release versions
Projects
None yet
Development

No branches or pull requests

3 participants