|
||||||||||
| 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>Channels and
ComputeCodeStores for the ComputeNodes.public void setLayout(Layout<CellPU> layout)
BackEndFactoryLayout: the mapping from SliceNode to
ComputeNode.
setLayout in class BackEndFactory<CellChip,CellPU,CellComputeCodeStore,Integer>public Layout<CellPU> getLayout()
BackEndFactoryLayout.
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 | |||||||||