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

Classes

class  Block
 A control flow node representing a basic block with dataflow computations. More...
class  AssignmentBlock
class  ControlFlowNode
 Base class for all structured control flow nodes in a StructuredSDFG. More...
class  For
 Represents a traditional for-loop with sequential execution. More...
class  IfElse
 Represents a conditional if-else control flow node with multiple cases. More...
class  Map
 Represents a parallel map loop with configurable scheduling. More...
struct  ReductionInfo
 A single reduction carried by a Reduce loop. More...
class  Reduce
 Represents a loop with an associative/commutative reduction carried dependency. More...
class  Return
 Represents a return statement that exits the function with a value. More...
class  Sequence
 A sequential container of control flow nodes. More...
class  ScheduleType
 Represents a schedule type for Map nodes. More...
class  ScheduleType_Sequential
 Sequential schedule type for Map nodes. More...
class  ScheduleType_Unroll
 Unroll annotation carried as a generic property on any ScheduleType. More...
class  ScheduleType_NoFusion
 No-fusion annotation carried as a generic property on any ScheduleType. More...
class  ScheduleType_ZeroInit
 Zero-initialization annotation carried as a generic property on any ScheduleType. More...
class  ScheduleType_NestAnnotations
 Annotations describing a whole loop nest rather than a single loop's execution strategy. More...
class  StructuredLoop
 Base class for structured loop constructs. More...
class  While
 Represents a while-loop with condition-controlled iteration. More...
class  Break
 Represents a break statement that exits the innermost loop. More...
class  Continue
 Represents a continue statement that skips to the next loop iteration. More...

Enumerations

enum class  ReductionOperation { Add , Mul , Min , Max }
 Associative and commutative reduction operators. More...
enum class  RescaleBase { E , Two }
 Exponential base of a rescaled reduction (see ReductionInfo::rescale). More...
enum class  ScheduleTypeCategory { Offloader , Parallelizer , Vectorizer , None }
 Categories of schedule types for Map nodes Defines the high-level classification of scheduling strategies. More...

Functions

std::string reduction_operation_to_string (ReductionOperation op)
 Serialize a reduction operator to its canonical string identifier.
ReductionOperation reduction_operation_from_string (const std::string &value)
 Parse a reduction operator from its canonical string identifier.
std::string rescale_base_to_string (RescaleBase base)
RescaleBase rescale_base_from_string (const std::string &value)

Enumeration Type Documentation

◆ ReductionOperation

Associative and commutative reduction operators.

A Reduce loop combines the values produced across its iterations into an accumulator using one of these operators. Only operators that are both associative and commutative are representable here, because that is exactly the property that makes the loop-carried dependency safe to parallelize (the partial results of disjoint iteration subsets may be combined in any order).

Enumerator
Add 
Mul 
Min 
Max 

◆ RescaleBase

Exponential base of a rescaled reduction (see ReductionInfo::rescale).

Enumerator
E 
Two 

◆ ScheduleTypeCategory

Categories of schedule types for Map nodes Defines the high-level classification of scheduling strategies.

Enumerator
Offloader 
Parallelizer 
Vectorizer 
None 

Function Documentation

◆ reduction_operation_from_string()

ReductionOperation sdfg::structured_control_flow::reduction_operation_from_string ( const std::string & value)

Parse a reduction operator from its canonical string identifier.

Exceptions
InvalidSDFGExceptionif the string does not name a known operator

◆ reduction_operation_to_string()

std::string sdfg::structured_control_flow::reduction_operation_to_string ( ReductionOperation op)

Serialize a reduction operator to its canonical string identifier.

◆ rescale_base_from_string()

RescaleBase sdfg::structured_control_flow::rescale_base_from_string ( const std::string & value)
Exceptions
InvalidSDFGExceptionif the string does not name a known base

◆ rescale_base_to_string()

std::string sdfg::structured_control_flow::rescale_base_to_string ( RescaleBase base)