The abstract interface of task schedulers.
More...
#include <task_scheduler.h>
|
| virtual | ~TaskSchedulerNode ()=default |
| | The default destructor. More...
|
| |
| void | VisitAttrs (tvm::AttrVisitor *v) |
| |
| virtual int | NextTaskId ()=0 |
| | Fetch the next task id. More...
|
| |
| virtual Array< RunnerResult > | JoinRunningTask (int task_id) |
| | Wait until the task is finished. More...
|
| |
| virtual void | Tune (Array< TuneContext > tasks, Array< FloatImm > task_weights, int max_trials_global, int max_trials_per_task, int num_trials_per_iter, Builder builder, Runner runner, Array< MeasureCallback > measure_callbacks, Optional< Database > database, Optional< CostModel > cost_model) |
| | Jointly tune a given list of tasks. More...
|
| |
| void | TerminateTask (int task_id) |
| | Terminate a task. More...
|
| |
| void | TouchTask (int task_id) |
| | Touch the task and update its status. More...
|
| |
| void | PrintTuningStatistics () |
| | Print out a human-readable format of the tuning statistics. More...
|
| |
| | TVM_DECLARE_BASE_OBJECT_INFO (TaskSchedulerNode, Object) |
| |
| uint32_t | type_index () const |
| |
| std::string | GetTypeKey () const |
| |
| size_t | GetTypeKeyHash () const |
| |
| template<typename TargetType > |
| bool | IsInstance () const |
| |
| bool | unique () const |
| |
| | Object () |
| |
| | Object (const Object &other) |
| |
| | Object (Object &&other) |
| |
| Object & | operator= (const Object &other) |
| |
| Object & | operator= (Object &&other) |
| |
The abstract interface of task schedulers.
- Note
- The relationship between SpaceGenerator and other classes are as follows: ┌──────────────────────────────────────────────────────────────┐ ┌──┴───────────────────────────────────────────────────────────┐ │ ┌──┴────────────────── 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 ◄────┘ │ └─────────────────────────────────────────────────────────────────────┘
◆ ~TaskSchedulerNode()
| virtual tvm::meta_schedule::TaskSchedulerNode::~TaskSchedulerNode |
( |
| ) |
|
|
virtualdefault |
◆ JoinRunningTask()
| virtual Array<RunnerResult> tvm::meta_schedule::TaskSchedulerNode::JoinRunningTask |
( |
int |
task_id | ) |
|
|
virtual |
◆ NextTaskId()
| virtual int tvm::meta_schedule::TaskSchedulerNode::NextTaskId |
( |
| ) |
|
|
pure virtual |
◆ PrintTuningStatistics()
| void tvm::meta_schedule::TaskSchedulerNode::PrintTuningStatistics |
( |
| ) |
|
Print out a human-readable format of the tuning statistics.
◆ TerminateTask()
| void tvm::meta_schedule::TaskSchedulerNode::TerminateTask |
( |
int |
task_id | ) |
|
Terminate a task.
- Parameters
-
| task_id | The id of the task to be terminated |
◆ TouchTask()
| void tvm::meta_schedule::TaskSchedulerNode::TouchTask |
( |
int |
task_id | ) |
|
Touch the task and update its status.
- Parameters
-
| task_id | The task id to be checked. |
◆ Tune()
Jointly tune a given list of tasks.
- Parameters
-
| tasks | The tasks to be tuned |
| task_weights | The weight of each task |
| max_trials_global | The maximum number of trials to be performed globally |
| max_trials_per_task | The maximum number of trials to be performed for each task |
| num_trials_per_iter | The number of trials to be performed in each iteration |
| builder | The MetaSchedule builder |
| runner | The MetaSchedule runner |
| measure_callbacks | The callbacks to be called after each measurement |
| database | The database used in tuning |
| cost_model | The cost model used in tuning |
Reimplemented in tvm::meta_schedule::PyTaskSchedulerNode.
◆ TVM_DECLARE_BASE_OBJECT_INFO()
◆ VisitAttrs()
◆ _type_key
| constexpr const char* tvm::meta_schedule::TaskSchedulerNode::_type_key = "meta_schedule.TaskScheduler" |
|
static |
◆ cost_model_
The cost model used in tuning.
◆ database_
The database used in tuning.
◆ logger
| PackedFunc tvm::meta_schedule::TaskSchedulerNode::logger |
The tuning task's logging function.
◆ measure_callbacks_
The list of measure callbacks of the scheduler.
◆ remaining_tasks_
| int tvm::meta_schedule::TaskSchedulerNode::remaining_tasks_ |
The number of remaining tasks to be tuned.
◆ tasks_
The documentation for this class was generated from the following file: