Package at.dms.kjc.slicegraph

This package aims to supersede the SIR and flatgraph representations of the stream graph with a single representation that maintains all relevant information as well as slice information.

See:
          Description

Class Summary
AdaptivePartitioner Test for ASPLOS paper, no longer used.
DataFlowOrder This class generates a data flow schedule of the slice graph (but does not handle feedbackloops).
Edge An Edge connects two SliceNodes.
EdgeArrayList Linked list of UnflatEdge[] used in transforming to Slice Graph representation.
EdgeList Linked list of UnflatEdge used in transforming to Slice Graph representation.
FileInputContent Predefined FilterContent for file input, expands to implement a FileReader.
FileOutputContent Predefined FilterContent for file output, expands to implement a FileWriter.
FilterContent Intended to reflect all the content of a filter needed by a backend.
FilterSliceNode A SliceNode that references a FilterContent.
FlattenAndPartition Convert SIR graph to Slice without synch removal.
FlattenGraph Flatten graph with new synch removal.
InputContent Predefined FilterContent for input.
InputSliceNode Each Slice is started by an InputSlice Node that is either a joiner connecting several other slices, or a connection to a single other slice.
InterSliceEdge This class represents an edge in the partitioned stream graph between slices.
IntList Linked list of int.
OutputContent Predefined FilterContent for output.
OutputSliceNode Each slice is terminated by an OutputSliceNode that has single input (the last filter) and multiple outputs (to downstream slices through edges).
Partitioner An abstract class that a slice parititoner will subclass from: It holds the partitioned stream graph.
PeekPopPushInHelper This class will search for all communication expressions outside of the work function of a filter and return true if they exist.
PredefinedContent Predefined FilterContent.
ProcElement A processing element in the most general sense: CPU tile, GPU, I/O device, switch network.
SimplePartitioner Partition the stream graph into slices where each slice is a pipeline of filters with an inputslicenode and an outputslicenode (each filter is represented as a filterslicenode).
SimpleSlice A SimpleSlice is a Slice with exactly one FilterSliceNode.
Slice Slice class models a slice (joiner, sequence of filters, splitter).
SliceNode SliceNode's are a doubly-linked list with a parent pointer to a Slice.
SynchRemover The new synch remover to replace Jasp's old synch remover in converting a SIR graph to a slice graph (not yet integrated and tested).
UnflatEdge Intermediate file used in (super) synch removal.
UnflatFilter Intermediate file used in (super) synch removal.
Util A class with useful functions that span classes.
 

Package at.dms.kjc.slicegraph Description

This package aims to supersede the SIR and flatgraph representations of the stream graph with a single representation that maintains all relevant information as well as slice information. The package contains the slice data structures, but omits manipulation of the data structures in ways that are not general: in particular, software pipelining algorithms from ASPLOS'06 are not in this package,

Class notes for my edification:

TODO: update when SynchRemover in place!