Hello! I find that non-square ConfigSpace might be critical to a project I'm 
working on, while currently this is not supported. By `non-square` I mean the 
scheduling of one axis has a constraint that is also relying on another axis. 
For example, if we have a sample code like:
```
cfg.define_split('split_x', X, num_outputs=2, policy='factors')
cfg.define_split('split_y', Y, num_outputs=2, policy='factors')
cfg['split_x'].apply(s, A, X)
cfg['split_y'].apply(s, A, Y)
```
and if we want to limit the inner block size to be less or equal to 64, then we 
have a constraint
```
cfg['split_x'].size[-1] * cfg['split_y'].size[-1] <= 64
```
We cannot simply pass this constraint as `cfg.define_split(..., filter=...)`, 
so I'm seeking a solution for this. My current plan is to leave the 
instantiation of `xxxSpace`, e.g. `SplitSpace`, `ReorderSpace` unchanged and 
add constraints `ConfigSpace` so that only valid parameters under these 
constraints will be returned when queried. I see there's a `_constaints` 
variable in `ConfigEntity` but it seems not been used anywhere. Should I get 
started from here?

Any suggestions are much appreciated!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/5809

Reply via email to