Open sh1boot opened 9 months ago
Hello! Thanks for reporting. However, DFT is not officially supported yet for Risc-V. It is currently work in progress (#496) and it certainly isn't tested yet. @luhenry is currently looking into #496
Yeah, I'm doing that RISCV stuff now. The trouble is that when I test with a 1024-bit wide vector register the code I linked to stops making sense.
If
measure()
fails here: https://github.com/shibatch/sleef/blob/ecb89367eb943287d0b82655379ea3344ec2a871/src/dft/dft.c#L1041then the init function falls into this loop, but makes no progress (
N
is always zero solength
never decreases): https://github.com/shibatch/sleef/blob/ecb89367eb943287d0b82655379ea3344ec2a871/src/dft/dft.c#L1222-L1233AFAICT it's
measure()
which is responsible for filling inp->bestPath
, so if it fails I'm not sure what is meant to happen here.I get it failing when I set qemu to emulate hardware with 1024-bit vector length on RISCV when running
naivetestsp 10
, but that code is not merged. Maybe it can also be reproducible with qemu and SVE.I'm not sure why the earlier functions fail when the hardware is unusually wide, but since there's a code path that does something when they do I suppose it's a thing that's expected to happen.