merrymercy opened a new pull request #6710: URL: https://github.com/apache/incubator-tvm/pull/6710
This pr implements the basic relay integration for auto-scheduler. ## How to integrate auto-scheduler in relay 1. register auto-scheduler as an implementation in the op strategy. We have a universal schedule function for all topi compute functions. 2. Use tracing to extract all tasks similar to autotvm. If auto-scheduler is enabled by `auto_scheduler.enable_relay_integration`, then auto-scheduler is always prefered to any other registered implementation. ## Limitation Ideally, we should be able to mix autotvm, auto-scheduler, and static libraries, then we can select the best implementation according to a profling records. However, this is not trivial to implement, because auto-scheduler works on a subgraph level while the current OpStrategy is designed for single operator level. The limitation of OpStrategy also makes auto-scheduler unable to support multiple compute declarations. For example, auto-scheduler cannot select direct vs. winograd based on profiling records, while autotvm can easilly do this. ## Minor todo - [ ] Add an API to disable the cache in relay compilation, so we can extract the weigths (i.e., the number of appearance) of each task for the task-scheduler. ---------------------------------------------------------------- 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]
