Feeling confusion about some design decision on topi/arm_cpu/conv2d.py :
‘Direct’ and ‘Winograd’ methods are provided for conv without the popular ‘im2col’. Why?
Is there any theoretical or experimental conclusion on which is better in terms of efficiency?
If I want to try a new method for conv(e.g. im2col) and let auto-tvm do the best choice, what should I do except providing schedule template for the method?
I am not good at python , and the register mechanism in topi/autotvm seems hard for me. It will be nice if someone could make the process clear or provide some samples on it.
In ‘winograd’ method, why do we choose tile_size=4 instead of making it tunable? It seems that some other frameworks choose tile_size=6/2 for different shapes.