|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.backendSupport.Channel
at.dms.kjc.spacetime.OffChipBuffer
public abstract class OffChipBuffer
This abstract class represents a buffer in the partitioner slice graph. A
buffer appears between slices and inside slices between the input node and the first
filter and between the last filter and the output node.
Now derived from Buffer
.
Assumes all buffers are actuall OffChipBuffers.
Field Summary | |
---|---|
protected StreamingDram |
dram
the dram that we are reading/writing |
protected ComputeNode |
owner
The sending or receiving tile |
protected Address |
sizeSteady
the size of the buffer in the steady stage |
Fields inherited from class at.dms.kjc.backendSupport.Channel |
---|
bufferStore, extraCount, ident, rotationLength, theEdge, unique_id |
Constructor Summary | |
---|---|
protected |
OffChipBuffer(Edge edge)
|
protected |
OffChipBuffer(SliceNode src,
SliceNode dst)
|
Method Summary | |
---|---|
static boolean |
areAllAssigned()
|
protected abstract void |
calculateSize()
|
StreamingDram |
getDRAM()
Return the dram assignment of this buffer. |
String |
getIdent()
return the prefix buffer name for this buffer |
String |
getIdent(boolean read)
|
String |
getIdent(int i)
|
abstract OffChipBuffer |
getNonRedundant()
if this buffer is redundant return the first upstream buffer that is not redundant, return null if this is a input->filter buffer with no input or a filter->output buffer with no output |
RawTile |
getOwner()
return the owner tile of the dram this buffer is assigned to, this is set in the static section of this class. |
int |
getRotationLength()
|
Address |
getSize()
|
boolean |
isAssigned()
|
boolean |
isInterSlice()
|
boolean |
isIntraSlice()
|
abstract boolean |
redundant()
|
static void |
resetDRAMAssignment()
Reset all the dram assignments of the buffers to null. |
void |
setDRAM(StreamingDram DRAM)
|
static void |
setRotationLengths(BasicSpaceTimeSchedule spaceTime)
Iterate over all the buffers and set the rotation length of each buffer based on the prime pump schedule and the multiplicity difference between the source node and the dest node. |
String |
toString()
|
static Address |
totalBufferSizeInBytes()
Return the total number of bytes used by the offchip buffers. |
static boolean |
unnecessary(InputSliceNode input)
|
static boolean |
unnecessary(OutputSliceNode output)
|
void |
unsetDRAM()
Remove the dram assignment of this buffer. |
Methods inherited from class at.dms.kjc.backendSupport.Channel |
---|
addChannel, assignFromPeekMethod, assignFromPeekMethodName, assignFromPopMethod, assignFromPopMethodName, beginInitRead, beginInitWrite, beginSteadyRead, beginSteadyWrite, dataDecls, dataDeclsH, endInitRead, endInitWrite, endSteadyRead, endSteadyWrite, findChannel, getBuffers, getDest, getExtraCount, getSource, getType, peekMethod, peekMethodName, popManyMethod, popManyMethodName, popMethod, popMethodName, postPreworkInitRead, printBuffers, pushMethod, pushMethodName, readDecls, readDeclsExtern, reset, setExtralength, topOfWorkSteadyRead, topOfWorkSteadyWrite, writeDecls, writeDeclsExtern |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected ComputeNode owner
protected Address sizeSteady
protected StreamingDram dram
Constructor Detail |
---|
protected OffChipBuffer(SliceNode src, SliceNode dst)
protected OffChipBuffer(Edge edge)
Method Detail |
---|
public abstract boolean redundant()
public abstract OffChipBuffer getNonRedundant()
public static boolean unnecessary(InputSliceNode input)
public static boolean unnecessary(OutputSliceNode output)
public void setDRAM(StreamingDram DRAM)
public boolean isAssigned()
public void unsetDRAM()
public StreamingDram getDRAM()
public String getIdent(int i)
i
-
node
public String getIdent(boolean read)
read
-
public String getIdent()
getIdent
in class Channel
public static void resetDRAMAssignment()
public Address getSize()
public int getRotationLength()
protected abstract void calculateSize()
public RawTile getOwner()
public String toString()
toString
in class Object
public boolean isIntraSlice()
public boolean isInterSlice()
public static void setRotationLengths(BasicSpaceTimeSchedule spaceTime)
spaceTime
- The BasicSpaceTimeSchedulepublic static boolean areAllAssigned()
public static Address totalBufferSizeInBytes()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |