tvm
|
The abstract interface of task schedulers. More...
#include <task_scheduler.h>
Public Member Functions | |
virtual | ~TaskSchedulerNode ()=default |
The default destructor. More... | |
void | VisitAttrs (tvm::AttrVisitor *v) |
virtual void | Tune () |
Auto-tuning. More... | |
virtual void | InitializeTask (int task_id) |
Initialize modules of the given task. More... | |
virtual void | TouchTask (int task_id) |
Touch the task and update its status. More... | |
virtual Array< RunnerResult > | JoinRunningTask (int task_id) |
Wait until the task is finished. More... | |
virtual int | NextTaskId ()=0 |
Fetch the next task id. 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) |
Public Attributes | |
Array< TuneContext > | tasks |
The tasks to be tuned. More... | |
Builder | builder {nullptr} |
The builder of the scheduler. More... | |
Runner | runner {nullptr} |
The runner of the scheduler. More... | |
Optional< Database > | database |
The database of the scheduler. More... | |
Optional< CostModel > | cost_model |
The cost model of the scheduler. More... | |
Array< MeasureCallback > | measure_callbacks |
The list of measure callbacks of the scheduler. More... | |
int | max_trials |
The maximum number of trials allowed. More... | |
int | num_trials_already |
The number of trials already conducted. More... | |
PackedFunc | logging_func |
The tuning task's logging function. t. More... | |
Static Public Attributes | |
static constexpr const char * | _type_key = "meta_schedule.TaskScheduler" |
![]() | |
static constexpr const char * | _type_key = "runtime.Object" |
static constexpr bool | _type_final = false |
static constexpr uint32_t | _type_child_slots = 0 |
static constexpr bool | _type_child_slots_can_overflow = true |
static constexpr bool | _type_has_method_visit_attrs = true |
static constexpr bool | _type_has_method_sequal_reduce = false |
static constexpr bool | _type_has_method_shash_reduce = false |
static constexpr uint32_t | _type_index = TypeIndex::kDynamic |
Additional Inherited Members | |
![]() | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
![]() | |
static std::string | TypeIndex2Key (uint32_t tindex) |
Get the type key of the corresponding index from runtime. More... | |
static size_t | TypeIndex2KeyHash (uint32_t tindex) |
Get the type key hash of the corresponding index from runtime. More... | |
static uint32_t | TypeKey2Index (const std::string &key) |
Get the type index of the corresponding key from runtime. More... | |
static uint32_t | _GetOrAllocRuntimeTypeIndex () |
static uint32_t | RuntimeTypeIndex () |
![]() | |
void | IncRef () |
developer function, increases reference counter. More... | |
void | DecRef () |
developer function, decrease reference counter. More... | |
![]() | |
static uint32_t | GetOrAllocRuntimeTypeIndex (const std::string &key, uint32_t static_tindex, uint32_t parent_tindex, uint32_t type_child_slots, bool type_child_slots_can_overflow) |
Get the type index using type key. More... | |
![]() | |
uint32_t | type_index_ {0} |
Type index(tag) that indicates the type of the object. More... | |
RefCounterType | ref_counter_ {0} |
The internal reference counter. More... | |
FDeleter | deleter_ = nullptr |
deleter of this object to enable customized allocation. If the deleter is nullptr, no deletion will be performed. The creator of the object must always set the deleter field properly. More... | |
The abstract interface of task schedulers.
|
virtualdefault |
The default destructor.
|
virtual |
Initialize modules of the given task.
task_id | The task id to be initialized. |
Reimplemented in tvm::meta_schedule::PyTaskSchedulerNode.
|
virtual |
Wait until the task is finished.
task_id | The task id to be joined. |
Reimplemented in tvm::meta_schedule::PyTaskSchedulerNode.
|
pure virtual |
Fetch the next task id.
Implemented in tvm::meta_schedule::PyTaskSchedulerNode.
|
virtual |
Touch the task and update its status.
task_id | The task id to be checked. |
Reimplemented in tvm::meta_schedule::PyTaskSchedulerNode.
|
virtual |
Auto-tuning.
Reimplemented in tvm::meta_schedule::PyTaskSchedulerNode.
tvm::meta_schedule::TaskSchedulerNode::TVM_DECLARE_BASE_OBJECT_INFO | ( | TaskSchedulerNode | , |
Object | |||
) |
|
inline |
|
static |
Builder tvm::meta_schedule::TaskSchedulerNode::builder {nullptr} |
The builder of the scheduler.
The cost model of the scheduler.
PackedFunc tvm::meta_schedule::TaskSchedulerNode::logging_func |
The tuning task's logging function. t.
int tvm::meta_schedule::TaskSchedulerNode::max_trials |
The maximum number of trials allowed.
Array<MeasureCallback> tvm::meta_schedule::TaskSchedulerNode::measure_callbacks |
The list of measure callbacks of the scheduler.
int tvm::meta_schedule::TaskSchedulerNode::num_trials_already |
The number of trials already conducted.
Runner tvm::meta_schedule::TaskSchedulerNode::runner {nullptr} |
The runner of the scheduler.
Array<TuneContext> tvm::meta_schedule::TaskSchedulerNode::tasks |
The tasks to be tuned.