|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
---|---|
FindVarDecls | Unused! Finds variable definitions and accesses that have type "Int" or "Float" and replaces them with numbered variables. |
FuseAll | This class fuses all the pipelines that it can in a stream graph. |
FusePipe | This is the high-level fusion class for pipelines. |
FusePipelines | This class fuses sub-segments of pipelines with various characteristics. |
FuseSimpleSplit | This flattens certain cases of split/joins into a single filter. |
FuseSplit | This flattens any set of filters into a single splitjoin. |
Lifter | Canonicalize stream structure eliminating some redundancies. |
ReplaceVarDecls | Used by FindVarDecls.findAndReplace . |
Provides compiler passes to fuse (combine) a set of filters into a single filter. Currently this transformation is applied for two reasons:
RawBackend
), then fusion is needed to map multiple
filters to that processor.
The main fusion classes are FusePipe
and FuseSplit
, which apply to pipelines
and splitjoins, respectively. (Fusion of feedback loops is not yet
implemented, though it should be straightforward to write.) There are
two alternate implementations of pipeline fusion, as described in the
LCTES'05
paper: one that uses modulo addressing (ModuloPipelineFusion
) and one that
avoids modulo operations (ShiftPipelineFusion
). There is also
an optimized splitjoin fusion (FuseSimpleSplit
) for certain cases of
splitjoins.
The FuseAll
class can be
used to fuse everything in a hierarchical stream graph. Lifter
provides graph canonicalization
(removing pipeline wrappers, for example) that are sometimes produced
by fusion (as well as other transformations).
at.dms.kjc.raw
,
at.dms.kjc.cluster
,
SJToPipe
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |