The task 48 you post doesn’t have the unsupported reduction operator. Maybe it’s typo? This is the task 48 I got, and I am able to reproduce the error you got by tuning this task:
=== TASK 48 ===
placeholder = PLACEHOLDER [2]
placeholder_red()reduce(x*y)
This error looks like a bug or a limitation in the auto_scheduler to me (cc @jcf94 ).
I’ve filed a PR first to cover the above changes I made to get this point so that others can chime in:
main ← comaniac:ansor_vm
opened 11:56PM - 28 Dec 20 UTC
Discussion: https://discuss.tvm.apache.org/t/autoscheduler-and-vm/8750
Remain… ing issues to auto-schedule PyTorch Mask R-CNN but not handled in this PR:
1. There are still lots of extracted tasks only contain a shape_of op. This is because shape_of has TOpPattern kOpaque which is one target of auto_scheduler task extraction. The problem is other ops with this pattern may be tunable (e.g., softmax).
2. Although the source tensor of shape_of in Mask R-CNN has dynamic shape (e.g., (Any, 28, 28)), it cannot be detected by checking I/O tensors, because it has no input tensors, and the shape of its output tensor is (3,) which is static.
3. When extracting tasks for a NCHW model on x86, Conv2D NCHWc compute will be selected. However, we should provide the general NCHW compute to auto_scheduler for tuning.
cc @merrymercy @masahi @jcf94
In addition, here is the serialized task 48 and the script to reproduce the error:
https://gist.github.com/comaniac/b4695175fe4131745678b7d7073250c7
2 Likes