tvm
Public Member Functions | Static Public Member Functions | List of all members
tvm::tir::Schedule Class Reference

Managed reference to ScheduleNode. More...

#include <schedule.h>

Inheritance diagram for tvm::tir::Schedule:
Collaboration diagram for tvm::tir::Schedule:

Public Member Functions

 TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS (Schedule, runtime::ObjectRef, ScheduleNode)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Static Public Member Functions

static Schedule Concrete (IRModule mod, support::LinearCongruentialEngine::TRandState seed, int debug_mask, ScheduleErrorRenderLevel error_render_level, bool enable_check=true)
 Construct a concrete TensorIR schedule from an IRModule. More...
 
static Schedule Traced (IRModule mod, support::LinearCongruentialEngine::TRandState seed, int debug_mask, ScheduleErrorRenderLevel error_render_level, bool enable_check=true)
 Construct a traced concrete TensorIR schedule from an IRModule. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Managed reference to ScheduleNode.

A schedule is a set of transformations that change the order of computation but preserve the semantics of computation. Some example of schedules: 1) Split a loop into two; 2) Reorder two loops; 3) Inline the computation of a specific buffer into its consumer

The schedule class stores auxiliary information to schedule correctly and efficiently.

Link to tutorial: https://tvm.apache.org/docs/tutorials/language/schedule_primitives.html

See also
ScheduleNode

Member Function Documentation

◆ Concrete()

static Schedule tvm::tir::Schedule::Concrete ( IRModule  mod,
support::LinearCongruentialEngine::TRandState  seed,
int  debug_mask,
ScheduleErrorRenderLevel  error_render_level,
bool  enable_check = true 
)
static

Construct a concrete TensorIR schedule from an IRModule.

Parameters
modThe IRModule to be scheduled
seedThe seed value for schedule's random state
debug_maskDo extra correctness checking after the class creation and each time after calling the Replace method.
error_render_levelThe level of error rendering
enable_checkWhether to enable some prequisite checks for schedule primitives, it's user's duty to guarantee the schedule correctness if we disable the checks.
Returns
The concrete schedule created
See also
ScheduleDebugMask
Note
The checks performed includes: 1) VerifySRefTree 2) VerifyCachedFlags

◆ Traced()

static Schedule tvm::tir::Schedule::Traced ( IRModule  mod,
support::LinearCongruentialEngine::TRandState  seed,
int  debug_mask,
ScheduleErrorRenderLevel  error_render_level,
bool  enable_check = true 
)
static

Construct a traced concrete TensorIR schedule from an IRModule.

Parameters
modThe IRModule to be scheduled
seedThe seed value for schedule's random state
debug_maskDo extra correctness checking after the class creation and each time after calling the Replace method.
error_render_levelThe level of error rendering
enable_checkWhether to enable prequisite checks for schedule primitives.
Returns
The concrete schedule created
See also
ScheduleDebugMask
Note
The checks performed include: 1) VerifySRefTree 2) VerifyCachedFlags

◆ TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS()

tvm::tir::Schedule::TVM_DEFINE_MUTABLE_OBJECT_REF_METHODS ( Schedule  ,
runtime::ObjectRef  ,
ScheduleNode   
)

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