tvm
|
The schedule rule with customized methods on the python-side. More...
#include <schedule_rule.h>
Public Types | |
using | FInitializeWithTuneContext = ScheduleRule::FInitializeWithTuneContext |
using | FApply = ScheduleRule::FApply |
using | FClone = ScheduleRule::FClone |
using | FAsString = ScheduleRule::FAsString |
![]() | |
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... | |
ScheduleRule | Clone () const final |
Deep clone the schedule rule. 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... | |
FClone | f_clone |
The packed function to the Clone 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::FInitializeWithTuneContext = ScheduleRule::FInitializeWithTuneContext |
|
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 |
Deep clone 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 |
|
staticconstexpr |
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.
FClone tvm::meta_schedule::PyScheduleRuleNode::f_clone |
The packed function to the Clone
function.
FInitializeWithTuneContext tvm::meta_schedule::PyScheduleRuleNode::f_initialize_with_tune_context |
The packed function to the InitializeWithTuneContext
function.