at.dms.kjc.spacedynamic
Class SpdStaticStreamGraph

java.lang.Object
  extended by at.dms.kjc.flatgraph.StaticStreamGraph
      extended by at.dms.kjc.flatgraph.ScheduledStaticStreamGraph
          extended by at.dms.kjc.spacedynamic.SpdStaticStreamGraph

public class SpdStaticStreamGraph
extends 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 to at.dms.kjc.flatgraph.StaticStreamGraph is to allow layout and scheduling information to be associated with a StatisStreamGraph. It is a bit confusing casting something which already appears to be of type StaticStreamGraph to StaticStreamGraph, we should have had different names.


Field Summary
 RateMatch rateMatch
          Ratematching information for this static stream graph
 Simulator simulator
          the communication scheduler we are going to use for this graph...
 
Fields inherited from class at.dms.kjc.flatgraph.ScheduledStaticStreamGraph
executionCountsValid, initExecutionCounts, steadyExecutionCounts
 
Fields inherited from class at.dms.kjc.flatgraph.StaticStreamGraph
flatNodes, graphFlattener, id, inputs, nexts, nextSSGs, outputs, prevs, topLevel, topLevelSIR
 
Constructor Summary
SpdStaticStreamGraph(StreamGraph sg, FlatNode realTop)
          create a static stream graph with realTop as the first node that the implicit splitter points to
 
Method Summary
 void accept(StreamGraphVisitor s, HashSet<SpdStaticStreamGraph> visited, boolean newHash)
          accept a stream graph visitor *
 int countAssignedNodes()
          count the number of nodes of the flatgraph that are assigned to tiles by layout *
protected  void createExecutionCounts()
          given the multiplicities created by the scheduler, put them into a format that is more easily used
 int getNumTiles()
          return the number of tiles that this SSG was assigned to occupy *
 void scheduleCommunication(JoinerSimulator js)
          Schedule the static communication of this SSG, given the schedule of joiner firing,
 void setNumTiles(int i)
          set the number of tiles that this SSG should occupy on the raw chip *
 
Methods inherited from class at.dms.kjc.flatgraph.ScheduledStaticStreamGraph
accept, createSIRGraph, dumpFlatGraph, getExecutionCounts, getFlatNodeExecutions, getMult, getSIRExecutions, scheduleAndCreateMults, setTopLevelSIR
 
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

rateMatch

public RateMatch rateMatch
Ratematching information for this static stream graph


simulator

public Simulator simulator
the communication scheduler we are going to use for this graph...

Constructor Detail

SpdStaticStreamGraph

public SpdStaticStreamGraph(StreamGraph sg,
                            FlatNode realTop)
create a static stream graph with realTop as the first node that the implicit splitter points to

Method Detail

scheduleCommunication

public void scheduleCommunication(JoinerSimulator js)
Schedule the static communication of this SSG, given the schedule of joiner firing,
js
*


setNumTiles

public void setNumTiles(int i)
set the number of tiles that this SSG should occupy on the raw chip *


getNumTiles

public int getNumTiles()
return the number of tiles that this SSG was assigned to occupy *


createExecutionCounts

protected void createExecutionCounts()
Description copied from class: ScheduledStaticStreamGraph
given the multiplicities created by the scheduler, put them into a format that is more easily used

Overrides:
createExecutionCounts in class ScheduledStaticStreamGraph

countAssignedNodes

public int countAssignedNodes()
count the number of nodes of the flatgraph that are assigned to tiles by layout *


accept

public void accept(StreamGraphVisitor s,
                   HashSet<SpdStaticStreamGraph> visited,
                   boolean newHash)
accept a stream graph visitor *