|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.sir.lowering.partition.ListPartitioner
at.dms.kjc.sir.lowering.partition.dynamicprog.DynamicProgPartitioner
public class DynamicProgPartitioner
Field Summary |
---|
Fields inherited from class at.dms.kjc.sir.lowering.partition.ListPartitioner |
---|
first, last, nodes, numTiles, str, work |
Constructor Summary | |
---|---|
DynamicProgPartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
As above, without noHorizFuse. |
|
DynamicProgPartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict,
HashSet noHorizFuse)
joinersNeedTiles |
Method Summary | |
---|---|
SIRStream |
calcPartitions(Map<SIROperator,Integer> partitionMap)
The toplevel call for calculating partitions without fusing anything in the stream. |
SIRStream |
fuseall(SIRStream str)
|
int |
getBottleneck()
|
at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfig |
getConfig(SIRStream str)
|
HashSet |
getNoHorizFuse()
Set of filters that should not be fused horizontally. |
boolean |
joinersNeedTiles()
Whether or not joiners in this need a tile. |
boolean |
limitICode()
Whether or not to limit icode of fused parts. |
static void |
saveScalingStatistics(SIRStream str,
WorkEstimate work,
int maxTiles)
Collect scaling statistics for all partitions 1... |
SIRStream |
toplevel()
This is the toplevel call for doing partitioning. |
Methods inherited from class at.dms.kjc.sir.lowering.partition.ListPartitioner |
---|
equivStructure, getNumTiles, getWorkEstimate |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DynamicProgPartitioner(SIRStream str, WorkEstimate work, int numTiles, boolean joinersNeedTiles, boolean limitICode, boolean strict, HashSet noHorizFuse)
joinersNeedTilesindicates whether or not joiners in the graph require a tile in the allocation. If false, joiners will be counted as free. If true, a tile will be allocated to each joiner, though adjacent joiners will be considered as collapsed into one.
limitICodeindicates whether or not we are considering an instruction code size limit, and factoring that into the work function.
strictindicates if we are absolutely required to produce at most
public DynamicProgPartitioner(SIRStream str, WorkEstimate work, int numTiles, boolean joinersNeedTiles, boolean limitICode, boolean strict)
Method Detail |
---|
public static void saveScalingStatistics(SIRStream str, WorkEstimate work, int maxTiles)
maxTiles, assuming joiners need tiles.
public SIRStream toplevel()
public SIRStream calcPartitions(Map<SIROperator,Integer> partitionMap)
partitionMap
- The partition map to fill in.
public boolean joinersNeedTiles()
public boolean limitICode()
public HashSet getNoHorizFuse()
public int getBottleneck()
public at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfig getConfig(SIRStream str)
public SIRStream fuseall(SIRStream str)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |