|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectat.dms.kjc.sir.lowering.fusion.FusePipelines
public class FusePipelines
This class fuses sub-segments of pipelines with various characteristics. Part of the motivation of this class was to increase the granularity of stateless regions so that they can be more effectively fissed for parallel execution. To simplify things, it only fuses stateless neighbors in pipelines. The output of the fusion should also be stateless. If an entire pipeline is fused, then it may be fused further with neighbors in a higher-level pipeline.
Constructor Summary | |
---|---|
FusePipelines()
|
Method Summary | |
---|---|
static SIRStream |
fusePipelinesOfFilters(SIRStream str)
Fuses all adjacent filters whos parent is a pipeline. |
static SIRStream |
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 |
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 |
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 |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FusePipelines()
Method Detail |
---|
public static SIRStream fusePipelinesOfFilters(SIRStream str)
str
- input stream to fuse, may be modified by this method.
public static SIRStream fusePipelinesOfStatelessFilters(SIRStream str)
str
- input stream to fuse, may be modified by this method.
public static SIRStream fusePipelinesOfStatelessStreams(SIRStream str)
str
- input stream to fuse, may be modified by this method.
public static SIRStream fusePipelinesOfVectorizableFilters(SIRStream str)
str
- input stream to fuse, may be modified by this method.
public static SIRStream fusePipelinesOfVectorizableStreams(SIRStream str)
str
- input stream to fuse, may be modified by this method.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |