Open
Description
Options:
- Raise a warning (least appealing)
- Have in a linter
- Throw an error (require at least one explicit
.inline()
oroutput.compute_root()
to override) - Have a built-in simple autoscheduler that's
-O0
or-O1
- Should always be trivial to run on any pipeline in any context with no extra work
- Don't use the complex autoscheduler plugin interface
- Don't require estimates
- Don't require loading modules
- Don't require generators
- Test aggressively to be sure it is robust to any input
- Call it something different than "autoscheduler" to set clear expectations
Pipeline::trivial_schedule
(orschedule_trivially
)Pipeline::default_schedule
- Should always be trivial to run on any pipeline in any context with no extra work
Discussed with @abadams, @BachiLi, @derek-gerstmann, @TH3CHARLie. I lean towards combining options (3) & (4): error, plus an easy default way to get past it by calling output.trivial_schedule()
.