|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.flatgraph.StaticStreamGraph
at.dms.kjc.flatgraph.ScheduledStaticStreamGraph
public class ScheduledStaticStreamGraph
A StaticStreamGraph represents a subgraph of the application's StreamGraph where communication within the SSG is over static rate channels. The input/output (if either exists) of an SSG is dynamic, but the sources and sinks have their input/output rates zeroed, repectively. This extension allows scheduling of a StaticStreamGraph
Field Summary | |
---|---|
protected boolean |
executionCountsValid
|
protected HashMap<FlatNode,Integer> |
initExecutionCounts
|
protected HashMap<FlatNode,Integer> |
steadyExecutionCounts
|
Fields inherited from class at.dms.kjc.flatgraph.StaticStreamGraph |
---|
flatNodes, graphFlattener, id, inputs, nexts, nextSSGs, outputs, prevs, topLevel, topLevelSIR |
Constructor Summary | |
---|---|
ScheduledStaticStreamGraph(StreamGraph sg,
FlatNode realTop)
create a static stream graph with realTop as the first node. |
Method Summary | |
---|---|
void |
accept(StreamGraphVisitor s,
HashSet<StaticStreamGraph> visited,
boolean newHash)
accept a stream graph visitor |
protected void |
createExecutionCounts()
given the multiplicities created by the scheduler, put them into a format that is more easily used |
void |
createSIRGraph()
Given the current toplevel flatnode, create the SIR graph, also regenerating the flatgraph * |
protected void |
dumpFlatGraph()
dump a dot rep of the flat graph * |
HashMap<FlatNode,Integer> |
getExecutionCounts(boolean init)
get the multiplicity map for the give stage as FlatNode -> int |
HashMap<FlatNode,int[]> |
getFlatNodeExecutions(boolean init)
get the multiplicity map for a given stage as FlatNode -> int[] |
int |
getMult(FlatNode node,
boolean init)
get the multiplicity for |
HashMap<SIROperator,int[]> |
getSIRExecutions(boolean init)
get the multiplicity map for the give stage as SIROperator -> int[] |
void |
scheduleAndCreateMults()
call the scheduler on the toplevel SIR node and create the execution counts |
void |
setTopLevelSIR(SIRStream topLevelStream)
set a new TopLevelSIR stream and flatten it, can only be called before layout! |
Methods inherited from class at.dms.kjc.flatgraph.StaticStreamGraph |
---|
addNext, addPrev, check, filterCount, getFlatNodes, getGraphFlattener, getInputNum, getInputType, getIOFilters, getNext, getOutputNum, getOutputs, getOutputType, getParentMap, getPrev, getStreamGraph, getTopLevel, getTopLevelSIR, hasOutput, isInput, isOutput, printCounts, reconnectOutputs, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected HashMap<FlatNode,Integer> initExecutionCounts
protected HashMap<FlatNode,Integer> steadyExecutionCounts
protected boolean executionCountsValid
Constructor Detail |
---|
public ScheduledStaticStreamGraph(StreamGraph sg, FlatNode realTop)
Method Detail |
---|
public void createSIRGraph()
createSIRGraph
in class StaticStreamGraph
public void setTopLevelSIR(SIRStream topLevelStream)
StaticStreamGraph
setTopLevelSIR
in class StaticStreamGraph
public void scheduleAndCreateMults()
protected void dumpFlatGraph()
protected void createExecutionCounts()
public HashMap<FlatNode,Integer> getExecutionCounts(boolean init)
public HashMap<SIROperator,int[]> getSIRExecutions(boolean init)
public HashMap<FlatNode,int[]> getFlatNodeExecutions(boolean init)
public int getMult(FlatNode node, boolean init)
nodein the given stage, if
initthen init stage
public void accept(StreamGraphVisitor s, HashSet<StaticStreamGraph> visited, boolean newHash)
accept
in class StaticStreamGraph
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |