tvm
|
The schedule rule with customized methods on the python-side. More...
#include <schedule_rule.h>
Public Types | |
using | FInitializeWithTuneContext = runtime::TypedPackedFunc< void(const TuneContext &)> |
The function type of InitializeWithTuneContext method. More... | |
using | FApply = runtime::TypedPackedFunc< Array< tir::Schedule >(const tir::Schedule &, const tir::BlockRV &)> |
The function type of Apply method. More... | |
using | FAsString = runtime::TypedPackedFunc< String()> |
Get the schedule rule as string with name. More... | |
![]() | |
typedef void(* | FDeleter) (Object *self) |
Object deleter. More... | |
using | RefCounterType = std::atomic< int32_t > |
Public Member Functions | |
void | VisitAttrs (tvm::AttrVisitor *v) |
void | InitializeWithTuneContext (const TuneContext &context) final |
Initialize the design space generator with tuning context. More... | |
Array< tir::Schedule > | Apply (const tir::Schedule &sch, const tir::BlockRV &block) final |
Apply a schedule rule to the specific block in the given schedule. More... | |
TVM_DECLARE_FINAL_OBJECT_INFO (PyScheduleRuleNode, ScheduleRuleNode) | |
![]() | |
virtual | ~ScheduleRuleNode ()=default |
Virtual destructor. More... | |
void | VisitAttrs (tvm::AttrVisitor *v) |
TVM_DECLARE_BASE_OBJECT_INFO (ScheduleRuleNode, 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 | |
FInitializeWithTuneContext | f_initialize_with_tune_context |
The packed function to the InitializeWithTuneContext function. More... | |
FApply | f_apply |
The packed function to the Apply function. More... | |
FAsString | f_as_string |
The packed function to the AsString function. More... | |
Static Public Attributes | |
static constexpr const char * | _type_key = "meta_schedule.PyScheduleRule" |
![]() | |
static constexpr const char * | _type_key = "meta_schedule.ScheduleRule" |
![]() | |
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 schedule rule with customized methods on the python-side.
using tvm::meta_schedule::PyScheduleRuleNode::FApply = runtime::TypedPackedFunc<Array<tir::Schedule>(const tir::Schedule&, const tir::BlockRV&)> |
The function type of Apply
method.
sch | The schedule to be modified. |
block | The specific block to apply the schedule rule. |
Get the schedule rule as string with name.
using tvm::meta_schedule::PyScheduleRuleNode::FInitializeWithTuneContext = runtime::TypedPackedFunc<void(const TuneContext&)> |
The function type of InitializeWithTuneContext
method.
context | The tuning context for initialization. |
|
finalvirtual |
Apply a schedule rule to the specific block in the given schedule.
sch | The schedule to be modified. |
block | The specific block to apply the schedule rule. |
Implements tvm::meta_schedule::ScheduleRuleNode.
|
finalvirtual |
Initialize the design space generator with tuning context.
context | The tuning context for initialization. |
Implements tvm::meta_schedule::ScheduleRuleNode.
tvm::meta_schedule::PyScheduleRuleNode::TVM_DECLARE_FINAL_OBJECT_INFO | ( | PyScheduleRuleNode | , |
ScheduleRuleNode | |||
) |
|
inline |
|
static |
FApply tvm::meta_schedule::PyScheduleRuleNode::f_apply |
The packed function to the Apply
function.
FAsString tvm::meta_schedule::PyScheduleRuleNode::f_as_string |
The packed function to the AsString
function.
FInitializeWithTuneContext tvm::meta_schedule::PyScheduleRuleNode::f_initialize_with_tune_context |
The packed function to the InitializeWithTuneContext
function.