Skip to content

Commit 0d2340c

Browse files
author
Tristan Konolige
authored
[FIX,TOPI] Fix issue when running conv2d in autoscheduler (#9900)
conv_nchwc scheduling was missing a check on the type on inputs before it tried to apply pragmas to them.
1 parent 9160dc4 commit 0d2340c

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

python/tvm/topi/generic/conv2d.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,10 @@ def schedule_conv_NCHWc_cpu_common_int8(
143143
# only in autotuning, input data of conv2d_NCHWc will be 4-D.
144144
# skip this part during tuning to make records accurate.
145145
# this part will be folded during Relay fold_constant pass.
146-
s[data_vec].pragma(s[data_vec].op.axis[0], "debug_skip_region")
147-
s[kernel_vec].pragma(s[kernel_vec].op.axis[0], "debug_skip_region")
146+
if isinstance(data_vec.op, te.tensor.ComputeOp):
147+
s[data_vec].pragma(s[data_vec].op.axis[0], "debug_skip_region")
148+
if isinstance(kernel_vec.op, te.tensor.ComputeOp):
149+
s[kernel_vec].pragma(s[kernel_vec].op.axis[0], "debug_skip_region")
148150
elif isinstance(kernel_vec.op, te.tensor.ComputeOp) and kernel_vec.name == "kernel_vec":
149151
# data and kernel are not pre-computed, schedule layout transform here.
150152
# this should only be used by x86 conv2d_nchw, which is for
@@ -269,8 +271,10 @@ def schedule_conv_NCHWc_cpu_1x1_int8(
269271
# only in autotuning, input data of conv2d_NCHWc will be 4-D.
270272
# skip this part during tuning to make records accurate.
271273
# this part will be folded during Relay fold_constant pass.
272-
s[data_vec].pragma(s[data_vec].op.axis[0], "debug_skip_region")
273-
s[kernel_vec].pragma(s[kernel_vec].op.axis[0], "debug_skip_region")
274+
if isinstance(data_vec.op, te.tensor.ComputeOp):
275+
s[data_vec].pragma(s[data_vec].op.axis[0], "debug_skip_region")
276+
if isinstance(kernel_vec.op, te.tensor.ComputeOp):
277+
s[kernel_vec].pragma(s[kernel_vec].op.axis[0], "debug_skip_region")
274278
elif isinstance(kernel_vec.op, te.tensor.ComputeOp) and kernel_vec.name == "kernel_vec":
275279
# data and kernel are not pre-computed, schedule layout transform here.
276280
# this should only be used by x86 conv2d_nchw, which is for

0 commit comments

Comments
 (0)