|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.backendSupport.BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
at.dms.kjc.cell.CellBackendFactory
public class CellBackendFactory
Constructor Summary | |
---|---|
CellBackendFactory(CellChip processors)
Constructor if creating UniBackEndFactory after layout. |
|
CellBackendFactory(Integer numProcessors)
Constructor if creating UniBackEndFactory before layout Creates numProcessors processors. |
Method Summary | |
---|---|
CellBackendScaffold |
getBackEndMain()
|
int |
getCellPUNum(CellPU cpu)
|
int |
getCellPUNumForFilter(FilterSliceNode filterNode)
|
Channel |
getChannel(Edge e)
Back end needs to generate subclasses of channel. |
Channel |
getChannel(SliceNode src,
SliceNode dst)
Back end needs to generate subclasses of channel. |
CodeStoreHelper |
getCodeStoreHelper(SliceNode node)
Select a CodeStoreHelper subclass given a SliceNode. |
CellComputeCodeStore |
getComputeCodeStore(CellPU parent)
|
CellPU |
getComputeNode(Integer specifier)
Get a specified compute node. |
CellChip |
getComputeNodes()
|
Layout<CellPU> |
getLayout()
Get saved copy of Layout . |
PPU |
getPPU()
|
LinkedList<SPU> |
getSPUs()
|
void |
processFilterSliceNode(FilterSliceNode filter,
SchedulingPhase whichPhase,
CellChip computeNodes)
Process a filter slice node: find the correct ProcElement(s) and add code and buffers. |
void |
processFilterSlices(Slice slice,
SchedulingPhase whichPhase,
CellChip computeNodes)
Process all filter slice nodes in a Slice (just one in a SimpleSlice): find the correct ProcElement(s) and add filter code. |
void |
processInputSliceNode(InputSliceNode input,
SchedulingPhase whichPhase,
CellChip computeNodes)
Process an input slice node: find the correct ProcElement(s) and add joiner code, and buffers. |
void |
processOutputSliceNode(OutputSliceNode output,
SchedulingPhase whichPhase,
CellChip computeNodes)
Process an output slice node: find the correct ProcElement(s) and add splitter code, and buffers. |
void |
setLayout(Layout<CellPU> layout)
Keep a copy of the Layout : the mapping from SliceNode to
ComputeNode . |
Methods inherited from class at.dms.kjc.backendSupport.BackEndFactory |
---|
getChannels, sliceHasDownstreamChannel, sliceHasUpstreamChannel, sliceNeedsJoinerCode, sliceNeedsJoinerWorkFunction, sliceNeedsPeekBuffer, sliceNeedsPokeBuffer, sliceNeedsSplitterCode, sliceNeedsSplitterWorkFunction |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CellBackendFactory(Integer numProcessors)
numProcessors
- number of processors to create.public CellBackendFactory(CellChip processors)
processors
- the existing collection of processors.Method Detail |
---|
public CellBackendScaffold getBackEndMain()
getBackEndMain
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
Channel
s and
ComputeCodeStore
s for the ComputeNodes
.public void setLayout(Layout<CellPU> layout)
BackEndFactory
Layout
: the mapping from SliceNode
to
ComputeNode
.
setLayout
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
public Layout<CellPU> getLayout()
BackEndFactory
Layout
.
getLayout
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
public Channel getChannel(Edge e)
BackEndFactory
getChannel
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
e
- the edge.
public Channel getChannel(SliceNode src, SliceNode dst)
BackEndFactory
getChannel
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
public CodeStoreHelper getCodeStoreHelper(SliceNode node)
BackEndFactory
getCodeStoreHelper
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
node
- the SliceNode.
public CellComputeCodeStore getComputeCodeStore(CellPU parent)
getComputeCodeStore
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
ComputeCodeStore
.public CellPU getComputeNode(Integer specifier)
BackEndFactory
getComputeNode
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
specifier
- Different instantiations will have different number of
arguments to specify which node, so a specifier (String, int, array[int]...) here.
public CellChip getComputeNodes()
getComputeNodes
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
public PPU getPPU()
public LinkedList<SPU> getSPUs()
public int getCellPUNumForFilter(FilterSliceNode filterNode)
public int getCellPUNum(CellPU cpu)
public void processFilterSliceNode(FilterSliceNode filter, SchedulingPhase whichPhase, CellChip computeNodes)
BackEndFactory
processFilterSliceNode
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
filter
- the FilterSliceNode.whichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public void processFilterSlices(Slice slice, SchedulingPhase whichPhase, CellChip computeNodes)
BackEndFactory
processFilterSlices
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
slice
- Slice containing filterswhichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public void processInputSliceNode(InputSliceNode input, SchedulingPhase whichPhase, CellChip computeNodes)
BackEndFactory
processInputSliceNode
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
input
- the InputSliceNodewhichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public void processOutputSliceNode(OutputSliceNode output, SchedulingPhase whichPhase, CellChip computeNodes)
BackEndFactory
processOutputSliceNode
in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>
output
- the OutputSliceNode.whichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |