|
docc 0.8.3 (0d44999b)
C++ API Reference
|
#include <sdfg/element.h>
Public Member Functions | |
| Element (size_t element_id, const DebugInfo &debug_info) | |
| virtual | ~Element ()=default |
| size_t | element_id () const |
| const DebugInfo & | debug_info () const |
| void | set_debug_info (const DebugInfo &debug_info) |
| void | add_metadata (const std::string &key, const std::string &value) |
| void | remove_metadata (const std::string &key) |
| const std::string & | metadata (const std::string &key) const |
| const std::string * | metadata_if_exists (const std::string &key) const |
| const std::unordered_map< std::string, std::string > & | metadata () const |
| virtual ElementType | type_id () const =0 |
| Returns the type of the element. | |
| std::string_view | element_type () const |
| Returns the type of the element as a human-readable string. | |
| virtual void | validate (const Function &function) const =0 |
| Validates the element. | |
| virtual void | replace (const symbolic::Expression old_expression, const symbolic::Expression new_expression)=0 |
| virtual void | replace (const symbolic::ExpressionMapping &replacements) |
Protected Attributes | |
| size_t | element_id_ |
| DebugInfo | debug_info_ |
| std::unordered_map< std::string, std::string > | metadata_ |
Friends | |
| class | builder::SDFGBuilder |
| class | builder::StructuredSDFGBuilder |
| class | serializer::JSONSerializer |
| class | deepcopy::StructuredSDFGDeepCopy |
| sdfg::Element::Element | ( | size_t | element_id, |
| const DebugInfo & | debug_info ) |
|
virtualdefault |
| void sdfg::Element::add_metadata | ( | const std::string & | key, |
| const std::string & | value ) |
| const DebugInfo & sdfg::Element::debug_info | ( | ) | const |
| size_t sdfg::Element::element_id | ( | ) | const |
|
inline |
Returns the type of the element as a human-readable string.
| const std::unordered_map< std::string, std::string > & sdfg::Element::metadata | ( | ) | const |
| const std::string & sdfg::Element::metadata | ( | const std::string & | key | ) | const |
| const std::string * sdfg::Element::metadata_if_exists | ( | const std::string & | key | ) | const |
| void sdfg::Element::remove_metadata | ( | const std::string & | key | ) |
|
pure virtual |
Implemented in sdfg::control_flow::InterstateEdge, sdfg::control_flow::ReturnState, sdfg::control_flow::State, sdfg::cuda::CUDADataOffloadingNode, sdfg::data_flow::AccessNode, sdfg::data_flow::AtomicScalarOpNode, sdfg::data_flow::BarrierLocalNode, sdfg::data_flow::CallNode, sdfg::data_flow::InvokeNode, sdfg::data_flow::LoadConstNode, sdfg::data_flow::Memlet, sdfg::data_flow::MetadataNode, sdfg::data_flow::Tasklet, sdfg::einsum::EinsumNode, sdfg::fp_math::OzakiMatMulNode, sdfg::gpu::GpuMmaFillNode, sdfg::gpu::GpuMmaFragmentEltwiseAddNode, sdfg::gpu::GpuMmaFragmentLoadNode, sdfg::gpu::GpuMmaFragmentStoreNode, sdfg::gpu::GpuMmaMatmulNode, sdfg::gpu::GpuTileArrivalNode, sdfg::math::blas::BatchedGEMMNode, sdfg::math::blas::DotNode, sdfg::math::blas::GEMMNode, sdfg::math::cmath::CMathNode, sdfg::math::tensor::ArangeNode, sdfg::math::tensor::BatchNormNode, sdfg::math::tensor::BroadcastNode, sdfg::math::tensor::ClampNode, sdfg::math::tensor::ConcatNode, sdfg::math::tensor::ConditionalTensorCopyNode, sdfg::math::tensor::ConstPaddingNode, sdfg::math::tensor::ConvNode, sdfg::math::tensor::ElementWiseDataflowTensorNode, sdfg::math::tensor::EluNode, sdfg::math::tensor::EmbeddingNode, sdfg::math::tensor::EmbeddingRenormNode, sdfg::math::tensor::IndexNode, sdfg::math::tensor::LayerNormNode, sdfg::math::tensor::LeakyReLUNode, sdfg::math::tensor::MatMulNode, sdfg::math::tensor::ReduceNode, sdfg::math::tensor::SpatialTensorNode, sdfg::math::tensor::TensorCopyNode, sdfg::math::tensor::UpsampleBilinear2DNode, sdfg::offloading::DataOffloadingNode, sdfg::rocm::ROCMDataOffloadingNode, sdfg::stdlib::AllocaNode, sdfg::stdlib::AssertNode, sdfg::stdlib::CallocNode, sdfg::stdlib::FreeNode, sdfg::stdlib::MallocNode, sdfg::stdlib::MemcpyNode, sdfg::stdlib::MemmoveNode, sdfg::stdlib::MemsetNode, sdfg::stdlib::TrapNode, sdfg::stdlib::UnreachableNode, sdfg::structured_control_flow::AssignmentBlock, sdfg::structured_control_flow::Block, sdfg::structured_control_flow::Break, sdfg::structured_control_flow::Continue, sdfg::structured_control_flow::IfElse, sdfg::structured_control_flow::Reduce, sdfg::structured_control_flow::Return, sdfg::structured_control_flow::Sequence, sdfg::structured_control_flow::StructuredLoop, sdfg::structured_control_flow::While, sdfg::tiles::PipelineCommitNode, sdfg::tiles::PipelineWaitNode, and sdfg::tiles::TileCopyNode.
|
virtual |
Reimplemented in sdfg::data_flow::AtomicScalarOpNode, sdfg::data_flow::BarrierLocalNode, sdfg::data_flow::CallNode, sdfg::data_flow::InvokeNode, sdfg::data_flow::LoadConstNode, sdfg::data_flow::Memlet, sdfg::data_flow::MetadataNode, sdfg::data_flow::Tasklet, sdfg::einsum::EinsumNode, sdfg::fp_math::OzakiMatMulNode, sdfg::gpu::GpuMmaFillNode, sdfg::gpu::GpuMmaFragmentEltwiseAddNode, sdfg::gpu::GpuMmaFragmentLoadNode, sdfg::gpu::GpuMmaFragmentStoreNode, sdfg::gpu::GpuMmaMatmulNode, sdfg::gpu::GpuTileArrivalNode, sdfg::math::blas::BatchedGEMMNode, sdfg::math::blas::DotNode, sdfg::math::blas::GEMMNode, sdfg::math::cmath::CMathNode, sdfg::math::tensor::ArangeNode, sdfg::math::tensor::BatchNormNode, sdfg::math::tensor::BroadcastNode, sdfg::math::tensor::ClampNode, sdfg::math::tensor::ConcatNode, sdfg::math::tensor::ConditionalTensorCopyNode, sdfg::math::tensor::ConstPaddingNode, sdfg::math::tensor::ConvNode, sdfg::math::tensor::ElementWiseDataflowTensorNode, sdfg::math::tensor::EluNode, sdfg::math::tensor::EmbeddingNode, sdfg::math::tensor::EmbeddingRenormNode, sdfg::math::tensor::IndexNode, sdfg::math::tensor::LayerNormNode, sdfg::math::tensor::LeakyReLUNode, sdfg::math::tensor::MatMulNode, sdfg::math::tensor::ReduceNode, sdfg::math::tensor::SpatialTensorNode, sdfg::math::tensor::TensorCopyNode, sdfg::math::tensor::UpsampleBilinear2DNode, sdfg::stdlib::AllocaNode, sdfg::stdlib::AssertNode, sdfg::stdlib::CallocNode, sdfg::stdlib::FreeNode, sdfg::stdlib::MallocNode, sdfg::stdlib::MemcpyNode, sdfg::stdlib::MemmoveNode, sdfg::stdlib::MemsetNode, sdfg::stdlib::TrapNode, sdfg::stdlib::UnreachableNode, sdfg::structured_control_flow::AssignmentBlock, sdfg::structured_control_flow::Block, sdfg::structured_control_flow::Break, sdfg::structured_control_flow::Continue, sdfg::structured_control_flow::IfElse, sdfg::structured_control_flow::Reduce, sdfg::structured_control_flow::Return, sdfg::structured_control_flow::Sequence, sdfg::structured_control_flow::StructuredLoop, sdfg::structured_control_flow::While, sdfg::tiles::PipelineCommitNode, sdfg::tiles::PipelineWaitNode, and sdfg::tiles::TileCopyNode.
| void sdfg::Element::set_debug_info | ( | const DebugInfo & | debug_info | ) |
|
pure virtual |
Returns the type of the element.
Implemented in sdfg::control_flow::InterstateEdge, sdfg::control_flow::State, sdfg::data_flow::AccessNode, sdfg::data_flow::ConstantNode, sdfg::data_flow::LibraryNode, sdfg::data_flow::Memlet, sdfg::data_flow::Tasklet, sdfg::structured_control_flow::AssignmentBlock, sdfg::structured_control_flow::Block, sdfg::structured_control_flow::Break, sdfg::structured_control_flow::Continue, sdfg::structured_control_flow::For, sdfg::structured_control_flow::IfElse, sdfg::structured_control_flow::Map, sdfg::structured_control_flow::Reduce, sdfg::structured_control_flow::Return, sdfg::structured_control_flow::Sequence, and sdfg::structured_control_flow::While.
|
pure virtual |
Validates the element.
| InvalidSDFGException | if the element is invalid |
Implemented in sdfg::control_flow::InterstateEdge, sdfg::control_flow::ReturnState, sdfg::control_flow::State, sdfg::cuda::CUDADataOffloadingNode, sdfg::data_flow::AccessNode, sdfg::data_flow::AtomicScalarOpNode, sdfg::data_flow::BarrierLocalNode, sdfg::data_flow::CallNode, sdfg::data_flow::CodeNode, sdfg::data_flow::ConstantNode, sdfg::data_flow::InvokeNode, sdfg::data_flow::Memlet, sdfg::data_flow::MetadataNode, sdfg::data_flow::Tasklet, sdfg::einsum::EinsumNode, sdfg::fp_math::OzakiMatMulNode, sdfg::gpu::GpuMmaFillNode, sdfg::gpu::GpuMmaFragmentEltwiseAddNode, sdfg::gpu::GpuMmaFragmentLoadNode, sdfg::gpu::GpuMmaFragmentStoreNode, sdfg::gpu::GpuMmaMatmulNode, sdfg::gpu::GpuTileArrivalNode, sdfg::math::blas::BatchedGEMMNode, sdfg::math::blas::DotNode, sdfg::math::blas::GEMMNode, sdfg::math::cmath::CMathNode, sdfg::math::tensor::ArangeNode, sdfg::math::tensor::BroadcastNode, sdfg::math::tensor::CastNode, sdfg::math::tensor::ClampNode, sdfg::math::tensor::CMathTensorNode, sdfg::math::tensor::ConcatNode, sdfg::math::tensor::ConditionalTensorCopyNode, sdfg::math::tensor::ConstPaddingNode, sdfg::math::tensor::ConvNode, sdfg::math::tensor::ElementWiseDataflowTensorNode, sdfg::math::tensor::EluNode, sdfg::math::tensor::EmbeddingNode, sdfg::math::tensor::EmbeddingRenormNode, sdfg::math::tensor::IndexNode, sdfg::math::tensor::LayerNormNode, sdfg::math::tensor::LeakyReLUNode, sdfg::math::tensor::LogicalNotNode, sdfg::math::tensor::MatMulNode, sdfg::math::tensor::PoolingNode, sdfg::math::tensor::ReduceNode, sdfg::math::tensor::SoftmaxNode, sdfg::math::tensor::TaskletTensorNode, sdfg::math::tensor::TensorCopyNode, sdfg::math::tensor::TensorNode, sdfg::math::tensor::UpsampleBilinear2DNode, sdfg::offloading::ExternalDataOffloadingNode, sdfg::rocm::ROCMDataOffloadingNode, sdfg::stdlib::AllocaNode, sdfg::stdlib::CallocNode, sdfg::stdlib::FreeNode, sdfg::stdlib::MallocNode, sdfg::stdlib::MemcpyNode, sdfg::stdlib::MemmoveNode, sdfg::stdlib::MemsetNode, sdfg::stdlib::TrapNode, sdfg::stdlib::UnreachableNode, sdfg::structured_control_flow::AssignmentBlock, sdfg::structured_control_flow::Block, sdfg::structured_control_flow::Break, sdfg::structured_control_flow::Continue, sdfg::structured_control_flow::For, sdfg::structured_control_flow::IfElse, sdfg::structured_control_flow::Map, sdfg::structured_control_flow::Reduce, sdfg::structured_control_flow::Return, sdfg::structured_control_flow::Sequence, sdfg::structured_control_flow::StructuredLoop, sdfg::structured_control_flow::While, sdfg::tiles::PipelineCommitNode, sdfg::tiles::PipelineWaitNode, and sdfg::tiles::TileCopyNode.
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |