|
||||||||||
| 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 StaticStreamGraphpublic void setTopLevelSIR(SIRStream topLevelStream)
StaticStreamGraph
setTopLevelSIR in class StaticStreamGraphpublic 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 | |||||||||