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

TailStrategy RoundUp in inner split with a large split factor triggers compiler internal error #7768

Closed
TH3CHARLie opened this issue Aug 16, 2023 · 0 comments · Fixed by #7772
Labels

Comments

@TH3CHARLie
Copy link
Contributor

Repro code:

    Func input("input");
    Func blur_x("blur_x");
    Func blur_y("blur_y");
    Var x("x"), y("y");
    input(x, y) = x + y;
    blur_x(x, y) = (input(x - 1, y) + input(x, y) + input(x + 1, y)) / 3;
    blur_y(x, y) = (blur_x(x, y - 1) + blur_x(x, y) + blur_x(x, y + 1)) / 3;
    Var x_outer("x_outer"), x_inner("x_inner"), x_inner_outer("x_inner_outer"), x_inner_inner("x_inner_inner"), x_inner_inner_outer("x_inner_inner_outer"), x_inner_inner_inner("x_inner_inner_inner"), x_inner_inner_inner_outer("x_inner_inner_inner_outer"), x_inner_inner_inner_inner("x_inner_inner_inner_inner");
    blur_y.split(x, x_outer, x_inner, 4, TailStrategy::Predicate).split(x_inner, x_inner_outer, x_inner_inner, 2, TailStrategy::GuardWithIf).vectorize(x_inner_inner).split(x_inner_inner, x_inner_inner_outer, x_inner_inner_inner, 1, TailStrategy::RoundUp).split(x_inner_inner_inner, x_inner_inner_inner_outer, x_inner_inner_inner_inner, 8, TailStrategy::RoundUp);
    blur_x.compute_root();
    Pipeline p({blur_y});
    Buffer<int> buf = p.realize({width, height});

Triggers:

Internal Error at /home/xuanda/dev/Serializer/Halide/src/IR.cpp:760 triggered by user code at : Condition failed: 0 <= i && i < input_lanes: Shuffle vector index out of range: 9
abadams added a commit that referenced this issue Aug 17, 2023
TH3CHARLie added a commit to TH3CHARLie/Halide that referenced this issue Aug 17, 2023
@TH3CHARLie TH3CHARLie added the bug label Aug 21, 2023
abadams added a commit that referenced this issue Aug 22, 2023
* slice IRMatcher should only match on slices

Fixes #7768

* Add test
ardier pushed a commit to ardier/Halide-mutation that referenced this issue Mar 3, 2024
* slice IRMatcher should only match on slices

Fixes halide#7768

* Add test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant