docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
sdfg::math::tensor Namespace Reference

Classes

class  ArangeNode
 Tensor node that generates a sequence of numbers. More...
class  ArangeNodeSerializer
class  BatchNormNode
 In N, C, D0...Dn tensor, applies normalization to per channel in C across all the inner dimensions. More...
class  BatchNormNodeSerializer
class  BroadcastNode
class  BroadcastNodeSerializer
class  ClampNode
 Computes Y = min(max(X, min), max) elementwise, where either bound may be omitted. More...
class  ClampNodeSerializer
class  ConcatNode
 Tensor concatenation node that can concatenate a number of tensors into another tensor. More...
class  ConcatNodeSerializer
class  ConditionalTensorCopyNode
 Conditional tensor copy node that copies values from one tensor or another depending on a tensor mask. More...
class  ConditionalTensorCopyNodeSerializer
class  ConstPaddingNode
 Applies padding by a constant value. More...
class  ConstPaddingNodeSerializer
class  ConvNode
 Convolution operation following ONNX Conv operator specification. More...
class  ConvNodeSerializer
 Serializer for ConvNode. More...
class  TensorCopyNode
 Tensor copy node that copies values form one container to another according to their tensor access. More...
class  TensorCopyNodeSerializer
class  ElementWiseDataflowTensorNode
 Defined by each element of the output tensor (defined by shape) can be defined independently of any other output. More...
class  BaseElementWiseDataflowTensorNodeSerializer
class  SimpleElementWiseDataflowTensorNodeSerializer
class  AbsNode
class  AddNode
class  CastNode
class  CMathTensorNode
class  CMathTensorNodeSerializer
class  DivNode
class  ErfNode
class  ExpNode
class  FillNode
class  GELUNode
 Applies the Gaussion Error Linear Units function. More...
class  GELUNodeSerializer
class  LogicalNotNode
class  MaximumNode
class  MinimumNode
class  MulNode
class  PowNode
class  ReLUNode
class  RsqrtNode
class  SigmoidNode
class  SqrtNode
class  SubNode
class  TanhNode
class  TaskletTensorNode
class  TaskletTensorNodeSerializer
class  EluNode
 Computes Y = X < 0 ? More...
class  EluNodeSerializer
class  EmbeddingNode
 Embedding lookup node implementing aten.embedding(weight, indices). More...
class  EmbeddingNodeSerializer
class  EmbeddingRenormNode
 In-place embedding renormalization implementing aten.embedding_renorm_. More...
class  EmbeddingRenormNodeSerializer
class  IndexNode
 Tensor advanced-indexing node. More...
class  IndexNodeSerializer
class  LayerNormNode
 Applies layer normalization over the trailing noramlized_shape dimensions of the input. More...
class  LayerNormNodeSerializer
class  LeakyReLUNode
 Computes Y = X > 0 ? More...
class  LeakyReLUNodeSerializer
class  MatMulNode
 Tensor matrix multiplication following ONNX MatMul operator specification. More...
class  MatMulNodeSerializer
 Serializer for MatMulNode. More...
class  MatMulNaiveExpander
class  MatMulBlasExpander
class  PoolingNode
 N-dimensional pooling operation. More...
class  PoolingNodeSerializer
 Serializer for PoolingNode. More...
class  ReduceNode
 Base class for tensor reduction operations. More...
class  ReduceNodeSerializer
class  MaxNode
class  MeanNode
class  MinNode
class  SoftmaxNode
class  StdNode
class  SumNode
class  SpatialTensorNode
 Specialization of TensorNode for spatial operations such as Convolution and Pooling. More...
class  SpatialTensorNodeBaseSerializer
struct  InputContainerInfo
struct  MapDimension
class  TensorLayout
 The metadata associated with a addressing a tensor in elements Meant to be used with TensorNodes to describe their input's and outputs layouts and ease handling of such descriptions If the TensorType will keep existing it should also be switched to use this. More...
struct  ContractionTypes
 Element types of a contraction such as a matmul. More...
class  TensorNode
 Abstract base class for all tensor operations. More...
class  UpsampleBilinear2DNode
 2D bilinear upsampling operation More...
class  UpsampleBilinear2DNodeSerializer
 Serializer for UpsampleBilinear2DNode. More...

Typedefs

typedef SimpleElementWiseDataflowTensorNodeSerializer< AbsNode > AbsNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< AddNode > AddNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< CastNode > CastNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< DivNode > DivNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< ErfNode > ErfNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< ExpNode > ExpNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< FillNode > FillNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< LogicalNotNode > LogicalNotNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< MaximumNode > MaximumNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< MinimumNode > MinimumNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< MulNode > MulNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< PowNode > PowNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< ReLUNode > ReLUNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< RsqrtNode > RsqrtNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< SigmoidNode > SigmoidNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< SqrtNode > SqrtNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< SubNode > SubNodeSerializer
typedef SimpleElementWiseDataflowTensorNodeSerializer< TanhNode > TanhNodeSerializer
typedef ReduceNodeSerializer< MaxNode > MaxNodeSerializer
typedef ReduceNodeSerializer< MeanNode > MeanNodeSerializer
typedef ReduceNodeSerializer< MinNode > MinNodeSerializer
typedef ReduceNodeSerializer< SoftmaxNode > SoftmaxNodeSerializer
typedef ReduceNodeSerializer< StdNode > StdNodeSerializer
typedef ReduceNodeSerializer< SumNode > SumNodeSerializer
typedef types::PrimitiveType QuantizationType

Enumerations

enum class  PoolingMode { Max , Sum , Avg }
 Pooling operation type. More...

Functions

data_flow::LibraryNodeCode LibraryNodeType_Arange ("ml::Arange")
data_flow::LibraryNodeCode LibraryNodeType_BatchNorm ("ml::BatchNorm")
data_flow::LibraryNodeCode LibraryNodeType_Broadcast ("ml::Broadcast")
data_flow::LibraryNodeCode LibraryNodeType_Clamp ("ml::Clamp")
data_flow::LibraryNodeCode LibraryNodeType_TensorConcat ("ml::Concat")
data_flow::LibraryNodeCode LibraryNodeType_ConditionalTensorCopy ("ml::ConditionalCopy")
data_flow::LibraryNodeCode LibraryNodeType_ConstPadding ("ml::ConstPadding")
data_flow::LibraryNodeCode LibraryNodeType_Conv ("ml::Conv")
data_flow::LibraryNodeCode LibraryNodeType_TensorCopy ("ml::Copy")
data_flow::LibraryNodeCode LibraryNodeType_Abs ("ml::Abs")
data_flow::LibraryNodeCode LibraryNodeType_Add ("ml::Add")
data_flow::LibraryNodeCode LibraryNodeType_Cast ("ml::Cast")
data_flow::LibraryNodeCode LibraryNodeType_TensorCMath ("ml::CMath")
data_flow::LibraryNodeCode LibraryNodeType_Div ("ml::Div")
data_flow::LibraryNodeCode LibraryNodeType_Erf ("ml::Erf")
data_flow::LibraryNodeCode LibraryNodeType_Exp ("ml::Exp")
data_flow::LibraryNodeCode LibraryNodeType_Fill ("ml::Fill")
data_flow::LibraryNodeCode LibraryNodeType_GELU ("ml::GELU")
data_flow::LibraryNodeCode LibraryNodeType_LogicalNot ("ml::LogicalNot")
data_flow::LibraryNodeCode LibraryNodeType_Maximum ("ml::Maximum")
data_flow::LibraryNodeCode LibraryNodeType_Minimum ("ml::Minimum")
data_flow::LibraryNodeCode LibraryNodeType_Mul ("ml::Mul")
data_flow::LibraryNodeCode LibraryNodeType_Pow ("ml::Pow")
data_flow::LibraryNodeCode LibraryNodeType_ReLU ("ml::ReLU")
data_flow::LibraryNodeCode LibraryNodeType_Rsqrt ("ml::Rsqrt")
data_flow::LibraryNodeCode LibraryNodeType_Sigmoid ("ml::Sigmoid")
data_flow::LibraryNodeCode LibraryNodeType_Sqrt ("ml::Sqrt")
data_flow::LibraryNodeCode LibraryNodeType_Sub ("ml::Sub")
data_flow::LibraryNodeCode LibraryNodeType_Tanh ("ml::Tanh")
data_flow::LibraryNodeCode LibraryNodeType_TensorTasklet ("ml::Tasklet")
data_flow::LibraryNodeCode LibraryNodeType_Elu ("ml::Elu")
data_flow::LibraryNodeCode LibraryNodeType_Embedding ("ml::Embedding")
data_flow::LibraryNodeCode LibraryNodeType_EmbeddingRenorm ("ml::EmbeddingRenorm")
data_flow::LibraryNodeCode LibraryNodeType_Index ("ml::Index")
data_flow::LibraryNodeCode LibraryNodeType_LayerNorm ("ml::LayerNorm")
data_flow::LibraryNodeCode LibraryNodeType_LeakyReLU ("ml::LeakyReLU")
data_flow::LibraryNodeCode LibraryNodeType_MatMul ("ml::MatMul")
data_flow::LibraryNodeCode LibraryNodeType_Pooling ("ml::Pooling")
data_flow::LibraryNodeCode LibraryNodeType_Max ("ml::Max")
data_flow::LibraryNodeCode LibraryNodeType_Mean ("ml::Mean")
data_flow::LibraryNodeCode LibraryNodeType_Min ("ml::Min")
data_flow::LibraryNodeCode LibraryNodeType_Softmax ("ml::Softmax")
data_flow::LibraryNodeCode LibraryNodeType_Std ("ml::Std")
data_flow::LibraryNodeCode LibraryNodeType_Sum ("ml::Sum")
InputContainerInfo find_usable_input_access_node (data_flow::DataFlowGraph &dataflow, data_flow::LibraryNode &node, const std::string &input_conn)
std::string create_temp_var (builder::StructuredSDFGBuilder &builder, const std::string &prefix, int gen, const types::IType &type)
std::vector< MapDimension > create_maps (builder::StructuredSDFGBuilder &builder, const std::vector< symbolic::Expression > &shape, structured_control_flow::Sequence &parent_seq)
std::ostream & operator<< (std::ostream &stream, const TensorLayout &layout)
types::PrimitiveType deserialize_quantization (const nlohmann::json &j, const std::string &field_name, types::PrimitiveType default_value=QUANTIZATION_MATCH_INPUTS)
data_flow::LibraryNodeCode LibraryNodeType_UpsampleBilinear2D ("ml::UpsampleBilinear2D")

Variables

constexpr QuantizationType QUANTIZATION_MATCH_INPUTS = types::PrimitiveType::Void

Typedef Documentation

◆ AbsNodeSerializer

◆ AddNodeSerializer

◆ CastNodeSerializer

◆ DivNodeSerializer

◆ ErfNodeSerializer

◆ ExpNodeSerializer

◆ FillNodeSerializer

◆ LogicalNotNodeSerializer

◆ MaximumNodeSerializer

◆ MaxNodeSerializer

◆ MeanNodeSerializer

◆ MinimumNodeSerializer

◆ MinNodeSerializer

◆ MulNodeSerializer

◆ PowNodeSerializer

◆ QuantizationType

◆ ReLUNodeSerializer

◆ RsqrtNodeSerializer

◆ SigmoidNodeSerializer

◆ SoftmaxNodeSerializer

◆ SqrtNodeSerializer

◆ StdNodeSerializer

◆ SubNodeSerializer

◆ SumNodeSerializer

◆ TanhNodeSerializer

Enumeration Type Documentation

◆ PoolingMode

Pooling operation type.

Enumerator
Max 

Max pooling: output = max(window).

Sum 

Sum pooling: output = sum(window).

Avg 

Average pooling: output = sum(window) / window_size.

Function Documentation

◆ create_maps()

std::vector< MapDimension > sdfg::math::tensor::create_maps ( builder::StructuredSDFGBuilder & builder,
const std::vector< symbolic::Expression > & shape,
structured_control_flow::Sequence & parent_seq )

◆ create_temp_var()

std::string sdfg::math::tensor::create_temp_var ( builder::StructuredSDFGBuilder & builder,
const std::string & prefix,
int gen,
const types::IType & type )

◆ deserialize_quantization()

types::PrimitiveType sdfg::math::tensor::deserialize_quantization ( const nlohmann::json & j,
const std::string & field_name,
types::PrimitiveType default_value = QUANTIZATION_MATCH_INPUTS )

◆ find_usable_input_access_node()

InputContainerInfo sdfg::math::tensor::find_usable_input_access_node ( data_flow::DataFlowGraph & dataflow,
data_flow::LibraryNode & node,
const std::string & input_conn )
Deprecated
not compatible with new expansion scheme

◆ LibraryNodeType_Abs()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Abs ( "ml::Abs" )
inline

◆ LibraryNodeType_Add()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Add ( "ml::Add" )
inline

◆ LibraryNodeType_Arange()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Arange ( "ml::Arange" )
inline

◆ LibraryNodeType_BatchNorm()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_BatchNorm ( "ml::BatchNorm" )
inline

◆ LibraryNodeType_Broadcast()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Broadcast ( "ml::Broadcast" )
inline

◆ LibraryNodeType_Cast()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Cast ( "ml::Cast" )
inline

◆ LibraryNodeType_Clamp()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Clamp ( "ml::Clamp" )
inline

◆ LibraryNodeType_ConditionalTensorCopy()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_ConditionalTensorCopy ( "ml::ConditionalCopy" )
inline

◆ LibraryNodeType_ConstPadding()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_ConstPadding ( "ml::ConstPadding" )
inline

◆ LibraryNodeType_Conv()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Conv ( "ml::Conv" )
inline

◆ LibraryNodeType_Div()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Div ( "ml::Div" )
inline

◆ LibraryNodeType_Elu()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Elu ( "ml::Elu" )
inline

◆ LibraryNodeType_Embedding()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Embedding ( "ml::Embedding" )
inline

◆ LibraryNodeType_EmbeddingRenorm()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_EmbeddingRenorm ( "ml::EmbeddingRenorm" )
inline

◆ LibraryNodeType_Erf()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Erf ( "ml::Erf" )
inline

◆ LibraryNodeType_Exp()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Exp ( "ml::Exp" )
inline

◆ LibraryNodeType_Fill()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Fill ( "ml::Fill" )
inline

◆ LibraryNodeType_GELU()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_GELU ( "ml::GELU" )
inline

◆ LibraryNodeType_Index()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Index ( "ml::Index" )
inline

◆ LibraryNodeType_LayerNorm()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_LayerNorm ( "ml::LayerNorm" )
inline

◆ LibraryNodeType_LeakyReLU()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_LeakyReLU ( "ml::LeakyReLU" )
inline

◆ LibraryNodeType_LogicalNot()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_LogicalNot ( "ml::LogicalNot" )
inline

◆ LibraryNodeType_MatMul()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_MatMul ( "ml::MatMul" )
inline

◆ LibraryNodeType_Max()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Max ( "ml::Max" )
inline

◆ LibraryNodeType_Maximum()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Maximum ( "ml::Maximum" )
inline

◆ LibraryNodeType_Mean()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Mean ( "ml::Mean" )
inline

◆ LibraryNodeType_Min()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Min ( "ml::Min" )
inline

◆ LibraryNodeType_Minimum()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Minimum ( "ml::Minimum" )
inline

◆ LibraryNodeType_Mul()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Mul ( "ml::Mul" )
inline

◆ LibraryNodeType_Pooling()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Pooling ( "ml::Pooling" )
inline

◆ LibraryNodeType_Pow()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Pow ( "ml::Pow" )
inline

◆ LibraryNodeType_ReLU()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_ReLU ( "ml::ReLU" )
inline

◆ LibraryNodeType_Rsqrt()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Rsqrt ( "ml::Rsqrt" )
inline

◆ LibraryNodeType_Sigmoid()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Sigmoid ( "ml::Sigmoid" )
inline

◆ LibraryNodeType_Softmax()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Softmax ( "ml::Softmax" )
inline

◆ LibraryNodeType_Sqrt()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Sqrt ( "ml::Sqrt" )
inline

◆ LibraryNodeType_Std()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Std ( "ml::Std" )
inline

◆ LibraryNodeType_Sub()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Sub ( "ml::Sub" )
inline

◆ LibraryNodeType_Sum()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Sum ( "ml::Sum" )
inline

◆ LibraryNodeType_Tanh()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_Tanh ( "ml::Tanh" )
inline

◆ LibraryNodeType_TensorCMath()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_TensorCMath ( "ml::CMath" )
inline

◆ LibraryNodeType_TensorConcat()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_TensorConcat ( "ml::Concat" )
inline

◆ LibraryNodeType_TensorCopy()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_TensorCopy ( "ml::Copy" )
inline

◆ LibraryNodeType_TensorTasklet()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_TensorTasklet ( "ml::Tasklet" )
inline

◆ LibraryNodeType_UpsampleBilinear2D()

data_flow::LibraryNodeCode sdfg::math::tensor::LibraryNodeType_UpsampleBilinear2D ( "ml::UpsampleBilinear2D" )
inline

◆ operator<<()

std::ostream & sdfg::math::tensor::operator<< ( std::ostream & stream,
const TensorLayout & layout )

Variable Documentation

◆ QUANTIZATION_MATCH_INPUTS

QuantizationType sdfg::math::tensor::QUANTIZATION_MATCH_INPUTS = types::PrimitiveType::Void
constexpr