[AutoTVM] Can we make the split spaces of two axes dependent on each other?

As the title says. Example: suppose we want to have a 2D tile size < 8. The following code

cfg.define_split("split_x", num_outputs=2, policy="power2", filter=lambda x: x < 8)
xo, xi = cfg["split_x"].apply(s, Out, x)
cfg.define_split("split_y", num_outputs=2, filter=lambda x: x * cfg["split_x"].size[-1] < 8)
yo, yi = cfg["split_y"].apply(s, Out, y)

won’t work as it generates the tile size of [1,2,4] for both x and y, among which the combinations of [2,4], [4,2] and [4,4] are not what we want. Is there a way I can get only [1,1], [1,2], [1,4], [2,1], [2,2], [4,1]?

No, this is not supported in AutoTVM for now. Current AutoTVM can only creates grid tuning space, meaning that every knob is independent.

Got it. Thanks for the quick response!