moderato opened a new issue #5809:
URL: https://github.com/apache/incubator-tvm/issues/5809


   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!


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to