▼ include | |
▼ tvm | |
► arith | |
analyzer.h | Algebra expression simplifications |
bound.h | Bound deducers |
int_set.h | Integer set |
int_solver.h | Integer constraints data structures and solvers |
iter_affine_map.h | Iterator quasi-affine mapping patterns |
pattern.h | Expression pattern detectors |
► auto_scheduler | |
auto_schedule.h | The user interface of the auto scheduler |
compute_dag.h | The auto-scheduler's computational graph and related program analyses |
cost_model.h | Cost models that estimate the performance of programs |
feature.h | Feature extraction for the cost model. We extract one feature vector per BufferStoreNode statement in a TIR Stmt, so we call this feature as "per-store" feature. The cost model also does prediction for each BufferStoreNode statement and aggregates the predictions as the whole score for a TVM IR (Stmt) |
loop_state.h | The definition of the "state" in the search |
measure.h | Distributed measurement infrastructure to measure the runtime costs of tensor programs. These functions are responsible for building the tvm module, uploading it to remote devices, recording the running time costs, and checking the correctness of the output |
measure_record.h | Json serialization format for dumping and loading measurement records |
search_policy.h | The base class of search policies, including the abstract definition of search policy and other supporting data structures |
search_task.h | Meta information and hardware parameters for a search task |
transform_step.h | Transformation steps. These steps are used to manipulate LoopState . They are similar to the schedule primitives in te::Stage |
► driver | |
driver_api.h | Compiler driver APIs to drive the compilation |
► ir | |
adt.h | Algebraic data type definitions |
affine_type.h | Quantized Tensor Types |
attrs.h | Helpers for attribute objects |
diagnostic.h | A new diagnostic interface for TVM error reporting |
env_func.h | Serializable global function used in IR |
expr.h | Base expr nodes in TVM |
function.h | Function nodes |
global_var_supply.h | GlobalVarSupply that can be used to generate unique |
instrument.h | |
memory_pools.h | The object definition for relay.build argument type of memory pools |
module.h | IRModule that holds the functions and type definitions |
name_supply.h | NameSupply that can be used to generate unique variable names |
op.h | Primitive operators(builtin intrinsics) and registry for them |
si_builder.h | Build a source info during rewriting expressions |
source_map.h | A map from source names to source code |
tensor_type.h | Polymorphic tensor types |
transform.h | |
type.h | IR/AST nodes for the unified type system in TVM |
type_functor.h | A way to defined arbitrary function signature with dispatch on types |
type_relation.h | Type relation and function for type inference(checking) |
► meta_schedule | |
► schedule | |
► cuda | |
thread_bind.h | |
► generic | |
winograd.h | |
arg_info.h | |
builder.h | |
cost_model.h | |
database.h | |
extracted_task.h | |
feature_extractor.h | |
measure_callback.h | |
measure_candidate.h | |
mutator.h | |
postproc.h | |
profiler.h | |
runner.h | |
schedule_rule.h | |
search_strategy.h | |
space_generator.h | |
task_scheduler.h | |
tune_context.h | |
► node | |
attr_registry_map.h | Attribute map used in registry |
functor.h | Defines the Functor data structures |
node.h | Definitions and helper macros for IR/AST nodes |
object_path.h | |
reflection.h | Reflection and serialization of compiler IR/AST nodes |
repr_printer.h | Printer class to print repr string of each AST/IR nodes |
script_printer.h | |
serialization.h | |
structural_equal.h | Structural equality comparison |
structural_hash.h | |
► relay | |
► attrs | |
algorithm.h | |
annotation.h | Attribute for annotation operators |
bitserial.h | Auxiliary attributes for bitserial operators |
call.h | Attribute for call_lowered operator |
debug.h | Auxiliary attributes for debug operators |
device_copy.h | Attribute for the device copy operator |
image.h | Auxiliary attributes for image operators |
memory.h | Attributes for memory operators |
nn.h | Auxiliary attributes for nn operators |
on_device.h | Attribute for the "on_device" annotation (ie operator) |
random.h | |
reduce.h | Auxiliary attributes for reduce operators |
transform.h | Transform operators |
vision.h | Auxiliary attributes for vision operators |
vm.h | Attributes for Relay vm operators |
► qnn | |
attrs.h | Auxiliary attributes for qnn operators |
transform.h | |
adt.h | Algebraic data types for Relay |
analysis.h | The set of Relay analysis passes written in C++ |
base.h | Base classes for the Relay IR |
dataflow_matcher.h | A pattern matcher for matching dataflow properties |
dataflow_pattern.h | A pattern language for matching dataflow properties |
dataflow_pattern_functor.h | A set of passes for operating on pattern graphs |
error.h | |
executor.h | Object representation of Executor configuration and registry |
expr.h | Relay expression language |
expr_functor.h | A more powerful visitor which enables defining arbitrary function signatures with type based dispatch on first argument |
feature.h | Detect features used in Expr/Module |
function.h | Relay Function |
interpreter.h | An interpreter for Relay |
op.h | Primitive operators(builtin intrinsics) |
op_attr_types.h | The Expr and related elements in DataFlow construction |
op_strategy.h | The Relay operator Strategy and related data structure |
parser.h | |
pattern_functor.h | A more powerful visitor on ADT patterns that enables defining arbitrary function signatures with type-based dispatch on first argument |
runtime.h | Object representation of Runtime configuration and registry |
transform.h | Relay specific transformation passes |
type.h | Relay typed AST nodes |
► runtime | |
► container | |
adt.h | Runtime ADT container types |
array.h | Runtime Array container types |
base.h | Base utilities for common POD(plain old data) container types |
closure.h | Runtime Closure container types |
map.h | Runtime Map container types |
optional.h | Runtime Optional container types |
shape_tuple.h | Runtime ShapeTuple container types |
string.h | Runtime String container types |
variant.h | Runtime Variant container types |
► contrib | |
libtorch_runtime.h | |
papi.h | |
► crt | |
► rpc_common | |
frame_buffer.h | Defines a buffer for use by the RPC framing layer |
framing.h | Framing for RPC |
session.h | RPC Session |
write_stream.h | |
aot_executor.h | AoT Executor |
aot_executor_module.h | |
crt.h | Defines core life cycle functions used by CRT |
error_codes.h | Defines integral error codes returned by the CRT |
func_registry.h | Defines generic string-based function lookup structs |
graph_executor.h | Tiny AoT executor |
graph_executor_module.h | Tiny graph executor that can run graph containing only tvm PackedFunc |
microtvm_rpc_server.h | MicroTVM RPC Server |
module.h | Runtime container of the functions |
packed_func.h | Type-erased function used across TVM API |
page_allocator.h | An implementation of a dynamic memory allocator for microcontrollers |
platform.h | The virtual memory manager for micro-controllers |
stack_allocator.h | |
► memory | |
memory_manager.h | Abstract device memory management API |
► micro | |
► standalone | |
microtvm_runtime.h | |
► vm | |
bytecode.h | The bytecode for Relay virtual machine |
executable.h | The Relay virtual machine executable |
vm.h | The Relay virtual machine runtime |
builtin_fp16.h | Functions for conversion between fp32 and fp16 |
c_backend_api.h | TVM runtime backend API |
c_runtime_api.h | |
data_type.h | |
debug.h | Helpers for debugging at runtime |
device_api.h | Abstract device memory management API |
executor_info.h | Executor information |
memory.h | Runtime memory management |
metadata.h | Defines types which can be used in Metadata |
metadata_base.h | Defines types which can be used in Metadata |
metadata_types.h | Defines types which can be used in metadata here which are also shared between C and C++ code bases |
module.h | Runtime container of the functions generated by TVM, This is used to support dynamically link, load and save functions from different convention under unified API |
name_transforms.h | Transformations which are applied on names to generate appropriately named. These functions are used in both Runtime and Backend |
ndarray.h | A device-independent managed NDArray abstraction |
object.h | A managed object in the TVM runtime |
packed_func.h | Type-erased function used across TVM API |
profiling.h | Runtime profiling including timers |
registry.h | This file defines the TVM global function registry |
serializer.h | Serializer extension to support TVM data types Include this file to enable serialization of DLDataType, DLDevice |
threading_backend.h | Utilities for manipulating thread pool threads |
► script | |
► ir_builder | |
► ir | |
frame.h | |
ir.h | |
► tir | |
frame.h | |
ir.h | |
base.h | |
► printer | |
doc.h | |
ir_docsifier.h | |
ir_docsifier_functor.h | |
► support | |
parallel_for.h | An implementation to run loop in parallel |
random_engine.h | Random number generator. It provides a generic interface consistent with std::uniform_random_bit_generator |
span.h | Reimplementation of part of C++-20 style span |
with.h | RAII wrapper function to enter and exit a context object similar to python's with syntax |
► target | |
codegen.h | Translates IRModule to runtime::Module |
compilation_config.h | A helper class to collect all the targets in canonical form necessary for compilation |
generic_func.h | Generic function that can be specialzied on a per target basis |
tag.h | Target tag registry |
target.h | Compilation target object |
target_info.h | Various information about target |
target_kind.h | Target kind registry |
virtual_device.h | A compile time representation for where data is to be stored at runtime, and how to compile code to compute it |
► te | |
autodiff.h | Automatic differentiation of tensor expressions |
operation.h | Operation node can generate one or multiple Tensors |
schedule.h | Define a schedule |
schedule_pass.h | Collection of Schedule pass functions |
tensor.h | Dataflow tensor object |
tensor_intrin.h | Tensor intrinsic operations |
► tir | |
► schedule | |
instruction.h | |
schedule.h | |
state.h | This file defines ScheduleState, the core data structure of TensorIR scheduling |
trace.h | |
► usmp | |
► algo | |
greedy.h | This header file contains helper methods used in greedy algorithms for planning memory for USMP |
algorithms.h | The memory planning algorithm for USMP |
analysis.h | The analysis passes for TIR-based Unified Static Memory Planner |
transform.h | The transform passes for TIR-based Unified Static Memory Planner |
utils.h | Utilities for Unified Static Memory Planner |
analysis.h | Analysis utilities and passes for TIR |
block_dependence_info.h | Define BlockDependenceInfoNode that uses the BlockScope and StmtSRef objects to store the block level dependences |
block_scope.h | Definition of two pillar data structure for TensorIR scheduling: StmtSRef, BlockScope |
buffer.h | Symbolic n-dimensional array, to represent a memory buffer |
builtin.h | TIR builtin intrinsics |
data_layout.h | Layout expression to describe the data organization of a tensor. And BijectiveLayout to mapping two data layouts between each other |
data_type_rewriter.h | Rewrite the data type of expressions |
expr.h | TIR expressions |
expr_functor.h | Functors for tir expressions |
function.h | TIR Function |
index_map.h | Defines a remapping of buffer indices |
op.h | Common operators defined for Expr |
op_attr_types.h | Attribute types in the Op registry for TIR ops |
stmt.h | TIR statements |
stmt_functor.h | Functors for tir stmts utility functions to call common functors |
transform.h | TIR specific transformation passes |
utils.h | |
var.h | Variables in the TIR |
► topi | |
► contrib | |
cublas.h | External function interface to cuBLAS libraries |
rocblas.h | |
► cuda | |
dense.h | CUDA schedule for dense operation |
injective.h | CUDA schedule for injective operations |
pooling.h | CUDA schedule for pooling operations |
reduction.h | CUDA schedule for reduction operations |
softmax.h | |
► detail | |
array_utils.h | Utility functions for handling arrays |
broadcast.h | Detail broadcast |
constant_utils.h | Utility functions for handling constants in TVM expressions |
extern.h | Helpers for using external functions |
fuse.h | Fuse operation |
pad_utils.h | Padding helpers |
ravel_unravel.h | Index ravel and unraval operations |
strided_slice.h | Utility functions for strided_slice op |
tensor_utils.h | Utility functions for handling tensor |
► generic | |
default.h | Generic default schedule |
extern.h | Schedule for extern followed by injective ops |
injective.h | Generic schedule for injective operations |
► nn | |
bias_add.h | Bias_add op constructions |
bnn.h | Binary op constructions |
dense.h | Dense op constructions |
dilate.h | Dilate op constructions |
flatten.h | Softmax op constructions |
group_norm.h | Group normalization op constructions |
instance_norm.h | Instance normalization op constructions |
layer_norm.h | Layer normalization op constructions |
local_response_norm.h | Local response normalization op constructions |
mapping.h | Mapping op constructions |
pooling.h | Pooling op constructions |
rms_norm.h | Root mean square normalization op constructions |
softmax.h | Softmax op constructions |
► rocm | |
dense.h | Rocm schedule for dense operation |
injective.h | Rocm schedule for injective operations |
pooling.h | Rocm schedule for pooling operations |
reduction.h | Rocm schedule for reduction operations |
softmax.h | |
► vision | |
reorg.h | Reorg op constructions |
► x86 | |
bnn.h | X86 schedule for binary operations |
default.h | Default x86 schedule |
injective.h | X86 schedule for injective ops |
broadcast.h | Broadcast op constructions |
einsum.h | Einstein summation op |
elemwise.h | Elementwise op constructions |
nn.h | NN op constructions |
reduction.h | Reduction op constructors |
tags.h | External function interface to rocBLAS libraries |
transform.h | Transform op constructors |
utils.h | Topi utility function |