tvm
|
The task scheduler with customized methods on the python-side. More...
#include <task_scheduler.h>
Public Types | |
using | FNextTaskId = runtime::TypedPackedFunc< int()> |
The function type of NextTaskId method. More... | |
using | FJoinRunningTask = runtime::TypedPackedFunc< Array< RunnerResult >(int)> |
The function type of JoinRunningTask method. More... | |
using | FTune = runtime::TypedPackedFunc< void(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)> |
The function type of Tune method. More... | |
Public Types inherited from tvm::runtime::Object | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
Public Member Functions | |
void | VisitAttrs (tvm::AttrVisitor *v) |
int | NextTaskId () final |
Fetch the next task id. More... | |
Array< RunnerResult > | JoinRunningTask (int task_id) final |
Wait until the task is finished. More... | |
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) final |
Jointly tune a given list of tasks. More... | |
TVM_DECLARE_FINAL_OBJECT_INFO (PyTaskSchedulerNode, TaskSchedulerNode) | |
Public Member Functions inherited from tvm::meta_schedule::TaskSchedulerNode | |
virtual | ~TaskSchedulerNode ()=default |
The default destructor. More... | |
void | VisitAttrs (tvm::AttrVisitor *v) |
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) | |
Public Member Functions inherited from tvm::runtime::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 | |
FNextTaskId | f_next_task_id |
The packed function to the NextTaskId function. More... | |
FJoinRunningTask | f_join_running_task |
The packed function to the JoinRunningTask function. More... | |
FTune | f_tune |
The packed function to the Tune function. More... | |
Public Attributes inherited from tvm::meta_schedule::TaskSchedulerNode | |
PackedFunc | logger |
The tuning task's logging function. More... | |
Array< TaskRecord > | tasks_ |
Records for each task. More... | |
Array< MeasureCallback > | measure_callbacks_ |
The list of measure callbacks of the scheduler. More... | |
Optional< Database > | database_ |
The database used in tuning. More... | |
Optional< CostModel > | cost_model_ |
The cost model used in tuning. More... | |
int | remaining_tasks_ |
The number of remaining tasks to be tuned. More... | |
Static Public Attributes | |
static constexpr const char * | _type_key = "meta_schedule.PyTaskScheduler" |
Static Public Attributes inherited from tvm::meta_schedule::TaskSchedulerNode | |
static constexpr const char * | _type_key = "meta_schedule.TaskScheduler" |
Static Public Attributes inherited from tvm::runtime::Object | |
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 Public Member Functions inherited from tvm::runtime::Object | |
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 () |
Protected Member Functions inherited from tvm::runtime::Object | |
void | IncRef () |
developer function, increases reference counter. More... | |
void | DecRef () |
developer function, decrease reference counter. More... | |
Static Protected Member Functions inherited from tvm::runtime::Object | |
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... | |
Protected Attributes inherited from tvm::runtime::Object | |
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::FJoinRunningTask = runtime::TypedPackedFunc<Array<RunnerResult>(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::FTune = runtime::TypedPackedFunc<void(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)> |
The function type of Tune
method.
|
finalvirtual |
Wait until the task is finished.
task_id | The task id to be joined. |
Reimplemented from tvm::meta_schedule::TaskSchedulerNode.
|
finalvirtual |
|
finalvirtual |
Jointly tune a given list of tasks.
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 from tvm::meta_schedule::TaskSchedulerNode.
tvm::meta_schedule::PyTaskSchedulerNode::TVM_DECLARE_FINAL_OBJECT_INFO | ( | PyTaskSchedulerNode | , |
TaskSchedulerNode | |||
) |
|
inline |
|
staticconstexpr |
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.
FTune tvm::meta_schedule::PyTaskSchedulerNode::f_tune |
The packed function to the Tune
function.