-
Couldn't load subscription status.
- Fork 1.1k
Open
Description
I believe there is a small mix-up here:
Halide/src/autoschedulers/adams2019/FunctionDAG.cpp
Lines 269 to 275 in c0b5b11
| for (size_t j = 0; j < stage.loop.size(); j++) { | |
| bool single_one = (ones_per_col[j] == 1) && (zeros_per_col[j] == args.size() - 1); | |
| bool all_zero = (zeros_per_col[j] == args.size()); | |
| is_transpose &= single_one || all_zero; | |
| is_broadcast &= single_one; | |
| is_slice &= single_one; | |
| } |
Halide/src/autoschedulers/anderson2021/FunctionDAG.cpp
Lines 267 to 273 in c0b5b11
| for (size_t j = 0; j < stage.loop.size(); j++) { | |
| bool single_one = (ones_per_col[j] == 1) && (zeros_per_col[j] == args.size() - 1); | |
| bool all_zero = (zeros_per_col[j] == args.size()); | |
| is_transpose &= single_one || all_zero; | |
| is_broadcast &= single_one; | |
| is_slice &= single_one; | |
| } |
The is_transpose flag should satisfy: single one per row AND single one per column.
And for is_broadcast it should be: single one per row AND (single one OR all zeros) per column.
Metadata
Metadata
Assignees
Labels
No labels