|
| PrimVar | var (std::string name_hint, PrimType t=PrimType::Int(32)) |
| | Construct a new Var expression.
|
| |
| IterVar | thread_axis (Range dom, std::string tag) |
| | Create a new IterVar that represents an axis in thread.
|
| |
| IterVar | reduce_axis (Range dom, std::string name="rv") |
| | Create a new IterVar for reduction operations.
|
| |
| Tensor | placeholder (ffi::Array< PrimExpr > shape, PrimType dtype=PrimType::Float(32), std::string name="placeholder") |
| | create a place holder tensor.
|
| |
| Tensor | 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 > | 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 > | 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 | 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 | 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 | 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 | 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={}) |
| |
| bool | IsTensorLoad (const Expr &expr) |
| | Return whether an expression is a Call whose callee is a TE Tensor.
|
| |
| Tensor | GetTensorFromLoad (const Call &call) |
| | Recover and validate the Tensor callee of a tensor-load Call.
|
| |
| ffi::Array< PrimExpr > | GetTensorLoadIndices (const Call &call) |
| | Recover and validate the primitive indices of a tensor-load Call.
|
| |
| PrimExpr | operator! (const Tensor::Slice &a) |
| |
| PrimExpr | operator- (const Tensor::Slice &a) |
| |
| template<typename T > |
| PrimExpr | operator+ (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator+ (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator+ (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator- (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator- (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator- (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator* (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator* (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator* (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator== (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator== (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator== (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator<= (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator<= (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator<= (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator>= (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator>= (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator>= (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator!= (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator!= (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator!= (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator&& (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator&& (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator&& (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator|| (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator|| (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator|| (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator>> (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator>> (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator>> (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator<< (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator<< (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator<< (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator> (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator> (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator> (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
| template<typename T > |
| PrimExpr | operator< (const Tensor::Slice &a, const T &b) |
| |
| template<typename T > |
| PrimExpr | operator< (const T &a, const Tensor::Slice &b) |
| |
| PrimExpr | operator< (const Tensor::Slice &a, const Tensor::Slice &b) |
| |
Tensor expression language DSL.