tvm
|
The task scheduler with customized methods on the python-side. More...
#include <task_scheduler.h>
Public Types | |
using | FTune = runtime::TypedPackedFunc< void()> |
The function type of Tune method. More... | |
using | FInitializeTask = runtime::TypedPackedFunc< void(int)> |
The function type of InitializeTask method. More... | |
using | FSetTaskStopped = runtime::TypedPackedFunc< void(int)> |
The function type of SetTaskStopped method. More... | |
using | FIsTaskRunning = runtime::TypedPackedFunc< bool(int)> |
The function type of IsTaskRunning method. More... | |
using | FJoinRunningTask = runtime::TypedPackedFunc< void(int)> |
The function type of JoinRunningTask method. More... | |
using | FNextTaskId = runtime::TypedPackedFunc< int()> |
The function type of NextTaskId method. More... | |
![]() | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
Public Member Functions | |
void | VisitAttrs (tvm::AttrVisitor *v) |
void | Tune () final |
Auto-tuning. More... | |
void | InitializeTask (int task_id) final |
Initialize modules of the given task. More... | |
void | SetTaskStopped (int task_id) final |
Set specific task to be stopped. More... | |
bool | IsTaskRunning (int task_id) final |
Check whether the task is running. More... | |
void | JoinRunningTask (int task_id) final |
Wait until the task is finished. More... | |
int | NextTaskId () final |
Fetch the next task id. More... | |
TVM_DECLARE_FINAL_OBJECT_INFO (PyTaskSchedulerNode, TaskSchedulerNode) | |
![]() | |
virtual | ~TaskSchedulerNode ()=default |
The default desctructor. More... | |
void | VisitAttrs (tvm::AttrVisitor *v) |
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 | |
FTune | f_tune |
The packed function to the Tune funcion. More... | |
FInitializeTask | f_initialize_task |
The packed function to the InitializeTask funcion. More... | |
FSetTaskStopped | f_set_task_stopped |
The packed function to the SetTaskStopped function. More... | |
FIsTaskRunning | f_is_task_running |
The packed function to the IsTaskRunning function. More... | |
FJoinRunningTask | f_join_running_task |
The packed function to the JoinRunningTask function. More... | |
FNextTaskId | f_next_task_id |
The packed function to the NextTaskId function. More... | |
![]() | |
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... | |
Database | database {nullptr} |
The database of the scheduler. More... | |
Static Public Attributes | |
static constexpr const char * | _type_key = "meta_schedule.PyTaskScheduler" |
![]() | |
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 | |
![]() | |
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 task scheduler with customized methods on the python-side.
using tvm::meta_schedule::PyTaskSchedulerNode::FInitializeTask = runtime::TypedPackedFunc<void(int)> |
The function type of InitializeTask
method.
using tvm::meta_schedule::PyTaskSchedulerNode::FIsTaskRunning = runtime::TypedPackedFunc<bool(int)> |
The function type of IsTaskRunning
method.
task_id | The task id to be checked. |
using tvm::meta_schedule::PyTaskSchedulerNode::FJoinRunningTask = runtime::TypedPackedFunc<void(int)> |
The function type of JoinRunningTask
method.
task_id | The task id to be joined. |
The function type of NextTaskId
method.
using tvm::meta_schedule::PyTaskSchedulerNode::FSetTaskStopped = runtime::TypedPackedFunc<void(int)> |
The function type of SetTaskStopped
method.
task_id | The task id to be stopped. |
The function type of Tune
method.
|
inlinefinalvirtual |
Initialize modules of the given task.
task_id | The task id to be initialized. |
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
|
inlinefinalvirtual |
Check whether the task is running.
task_id | The task id to be checked. |
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
|
inlinefinalvirtual |
Wait until the task is finished.
task_id | The task id to be joined. |
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
|
inlinefinalvirtual |
|
inlinefinalvirtual |
Set specific task to be stopped.
task_id | The task id to be stopped. |
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
|
inlinefinalvirtual |
Auto-tuning.
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
tvm::meta_schedule::PyTaskSchedulerNode::TVM_DECLARE_FINAL_OBJECT_INFO | ( | PyTaskSchedulerNode | , |
TaskSchedulerNode | |||
) |
|
inline |
|
static |
FInitializeTask tvm::meta_schedule::PyTaskSchedulerNode::f_initialize_task |
The packed function to the InitializeTask
funcion.
FIsTaskRunning tvm::meta_schedule::PyTaskSchedulerNode::f_is_task_running |
The packed function to the IsTaskRunning
function.
FJoinRunningTask tvm::meta_schedule::PyTaskSchedulerNode::f_join_running_task |
The packed function to the JoinRunningTask
function.
FNextTaskId tvm::meta_schedule::PyTaskSchedulerNode::f_next_task_id |
The packed function to the NextTaskId
function.
FSetTaskStopped tvm::meta_schedule::PyTaskSchedulerNode::f_set_task_stopped |
The packed function to the SetTaskStopped
function.
FTune tvm::meta_schedule::PyTaskSchedulerNode::f_tune |
The packed function to the Tune
funcion.