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 >
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 

Static Public Member Functions

static Schedule Concrete (IRModule mod, support::LinearCongruentialEngine::TRandState seed, int debug_mask, ScheduleErrorRenderLevel error_render_level)
 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)
 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 
)
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
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 
)
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
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: