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)
 

Static Public Member Functions

static TaskScheduler RoundRobin (ffi::Function logger)
 Create a task scheduler that fetches tasks in a round-robin fashion. More...
 
static TaskScheduler GradientBased (ffi::Function logger, double alpha, int window_size, support::LinearCongruentialEngine::TRandState seed)
 Create a task scheduler that fetches tasks in a gradient based fashion. More...
 
static TaskScheduler PyTaskScheduler (ffi::Function logger, PyTaskSchedulerNode::FNextTaskId f_next_task_id, PyTaskSchedulerNode::FJoinRunningTask f_join_running_task, PyTaskSchedulerNode::FTune f_tune)
 Create a task scheduler with customized methods on the python-side. More...
 

Detailed Description

Managed reference to TaskSchedulerNode.

See also
TaskSchedulerNode

Member Function Documentation

◆ GradientBased()

static TaskScheduler tvm::meta_schedule::TaskScheduler::GradientBased ( ffi::Function  logger,
double  alpha,
int  window_size,
support::LinearCongruentialEngine::TRandState  seed 
)
static

Create a task scheduler that fetches tasks in a gradient based fashion.

Parameters
loggerThe tuning task's logging function.
alphaThe parameter alpha to control gradient computation.
window_sizeThe parameter to control backward window size.
seedThe random seed.
Returns
The task scheduler created.

◆ PyTaskScheduler()

static TaskScheduler tvm::meta_schedule::TaskScheduler::PyTaskScheduler ( ffi::Function  logger,
PyTaskSchedulerNode::FNextTaskId  f_next_task_id,
PyTaskSchedulerNode::FJoinRunningTask  f_join_running_task,
PyTaskSchedulerNode::FTune  f_tune 
)
static

Create a task scheduler with customized methods on the python-side.

Parameters
loggerThe tuning task's logging function.
f_next_task_idThe packed function of NextTaskId.
f_join_running_taskThe packed function of JoinRunningTask.
f_tuneThe packed function of Tune.
Returns
The task scheduler created.

◆ RoundRobin()

static TaskScheduler tvm::meta_schedule::TaskScheduler::RoundRobin ( ffi::Function  logger)
static

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

Parameters
loggerThe tuning task's logging function.
Returns
The task scheduler created.

◆ 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: