StreamIt: A Language and Compiler for Streaming Applications - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

StreamIt: A Language and Compiler for Streaming Applications

Description:

Input Generator. Decimating Low Pass Filter Stage. Reduce the bandwidth of the input ... Text (added in current ) Keywords in the New Text. Old Text (from ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 16
Provided by: Michael2207
Category:

less

Transcript and Presenter's Notes

Title: StreamIt: A Language and Compiler for Streaming Applications


1
StreamItA Language and Compiler for Streaming
Applications
  • Michael Gordon, Michal Karczmarek, William
    Thies, David Maze, and Saman Amarasinghe
  • MIT Laboratory for Computer Science

2
Goals of StreamIt
  • High-level language for stream programs
  • High-performance compiler

Improve programmer productivity without
sacrificing performance
3
Radar Application
  • Multistage Beamforming Target Detection
    Application
  • This application includes
  • Input Generator
  • Decimating Low Pass Filter Stage
  • Reduce the bandwidth of the input
  • Beamformer
  • Detection Stage

4
New Text (added in current slide) Keywords in
the New Text Old Text (from previous slide) Old
Keywords
5
pipeline void-gtvoid PCA_App ()
6
pipeline void-gtvoid PCA_App () add pipeline
add InputSource() add
LowPass(coarseTaps, coarseSamples,
coarseDec) add LowPass(fineTaps,
fineSamples, fineDec)
InputSource
LowPass
LowPass
7
pipeline void-gtvoid PCA_App () add splitjoin
split NULL for (int i0 ilt12 i)
add pipeline add InputSource()
add LowPass(coarseTaps, coarseSamples,
coarseDec) add
LowPass(fineTaps, fineSamples,
fineDec) join RoundRobin()

Input
LowPass
LowPass
RoundRobin
8
Input
pipeline void-gtvoid PCA_App () add splitjoin
split NULL for (int i0 ilt12 i)
add pipeline add InputSource()
add LowPass(coarseTaps, coarseSamples,
coarseDec) add
LowPass(fineTaps, fineSamples,
fineDec) join RoundRobin()
add pipeline add BeamForm(numChannels)
add LowPass(matchedTaps, samples,
matchedDec) add Magnitude() add
Detector(threshold, target)
LowPass
LowPass
RoundRobin
BeamForm
LowPass
Magnitude
Detector
9
Input
pipeline void-gtvoid PCA_App () add splitjoin
split NULL for (int i0 ilt12 i)
add pipeline add InputSource()
add LowPass(coarseTaps, coarseSamples,
coarseDec) add
LowPass(fineTaps, fineSamples,
fineDec) join RoundRobin()
add splitjoin split Duplicate
for (int i0 ilt4 i) add pipeline
add BeamForm(i, numChannels) add
LowPass(matchedTaps, samples,
matchedDec) add Magnitude() add
Detector(i, threshold, target)
join NULL
LowPass
LowPass
RoundRobin
Duplicate
BeamForm
BeamForm
BeamForm
BeamForm
LowPass
LowPass
LowPass
LowPass
Magnitude
Magnitude
Magnitude
Magnitude
Detector
Detector
Detector
Detector
10
Compiling the Application
  • Compiled to 16 RAW tiles
  • Automatic partitioning
  • Automatic load balancing
  • Automatic layout
  • 73 Processor Utilization

11
pipeline void-gtvoid PCA_App () add splitjoin
split Null for (int i0 ilt12 i)
add pipeline add InputSource()
add LowPass(coarseTaps, coarseSamples,
coarseDec) add
LowPass(fineTaps, fineSamples,
fineDec) join RoundRobin()
add splitjoin split Duplicate
for (int i0 ilt4 i) add pipeline
add BeamForm(i, numChannels) add
LowPass(matchedTaps, samples,
matchedDec) add Magnitude() add
Detector(i, threshold, target)
join NULL
Input
LowPass
LowPass
RoundRobin
Duplicate
BeamForm
BeamForm
BeamForm
BeamForm
LowPass
LowPass
LowPass
LowPass
Magnitude
Magnitude
Magnitude
Magnitude
Detector
Detector
Detector
Detector
12
pipeline void-gtvoid PCA_App () add splitjoin
split NULL for (int i0 ilt48 i)
add pipeline add InputSource()
add LowPass(coarseTaps, coarseSamples,
coarseDec) add
LowPass(fineTaps, fineSamples,
fineDec) join RoundRobin()
add splitjoin split Duplicate
for (int i0 ilt16 i) add pipeline
add BeamForm(i, numChannels) add
LowPass(matchedTaps, samples,
matchedDec) add Magnitude() add
Detector(i, threshold, target)
join NULL
13
Input
LowPass
LowPass
RoundRobin
Duplicate
BeamForm
LowPass
Magnitude
Detector
14
Processor Utilization (16 Tiles)
  • Compiled to a 16 tile RAW configuration
  • 66 Processor Utilization

15
For More Information
StreamIt Homepage
http//cag.lcs.mit.edu/streamit
Write a Comment
User Comments (0)
About PowerShow.com