zxybazh opened a new pull request #9154:
URL: https://github.com/apache/tvm/pull/9154


   This PR is part of the stage M3a of the meta schedule project (#8473).
   
   The architecture is re-designed by Junru and Xiyou. `TaskScheduler` is 
designed to manage the whole meta schedule auto tuning process. We implemented 
a round-robin fashion based task scheduler as default but allow flexibility by 
customizing the function to fetch next task. Task Scheduler is also designed to 
asynchronously run measure candidate generation and measurement.
   
   A simplified workflow is as follows for how classes are passed.
   
   ```
         ┌──────────────────────────────────────────────────────────────┐
      ┌──┴───────────────────────────────────────────────────────────┐  │
   ┌──┴────────────────── Tune Context ───────────────────────────┐  │  │
   │                ┌─────────────────────┐                       │  │  │
   │                │                     │   Generate            │  │  │
   │                │   Space Generator   ├──────────────┐        │  │  │
   │                │                     │              │        │  │  │
   │                └─────────────────────┘              ▼        │  │  │
   │                                                Design Space  │  │  │
   │                ┌─────────────────────┐              │        │  │  │
   │      Generate  │                     │   Pretuning  │        │  │  │
   │    ┌───────────┤   Search Strategy   │◄─────────────┘        │  │  │
   │    │           │                     │                       │  ├──┘
   │    │           └─────────────────────┘                       ├──┘
   └────┼─────────────────────────────────────────────────────────┘
        │
        │
   ┌────┼──────────────── Managed By Task Scheduler ─────────────────────┐
   │    │                                 ┌───────────┐                  │
   │    │                      Send to    │           │  Send to         │
   │    ▼                  ┌─────────────►│  Builder  ├──────────┐       │
   │ Measure Candidate     │   Builder    │           │  Runner  │       │
   │    │                  │              └───────────┘          │       │
   │    │     ┌────────────┴────────┐                            │       │
   │    │     │                     │     ┌───────────┐          │       │
   │    └────►│   Task Scheduler    │     │           │          │       │
   │          │                     │     │  Runner   │◄─────────┘       │
   │          └─────────────────────┘     │           │                  │
   │                   ▲                  └─────┬─────┘                  │
   │                   │                        │                        │
   │                   └───  Runner Future ◄────┘                        │
   └─────────────────────────────────────────────────────────────────────┘
   ```
   
   Co-authored-by: Junru Shao <<[email protected]>>
   Co-authored-by: Bohan Hou 
<<[email protected]>>
   Co-authored-by: Ruihang Lai <<[email protected]>>
   Co-authored-by: Hongyi Jin <<[email protected]>>
   Co-authored-by: Wuwei Lin <<[email protected]>>
   Co-authored-by: Siyuan Feng <<[email protected]>>


-- 
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.

To unsubscribe, e-mail: [email protected]

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


Reply via email to