|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use SIRStream | |
---|---|
at.dms.kjc | |
at.dms.kjc.backendSupport | Package documentation for at.dms.kjc.backendSupport |
at.dms.kjc.cell | |
at.dms.kjc.cluster | The cluster backend for StreamIt generates a set of threads that can be executed on a cluster of networked computers or a SMP. |
at.dms.kjc.common | |
at.dms.kjc.flatgraph | FlatNode basics |
at.dms.kjc.iterator | Package Specification. |
at.dms.kjc.lir | Provides a set of low-level stubs (LIR stands for Low-level IR) for compiling to the original (and mostly obsolete) uniprocessor backend. |
at.dms.kjc.raw | |
at.dms.kjc.rstream | |
at.dms.kjc.sir | Contains the heart of the StreamIt Intermediate Representation, or SIR for short. |
at.dms.kjc.sir.linear | Provides analysis and optimization of linear portions of the stream graph. |
at.dms.kjc.sir.linear.frequency | Translates linear filters into the frequency domain. |
at.dms.kjc.sir.lowering | Provides compiler passes that analyze or optimize the SIR, primarily within the code of each filter. |
at.dms.kjc.sir.lowering.fission | Provides compiler passes to split (parallelize) a filter into a set of fine-grained filters. |
at.dms.kjc.sir.lowering.fusion | Provides compiler passes to fuse (combine) a set of filters into a single filter. |
at.dms.kjc.sir.lowering.partition | Provides algorithms for adjusting the granularity of the stream graph to improve load balancing or optimization potential. |
at.dms.kjc.sir.lowering.partition.cache | Fuses filters in the stream graph while respecting instruction and data cache constraints. |
at.dms.kjc.sir.lowering.partition.dynamicprog | Adjusts the granularity of the stream graph, using a dynamic programming algorithm to optimize the load balancing. |
at.dms.kjc.sir.lowering.partition.linear | Applies linear optimizations to the stream graph, using a dynamic programming algorithm to calculate the most profitable set of transformations. |
at.dms.kjc.sir.statespace | Provides analysis and optimization of linear statespace portions of the stream graph. |
at.dms.kjc.sir.stats | Provides passes to gather statistics about stream programs, such as parallelization potential and botteleneck work. |
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.spacedynamic | |
at.dms.kjc.spacetime | |
at.dms.kjc.vanillaSlice |
This package was written to provide a test for the classes in backendSupport . |
at.dms.util | |
streamit.frontend | High-level code for the StreamIt frontend. |
Uses of SIRStream in at.dms.kjc |
---|
Methods in at.dms.kjc with parameters of type SIRStream | |
---|---|
static Object |
ObjectDeepCloner.deepCopy(SIRStream oldObj)
Deep copy a stream structure. |
static Object |
AutoCloner.deepCopy(SIRStream oldObj)
Deep copy a stream structure. |
String |
StreamItDot.getClusterString(SIRStream self)
Prints out the subgraph cluser line that is needed in to make clusters. |
String |
SimpleDot.getClusterString(SIRStream self)
Prints out the subgraph cluser line that is needed in to make clusters. |
String |
NumberDot.getClusterString(SIRStream self)
Prints out the subgraph cluser line that is needed in to make clusters. |
static void |
StreamItDot.printGraph(SIRStream str)
Prints dot graph of |
static void |
SimpleDot.printGraph(SIRStream str)
Prints dot graph of |
static void |
NumberDot.printGraph(SIRStream str)
Prints dot graph of |
static void |
StreamItDot.printGraph(SIRStream str,
String filename)
Prints dot graph of |
static void |
SimpleDot.printGraph(SIRStream str,
String filename)
Prints dot graph of |
static void |
NumberDot.printGraph(SIRStream str,
String filename)
Prints dot graph of |
void |
SLIRVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
Object |
SLIRReplacingVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
void |
SLIREmptyVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
Object |
SLIREmptyAttributeVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
T |
SLIRAttributeVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
void |
CloningVisitor.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement (recurses into the target stream) |
void |
SLIRVisitor.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
Object |
SLIRReplacingVisitor.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
void |
SLIREmptyVisitor.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
Object |
SLIREmptyAttributeVisitor.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
T |
SLIRAttributeVisitor.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
Uses of SIRStream in at.dms.kjc.backendSupport |
---|
Methods in at.dms.kjc.backendSupport that return SIRStream | |
---|---|
SIRStream |
CommonPasses.getOrigSTR()
Get the original stream for statistics gathering. |
Methods in at.dms.kjc.backendSupport with parameters of type SIRStream | |
---|---|
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. |
Uses of SIRStream in at.dms.kjc.cell |
---|
Methods in at.dms.kjc.cell with parameters of type SIRStream | |
---|---|
static void |
CellBackend.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
Top level method for Cell backend, called via reflection from StreaMITMain . |
Uses of SIRStream in at.dms.kjc.cluster |
---|
Methods in at.dms.kjc.cluster with parameters of type SIRStream | |
---|---|
static void |
DoSchedules.findSchedules(Iterator selfIter,
Iterator firstNode,
SIRStream stream)
|
static void |
ClusterBackend.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
The cluster backend. |
void |
FlatIRToCluster.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Uses of SIRStream in at.dms.kjc.common |
---|
Methods in at.dms.kjc.common with parameters of type SIRStream | |
---|---|
void |
ConvertLonelyPops.convertGraph(SIRStream str)
Visit the stream graph. |
static void |
SeparatePushPop.doit(SIRStream str)
if a push expression has a pop expression as a arg, the arg will be first assigned to a temp var and then push'ed. |
static void |
ConvertLocalsToFields.doit(SIRStream str)
Converts locals to fields for all methods of all filters in 'str'. |
void |
ToC.visitInitStatement(SIRInitStatement self,
SIRStream stream)
|
Uses of SIRStream in at.dms.kjc.flatgraph |
---|
Fields in at.dms.kjc.flatgraph declared as SIRStream | |
---|---|
protected SIRStream |
StaticStreamGraph.topLevelSIR
the top level SIR node. |
Methods in at.dms.kjc.flatgraph that return SIRStream | |
---|---|
SIRStream |
StaticStreamGraph.getTopLevelSIR()
get the toplevel SIR of this SSG * |
SIRStream |
StreamGraph.recreateSIR()
The current version pastes together the topLevelSIR graphs for all StaticStreamGraphs. |
Methods in at.dms.kjc.flatgraph with parameters of type SIRStream | |
---|---|
void |
DumpSymbolicGraph.dumpGraph(SIRStream str,
FlatNode toplevel,
String filename,
HashMap<FlatNode,Integer> initExeCounts,
HashMap<FlatNode,Integer> steadyExeCounts)
Creates the output file representing the flattened graph and stores it in filename. |
boolean |
StreamGraph.dynamicEntry(SIRStream stream)
Return true if the source of this stream, stream has dynamic rate input. |
boolean |
StreamGraph.dynamicExit(SIRStream stream)
Return true if the sink of this stream, stream has dynamic rate output TODO: SIRDynamicRateManager |
void |
StaticStreamGraph.setTopLevelSIR(SIRStream newTop)
set a new TopLevelSIR stream and flatten it, can only be called before layout! |
void |
ScheduledStaticStreamGraph.setTopLevelSIR(SIRStream topLevelStream)
|
Uses of SIRStream in at.dms.kjc.iterator |
---|
Methods in at.dms.kjc.iterator that return SIRStream | |
---|---|
SIRStream |
SIRSplitJoinIter.getStream()
Return the stream pointed to by this. |
SIRStream |
SIRRecursiveStubIter.getStream()
Return the stream pointed to by this. |
SIRStream |
SIRPipelineIter.getStream()
Return the stream pointed to by this. |
SIRStream |
SIRPhasedFilterIter.getStream()
Return the stream pointed to by this. |
abstract SIRStream |
SIRIterator.getStream()
Return the stream pointed to by this. |
SIRStream |
SIRFilterIter.getStream()
Return the stream pointed to by this. |
SIRStream |
SIRFeedbackLoopIter.getStream()
Return the stream pointed to by this. |
Methods in at.dms.kjc.iterator with parameters of type SIRStream | |
---|---|
SIRIterator |
IterFactory.createIter(SIRStream obj)
|
Uses of SIRStream in at.dms.kjc.lir |
---|
Methods in at.dms.kjc.lir with parameters of type SIRStream | |
---|---|
void |
LIRToC.visitInitStatement(SIRInitStatement self,
SIRStream stream)
|
void |
LIRToC.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Uses of SIRStream in at.dms.kjc.raw |
---|
Methods in at.dms.kjc.raw with parameters of type SIRStream | |
---|---|
static HashMap[] |
RawBackend.returnExecutionCounts(SIRStream str,
GraphFlattener graphFlattener)
Similar to createExecutionCounts, but returns a HashMap[] and does not go through the RawBackend per se. |
static void |
RawBackend.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
|
static void |
RawWorkEstimator.test(SIRStream stream)
|
void |
FlatIRToC.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Uses of SIRStream in at.dms.kjc.rstream |
---|
Subclasses of SIRStream in at.dms.kjc.rstream | |
---|---|
class |
File_Writer
A file writer class that implements a file writer as a normal (non-predefined) filter in the SIR graph. |
class |
FileReader
A file reader class that implements a file reader as a normal (non-predefined) filter in the SIR graph. |
Methods in at.dms.kjc.rstream with parameters of type SIRStream | |
---|---|
static void |
ConvertFileFilters.doit(SIRStream str)
The main entry-point to this class, visit all filters in str and convert as above. |
static void |
StrToRStream.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
The entry point of the RStream "backend" for the StreamIt Compiler. |
Uses of SIRStream in at.dms.kjc.sir |
---|
Subclasses of SIRStream in at.dms.kjc.sir | |
---|---|
class |
SIRContainer
This represents a 1-to-1 stream that can contain other streams as a hierarchical unit. |
class |
SIRDummySink
This represents a StreamIT filter that just pushes 1 for int type and 1.0f for float. |
class |
SIRDummySource
This represents a StreamIT filter that just pushes 1 for int type and 1.0f for float. |
class |
SIRFeedbackLoop
This represents a feedback loop construct. |
class |
SIRFileReader
This represents a StreaMIT filter that reads from a data source. |
class |
SIRFileWriter
This represents a StreaMIT filter that writes a file to a data source. |
class |
SIRFilter
This represents a basic StreamIt filter. |
class |
SIRGlobal
This class represents a data that is available to all filters. |
class |
SIRHelper
This class represents a set of helper methods available to all filters. |
class |
SIRIdentity
This represents a StreaMIT filter that just reads |
class |
SIRPhasedFilter
A StreamIt phased filter. |
class |
SIRPipeline
This represents a pipeline of stream structures, as would be declared with a Stream construct in StreaMIT. |
class |
SIRPredefinedFilter
This represents a StreaMIT filter that has some compiler-defined functionality. |
class |
SIRRecursiveStub
This class represents a stub for something that was found to be recursive in the front-end, and needs to be expanded within the IR. |
class |
SIRSplitJoin
This represents a SplitJoin construct. |
class |
SIRStructure
This class represents a data structure that may be passed between streams on tapes. |
class |
SIRTwoStageFilter
A two-stage filter is a filter that has two work phases. |
Fields in at.dms.kjc.sir declared as SIRStream | |
---|---|
protected SIRStream |
SIRPortalSender.stream
|
Fields in at.dms.kjc.sir with type parameters of type SIRStream | |
---|---|
protected LinkedList<SIRStream> |
SIRPortal.receivers
|
Methods in at.dms.kjc.sir that return SIRStream | |
---|---|
static SIRStream |
SIRBuilder.buildHello6()
Builds the SIR representation of HelloWorld6.java in the library. |
SIRStream |
SIRRecursiveStub.expand()
Returns the expanded version of this stub, which is obtained by parsing the original class definition one level deeper. |
SIRStream |
SIRContainer.get(int i)
Returns the i'th child of this. |
SIRStream |
SIRFeedbackLoop.getBody()
Returns body of this. |
SIRStream |
SIRFeedbackLoop.getLoop()
Returns loop of this. |
SIRStream |
SIRRegReceiverStatement.getReceiver()
Get the receiver for this statement |
SIRStream[] |
SIRPortal.getReceivers()
|
SIRStream |
SIRPortalSender.getStream()
|
SIRStream |
SIRStream.getStreamWithNumber(int num)
Returns a child stream of this that has number |
SIRStream |
SIRInitStatement.getTarget()
|
Methods in at.dms.kjc.sir that return types with arguments of type SIRStream | |
---|---|
List<SIRStream> |
SIRSplitJoin.getParallelStreams()
Returns a list of the parallel streams in this. |
List<SIRStream> |
SIRPipeline.getSequentialStreams()
Returns a list of the children of this Use instead of getChildren if want to get List |
Methods in at.dms.kjc.sir with parameters of type SIRStream | |
---|---|
void |
SIRContainer.add(int index,
SIRStream str)
Adds |
void |
SIRContainer.add(int index,
SIRStream str,
List param)
Adds str at index index with parameters param, and sets parent of str to this. |
void |
SIRContainer.add(SIRStream str)
Add a |
void |
SIRContainer.add(SIRStream str,
List param)
Adds |
void |
SIRPortal.addReceiver(SIRStream stream)
|
protected void |
SIRStream.deepCloneInto(SIRStream other)
Clones all fields of this into |
static void |
SemanticChecker.doCheck(SIRStream str)
Main method to check |
static void |
SemanticChecker.doCheck(SIRStream str,
PrintStream out)
Main method to check |
static boolean |
SIRPortal.findMessageStatements(SIRStream str)
|
static SIRPortal[] |
SIRPortal.getPortalsWithReceiver(SIRStream receiver)
|
static SIRPortal[] |
SIRPortal.getPortalsWithSender(SIRStream sender)
|
static SIROperator |
SIRNavigationUtils.getPredecessorOper(SIRStream str)
Find a stream's predecessor operator in its parent. |
SIROperator |
SIRSplitJoin.getSuccessor(SIRStream child)
Overrides SIRStream.getSuccessor. |
SIROperator |
SIRFeedbackLoop.getSuccessor(SIRStream child)
Overrides SIRStream.getSuccessor. |
SIROperator |
SIRContainer.getSuccessor(SIRStream child)
Returns the successor of child. |
static SIROperator |
SIRNavigationUtils.getSuccessorOper(SIRStream str)
Find a stream's successor operator in its parent. |
boolean |
SIRPortal.hasReceiver(SIRStream receiver)
|
boolean |
SIRPortal.hasSender(SIRStream sender)
|
int |
SIRContainer.indexOf(SIRStream str)
Returns the index of |
static SIRPipeline |
SIRContainer.makeWrapper(SIRStream str)
Returns a wrapper for str. |
void |
EmptyStreamVisitor.postVisitStream(SIRStream self,
SIRIterator iter)
This is called after all visits to a stream structure (Filter, Pipeline, SplitJoin, FeedbackLoop) |
void |
EmptyStreamVisitor.preVisitStream(SIRStream self,
SIRIterator iter)
This is called before all visits to a stream structure (Filter, Pipeline, SplitJoin, FeedbackLoop) |
void |
SIRContainer.remove(SIRStream str)
Removes |
void |
SIRSplitJoin.replace(SIRStream oldStr,
SIRStream newStr)
See documentation in SIRContainer. |
void |
SIRPipeline.replace(SIRStream oldStr,
SIRStream newStr)
See documentation in SIRContainer. |
void |
SIRFeedbackLoop.replace(SIRStream oldStr,
SIRStream newStr)
See documentation in SIRContainer. |
abstract void |
SIRContainer.replace(SIRStream oldStr,
SIRStream newStr)
Replaces |
void |
SIRPipeline.replace(SIRStream start,
SIRStream end,
SIRStream newStream)
Replaces the sequence of |
static void |
SIRToStreamIt.run(SIRStream str)
Entry point for a stream without interfaces or structs. |
static void |
SIRToStreamIt.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs)
Top-level entry point. |
static void |
SIRToStreamIt.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRGlobal[] globals)
|
static void |
SIRToStreamIt.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
StringBuffer buffer)
Top-level entry point that writes output to buffer param. |
static void |
SIRToStreamIt.runBeforeCompiler(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs)
Top-level entry point if you are processing SIR that has not been compiled at all. |
static void |
SIRToStreamIt.runNonRecursive(SIRStream str)
|
void |
SIRContainer.set(int index,
SIRStream str)
Set child at index |
void |
SIRFeedbackLoop.setBody(SIRStream body)
Set the Body of the feedback loop, and the parent of to this. |
void |
SIRFeedbackLoop.setLoop(SIRStream loop)
Set the Body of the feedback loop |
void |
SIRRegReceiverStatement.setReceiver(SIRStream p)
Set the receiver for this statement |
void |
SIRInitStatement.setTarget(SIRStream s)
|
void |
SIRToStreamIt.visitInitStatement(SIRInitStatement self,
SIRStream stream)
|
void |
SIRToStreamIt.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Constructors in at.dms.kjc.sir with parameters of type SIRStream | |
---|---|
SIRInitStatement(List<JExpression> args,
SIRStream str)
Construct a node in the parsing tree |
|
SIRInitStatement(SIRStream str)
|
|
SIRPortalSender(SIRStream stream,
SIRLatency latency)
|
|
SIRRegReceiverStatement(JExpression portal,
SIRStream receiver,
SIRInterfaceTable itable)
Construct a node in the parsing tree |
Uses of SIRStream in at.dms.kjc.sir.linear |
---|
Methods in at.dms.kjc.sir.linear that return types with arguments of type SIRStream | |
---|---|
Iterator<SIRStream> |
LinearAnalyzer.getFilterIterator()
Gets an iterator over all of the linear representations that this LinearAnalyzer knows about. |
Methods in at.dms.kjc.sir.linear with parameters of type SIRStream | |
---|---|
void |
LinearAnalyzer.addLinearRepresentation(SIRStream key,
LinearFilterRepresentation rep)
Adds a mapping from SIRStream to LinearFilterRep. |
void |
LinearAnalyzer.addNonLinear(SIRStream str)
Adds a note that str is non-linear. |
static void |
LinearRedundancyReplacer.doReplace(LinearAnalyzer lfa,
LinearRedundancyAnalyzer lra,
SIRStream str)
start the process of replacement on str using the Linearity information in lfa. |
static void |
LinearIndirectReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
start the process of replacement on str using the Linearity information in lfa. |
static void |
LinearDirectReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
Start the process of replacement on str using the Linearity information in lfa. |
static void |
LinearDiagonalReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
start the process of replacement on str using the Linearity information in lfa. |
static void |
LinearAtlasReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
start the process of replacement on str using the Linearity information in lfa. |
static LinearAnalyzer |
LinearAnalyzer.findLinearFilters(SIRStream str,
boolean debug,
boolean refactorLinearChildren)
Main entry point -- searches the passed stream for linear filters and calculates their associated matricies. |
static LinearAnalyzer |
LinearAnalyzer.findLinearFilters(SIRStream str,
boolean debug,
LinearAnalyzer lfa)
Same as above, but specifies an existing |
String |
LinearDotSimple.getClusterString(SIRStream self)
Override the string used to create a new subgraph, to color it if we have a linear rep for it. |
String |
LinearDot.getClusterString(SIRStream self)
Override the string used to create a new subgraph, to color it if we have a linear rep for it. |
LinearFilterRepresentation |
LinearAnalyzer.getLinearRepresentation(SIRStream stream)
Returns the mapping from stream to linear representation that we have. |
LinearRedundancy |
LinearRedundancyAnalyzer.getRedundancy(SIRStream str)
Returns the LinearRedundancy opject associated with the SIRStream str. |
boolean |
LinearAnalyzer.hasLinearRepresentation(SIRStream stream)
Returns true if the specified filter has a linear representation that we have found. |
boolean |
LinearRedundancyAnalyzer.hasRedundancy(SIRStream str)
Returns true if this linear redundancy analyzer has redundancy information for the passed SIRStream. |
boolean |
LinearAnalyzer.isNonLinear(SIRStream key)
Adds a mapping from SIRStream to linear filter rep. |
protected SIRFilter |
LinearIndirectReplacer.makeEfficientImplementation(SIRStream oldStream,
LinearFilterRepresentation linearRep)
|
protected SIRFilter |
LinearDirectReplacer.makeEfficientImplementation(SIRStream oldStream,
LinearFilterRepresentation linearRep)
Creates a filter that has a work function that directly implements the linear representation that is passed in. |
protected SIRFilter |
LinearDiagonalReplacer.makeEfficientImplementation(SIRStream oldStream,
LinearFilterRepresentation linearRep)
|
protected SIRFilter |
LinearAtlasReplacer.makeEfficientImplementation(SIRStream oldStream,
LinearFilterRepresentation linearRep)
|
String |
LinearDot.makeRedundancyString(SIRStream str)
Creates a string that represents the linear redundancy of this str. |
abstract boolean |
LinearReplacer.makeReplacement(SIRStream self)
Visit a pipeline, splitjoin or filter, replacing them with a new filter that presumably executes more efficiently. |
boolean |
LinearRedundancyReplacer.makeReplacement(SIRStream self)
Visit a pipeline, splitjoin or filter, replacing them with a new filter that directly implements the linear representation. |
boolean |
LinearDirectReplacer.makeReplacement(SIRStream self)
Visit a pipeline, splitjoin or filter, replacing them with a new filter that directly implements the linear representation. |
static void |
LinearDot.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa)
Prints dot graph of |
static void |
LinearDotSimple.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa,
LinearRedundancyAnalyzer lra)
Prints dot graph of |
static void |
LinearDot.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa,
LinearRedundancyAnalyzer lra)
Prints dot graph of |
void |
LinearAnalyzer.removeLinearRepresentation(SIRStream stream)
Removes the specified SIRStream from the linear represention mapping. |
Uses of SIRStream in at.dms.kjc.sir.linear.frequency |
---|
Methods in at.dms.kjc.sir.linear.frequency with parameters of type SIRStream | |
---|---|
static boolean |
LEETFrequencyReplacer.canReplace(SIRStream str,
LinearAnalyzer lfa)
Returns whether or not we can replace |
static void |
FrequencyReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
Start the process of replacement on str using the Linearity information in lfa. |
boolean |
LEETFrequencyReplacer.makeReplacement(SIRStream self)
Does the actual work of replacing something that computes a convolution sum with something that does a FFT, multiply, and then IFFT. |
Uses of SIRStream in at.dms.kjc.sir.lowering |
---|
Methods in at.dms.kjc.sir.lowering that return SIRStream | |
---|---|
static SIRStream |
Flattener.doLinearAnalysis(SIRStream str)
Returns new value of |
static SIRStream |
FieldProp.doPropagate(SIRStream str)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagate(SIRStream str,
boolean unrollOuterLoops)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagate(SIRStream str,
boolean unrollOuterLoops,
boolean removeDeadFields)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagateNotRecursive(SIRStream str)
Perform field propagation on a given stream, without recursing into its child streams. |
static SIRStream |
FieldProp.doPropagateNotRecursive(SIRStream str,
boolean unrollOuterLoops,
boolean removeDeadFields)
|
static SIRStream |
Flattener.doStateSpaceAnalysis(SIRStream str)
Returns new value of |
SIRStream |
ThreeAddressCode.threeAddressCode(SIRStream str)
Turn all filters in stream into three-address code. |
static SIRStream |
VectorizeEnable.vectorizeEnable(SIRStream str,
Map<SIROperator,Integer> partitionTable)
Perform naive vectorization on eligible filters in a stream. |
Methods in at.dms.kjc.sir.lowering with parameters of type SIRStream | |
---|---|
void |
StructDestroyer.addFields(SIRStream str)
Call after visiting all methods. |
void |
BranchAnalyzer.analyzeBranches(SIRStream str)
|
void |
ArrayDestroyer.destroyArrays(SIRStream str)
Destructure all destructurable local arrays in stream graph. |
void |
CollapseDataParallelism.detectEligible(SIRStream str)
Keeps track of all splitjoins contained within 'str' that are eligible for the transformation. |
static void |
EnqueueToInitPath.doInitPath(SIRStream str)
Recursively search for and transform feedback loops. |
static void |
RoundToFloor.doit(SIRStream str)
Converts all calls in methods and fields of |
static void |
RemoveMultiPops.doit(SIRStream str)
Walk stream structure and replace multiple pops from single SIRPopExpression. |
static void |
RemoveDynamicRates.doit(SIRStream str)
|
static void |
MarkFilterBoundaries.doit(SIRStream str)
Marks filter boundaries for all filters in |
static void |
IntroduceMultiPops.doit(SIRStream str)
Walk stream structure and replace multiple pops from single SIRPopExpression. |
static void |
ConstructSIRTree.doit(SIRStream str)
|
static void |
ArrayInitExpander.doit(SIRStream str)
Returns version of |
static SIRStream |
Flattener.doLinearAnalysis(SIRStream str)
Returns new value of |
static SIRStream |
FieldProp.doPropagate(SIRStream str)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagate(SIRStream str,
boolean unrollOuterLoops)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagate(SIRStream str,
boolean unrollOuterLoops,
boolean removeDeadFields)
Performs a depth-first traversal of an SIRStream tree, and calls propagate() on any SIRSplitJoins as a post-pass. |
static SIRStream |
FieldProp.doPropagateNotRecursive(SIRStream str)
Perform field propagation on a given stream, without recursing into its child streams. |
static SIRStream |
FieldProp.doPropagateNotRecursive(SIRStream str,
boolean unrollOuterLoops,
boolean removeDeadFields)
|
static SIRStream |
Flattener.doStateSpaceAnalysis(SIRStream str)
Returns new value of |
void |
CollapseDataParallelism.doTransformations(SIRStream str)
Actually performs the transformation on all eligible splitjoins within 'str'. |
static void |
RenameAll.expandFunctionNames(SIRStream str)
For all init, initWork, and work functions in all filters of |
static HashMap[] |
SIRScheduler.getApproxExecutionCounts(SIRStream str)
Like getExecutionCounts, but if we are treating everything as dynamic rate then returns only unary counts (everything executes once). |
static HashMap[] |
SIRScheduler.getExecutionCounts(SIRStream str)
Returns a two-dimensional array HashMap's that map each splitter, joiner, & filter in <str$gt; to a 1-dimensional int array containing the count for how many times that siroperator executes: result[0] = map for initializaiton schedule result[1] = map for steady-state schedule |
static String |
LoweringConstants.getInitName(SIRStream str)
Returns the name of the flattened init function for |
static boolean |
Flattener.hasDynamicRates(SIRStream str)
|
static boolean |
Vectorizable.isUseful(SIRStream str)
Determine whether a vectorizable stream may contain useful vector operations. |
void |
StaticsProp.IterOverAllFieldsAndMethods.iterOverAllFieldsAndMethods(SIRStream str,
boolean doFields,
boolean doMethods,
boolean doParameters,
EmptyAttributeVisitor visitor)
Visit all field, method, and parameter definitions reachable from a SIRStream (Including substreams). |
static void |
StaticsProp.IterOverAllFieldsAndMethods.iterOverFieldsAndMethods(SIRStream str,
boolean doFields,
boolean doMethods,
boolean doParameters,
EmptyAttributeVisitor visitor)
Visit all field and method declarations in a SIRStream element (Not including substreams). |
static void |
Flattener.lowerFilterContents(SIRStream str,
boolean printStatus)
Lowers the contents of filters |
static void |
FieldInitMover.moveStreamInitialAssignments(SIRStream str,
int moveArrayInitializers)
Move all (scalar and optionally array) field initializations out of declaration for a stream. |
protected void |
StaticsProp.IterOverAllFieldsAndMethods.postVisit(SIRStream str)
Operation to perform after visiting a SIRStream |
protected boolean |
StaticsProp.IterOverAllFieldsAndMethods.preVisit(SIRStream str)
Operation to perform before visiting a SIRstream. |
void |
RoundToFloor.preVisitStream(SIRStream self,
SIRIterator iter)
|
void |
RemoveDynamicRates.preVisitStream(SIRStream self,
SIRIterator iter)
|
void |
FieldInitMover.preVisitStream(SIRStream self,
SIRIterator iter)
|
static Map<String,Set<String>> |
StaticsProp.propagate(SIRStream str,
Set<SIRGlobal> theStatics)
The top-level for propagating data from static sections into the stream graph. |
static void |
ConstantProp.propagateAndUnroll(SIRStream str)
Propagates constants as far as possible in |
static void |
ConstantProp.propagateAndUnroll(SIRStream str,
boolean removeDeadFields)
Propagates constants as far as possible in |
void |
VarDeclRaiser.raiseVars(SIRStream str)
|
static void |
PopToPeek.removeAllPops(SIRStream str)
Removes all pops in the work functions of the filters contained within str. |
static void |
RenameAll.renameAllFilters(SIRStream str)
Renames the contents of all filters in that are connected to |
static void |
RenameAll.renameOverAllFilters(SIRStream str)
Renames the contents of all filters in that are connected to |
static void |
Flattener.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
Flattens |
static void |
SimplifyPopPeekPush.simplify(SIRStream str)
Re-write code so push, pop, and peek are separate statements, and arguments to them are either literal, local, field, or array access. |
static void |
SimplifyArguments.simplify(SIRStream str)
Walk over stream simplifying arguments to function calls. |
SIRStream |
ThreeAddressCode.threeAddressCode(SIRStream str)
Turn all filters in stream into three-address code. |
static void |
Unroller.unroll(SIRStream str)
Run a propagator on every method of a stream. |
static Set<SIRFilter> |
Vectorizable.vectorizableStr(SIRStream str)
Return set of naively vectorizable filters in stream. |
static SIRStream |
VectorizeEnable.vectorizeEnable(SIRStream str,
Map<SIROperator,Integer> partitionTable)
Perform naive vectorization on eligible filters in a stream. |
Object |
StructDestroyer.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visit Init Statements. |
Object |
Propagator.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Constructors in at.dms.kjc.sir.lowering with parameters of type SIRStream | |
---|---|
SIRSchedule(SIRStream toplevel,
Scheduler scheduler)
|
Uses of SIRStream in at.dms.kjc.sir.lowering.fission |
---|
Methods in at.dms.kjc.sir.lowering.fission with parameters of type SIRStream | |
---|---|
static void |
FissionReplacer.doit(SIRStream str,
int maxFissAmount)
Fisses all eligible filters in |
boolean |
FissionReplacer.makeReplacement(SIRStream self)
Overrides replacement method in LinearReplacer. |
static void |
StatelessDot.printGraph(SIRStream str,
String filename)
Prints dot graph of |
Uses of SIRStream in at.dms.kjc.sir.lowering.fusion |
---|
Methods in at.dms.kjc.sir.lowering.fusion that return SIRStream | |
---|---|
static SIRStream |
FusePipe.fuse(SIRPipeline pipe,
PartitionGroup partitions)
Fuses sections of |
static SIRStream |
FuseSplit.fuse(SIRSplitJoin sj)
Returns result of fusion, which might be mutated version of |
static SIRStream |
FuseSimpleSplit.fuse(SIRSplitJoin sj)
Flattens a split/join, subject to the following constraints: 1. |
static SIRStream |
FuseSplit.fuse(SIRSplitJoin sj,
PartitionGroup partition)
|
static SIRStream |
FusePipelines.fusePipelinesOfFilters(SIRStream str)
Fuses all adjacent filters whos parent is a pipeline. |
static SIRStream |
FusePipelines.fusePipelinesOfStatelessFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
FusePipelines.fusePipelinesOfStatelessStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
FusePipelines.fusePipelinesOfVectorizableFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be naively vectorizable. |
static SIRStream |
FusePipelines.fusePipelinesOfVectorizableStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be naively vectorizable. |
static SIRStream |
FuseSplit.getLastFused()
|
static SIRStream |
FuseSplit.semiFuse(SIRSplitJoin sj)
Fuses half the children of |
Methods in at.dms.kjc.sir.lowering.fusion with parameters of type SIRStream | |
---|---|
static void |
Lifter.eliminateIdentities(SIRStream str)
Removes all non-essential identity filters from |
static SIRPipeline |
FuseAll.fuse(SIRStream str)
As above, with strict=true. |
static SIRPipeline |
FuseAll.fuse(SIRStream str,
boolean strict)
Fuse everything we can in |
static SIRStream |
FusePipelines.fusePipelinesOfFilters(SIRStream str)
Fuses all adjacent filters whos parent is a pipeline. |
static SIRStream |
FusePipelines.fusePipelinesOfStatelessFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
FusePipelines.fusePipelinesOfStatelessStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
FusePipelines.fusePipelinesOfVectorizableFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be naively vectorizable. |
static SIRStream |
FusePipelines.fusePipelinesOfVectorizableStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be naively vectorizable. |
static boolean |
FusePipe.isFusable(SIRStream str)
Returns whether or note str is a candidate component for fusion. |
static void |
Lifter.lift(SIRStream str)
Lift everything we can in |
static void |
Lifter.liftAggressiveSync(SIRStream str)
Lift everything we can, using aggressive sync removal that could possibly add joiners to the graph. |
static void |
Lifter.liftPreservingSync(SIRStream str)
Lift everything we can, but don't eliminate matching sync points. |
Method parameters in at.dms.kjc.sir.lowering.fusion with type arguments of type SIRStream | |
---|---|
static String |
FusePipe.getFusedName(List<SIRStream> filterInfo)
Return a name for the fused filter that consists of those filters in |
Uses of SIRStream in at.dms.kjc.sir.lowering.partition |
---|
Fields in at.dms.kjc.sir.lowering.partition declared as SIRStream | |
---|---|
protected SIRStream |
ListPartitioner.str
The toplevel stream we're operating on. |
Fields in at.dms.kjc.sir.lowering.partition with type parameters of type SIRStream | |
---|---|
protected HashMap<SIRStream,Integer> |
ListPartitioner.first
Maps a stream container (pipeline, splitjoin, feedbackloop) to an Integer denoting the first index in |
protected HashMap<SIRStream,Integer> |
ListPartitioner.last
Maps a stream container (pipeline, splitjoin, feedbackloop) to an Integer denoting the first index in |
Methods in at.dms.kjc.sir.lowering.partition that return SIRStream | |
---|---|
static SIRStream |
RefactorSplitJoin.addDeepRectangularSyncPoints(SIRStream str)
Returns new version of |
static SIRStream |
RefactorSplitJoin.convertToPipeline(SIRSplitJoin sj)
Converts |
static SIRStream |
ManualPartition.convertToPipeline(SIRSplitJoin sj)
Tries to convert 'sj' into a pipeline. |
static SIRStream |
ManualPartition.doit(SIRStream str)
Invokes the "manualPartition" method in class specified by KjcOptions.manual. |
static SIRStream |
Partitioner.doit(SIRStream str,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
Tries to adjust 'str' into 'targetCount' pieces of equal work, and return new stream. |
static SIRStream |
Partitioner.doit(SIRStream str,
int curCount,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
As above, with 'curCount' indicating the number of tiles that 'str' currently requires. |
static SIRStream |
Partitioner.doit(SIRStream str,
int curCount,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict,
HashSet noHorizFuse)
As above, with |
SIRStream |
VerticalCutTransform.doMyTransform(SIRStream str)
Perform the transform on |
protected abstract SIRStream |
StreamTransform.doMyTransform(SIRStream str)
|
SIRStream |
RemoveSyncTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
LinearReplaceTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
IdentityTransform.doMyTransform(SIRStream str)
Perform the transform on 'str' and return new stream. |
SIRStream |
HorizontalCutTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
FusionTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
FreqReplaceTransform.doMyTransform(SIRStream str)
Perform the transform on |
protected SIRStream |
FissionTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
StreamTransform.doTransform(SIRStream str)
Perform the transform on |
static SIRStream |
ManualPartition.fuse(SIRPipeline pipeline,
PartitionGroup partitions)
Fuses some components of a pipeline together. |
static SIRStream |
ManualPartition.fuse(SIRSplitJoin splitjoin,
PartitionGroup partitions)
Fuses some components of a splitjoin together. |
static SIRStream |
ManualPartition.fuse(SIRStream str)
Fuses all of 'str' into a single filter. |
static SIRStream |
ManualPartition.fusePipelinesOfFilters(SIRStream str)
Fuses all adjacent filters whos parent is a pipeline. |
static SIRStream |
ManualPartition.fusePipelinesOfStatelessFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
ManualPartition.fusePipelinesOfStatelessStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
ManualPartition.getStream(SIRStream str,
int num)
Returns stream contained within 'str' that has unique id number 'num'. |
static SIRStream |
ManualPartition.getStream(SIRStream str,
String name)
Returns stream by given |
static SIRStream[] |
ManualPartition.getStreams(SIRStream str,
String prefix)
Returns set of all child streams of 'str' (including 'str', possibly) that have a name beginning with a given prefix. |
static SIRStream[] |
ManualPartition.getStreamsContaining(SIRStream str,
String subStr)
Returns set of all child streams of 'str' (including 'str', possibly) that have a name that contains 'subStr'. |
static SIRStream |
ManualPartition.partition(SIRStream str,
int targetTiles)
Runs dynamic programming partitioner on 'str', aiming to reduce the number of tiles needed to 'targetTiles'. |
static SIRStream |
ManualPartition.partitionGreedy(SIRStream str,
int targetTiles)
Runs greedy partitioner on 'str', aiming to reduce the number of tiles needed to 'targetTiles'. |
SIRStream |
GreedierPartitioner.toplevel()
This is the toplevel call for doing partitioning. |
Methods in at.dms.kjc.sir.lowering.partition with parameters of type SIRStream | |
---|---|
static SIRStream |
RefactorSplitJoin.addDeepRectangularSyncPoints(SIRStream str)
Returns new version of |
static int |
Partitioner.countFilters(SIRStream str)
Returns the number of filters in the graph. |
static int |
Partitioner.countTilesNeeded(SIRStream str,
boolean joinersNeedTiles)
Return number of tiles needed for 'str'. |
static void |
ManualPartition.destroyArrays(SIRStream str)
Attempts to break down arrays in all children of 'str' into local variables, and to remove array declarations that are unneeded. |
static void |
SJToPipe.doit(SIRStream str)
Lift everything we can in |
static SIRStream |
ManualPartition.doit(SIRStream str)
Invokes the "manualPartition" method in class specified by KjcOptions.manual. |
static SIRStream |
Partitioner.doit(SIRStream str,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
Tries to adjust 'str' into 'targetCount' pieces of equal work, and return new stream. |
static SIRStream |
Partitioner.doit(SIRStream str,
int curCount,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
As above, with 'curCount' indicating the number of tiles that 'str' currently requires. |
static SIRStream |
Partitioner.doit(SIRStream str,
int curCount,
int targetCount,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict,
HashSet noHorizFuse)
As above, with |
SIRStream |
VerticalCutTransform.doMyTransform(SIRStream str)
Perform the transform on |
protected abstract SIRStream |
StreamTransform.doMyTransform(SIRStream str)
|
SIRStream |
RemoveSyncTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
LinearReplaceTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
IdentityTransform.doMyTransform(SIRStream str)
Perform the transform on 'str' and return new stream. |
SIRStream |
HorizontalCutTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
FusionTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
FreqReplaceTransform.doMyTransform(SIRStream str)
Perform the transform on |
protected SIRStream |
FissionTransform.doMyTransform(SIRStream str)
Perform the transform on |
SIRStream |
StreamTransform.doTransform(SIRStream str)
Perform the transform on |
protected boolean |
ListPartitioner.equivStructure(SIRStream str1,
SIRStream str2)
Returns whether or not |
static SIRStream |
ManualPartition.fuse(SIRStream str)
Fuses all of 'str' into a single filter. |
static SIRStream |
ManualPartition.fusePipelinesOfFilters(SIRStream str)
Fuses all adjacent filters whos parent is a pipeline. |
static SIRStream |
ManualPartition.fusePipelinesOfStatelessFilters(SIRStream str)
Fuses any two adjacent FILTERS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
static SIRStream |
ManualPartition.fusePipelinesOfStatelessStreams(SIRStream str)
Fuses any two adjacent STREAMS in 'str' so long as: - the shared parent of the filter is a pipeline - the result of fusion will be stateless If a complete pipeline is fused, then it is treated as a single filter in considering fusion within the pipeline's parent. |
String |
PartitionDot.getClusterString(SIRStream self)
Override to show partitions. |
static SIRStream |
ManualPartition.getStream(SIRStream str,
int num)
Returns stream contained within 'str' that has unique id number 'num'. |
static SIRStream |
ManualPartition.getStream(SIRStream str,
String name)
Returns stream by given |
static SIRStream[] |
ManualPartition.getStreams(SIRStream str,
String prefix)
Returns set of all child streams of 'str' (including 'str', possibly) that have a name beginning with a given prefix. |
static SIRStream[] |
ManualPartition.getStreamsContaining(SIRStream str,
String subStr)
Returns set of all child streams of 'str' (including 'str', possibly) that have a name that contains 'subStr'. |
static WorkEstimate |
WorkEstimate.getWorkEstimate(SIRStream str)
Returns a work estimate of |
static void |
GreedyPartitioner.makePartitionMap(SIRStream str,
Map<SIROperator,Integer> map,
int N)
Assuming that 'str' is the product of a greedy (or greedier) partitioning, produce a mapping from SIROperator's to N hosts. |
static SIRStream |
ManualPartition.partition(SIRStream str,
int targetTiles)
Runs dynamic programming partitioner on 'str', aiming to reduce the number of tiles needed to 'targetTiles'. |
static SIRStream |
ManualPartition.partitionGreedy(SIRStream str,
int targetTiles)
Runs greedy partitioner on 'str', aiming to reduce the number of tiles needed to 'targetTiles'. |
void |
RecordingStreamVisitor.preVisitStream(SIRStream self,
SIRIterator iter)
This is called before all visits to a stream structure (Filter, Pipeline, SplitJoin, FeedbackLoop) |
void |
WorkEstimate.printGraph(SIRStream str,
String filename)
Prints dot graph of work estimates for |
static void |
ManualPartition.printGraph(SIRStream str,
String filename)
Outputs numbered dot graph for 'str', by name of 'filename'.dot. |
static void |
PartitionDot.printPartitionGraph(SIRStream str,
String filename,
HashMap<SIROperator,Object> partitions)
Prints dot graph of 'str' to 'filename'. |
static void |
PartitionDot.printScheduleGraph(SIRStream str,
String filename,
HashMap[] execCounts)
For printing execution counts. |
static void |
ManualPartition.unroll(SIRStream str,
int limit)
Performs loop unrolling up to 'limit' in all methods of all deep children within 'str'. |
Method parameters in at.dms.kjc.sir.lowering.partition with type arguments of type SIRStream | |
---|---|
static PartitionGroup |
PartitionGroup.createFromAssignments(List<SIRStream> children,
HashMap<Object,Integer> map)
Given a list of children and a mapping from each child to an Integer denoting the partition, creates a partition group where children mapped to the same integer are allocated to the same partition. |
Constructors in at.dms.kjc.sir.lowering.partition with parameters of type SIRStream | |
---|---|
GreedierPartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
boolean joinersNeedTiles)
Construct GreedierPartitioner. |
|
GreedyPartitioner(SIRStream str,
WorkEstimate work,
int target,
boolean joinersNeedTiles)
|
|
ILPPartitioner(SIRStream str,
WorkEstimate work,
int numTiles)
|
|
ListPartitioner(SIRStream str,
WorkEstimate work,
int numTiles)
|
|
PartitionDot(SIRStream str,
PrintStream outputstream,
HashMap<SIROperator,Object> partitions,
String prefixLabel,
boolean simple,
boolean markStateful,
boolean markIO)
PrefixLabel is a prefix for each node. |
Uses of SIRStream in at.dms.kjc.sir.lowering.partition.cache |
---|
Methods in at.dms.kjc.sir.lowering.partition.cache that return SIRStream | |
---|---|
SIRStream |
CachePartitioner.calcPartitions(Map<SIROperator,Integer> partitionMap)
The toplevel call for calculating partitions without fusing anything in the stream. |
static SIRStream |
CachePartitioner.doit(SIRStream str,
int code_cache,
int data_cache)
Toplevel call. |
SIRStream |
CachePartitioner.toplevel()
This is the toplevel call for doing partitioning. |
Methods in at.dms.kjc.sir.lowering.partition.cache with parameters of type SIRStream | |
---|---|
static SIRStream |
CachePartitioner.doit(SIRStream str,
int code_cache,
int data_cache)
Toplevel call. |
at.dms.kjc.sir.lowering.partition.cache.CConfig |
CachePartitioner.getConfig(SIRStream str)
|
Constructors in at.dms.kjc.sir.lowering.partition.cache with parameters of type SIRStream | |
---|---|
CachePartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
int code_cache_size,
int data_cache_size)
|
Uses of SIRStream in at.dms.kjc.sir.lowering.partition.dynamicprog |
---|
Methods in at.dms.kjc.sir.lowering.partition.dynamicprog that return SIRStream | |
---|---|
SIRStream |
DynamicProgPartitioner.calcPartitions(Map<SIROperator,Integer> partitionMap)
The toplevel call for calculating partitions without fusing anything in the stream. |
SIRStream |
DynamicProgPartitioner.fuseall(SIRStream str)
|
SIRStream |
DynamicProgPartitioner.toplevel()
This is the toplevel call for doing partitioning. |
Methods in at.dms.kjc.sir.lowering.partition.dynamicprog with parameters of type SIRStream | |
---|---|
SIRStream |
DynamicProgPartitioner.fuseall(SIRStream str)
|
at.dms.kjc.sir.lowering.partition.dynamicprog.DPConfig |
DynamicProgPartitioner.getConfig(SIRStream str)
|
static void |
DynamicProgPartitioner.saveScalingStatistics(SIRStream str,
WorkEstimate work,
int maxTiles)
Collect scaling statistics for all partitions 1... |
Constructors in at.dms.kjc.sir.lowering.partition.dynamicprog with parameters of type SIRStream | |
---|---|
DynamicProgPartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict)
As above, without noHorizFuse. |
|
DynamicProgPartitioner(SIRStream str,
WorkEstimate work,
int numTiles,
boolean joinersNeedTiles,
boolean limitICode,
boolean strict,
HashSet noHorizFuse)
joinersNeedTiles |
Uses of SIRStream in at.dms.kjc.sir.lowering.partition.linear |
---|
Methods in at.dms.kjc.sir.lowering.partition.linear that return SIRStream | |
---|---|
SIRStream |
LinearPartitioner.toplevel()
This is the toplevel call for doing partitioning. |
Methods in at.dms.kjc.sir.lowering.partition.linear with parameters of type SIRStream | |
---|---|
at.dms.kjc.sir.lowering.partition.linear.LDPConfig |
LinearPartitioner.getConfig(SIRStream str)
|
Constructors in at.dms.kjc.sir.lowering.partition.linear with parameters of type SIRStream | |
---|---|
LinearPartitioner(SIRStream str,
LinearAnalyzer lfa)
|
Uses of SIRStream in at.dms.kjc.sir.statespace |
---|
Methods in at.dms.kjc.sir.statespace that return types with arguments of type SIRStream | |
---|---|
Iterator<SIRStream> |
LinearAnalyzer.getFilterIterator()
Gets an iterator over all of the linear representations that this LinearAnalyzer knows about. |
Methods in at.dms.kjc.sir.statespace with parameters of type SIRStream | |
---|---|
void |
LinearAnalyzer.addLinearRepresentation(SIRStream key,
LinearFilterRepresentation rep)
Adds a mapping from SIRStream to LinearFilterRep. |
void |
LinearAnalyzer.addNonLinear(SIRStream str)
Adds a note that str is non-linear. |
static void |
LinearDirectReplacer.doReplace(LinearAnalyzer lfa,
SIRStream str)
Start the process of replacement on str using the Linearity information in lfa. |
static LinearAnalyzer |
LinearAnalyzer.findLinearFilters(SIRStream str,
boolean debug,
boolean refactorLinearChildren)
Main entry point -- searches the passed stream for linear filters and calculates their associated matrices. |
static LinearAnalyzer |
LinearAnalyzer.findLinearFilters(SIRStream str,
boolean debug,
LinearAnalyzer lfa)
Same as above, but specifies an existing |
String |
LinearDotSimple.getClusterString(SIRStream self)
Override the string used to create a new subgraph, to color it if we have a linear rep for it. |
String |
LinearDot.getClusterString(SIRStream self)
Override the string used to create a new subgraph, to color it if we have a linear rep for it. |
LinearFilterRepresentation |
LinearAnalyzer.getLinearRepresentation(SIRStream stream)
Returns the mapping from stream to linear representation that we have. |
LinearRedundancy |
LinearRedundancyAnalyzer.getRedundancy(SIRStream str)
Returns the LinearRedundancy opject associated with the SIRStream str. |
boolean |
LinearAnalyzer.hasLinearRepresentation(SIRStream stream)
Returns true if the specified filter has a linear representation that we have found. |
boolean |
LinearRedundancyAnalyzer.hasRedundancy(SIRStream str)
Returns true if this linear redundancy analyzer has redundancy information for the passed SIRStream. |
boolean |
LinearAnalyzer.isNonLinear(SIRStream key)
Checks if stream is non-linear |
protected SIRFilter |
LinearDirectReplacer.makeEfficientImplementation(SIRStream oldStream,
LinearFilterRepresentation linearRep)
Creates a filter that has a work function that directly implements the linear representation that is passed in. |
String |
LinearDot.makeRedundancyString(SIRStream str)
Creates a string that represents the linear redundancy of this str. |
abstract boolean |
LinearReplacer.makeReplacement(SIRStream self)
Visit a pipeline, splitjoin or filter, replacing them with a new filter that presumably executes more efficiently. |
boolean |
LinearDirectReplacer.makeReplacement(SIRStream self)
Visit a pipeline, splitjoin or filter, replacing them with a new filter that directly implements the linear representation. |
static void |
LinearDot.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa)
Prints dot graph of |
static void |
LinearDotSimple.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa,
LinearRedundancyAnalyzer lra)
Prints dot graph of |
static void |
LinearDot.printGraph(SIRStream str,
String filename,
LinearAnalyzer lfa,
LinearRedundancyAnalyzer lra)
Prints dot graph of |
void |
LinearAnalyzer.removeLinearRepresentation(SIRStream stream)
Removes the specified SIRStream from the linear represention mapping. |
Uses of SIRStream in at.dms.kjc.sir.stats |
---|
Methods in at.dms.kjc.sir.stats with parameters of type SIRStream | |
---|---|
static void |
StatisticsGathering.doit(SIRStream str)
Gather statistics for |
static void |
ParallelizationGathering.doit(SIRStream str,
int processors)
|
Uses of SIRStream in at.dms.kjc.slicegraph |
---|
Methods in at.dms.kjc.slicegraph with parameters of type SIRStream | |
---|---|
void |
FlattenAndPartition.flatten(SIRStream str,
HashMap[] exeCounts)
|
static void |
FlattenGraph.flattenGraph(SIRStream graph,
LinearAnalyzer lfa,
HashMap[] execCounts)
Main entry point to FlattenGraph. |
boolean |
AdaptivePartitioner.useSpace(SIRStream partitionedStr,
SpaceTimeSchedule spaceTime,
Layout layout)
|
Constructors in at.dms.kjc.slicegraph with parameters of type SIRStream | |
---|---|
UnflatFilter(SIRStream filter)
Construct new UnflatFilter from filter without doing any connections. |
Uses of SIRStream in at.dms.kjc.spacedynamic |
---|
Methods in at.dms.kjc.spacedynamic with parameters of type SIRStream | |
---|---|
static SIRFilter |
Util.getSinkFilter(SIRStream stream)
|
static SIRFilter |
Util.getSourceFilter(SIRStream stream)
|
static String |
SpaceDynamicBackend.makeDotFileName(String prefix,
SIRStream strName)
|
static void |
SpaceDynamicBackend.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
|
static void |
RawWorkEstimator.test(SIRStream stream)
|
void |
FlatIRToC.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Uses of SIRStream in at.dms.kjc.spacetime |
---|
Methods in at.dms.kjc.spacetime that return SIRStream | |
---|---|
static SIRStream |
GranularityAdjust.doit(SIRStream str,
int numCores)
|
SIRStream |
DuplicateBottleneck.smartDuplication(SIRStream str,
int numCores)
An experimental method for data-parallelization. |
SIRStream |
DuplicateBottleneck.smarterDuplicateStreamline(SIRStream str,
int numCores)
Experimental method for extracting data-parallelism. |
Methods in at.dms.kjc.spacetime with parameters of type SIRStream | |
---|---|
static void |
SafeFileReaderWriterPositions.doit(SIRStream str)
Make FileReader positions safe with respect to splitters and FileWriter positions safe with respect to joiners. |
static SIRStream |
GranularityAdjust.doit(SIRStream str,
int numCores)
|
void |
StreamlinedDuplicate.doit(SIRStream str,
RawChip chip)
|
static void |
BenchChar.doit(SpaceTimeSchedule spaceTime,
SIRStream str)
Calculate and print some characteristics of the application. |
boolean |
DuplicateBottleneck.duplicateBottleneck(SIRStream str)
|
void |
DuplicateBottleneck.duplicateFilters(SIRStream str,
int reps)
Duplicate all the filters in the stream graph reps times. |
static void |
DuplicateBottleneck.duplicateHeavyFilters(SIRStream str)
An experimental method for exploiting data-parallelism. |
static int |
Util.outputsPerSteady(SIRStream str,
HashMap exeCounts)
Calculate the number of items the file writers write to files in the schedule exeCounts. |
void |
DuplicateBottleneck.percentStateless(SIRStream str)
Print the percentage of work that is contained in stateless filters compared to the total work of the application. |
static double |
CompCommRatio.ratio(SIRStream str,
WorkEstimate work,
HashMap<SIRStream,int[]> executionCounts)
|
static void |
SpaceTimeBackend.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
Top level method for SpaceTime backend, called via reflection from Main . |
SIRStream |
DuplicateBottleneck.smartDuplication(SIRStream str,
int numCores)
An experimental method for data-parallelization. |
void |
DuplicateBottleneck.smarterDuplicate(SIRStream str,
int tiles)
Use the cousins algorithm specifying the number of tiles. |
SIRStream |
DuplicateBottleneck.smarterDuplicateStreamline(SIRStream str,
int numCores)
Experimental method for extracting data-parallelism. |
void |
TraceIRtoC.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
|
Method parameters in at.dms.kjc.spacetime with type arguments of type SIRStream | |
---|---|
static double |
CompCommRatio.ratio(SIRStream str,
WorkEstimate work,
HashMap<SIRStream,int[]> executionCounts)
|
Constructors in at.dms.kjc.spacetime with parameters of type SIRStream | |
---|---|
CalculateParams(SIRStream str,
double CCRatio,
HashMap<SIRFilter,int[]> exeCounts)
|
|
GreedyBinPacking(SIRStream str,
int numBins,
WorkEstimate workEstimates)
|
Uses of SIRStream in at.dms.kjc.vanillaSlice |
---|
Methods in at.dms.kjc.vanillaSlice with parameters of type SIRStream | |
---|---|
static void |
UniBackEnd.run(SIRStream str,
JInterfaceDeclaration[] interfaces,
SIRInterfaceTable[] interfaceTables,
SIRStructure[] structs,
SIRHelper[] helpers,
SIRGlobal global)
Top level method for uniprocessor backend, called via reflection from StreaMITMain . |
Uses of SIRStream in at.dms.util |
---|
Fields in at.dms.util with type parameters of type SIRStream | |
---|---|
static LinkedList<SIRStream> |
Utils.EMPTY_LIST
|
Methods in at.dms.util with parameters of type SIRStream | |
---|---|
static String |
Utils.makeDotFileName(String prefix,
SIRStream strName)
Make a name for a dot file from a supplied prefix and the name of the top-level SIRStream. |
void |
IRPrinter.visitInitStatement(SIRInitStatement self,
SIRStream target)
Visits an init statement. |
void |
IRPrinter.visitRegReceiverStatement(SIRRegReceiverStatement self,
JExpression portal,
SIRStream receiver,
JMethodDeclaration[] methods)
Visits a register-receiver statement. |
Uses of SIRStream in streamit.frontend |
---|
Methods in streamit.frontend that return SIRStream | |
---|---|
SIRStream |
FEIRToSIR.findStream(SCSimple creator)
|
SIRStream |
FEIRToSIR.findStream(String name)
|
SIRStream |
FEIRToSIR.visitFilterSpec(StreamSpec spec)
|
SIRStream |
FEIRToSIR.visitPipelineSpec(StreamSpec spec)
|
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |