[Solved] Floor or ceiling


#1

in topi conv2d implementation I keep seeing the floor ("//") is using to break the size into tiles like
this one

# fetch schedule
ic_bn, oc_bn = cfg["tile_ic"].size[-1], cfg["tile_oc"].size[-1]

shape = (batch_size, in_channel // ic_bn, pad_height, ic_bn, pad_width)
data_vec = tvm.compute(shape,
                       lambda n, C, h, c, w: data_pad[n, C * ic_bn + c, h, w],
                       name='data_vec')

Apparently it worked but could anyone explain why all in_channel is covered? obviously ic_bn * (in_channel // ic_bn) will be smaller than in_channel, right?


#2

I think I know why. “shape” starts from the inner loop in Halide