Uses of Class
at.dms.kjc.slicegraph.Slice

Packages that use Slice
at.dms.kjc.backendSupport Package documentation for at.dms.kjc.backendSupport 
at.dms.kjc.cell   
at.dms.kjc.slicegraph This package aims to supersede the SIR and flatgraph representations of the stream graph with a single representation that maintains all relevant information as well as slice information. 
at.dms.kjc.spacetime   
at.dms.kjc.vanillaSlice This package was written to provide a test for the classes in backendSupport
 

Uses of Slice in at.dms.kjc.backendSupport
 

Fields in at.dms.kjc.backendSupport with type parameters of type Slice
protected  LinkedList<Slice> NoSWPipeLayout.scheduleOrder
           
 

Methods in at.dms.kjc.backendSupport that return Slice
 Slice[] CommonPasses.run(SIRStream str, JInterfaceDeclaration[] interfaces, SIRInterfaceTable[] interfaceTables, SIRStructure[] structs, SIRHelper[] helpers, SIRGlobal global, int numCores)
          Top level method for executing passes common to some current and all future StreamIt compilers.
 

Methods in at.dms.kjc.backendSupport with parameters of type Slice
protected  void BackEndScaffold.iterateInorder(Slice[] slices, SchedulingPhase whichPhase, ComputeNodesI computeNodes)
          Iterate over the schedule of slices and over each node of each slice and generate the code necessary to fire the schedule.
abstract  void BackEndFactory.processFilterSlices(Slice slice, SchedulingPhase whichPhase, ComputeNodesType computeNodes)
          Process all filter slice nodes in a Slice (just one in a SimpleSlice): find the correct ProcElement(s) and add filter code.
 boolean BackEndFactory.sliceHasDownstreamChannel(Slice s)
           
 boolean BackEndFactory.sliceHasUpstreamChannel(Slice s)
           
 boolean BackEndFactory.sliceNeedsJoinerCode(Slice s)
          Slice needs code for a joiner if it has input from more than one source.
 boolean BackEndFactory.sliceNeedsJoinerWorkFunction(Slice s)
          Slice needs work function for a joiner.
 boolean BackEndFactory.sliceNeedsPeekBuffer(Slice s)
          Does slice need a peek buffer before first filter? Really depends on where input is coming from: filter on this ComputeNode? Joiner on this ComputeNode?, Filter on another Compute Node? If so is there shared memory? ...
 boolean BackEndFactory.sliceNeedsPokeBuffer(Slice s)
          Does slice need a buffer between its final filter and its splitter?
 boolean BackEndFactory.sliceNeedsSplitterCode(Slice s)
          Slice needs code for a splitter if it has output on more than one edge.
 boolean BackEndFactory.sliceNeedsSplitterWorkFunction(Slice s)
          Haven't yet found a situation where we need to buffer output to splitter but may well: perhaps if prework pushes different number of items from what work pushes?
 

Uses of Slice in at.dms.kjc.cell
 

Methods in at.dms.kjc.cell with parameters of type Slice
 void CellBackendFactory.processFilterSlices(Slice slice, SchedulingPhase whichPhase, CellChip computeNodes)
           
 

Uses of Slice in at.dms.kjc.slicegraph
 

Subclasses of Slice in at.dms.kjc.slicegraph
 class SimpleSlice
          A SimpleSlice is a Slice with exactly one FilterSliceNode.
 

Fields in at.dms.kjc.slicegraph declared as Slice
 Slice[] Partitioner.io
           
protected  Slice[] Partitioner.sliceGraph
           
protected  Slice[] Partitioner.topSlices
           
 

Fields in at.dms.kjc.slicegraph with type parameters of type Slice
protected  HashMap<Slice,FilterSliceNode> Partitioner.bottleNeckFilter
          This hashmap maps a Slice to the FilterSliceNode that has the most work;
protected  HashMap<Slice,Integer> Partitioner.sliceBNWork
           
 

Methods in at.dms.kjc.slicegraph that return Slice
 Slice[] Slice.getDependencies()
           
protected  Slice[] Partitioner.getNext(Slice slice)
           
 Slice SliceNode.getParent()
           
 Slice[] SynchRemover.getSliceGraph()
           
 Slice[] Partitioner.getSliceGraph()
          Get all slices
 Slice[] Partitioner.getTopSlices()
          Get just top level slices in the slice graph.
 Slice[] SimplePartitioner.partition()
           
abstract  Slice[] Partitioner.partition()
          Partition the stream graph into slices (slices) and return the slices.
 Slice[] FlattenAndPartition.partition()
           
 Slice[] AdaptivePartitioner.partition()
           
 

Methods in at.dms.kjc.slicegraph that return types with arguments of type Slice
static LinkedList<Slice> DataFlowOrder.getTraversal(Slice[] topSlices)
          Generate a list of slices in data-flow order.
 

Methods in at.dms.kjc.slicegraph with parameters of type Slice
 void Partitioner.addFilterToSlice(FilterSliceNode node, Slice slice)
          Update all the necesary state to add node to slice.
 boolean Partitioner.containsSlice(Slice slice)
          Does the the slice graph contain slice (perform a simple linear search).
protected  Slice[] Partitioner.getNext(Slice slice)
           
 FilterSliceNode Partitioner.getSliceBNFilter(Slice slice)
           
 int Partitioner.getSliceBNWork(Slice slice)
           
static LinkedList<Slice> DataFlowOrder.getTraversal(Slice[] topSlices)
          Generate a list of slices in data-flow order.
 boolean Partitioner.isIO(Slice slice)
          Check for I/O in slice
 void SliceNode.setParent(Slice par)
           
 void Partitioner.setSliceGraphNewIds(Slice[] slices)
          Set the slice graph to slices, where the only difference between the previous slice graph and the new slice graph is the addition of identity slices (meaning slices with only an identities filter).
protected  String Partitioner.sliceName(Slice slice)
           
static Iterator<SliceNode> Util.sliceNodeTraversal(Slice[] slices)
          Get a traversal (linked list) that includes the head nodes of the given array of slices.
 

Method parameters in at.dms.kjc.slicegraph with type arguments of type Slice
static Iterator<SliceNode> Util.sliceNodeTraversal(List<Slice> slices)
          Get a traversal (linked list iterator) that includes all the slice nodes of the given slice traversal.
 

Constructors in at.dms.kjc.slicegraph with parameters of type Slice
SynchRemover(Slice topSlice)
          Constructs a new SynchRemover.
 

Uses of Slice in at.dms.kjc.spacetime
 

Fields in at.dms.kjc.spacetime declared as Slice
 Slice[] NumberGathering.fileWriters
          the file writers of the application
 

Methods in at.dms.kjc.spacetime that return Slice
static Slice[] TraceExtractor.extractTraces(UnflatFilter[] topFilters, HashMap[] execCounts, LinearAnalyzer lfa)
           
 Slice[] BasicSpaceTimeSchedule.getInitSchedule()
           
 Slice[][] BasicSpaceTimeSchedule.getPrimePumpSchedule()
           
 Slice[] BasicSpaceTimeSchedule.getPrimePumpScheduleFlat()
           
 Slice[] BasicSpaceTimeSchedule.getSchedule()
           
 

Methods in at.dms.kjc.spacetime that return types with arguments of type Slice
static LinkedList<Slice> InitSchedule.getInitSchedule(Slice[] topTraces)
           
 LinkedList<Slice> BasicSpaceTimeSchedule.getScheduleList()
          Return a linked list representation of the steady state schedule;
 

Methods in at.dms.kjc.spacetime with parameters of type Slice
 int CompareSliceBNWork.compare(Slice o1, Slice o2)
          Compare the bottleneck work of Slice
static boolean Util.doesSliceUseTile(Slice slice, ComputeNode tile, Layout layout)
           
static NumberGathering NumberGathering.doit(RawProcElements chip, Slice[] files)
          Collect statistics need for performance code generation on the raw simulator.
static void MultiplySteadyState.doit(Slice[] traces)
           
static void TraceExtractor.dumpGraph(Slice[] traces, String filename)
           
static void SliceDotGraph.dumpGraph(SpaceTimeSchedule spaceTime, Slice[] schedule, String fileName, Layout layout, boolean DRAM)
          Create a dot graph representation of the slice graph.
static void SliceDotGraph.dumpGraph(SpaceTimeSchedule spaceTime, Slice[] schedule, String fileName, Layout layout, boolean DRAM, boolean label)
          Create a dot graph representation of the slice graph.
static IntraSliceBuffer IntraSliceBuffer.getDstIntraBuf(Slice t)
           
static LinkedList<Slice> InitSchedule.getInitSchedule(Slice[] topTraces)
           
 int BasicSpaceTimeSchedule.getPrimePumpMult(Slice slice)
           
static IntraSliceBuffer IntraSliceBuffer.getSrcIntraBuf(Slice t)
           
 void RawBackEndFactory.processFilterSlices(Slice slice, SchedulingPhase whichPhase, RawChip rawChip)
          Process all filter slice nodes in a Slice (just one in a SimpleSlice): find the correct ProcElement(s) and add filter code.
static void Rawify.processFilterSlices(Slice slice, SchedulingPhase whichPhase, RawProcElements rawChip)
          First generate the dram commands for input/output to/from the first/last filters of the trace.
static void ReduceSJWidth.run(List<Slice> initList, List<Slice> steadyList, RawProcElements chip, Slice[] files)
           
 void GeneratePrimePumpSchedule.schedule(Slice[] sliceGraph)
          Create the preloop schedule and place it in the SpaceTimeSchedule.
static SliceNode[] Util.sliceNodeArray(Slice[] traces)
           
 

Method parameters in at.dms.kjc.spacetime with type arguments of type Slice
static void ReduceSJWidth.run(List<Slice> initList, List<Slice> steadyList, RawProcElements chip, Slice[] files)
           
static void ReduceSJWidth.run(List<Slice> initList, List<Slice> steadyList, RawProcElements chip, Slice[] files)
           
 void BasicSpaceTimeSchedule.setInitSchedule(LinkedList<Slice> is)
           
 void BasicSpaceTimeSchedule.setPrimePumpSchedule(LinkedList<LinkedList<Slice>> preLoopSchedule)
           
 void BasicSpaceTimeSchedule.setSchedule(LinkedList<Slice> schedule)
           
 

Constructors in at.dms.kjc.spacetime with parameters of type Slice
DRAMCommandDist(Slice[] schedule, RawProcElements rawChip)
          Create a new object that will calculate how many DRAM commands each DRAM has issued to it for schedule on rawChip.
 

Constructor parameters in at.dms.kjc.spacetime with type arguments of type Slice
ScheduleModel(SpaceTimeSchedule spaceTime, Layout layout, LinkedList<Slice> scheduleOrder)
           
 

Uses of Slice in at.dms.kjc.vanillaSlice
 

Methods in at.dms.kjc.vanillaSlice with parameters of type Slice
 void UniBackEndFactory.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.