Thanks all for the valuable feedback. Here is the summary of the finalized RFC:
### Interface - When extracting auto_scheduler tasks, users simply call `extract_tasks`. - `extract_tasks` now has an optional flag `include_simple_task` (default `False`). When set, each Relay function, including the one with only injective ops, becomes an auto_scheduler task. * When building a model, users need to use `with tvm.transform.PassContext(config={"relay.backend.use_auto_scheduler": True})` to apply auto_scheduler tuning logs. ### Changes in Compile Engine - Compile engine checks `relay.backend.use_auto_scheduler` to determine whether to use auto_scheduler schedules. If true, then compile engine calls `auto_schedule_topi`. - In the task extraction mode, `auto_schedule_topi` extracts a task and returns an initial schedule. Since we are not going to actually compile the model in this mode, whether the initial schedule is valid doesn't matter. - In the build mode, `auto_schedule_topi` queries the auto_scheduler tuning log for the given workload. If success, then it returns the tuned schedule; otherwise it returns `None`. In this case, compile engine falls back to use TOPI schedule (with AutoTVM tuning logs if provided) for this workload to make sure it can be compiled and executed. As a result, mixing the use of auto_scheduler and AutoTVM schedules is also supported. The implementation is ready for review in the PR: https://github.com/apache/incubator-tvm/pull/6903 --- [Visit Topic](https://discuss.tvm.apache.org/t/rfc-a-general-task-extraction-mechanism-for-auto-scheduler/8444/16) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/e5b55f23fe8a5cf69415e0839345bb7b8b5123b929eccc019b028836681fb0fe).