Closed Munksgaard closed 2 years ago
This is unrelated to the backend; we use the same fusion algorithm in all pipelines.
I actually vaguely remember that this is intentional. We changed the fusion algorithm to only perform horizontal fusion on SOACs that have overlapping inputs.
Yes, fixing it is straightforward. We'd just change the filter
here:
But is that what we want?
We discussed this yesterday and decided that the new fusion strategy is superior to the old overly-aggressive one.
The following code used to be fusable in the sequential (CPU) backend:
Running
futhark-0.21.2 dev --seq-mem foo.fut
results in just a single loop, whereas the latest master produces two loops.