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

Classes

struct  EinsumIndexContribution
 A single einsum dimension's contribution to one operand's access subset. More...
struct  EinsumIndexing
 How the consumed einsum dimensions map onto one operand's access subset. More...
struct  OperandContribution
 A single consumed dimension's contribution to one operand, found during promotion. More...
struct  PromotionCheck
 Result of checking whether a loop can be folded into a cluster. More...
class  EinsumEdge
class  EinsumEdgeOriginal
class  EinsumEdgeVirtual
class  EinsumCluster
 Non-destructive counterpart of an EinsumNode. More...
class  EinsumDetection
 Non-destructive detection of einsum clusters in a StructuredSDFG. More...
struct  EinsumDimension
class  EinsumNode
class  EinsumSerializer
class  EinsumReplacementContext
 ExpandContext for replacing an EinsumCluster with a new implementation. More...
class  EinsumReplacer
 Interface for replacing an EinsumCluster with a different implementation. More...
class  EinsumDetectionPass
class  EinsumConversion
class  EinsumLower
class  EinsumExpansion
 Visitor that expands the EinsumNode with the legacy expand() method. More...
class  Einsum2MatMul
 Proof-of-concept replacer that turns a matmul-shaped EinsumCluster into a MatMulNode. More...
class  Einsum2Dot
class  Einsum2Gemm
class  EinsumExtend
class  EinsumLift
class  EinsumPromotion

Typedefs

typedef passes::LibNodeExpander::ExpandOutcome ReplaceOutcome
typedef passes::VisitorPass< EinsumConversion > EinsumConversionPass
typedef passes::VisitorPass< EinsumLower > EinsumLowerPass
typedef passes::VisitorPass< EinsumExpansion > EinsumExpansionPass
 Pass wrapper for the EinsumExpansion visitor.

Functions

void register_einsum_plugin ()
data_flow::LibraryNodeCode LibraryNodeType_Einsum ("Einsum")
ReplaceOutcome replace_einsum_cluster (builder::StructuredSDFGBuilder &builder, const EinsumCluster &cluster, const EinsumReplacer &replacer)
 Drive a single replacement.

Typedef Documentation

◆ EinsumConversionPass

◆ EinsumExpansionPass

◆ EinsumLowerPass

◆ ReplaceOutcome

Function Documentation

◆ LibraryNodeType_Einsum()

data_flow::LibraryNodeCode sdfg::einsum::LibraryNodeType_Einsum ( "Einsum" )
inline

◆ register_einsum_plugin()

void sdfg::einsum::register_einsum_plugin ( )
inline

◆ replace_einsum_cluster()

ReplaceOutcome sdfg::einsum::replace_einsum_cluster ( builder::StructuredSDFGBuilder & builder,
const EinsumCluster & cluster,
const EinsumReplacer & replacer )

Drive a single replacement.

Builds an EinsumReplacementContext, runs the replacer and, on success, removes the original computation. Returns the replacer's outcome.