tvm
Classes | Namespaces | Typedefs | Functions
operation.h File Reference

Operation node can generate one or multiple Tensors. More...

#include <tvm/arith/analyzer.h>
#include <tvm/te/schedule.h>
#include <tvm/te/tensor.h>
#include <tvm/tir/buffer.h>
#include <tvm/tir/expr.h>
#include <tvm/tir/op.h>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for operation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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) and TensorComputeOp (operating on a TensorSlice 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::TensorComputeOpNode
 A TenorCompute op that compute a tensor with an tensor intrinsic. More...
 
class  tvm::te::TensorComputeOp
 Managed reference to TensorComputeOpNode. 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...
 
class  tvm::te::HybridOpNode
 A computation operator that generated by hybrid script. More...
 
class  tvm::te::HybridOp
 Managed reference to HybridOpNode. More...
 

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::te
 Tensor expression language DSL.
 

Typedefs

using tvm::te::FCompute = std::function< PrimExpr(const Array< Var > &i)>
 The compute function to specify the input source of a Tensor. More...
 
using tvm::te::FBatchCompute = std::function< Array< PrimExpr >(const Array< Var > &i)>
 The compute function to specify the inputs source of Tensors. More...
 

Functions

Var tvm::te::var (std::string name_hint, DataType t=DataType::Int(32))
 Construct a new Var expression. More...
 
IterVar tvm::te::thread_axis (Range dom, std::string tag)
 Create a new IterVar that represents an axis in thread. More...
 
IterVar tvm::te::reduce_axis (Range dom, std::string name="rv")
 Create a new IterVar for reduction operations. More...
 
Tensor tvm::te::placeholder (Array< PrimExpr > shape, DataType dtype=DataType::Float(32), std::string name="placeholder")
 create a place holder tensor. More...
 
Tensor tvm::te::compute (Array< PrimExpr > shape, FCompute fcompute, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 Construct a new tensor by computing over shape, using the computation rule: result_tensor[axis] = fcompute(axis) More...
 
Array< Tensor > tvm::te::compute (Array< PrimExpr > shape, FBatchCompute fcompute, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 Construct a new tensor by computing over shape, using the computation rule: result_tensor[axis] = fcompute(axis) More...
 
Array< Tensor > tvm::te::scan (Array< Tensor > init, Array< Tensor > update, Array< Tensor > state_placeholder, Array< Tensor > inputs=Array< Tensor >(), std::string name="scan", std::string tag="", Map< String, ObjectRef > attrs={})
 Construct new tensors by scan. More...
 
Tensor tvm::te::compute (Array< PrimExpr > shape, std::function< PrimExpr(Var)> f, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 
Tensor tvm::te::compute (Array< PrimExpr > shape, std::function< PrimExpr(Var, Var)> f, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 
Tensor tvm::te::compute (Array< PrimExpr > shape, std::function< PrimExpr(Var, Var, Var)> f, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 
Tensor tvm::te::compute (Array< PrimExpr > shape, std::function< PrimExpr(Var, Var, Var, Var)> f, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
 

Detailed Description

Operation node can generate one or multiple Tensors.