tvm
|
Classes | |
class | ArgInfoNode |
The argument information. More... | |
class | ArgInfo |
Managed reference to ArgInfoNode. More... | |
class | TensorInfoNode |
The tensor argument information. More... | |
class | TensorInfo |
Managed reference to TensorInfoNode. More... | |
class | BuilderInputNode |
The builder's input, containing an IRModule and the target. More... | |
class | BuilderInput |
Managed reference to BuilderInputNode. More... | |
class | BuilderResultNode |
The builder's output, containing the artifact path or error message if any. More... | |
class | BuilderResult |
Managed reference to BuilderResultNode. More... | |
class | BuilderNode |
The abstract builder interface. More... | |
class | Builder |
Managed reference to BuilderNode. More... | |
class | PyBuilderNode |
An abstract builder with customized build method on the python-side. More... | |
class | CostModelNode |
Cost model. More... | |
class | PyCostModelNode |
The cost model with customized methods on the python-side. More... | |
class | CostModel |
Managed reference to CostModelNode. More... | |
class | WorkloadNode |
A workload, i.e. an IRModule and its structural hash. More... | |
class | Workload |
Managed reference to WorkloadNode. More... | |
struct | WorkloadHash |
The hash method for Workload. More... | |
struct | WorkloadEqual |
The equality check for Workload. More... | |
class | TuningRecordNode |
The class of tuning records. More... | |
class | TuningRecord |
The managed reference of TuningRecordNode. More... | |
class | DatabaseNode |
class | PyDatabaseNode |
The database with customized methods on the python-side. More... | |
class | Database |
Managed reference to DatabaseNode. More... | |
class | ExtractedTaskNode |
A tuning task extracted from the high-level IR. More... | |
class | ExtractedTask |
Managed reference to ExtractedTaskNode. More... | |
class | FeatureExtractorNode |
Extractor for features from measure candidates for use in cost model. More... | |
class | PyFeatureExtractorNode |
The feature extractor with customized methods on the python-side. More... | |
class | FeatureExtractor |
Managed reference to FeatureExtractorNode. More... | |
class | MeasureCallbackNode |
Rules to apply after measure results is available. More... | |
class | PyMeasureCallbackNode |
The measure callback with customized methods on the python-side. More... | |
class | MeasureCallback |
Managed reference to MeasureCallbackNode. More... | |
class | MeasureCandidateNode |
The schedule (with input shapes) to be measured. More... | |
class | MeasureCandidate |
Managed reference to MeasureCandidateNode. More... | |
class | MutatorNode |
Mutator is designed to mutate the trace to explore the design space. More... | |
class | Mutator |
Managed reference to MutatorNode. More... | |
class | PyMutatorNode |
The mutator with customized methods on the python-side. More... | |
class | PostprocNode |
Rules to apply a postprocessor to a schedule. More... | |
class | Postproc |
Managed reference to PostprocNode. More... | |
class | PyPostprocNode |
The postprocessor with customized methods on the python-side. More... | |
class | ScopedTimer |
class | ProfilerNode |
A generic profiler. More... | |
class | Profiler |
Managed reference to ProfilerNode. More... | |
class | RunnerInputNode |
Runner's input containing path of artifact, type of device and argument info. More... | |
class | RunnerInput |
Managed reference to RunnerInputNode. More... | |
class | RunnerResultNode |
Runner's output containing measurement result of MeasureCandidate or error msg if any. More... | |
class | RunnerResult |
Managed reference to RunnerResultNode. More... | |
class | RunnerFutureNode |
A class to asynchronously fetch runner's output. More... | |
class | RunnerFuture |
Managed reference to RunnerFutureNode. More... | |
class | RunnerNode |
The abstract runner interface. More... | |
class | Runner |
Managed reference to RunnerNode. More... | |
class | PyRunnerNode |
An abstract runner with customized build method on the python-side. More... | |
class | ScheduleRuleNode |
Rules to modify a block in a schedule. More... | |
class | ScheduleRule |
Managed reference to ScheduleRuleNode. More... | |
class | PyScheduleRuleNode |
The schedule rule with customized methods on the python-side. More... | |
class | SearchStrategyNode |
The search strategy for measure candidates generation. More... | |
class | SearchStrategy |
Managed reference to SearchStrategyNode. More... | |
class | PySearchStrategyNode |
The python side customizable class for measure candidate generation. More... | |
class | SpaceGeneratorNode |
The abstract class for design space generation. More... | |
class | SpaceGenerator |
Managed reference to SpaceGeneratorNode. More... | |
class | PySpaceGeneratorNode |
The design space generator with customized methods on the python-side. More... | |
class | TaskRecordNode |
class | TaskRecord |
Managed reference to TaskRecordNode. More... | |
class | TaskSchedulerNode |
The abstract interface of task schedulers. More... | |
class | PyTaskSchedulerNode |
The task scheduler with customized methods on the python-side. More... | |
class | TaskScheduler |
Managed reference to TaskSchedulerNode. More... | |
class | TuneContextNode |
The auto tuning context. More... | |
class | TuneContext |
Managed reference to TuneContextNode. More... | |
Functions | |
std::function< tir::ExprRV(int64_t)> | MakeFactorSampler (tir::Schedule sch, Array< Integer > thread_extents) |
Given candidates of thread_extents, make a sampler that use sch->SampleCategorical to return a random thread extent. More... | |
Array< tir::LoopRV > | BindSpatialLoop (tir::Schedule sch, tir::LoopRV loop, int64_t max_threadblocks, int64_t max_threads_per_block, std::function< tir::ExprRV(int64_t)> get_factor=nullptr) |
Bind blockIdx.x and threadIdx.x to the given loop. More... | |
void | BindBlockThreadIdx (tir::Schedule sch, tir::BlockRV block, int64_t max_threadblocks, int64_t max_threads_per_block, std::function< tir::ExprRV(int64_t max_extent)> get_factor=nullptr) |
Bind the given block if it is not bound to blockIdx or threadIdx. More... | |
tir::BlockRV | GetWinogradProducerAndInlineConst (tir::Schedule sch, tir::BlockRV block) |
Get the producer block of a given block. If there is a constant winograd transform matrix, inline it. More... | |
void tvm::meta_schedule::BindBlockThreadIdx | ( | tir::Schedule | sch, |
tir::BlockRV | block, | ||
int64_t | max_threadblocks, | ||
int64_t | max_threads_per_block, | ||
std::function< tir::ExprRV(int64_t max_extent)> | get_factor = nullptr |
||
) |
Bind the given block if it is not bound to blockIdx or threadIdx.
sch | The schedule. |
block | The block to be bound. |
max_threadblocks | The maximum number of threadblocks allowed. |
max_threads_per_block | The maximum number of threads allowed. |
get_factor | A function that returns the tiling factor. |
Array<tir::LoopRV> tvm::meta_schedule::BindSpatialLoop | ( | tir::Schedule | sch, |
tir::LoopRV | loop, | ||
int64_t | max_threadblocks, | ||
int64_t | max_threads_per_block, | ||
std::function< tir::ExprRV(int64_t)> | get_factor = nullptr |
||
) |
Bind blockIdx.x and threadIdx.x to the given loop.
sch | The schedule. |
loop | The loop to be bound. |
max_threadblocks | The maximum number of threadblocks allowed. |
max_threads_per_block | The maximum number of threads allowed. |
get_factor | A function that returns the tiling factor. |
tir::BlockRV tvm::meta_schedule::GetWinogradProducerAndInlineConst | ( | tir::Schedule | sch, |
tir::BlockRV | block | ||
) |
Get the producer block of a given block. If there is a constant winograd transform matrix, inline it.
std::function<tir::ExprRV(int64_t)> tvm::meta_schedule::MakeFactorSampler | ( | tir::Schedule | sch, |
Array< Integer > | thread_extents | ||
) |
Given candidates of thread_extents, make a sampler that use sch->SampleCategorical
to return a random thread extent.
sch | The schedule |
thread_extents | The candidate thread extents. |