tvm
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::meta_schedule::PyScheduleRuleNode Class Reference

The schedule rule with customized methods on the python-side. More...

#include <schedule_rule.h>

Inheritance diagram for tvm::meta_schedule::PyScheduleRuleNode:
Collaboration diagram for tvm::meta_schedule::PyScheduleRuleNode:

Public Types

using FInitializeWithTuneContext = ScheduleRule::FInitializeWithTuneContext
 
using FApply = ScheduleRule::FApply
 
using FClone = ScheduleRule::FClone
 
using FAsString = ScheduleRule::FAsString
 
- 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)
 
void InitializeWithTuneContext (const TuneContext &context) final
 Initialize the design space generator with tuning context. More...
 
Array< tir::ScheduleApply (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)
 
- Public Member Functions inherited from tvm::meta_schedule::ScheduleRuleNode
virtual ~ScheduleRuleNode ()=default
 Virtual destructor. More...
 
void VisitAttrs (tvm::AttrVisitor *v)
 
 TVM_DECLARE_BASE_OBJECT_INFO (ScheduleRuleNode, 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)
 
Objectoperator= (const Object &other)
 
Objectoperator= (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 Public Attributes inherited from tvm::meta_schedule::ScheduleRuleNode
static constexpr const char * _type_key = "meta_schedule.ScheduleRule"
 
- 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...
 

Detailed Description

The schedule rule with customized methods on the python-side.

Member Typedef Documentation

◆ FApply

◆ FAsString

◆ FClone

◆ FInitializeWithTuneContext

Member Function Documentation

◆ Apply()

Array<tir::Schedule> tvm::meta_schedule::PyScheduleRuleNode::Apply ( const tir::Schedule sch,
const tir::BlockRV block 
)
finalvirtual

Apply a schedule rule to the specific block in the given schedule.

Parameters
schThe schedule to be modified.
blockThe specific block to apply the schedule rule.
Returns
The list of schedules generated by applying the schedule rule.

Implements tvm::meta_schedule::ScheduleRuleNode.

◆ Clone()

ScheduleRule tvm::meta_schedule::PyScheduleRuleNode::Clone ( ) const
finalvirtual

Deep clone the schedule rule.

Returns
The cloned schedule rule.

Implements tvm::meta_schedule::ScheduleRuleNode.

◆ InitializeWithTuneContext()

void tvm::meta_schedule::PyScheduleRuleNode::InitializeWithTuneContext ( const TuneContext context)
finalvirtual

Initialize the design space generator with tuning context.

Parameters
contextThe tuning context for initialization.
Note
This method is supposed to be called only once before every other method.

Implements tvm::meta_schedule::ScheduleRuleNode.

◆ TVM_DECLARE_FINAL_OBJECT_INFO()

tvm::meta_schedule::PyScheduleRuleNode::TVM_DECLARE_FINAL_OBJECT_INFO ( PyScheduleRuleNode  ,
ScheduleRuleNode   
)

◆ VisitAttrs()

void tvm::meta_schedule::PyScheduleRuleNode::VisitAttrs ( tvm::AttrVisitor v)
inline

Member Data Documentation

◆ _type_key

constexpr const char* tvm::meta_schedule::PyScheduleRuleNode::_type_key = "meta_schedule.PyScheduleRule"
staticconstexpr

◆ f_apply

FApply tvm::meta_schedule::PyScheduleRuleNode::f_apply

The packed function to the Apply function.

◆ f_as_string

FAsString tvm::meta_schedule::PyScheduleRuleNode::f_as_string

The packed function to the AsString function.

◆ f_clone

FClone tvm::meta_schedule::PyScheduleRuleNode::f_clone

The packed function to the Clone function.

◆ f_initialize_with_tune_context

FInitializeWithTuneContext tvm::meta_schedule::PyScheduleRuleNode::f_initialize_with_tune_context

The packed function to the InitializeWithTuneContext function.


The documentation for this class was generated from the following file: