[Meta Schedule] Some questions on search space

Hi, I’m exploring the MetaSchedule in TVM and having some problems with search space.

In the previous discussion on the search space of AutoSchedule https://discuss.tvm.apache.org/t/how-to-calculate-search-space-in-auto-scheduler-ansor/9141, it is said that there is no function for calculating the size of search space of AutoSchedule. Is that function still missing in MetaSchedule? I tried tvm.meta_schedule.SpaceGenerator.generate_design_space() and got a list of Schedules as a return. However, the tiling of the generated Schedule is always the same and only changes when regenerating the search space. It looks like the MetaSchedule is still generating on the fly.

From my understanding, design space traces are just the possible combinations of transformation primitives for a workload. If you want to calculate the number of possible schedules, you could multiply the number of possible transformation decisions for each instruction to get a rough estimate. I think that should work for SamplePerfectTile and SampleCategorical. Happy to be corrected if that’s wrong :slight_smile:

1 Like