tvm
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
tvm::meta_schedule::ScheduleRuleNode Class Referenceabstract

Rules to modify a block in a schedule. More...

#include <schedule_rule.h>

Inheritance diagram for tvm::meta_schedule::ScheduleRuleNode:
Collaboration diagram for tvm::meta_schedule::ScheduleRuleNode:

Public Member Functions

virtual ~ScheduleRuleNode ()=default
 Virtual destructor. More...
 
virtual void InitializeWithTuneContext (const TuneContext &context)=0
 Initialize the design space generator with tuning context. More...
 
virtual Array< tir::ScheduleApply (const tir::Schedule &sch, const tir::BlockRV &block)=0
 Apply a schedule rule to the specific block in the given schedule. More...
 
virtual ScheduleRule Clone () const =0
 Deep clone the schedule rule. More...
 
 TVM_DECLARE_BASE_OBJECT_INFO (ScheduleRuleNode, Object)
 

Static Public Member Functions

static void RegisterReflection ()
 

Static Public Attributes

static constexpr const char * _type_key = "meta_schedule.ScheduleRule"
 

Detailed Description

Rules to modify a block in a schedule.

Constructor & Destructor Documentation

◆ ~ScheduleRuleNode()

virtual tvm::meta_schedule::ScheduleRuleNode::~ScheduleRuleNode ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ Apply()

virtual Array<tir::Schedule> tvm::meta_schedule::ScheduleRuleNode::Apply ( const tir::Schedule sch,
const tir::BlockRV block 
)
pure virtual

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.

Implemented in tvm::meta_schedule::PyScheduleRuleNode.

◆ Clone()

virtual ScheduleRule tvm::meta_schedule::ScheduleRuleNode::Clone ( ) const
pure virtual

Deep clone the schedule rule.

Returns
The cloned schedule rule.

Implemented in tvm::meta_schedule::PyScheduleRuleNode.

◆ InitializeWithTuneContext()

virtual void tvm::meta_schedule::ScheduleRuleNode::InitializeWithTuneContext ( const TuneContext context)
pure virtual

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.

Implemented in tvm::meta_schedule::PyScheduleRuleNode.

◆ RegisterReflection()

static void tvm::meta_schedule::ScheduleRuleNode::RegisterReflection ( )
inlinestatic

◆ TVM_DECLARE_BASE_OBJECT_INFO()

tvm::meta_schedule::ScheduleRuleNode::TVM_DECLARE_BASE_OBJECT_INFO ( ScheduleRuleNode  ,
Object   
)

Member Data Documentation

◆ _type_key

constexpr const char* tvm::meta_schedule::ScheduleRuleNode::_type_key = "meta_schedule.ScheduleRule"
staticconstexpr

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