Uh oh!
There was an error while loading. Please reload this page.
[ARM] Support NCHWc alter layout in the fallback mode - #10724
Conversation
| cfg = dispatch_ctx.query(target, workload) | ||
| if cfg.is_fallback: # if is fallback, clear query cache and return None | ||
| autotvm.task.clear_fallback_cache(target, workload) | ||
| return None |
There was a problem hiding this comment.
I hope it's safe to remove this. The x86 counterpart doesn't have thing like this.
There was a problem hiding this comment.
If I can pass the CI with this change, I assume it is safe.
There was a problem hiding this comment.
@Mousius - could you please look at this given you've recently been turning on topi tests on aarch64 ?
There was a problem hiding this comment.
I need to remove this code because it always makes alter_layout nop in the fallback mode. In contrast, in the x86 schedule, alter_layout always fires.
There was a problem hiding this comment.
The CI has passed. I found that Giuseppe's im2col based conv2d implementation can fail to tensorize in the fallback mode, so I partially restored the fallback return path above.
8acb02c to
a05d81fCompare
tkonolige
left a comment
There was a problem hiding this comment.
Overall looks good except for a few small changes.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
a05d81f to
0beacdfComparemasahi
commented
Mar 24, 2022
* [ARM] Support NCHWc alter layout in the fallback mode * remove fallback path * add test * fixed int32_lanes and add channel check * fixed schedule dispatch bug * add workaround fallback path for NHWC im2col based GEMM schedule * int32_lanes=4 by default * typo * update test
…ts matrix for arm_cpu NHWC quantized conv2d Fixed arm_cpu strategy bug which was causing tensorization errors when using the `AlterOpLayout` pass for the quantized NHWC conv2d schedules, as discovered in apache#10724. Therefore, we can now also enable the usage of `AlterOpLayout` for these schedules in order to transform the weight matrix at compile time, instead of runtime as before. I also modified the padding in `Conv2DGemmWeightTransformRel` and `interleave_transpose_weights` to reflect the changes made in apache#13669 and updated the AlterOpLayout tests accordingly.
…ts matrix for arm_cpu NHWC quantized conv2d (#15584) Fixed arm_cpu strategy bug which was causing tensorization errors when using the `AlterOpLayout` pass for the quantized NHWC conv2d schedules, as discovered in #10724. Therefore, we can now also enable the usage of `AlterOpLayout` for these schedules in order to transform the weight matrix at compile time, instead of runtime as before. I also modified the padding in `Conv2DGemmWeightTransformRel` and `interleave_transpose_weights` to reflect the changes made in #13669 and updated the AlterOpLayout tests accordingly.
I want to extract tuning tasks for ARM int8 tensorization. The current
alter_layoutcode intopi/arm_cpudoesn't fire in the fallback mode, which has been fixed in the PR.@tkonolige@comaniac