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