|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.backendSupport.BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
at.dms.kjc.vanillaSlice.UniBackEndFactory
public class UniBackEndFactory
Specialization of BackEndFactory
for uniprocessor backend.
Provides some specializations for the uniprocssor backend directly, and links to others in separate classes.
Field Summary | |
---|---|
static String |
iterationBound
name of variable used as bound for number of iterations. |
Fields inherited from class at.dms.kjc.backendSupport.BackEndFactory |
---|
layout |
Constructor Summary | |
---|---|
UniBackEndFactory(Integer numProcessors)
Constructor if creating UniBackEndFactory before layout Creates numProcessors processors. |
|
UniBackEndFactory(UniProcessors processors)
Constructor if creating UniBackEndFactory after layout. |
Method Summary | |
---|---|
BackEndScaffold |
getBackEndMain()
|
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. |
UniComputeCodeStore |
getComputeCodeStore(UniProcessor parent)
|
UniProcessor |
getComputeNode(Integer specifier)
Get a specified compute node. |
UniProcessors |
getComputeNodes()
|
void |
processFilterSliceNode(FilterSliceNode filter,
SchedulingPhase whichPhase,
UniProcessors computeNodes)
Process a filter slice node: find the correct ProcElement(s) and add code and buffers. |
void |
processFilterSlices(Slice slice,
SchedulingPhase whichPhase,
UniProcessors 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,
UniProcessors computeNodes)
Process an input slice node: find the correct ProcElement(s) and add joiner code, and buffers. |
void |
processOutputSliceNode(OutputSliceNode output,
SchedulingPhase whichPhase,
UniProcessors computeNodes)
Process an output slice node: find the correct ProcElement(s) and add splitter code, and buffers. |
Methods inherited from class at.dms.kjc.backendSupport.BackEndFactory |
---|
getChannels, getLayout, setLayout, 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 |
Field Detail |
---|
public static final String iterationBound
Constructor Detail |
---|
public UniBackEndFactory(Integer numProcessors)
numProcessors
- number of processors to create.public UniBackEndFactory(UniProcessors processors)
processors
- the existing collection of processors.Method Detail |
---|
public BackEndScaffold getBackEndMain()
getBackEndMain
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
Channel
s and
ComputeCodeStore
s for the ComputeNodes
.public UniProcessors getComputeNodes()
getComputeNodes
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
public UniComputeCodeStore getComputeCodeStore(UniProcessor parent)
getComputeCodeStore
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
ComputeCodeStore
.public UniProcessor getComputeNode(Integer specifier)
BackEndFactory
getComputeNode
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
specifier
- Different instantiations will have different number of
arguments to specify which node, so a specifier (String, int, array[int]...) here.
public void processInputSliceNode(InputSliceNode input, SchedulingPhase whichPhase, UniProcessors computeNodes)
processInputSliceNode
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
input
- the InputSliceNodewhichPhase
- INIT / PRIMEPUMP / STEADYrawChip
- the available compute nodes.public void processFilterSlices(Slice slice, SchedulingPhase whichPhase, UniProcessors computeNodes)
processFilterSlices
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
slice
- Slice containing filterswhichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public void processFilterSliceNode(FilterSliceNode filter, SchedulingPhase whichPhase, UniProcessors computeNodes)
processFilterSliceNode
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
filter
- the FilterSliceNode.whichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public void processOutputSliceNode(OutputSliceNode output, SchedulingPhase whichPhase, UniProcessors computeNodes)
processOutputSliceNode
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
output
- the OutputSliceNode.whichPhase
- INIT / PRIMEPUMP / STEADYcomputeNodes
- the available compute nodes.public Channel getChannel(Edge e)
BackEndFactory
getChannel
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
e
- the edge.
public Channel getChannel(SliceNode src, SliceNode dst)
BackEndFactory
getChannel
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
public CodeStoreHelper getCodeStoreHelper(SliceNode node)
BackEndFactory
getCodeStoreHelper
in class BackEndFactory<UniProcessors,UniProcessor,UniComputeCodeStore,Integer>
node
- the SliceNode.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |