merrymercy commented on a change in pull request #6903:
URL: https://github.com/apache/incubator-tvm/pull/6903#discussion_r523802883
##########
File path: python/tvm/relay/op/strategy/cuda.py
##########
@@ -222,12 +218,11 @@ def conv2d_strategy_cuda(attrs, inputs, out_type, target):
# register auto-scheduler implementations
if judge_winograd_auto_scheduler:
- strategy.add_auto_scheduler(
- wrap_compute_conv2d(topi.nn.conv2d_winograd_nhwc),
name="conv2d_nhwc.winograd"
- )
- else:
- strategy.add_auto_scheduler(
- wrap_compute_conv2d(topi.nn.conv2d_nhwc),
name="conv2d_nhwc"
+ strategy.add_implementation(
+ wrap_compute_conv2d(topi.nn.conv2d_winograd_nhwc),
+ wrap_topi_schedule(tvm.te.create_schedule),
+ name="conv2d_nhwc.winograd",
+ plevel=10,
Review comment:
Both the plevel for `conv2d_nhwc.cuda` and `conv2d_nhwc.winograd` are 10.
Which one will auto-scheduler pick? Which one will autotvm pick?
We want the auto-scheduler to pick this Winograd compute if Winograd is
applicable.
We want autotvm to never pick this.
autotvm and auto-scheduler have different preferences. It seems that a
single plevel is not enough.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]