tvm
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
tvm::s_tir::meta_schedule::Mutator Class Reference

Managed reference to MutatorNode. More...

#include <mutator.h>

Inheritance diagram for tvm::s_tir::meta_schedule::Mutator:
Collaboration diagram for tvm::s_tir::meta_schedule::Mutator:

Public Types

using FInitializeWithTuneContext = ffi::TypedFunction< void(const TuneContext &)>
 The function type of InitializeWithTuneContext method.
 
using FApply = ffi::TypedFunction< ffi::Optional< s_tir::Trace >(const s_tir::Trace &, LinearCongruentialEngine::TRandState rand_state)>
 Apply the mutator function to the given trace.
 
using FClone = ffi::TypedFunction< Mutator()>
 Clone the mutator.
 

Public Member Functions

 TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE (Mutator, ffi::ObjectRef, MutatorNode)
 

Static Public Member Functions

static Mutator MutateTileSize ()
 Create a Mutator that mutates the decision of instruction Sample-Perfect-Tile.
 
static Mutator MutateParallel (int64_t max_jobs_per_core)
 Create a Mutator that mutates the parallel extent.
 
static Mutator MutateUnroll ()
 Create a Mutator that mutates auto unroll step.
 
static Mutator MutateComputeLocation ()
 Create a Mutator that mutates the outcome of SampleComputeLocation.
 
static Mutator MutateThreadBinding ()
 Create a Mutator that mutates auto thread binding.
 
static Mutator PyMutator (FInitializeWithTuneContext f_initialize_with_tune_context, FApply f_apply, FClone f_clone)
 Create a mutator with customized methods on the python-side.
 
static ffi::Map< Mutator, FloatImm, voidDefaultLLVM ()
 Create default mutators for LLVM.
 
static ffi::Map< Mutator, FloatImm, voidDefaultCUDA ()
 Create default mutators for CUDA.
 
static ffi::Map< Mutator, FloatImm, voidDefaultCUDATensorCore ()
 Create default mutators for CUDA with TensorCore.
 
static ffi::Map< Mutator, FloatImm, voidDefaultHexagon ()
 Create default mutators for Hexagon.
 

Detailed Description

Managed reference to MutatorNode.

See also
MutatorNode

Member Typedef Documentation

◆ FApply

Apply the mutator function to the given trace.

Parameters
traceThe given trace for mutation.
Returns
None if mutator failed, otherwise return the mutated trace.

◆ FClone

Clone the mutator.

Returns
The cloned mutator.

◆ FInitializeWithTuneContext

The function type of InitializeWithTuneContext method.

Parameters
contextThe tuning context for initialization.

Member Function Documentation

◆ DefaultCUDA()

static ffi::Map< Mutator, FloatImm, void > tvm::s_tir::meta_schedule::Mutator::DefaultCUDA ( )
static

Create default mutators for CUDA.

◆ DefaultCUDATensorCore()

static ffi::Map< Mutator, FloatImm, void > tvm::s_tir::meta_schedule::Mutator::DefaultCUDATensorCore ( )
static

Create default mutators for CUDA with TensorCore.

◆ DefaultHexagon()

static ffi::Map< Mutator, FloatImm, void > tvm::s_tir::meta_schedule::Mutator::DefaultHexagon ( )
static

Create default mutators for Hexagon.

◆ DefaultLLVM()

static ffi::Map< Mutator, FloatImm, void > tvm::s_tir::meta_schedule::Mutator::DefaultLLVM ( )
static

Create default mutators for LLVM.

◆ MutateComputeLocation()

static Mutator tvm::s_tir::meta_schedule::Mutator::MutateComputeLocation ( )
static

Create a Mutator that mutates the outcome of SampleComputeLocation.

Returns
The mutator created

◆ MutateParallel()

static Mutator tvm::s_tir::meta_schedule::Mutator::MutateParallel ( int64_t  max_jobs_per_core)
static

Create a Mutator that mutates the parallel extent.

Parameters
max_jobs_per_coreThe maximum number of parallel jobs per core.
Returns
The created mutator.

◆ MutateThreadBinding()

static Mutator tvm::s_tir::meta_schedule::Mutator::MutateThreadBinding ( )
static

Create a Mutator that mutates auto thread binding.

Returns
The mutator created

◆ MutateTileSize()

static Mutator tvm::s_tir::meta_schedule::Mutator::MutateTileSize ( )
static

Create a Mutator that mutates the decision of instruction Sample-Perfect-Tile.

◆ MutateUnroll()

static Mutator tvm::s_tir::meta_schedule::Mutator::MutateUnroll ( )
static

Create a Mutator that mutates auto unroll step.

Returns
The mutator created

◆ PyMutator()

static Mutator tvm::s_tir::meta_schedule::Mutator::PyMutator ( FInitializeWithTuneContext  f_initialize_with_tune_context,
FApply  f_apply,
FClone  f_clone 
)
static

Create a mutator with customized methods on the python-side.

Parameters
f_initialize_with_tune_contextThe packed function of InitializeWithTuneContext.
f_applyThe packed function of Apply.
f_cloneThe packed function of Clone.
Returns
The mutator created.

◆ TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()

tvm::s_tir::meta_schedule::Mutator::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE ( Mutator  ,
ffi::ObjectRef  ,
MutatorNode   
)

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