ACT Library
Loading...
Searching...
No Matches
Public Attributes | List of all members
act_dataflow Class Reference

The dataflow sub-language. More...

#include <lang.h>

Public Attributes

list_t * dflow
 list of dataflow elements
 
list_t * order
 

Detailed Description

The dataflow sub-language.

Member Data Documentation

◆ dflow

list_t* act_dataflow::dflow

list of dataflow elements

◆ order

list_t* act_dataflow::order

This field allows for hierarchical optimization without requiring full ACT program analysis.

Suppose you have a dataflow channels c and d in process foo, and c and d are passed in to a sub-process bar, and internally in that sub-process d is computed from c.

The optimizations in the dataflow body in foo need to know that d depends on c. Otherwise, it might re-structure the dataflow graph and create a synchronization point where d and c might have to be produced concurrently (or worse). If it did that, the sub-process path would result in deadlock.

It is a list of act_dataflow_order elements, and each of which is a pair of lists. Each of those lists is a list of IDs. The directive looks like:

  a1, a2, ..., aN < b1, b2, ..., bM

which means there is a dependency from ai to bj for all pairs.


The documentation for this class was generated from the following file: