tvm
Public Member Functions | Static Public Member Functions | List of all members
tvm::meta_schedule::TaskScheduler Class Reference

Managed reference to TaskSchedulerNode. More...

#include <task_scheduler.h>

Inheritance diagram for tvm::meta_schedule::TaskScheduler:
Collaboration diagram for tvm::meta_schedule::TaskScheduler:

Public Member Functions

 TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS (TaskScheduler, ObjectRef, TaskSchedulerNode)
 
- 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 TaskScheduler RoundRobin (Array< TuneContext > tasks, Builder builder, Runner runner, Database database)
 Create a task scheduler that fetches tasks in a round-robin fashion. More...
 
static TaskScheduler PyTaskScheduler (Array< TuneContext > tasks, Builder builder, Runner runner, Database database, PyTaskSchedulerNode::FTune f_tune, PyTaskSchedulerNode::FInitializeTask f_initialize_task, PyTaskSchedulerNode::FSetTaskStopped f_set_task_stopped, PyTaskSchedulerNode::FIsTaskRunning f_is_task_running, PyTaskSchedulerNode::FJoinRunningTask f_join_running_task, PyTaskSchedulerNode::FNextTaskId f_next_task_id)
 

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 TaskSchedulerNode.

See also
TaskSchedulerNode

Member Function Documentation

◆ PyTaskScheduler()

static TaskScheduler tvm::meta_schedule::TaskScheduler::PyTaskScheduler ( Array< TuneContext tasks,
Builder  builder,
Runner  runner,
Database  database,
PyTaskSchedulerNode::FTune  f_tune,
PyTaskSchedulerNode::FInitializeTask  f_initialize_task,
PyTaskSchedulerNode::FSetTaskStopped  f_set_task_stopped,
PyTaskSchedulerNode::FIsTaskRunning  f_is_task_running,
PyTaskSchedulerNode::FJoinRunningTask  f_join_running_task,
PyTaskSchedulerNode::FNextTaskId  f_next_task_id 
)
static

◆ RoundRobin()

static TaskScheduler tvm::meta_schedule::TaskScheduler::RoundRobin ( Array< TuneContext tasks,
Builder  builder,
Runner  runner,
Database  database 
)
static

Create a task scheduler that fetches tasks in a round-robin fashion.

Parameters
tasksThe tasks to be tuned.
builderThe builder of the scheduler.
runnerThe runner of the scheduler.
databaseThe database of the scheduler.

◆ TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS()

tvm::meta_schedule::TaskScheduler::TVM_DEFINE_MUTABLE_NOTNULLABLE_OBJECT_REF_METHODS ( TaskScheduler  ,
ObjectRef  ,
TaskSchedulerNode   
)

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