|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.util.Utils
at.dms.kjc.spacedynamic.Layout
public class Layout
The Layout class generates mapping of filters to raw tiles. It operates on the entire StreamGraph.
Field Summary | |
---|---|
static int |
ANNEALITERATIONS
|
static double |
DYN_CROSSED_ROUTE
|
static double |
DYN_MULT
cost function constants * |
static double |
ILLEGAL_WEIGHT
|
static int |
MAXTEMPITERATIONS
|
static double |
MEMORY_SCALE
|
static int |
MINTEMPITERATIONS
|
Router |
router
|
static double |
ROUTER_WEIGHT
|
static double |
TFACTR
|
Fields inherited from class at.dms.util.Utils |
---|
EMPTY_LIST, getForLoopCallers |
Constructor Summary | |
---|---|
Layout(SpdStreamGraph streamGraph)
|
Method Summary | |
---|---|
static boolean |
assignedJoiner(FlatNode node)
Decide whether this joiner should be assigned to a tile. |
static boolean |
assignToAComputeNode(FlatNode node)
Return true if this flatnode is or should be assigned to a compute node (a tile or a port) |
static boolean |
assignToATile(FlatNode node)
return true if this flatnode is or should be assigned to tile * |
void |
dumpLayout(String fileName)
|
void |
fileAssign()
read the layout from a new-line separated file * |
ComputeNode |
getComputeNode(FlatNode node)
return the compute node (tile or ioport) assigned to |
ComputeNode |
getComputeNode(SIROperator str)
return the compute node (tile or ioport) assigned to |
HashSet<FlatNode> |
getIdentities()
|
HashSet<ComputeNode> |
getIntermediateTiles()
|
HashSet<FlatNode> |
getJoiners()
|
FlatNode |
getNode(RawTile tile)
Return the flatNode assigned to this |
RawChip |
getRawChip()
|
RawTile |
getTile(FlatNode str)
Returns the tile number assignment for |
RawTile |
getTile(SIROperator str)
Returns the tile number assignment for |
int |
getTileNumber(FlatNode node)
Return the tile number for the |
int |
getTileNumber(SIROperator str)
Return the tile number for the |
Set<ComputeNode> |
getTiles()
|
int |
getTilesAssigned()
|
void |
handAssign()
|
boolean |
isAssigned(FlatNode node)
|
boolean |
isAssigned(RawTile tile)
|
boolean |
isIntermediateTile(RawTile tile)
|
double |
placementCost(boolean debug)
return the cost of this layout calculated by the cost function, if the cost is negative, this layout is illegal. |
void |
simAnnealAssign()
|
void |
singleFilterAssignment()
Assign a StreamGraph that is composed of one filter in one SSG on a RawChip with one tile |
void |
visitNode(FlatNode node)
visit each flatnode and decide whether is should be assigned * |
void |
visitStaticStreamGraph(SpdStaticStreamGraph ssg)
visit each node of the ssg and find out which flatnodes should be assigned to tiles |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public Router router
public static double DYN_MULT
public static double ILLEGAL_WEIGHT
public static double ROUTER_WEIGHT
public static double MEMORY_SCALE
public static double DYN_CROSSED_ROUTE
public static int MINTEMPITERATIONS
public static int MAXTEMPITERATIONS
public static int ANNEALITERATIONS
public static double TFACTR
Constructor Detail |
---|
public Layout(SpdStreamGraph streamGraph)
Method Detail |
---|
public void visitStaticStreamGraph(SpdStaticStreamGraph ssg)
visitStaticStreamGraph
in interface StreamGraphVisitor
public int getTilesAssigned()
public boolean isAssigned(RawTile tile)
public boolean isAssigned(FlatNode node)
public Set<ComputeNode> getTiles()
public HashSet<FlatNode> getJoiners()
public HashSet<FlatNode> getIdentities()
public RawTile getTile(SIROperator str)
str, or null if none has been layout It will die if this str should not be assigned to RawTile
public RawTile getTile(FlatNode str)
str, or null if none has been layout It will die if
strshould not be assigned to RawTile
public int getTileNumber(FlatNode node)
nodeit will die if the node has not been assigned to a tile
public int getTileNumber(SIROperator str)
strit will die if the node has not been assigned to a tile
public FlatNode getNode(RawTile tile)
tile*
public ComputeNode getComputeNode(FlatNode node)
node*
public ComputeNode getComputeNode(SIROperator str)
str*
public RawChip getRawChip()
public void dumpLayout(String fileName)
public void singleFilterAssignment()
public void fileAssign()
public void handAssign()
public double placementCost(boolean debug)
debugthen print out why this layout was illegal
public void simAnnealAssign()
public static boolean assignToAComputeNode(FlatNode node)
public static boolean assignToATile(FlatNode node)
public static boolean assignedJoiner(FlatNode node)
node
- The flatnode to check.
public HashSet<ComputeNode> getIntermediateTiles()
public boolean isIntermediateTile(RawTile tile)
tile
- The tile to test.
public void visitNode(FlatNode node)
visitNode
in interface FlatVisitor
node
- the node that is being currently visited.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |