|
tvm
|
Operation node can generate one or multiple Tensors. More...
#include <tvm/arith/analyzer.h>#include <tvm/ffi/reflection/registry.h>#include <tvm/ir/cow.h>#include <tvm/ir/prim/expr.h>#include <tvm/te/tensor.h>#include <tvm/tirx/buffer.h>#include <tvm/tirx/op.h>#include <string>#include <unordered_map>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| class | tvm::te::CommReducerNode |
| A commutative reducer node to represent a commutative binary operator with identity element. More... | |
| class | tvm::te::CommReducer |
| Managed reference to CommReducerNode. More... | |
| class | tvm::te::ReduceNode |
| Reduction operator. More... | |
| class | tvm::te::Reduce |
| Managed reference to ReduceNode. More... | |
| struct | tvm::te::TensorDom |
| Temporary data structure to store union of bounds of each axis of Tensor. More... | |
| class | tvm::te::OperationNode |
| Base class of all operation nodes. More... | |
| class | tvm::te::PlaceholderOpNode |
| A placeholder op represents an input placeholder. More... | |
| class | tvm::te::PlaceholderOp |
| Managed reference to PlaceholderOpNode. More... | |
| class | tvm::te::BaseComputeOpNode |
| A Compute op that compute a tensor on certain domain. This is the base class for ComputeOp (operating on a scalar at a time) More... | |
| class | tvm::te::ComputeOpNode |
| A Compute op that compute a tensor on certain domain. More... | |
| class | tvm::te::ComputeOp |
| Managed reference to ComputeOpNode. More... | |
| class | tvm::te::ScanOpNode |
| Symbolic scan. More... | |
| class | tvm::te::ScanOp |
| Managed reference to ScanOpNode. More... | |
| class | tvm::te::ExternOpNode |
| External computation that cannot be splitted. More... | |
| class | tvm::te::ExternOp |
| Managed reference to ExternOpNode. More... | |
Namespaces | |
| namespace | tvm |
| An object that builds and maintains block scope and StmtSref mapping for Dependence analysis. | |
| namespace | tvm::te |
| Tensor expression language DSL. | |
| namespace | tvm::ffi |
Typedefs | |
| using | tvm::te::FCompute = std::function< PrimExpr(const ffi::Array< PrimVar > &i)> |
| The compute function to specify the input source of a Tensor. | |
| using | tvm::te::FBatchCompute = std::function< ffi::Array< PrimExpr >(const ffi::Array< PrimVar > &i)> |
| The compute function to specify the inputs source of Tensors. | |
Functions | |
| PrimVar | tvm::te::var (std::string name_hint, PrimType t=PrimType::Int(32)) |
| Construct a new Var expression. | |
| IterVar | tvm::te::thread_axis (Range dom, std::string tag) |
| Create a new IterVar that represents an axis in thread. | |
| IterVar | tvm::te::reduce_axis (Range dom, std::string name="rv") |
| Create a new IterVar for reduction operations. | |
| Tensor | tvm::te::placeholder (ffi::Array< PrimExpr > shape, PrimType dtype=PrimType::Float(32), std::string name="placeholder") |
| create a place holder tensor. | |
| Tensor | tvm::te::compute (ffi::Array< PrimExpr > shape, FCompute fcompute, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Construct a new tensor by computing over shape, using the computation rule: result_tensor[axis] = fcompute(axis) | |
| ffi::Array< Tensor > | tvm::te::compute (ffi::Array< PrimExpr > shape, FBatchCompute fcompute, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Construct a new tensor by computing over shape, using the computation rule: result_tensor[axis] = fcompute(axis) | |
| ffi::Array< Tensor > | tvm::te::scan (ffi::Array< Tensor > init, ffi::Array< Tensor > update, ffi::Array< Tensor > state_placeholder, ffi::Array< Tensor > inputs=ffi::Array< Tensor >(), std::string name="scan", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Construct new tensors by scan. | |
| Tensor | tvm::te::compute (ffi::Array< PrimExpr > shape, std::function< PrimExpr(PrimVar)> f, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Tensor | tvm::te::compute (ffi::Array< PrimExpr > shape, std::function< PrimExpr(PrimVar, PrimVar)> f, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Tensor | tvm::te::compute (ffi::Array< PrimExpr > shape, std::function< PrimExpr(PrimVar, PrimVar, PrimVar)> f, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
| Tensor | tvm::te::compute (ffi::Array< PrimExpr > shape, std::function< PrimExpr(PrimVar, PrimVar, PrimVar, PrimVar)> f, std::string name="tensor", std::string tag="", ffi::Map< ffi::String, ffi::Any > attrs={}) |
Operation node can generate one or multiple Tensors.