a computing origami folding streams in fpgas
Download
Skip this Video
Download Presentation
A Computing Origami: Folding Streams in FPGAs

Loading in 2 Seconds...

play fullscreen
1 / 15

A Computing Origami: Folding Streams in FPGAs - PowerPoint PPT Presentation


  • 65 Views
  • Uploaded on

A Computing Origami: Folding Streams in FPGAs. DAC 2009, California, USA. S. M. Farhad PhD Student University of Sydney. Outline. Motivation Stream programming FPGA Problem Stream Folding Results Conclusion. 2. Stream Programming Paradigm. Programs expressed as stream graphs

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' A Computing Origami: Folding Streams in FPGAs' - lucas


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a computing origami folding streams in fpgas

A Computing Origami: Folding Streams in FPGAs

DAC 2009, California, USA

S. M. Farhad

PhD Student

University of Sydney

outline
Outline
  • Motivation
    • Stream programming
    • FPGA
    • Problem
  • Stream Folding
  • Results
  • Conclusion

2

stream programming paradigm
Stream Programming Paradigm
  • Programs expressed as stream graphs
    • Streams: Sequence of data elements
    • Actor: Functions applied to streams
  • Independent actors with explicit communication
  • Regular and repeating computation

Streams

Actor/Filter

Streams

slide4
FPGA
  • FPGAs are widely available as programmable coprocessors
  • Opportunities to exploit FPGA-based acceleration
    • Multimedia, networking, graphics, and security codes
problem
Problem
  • Maximizing throughput subject to
    • Area and latency constraints
  • Resolving bottleneck actors
    • The replicated filters do not require resynthesis
outline1
Outline
  • Motivation
    • Stream programming
    • FPGA
    • Problem
  • Stream Folding
  • Results
  • Conclusion

9

area throughput design folding
Area/Throughput Design Folding

1 foreachFilter f in S do

2 workFactor[f] = f.latency.S.runs(f);

3 designPointArea+ = f.area.workFactor[f];

4 scaleLimit = minf.hasState (1/workFactor[f]);

5 scaling = min(AREA/designPointArea, scaleLimit);

6 foreachFilter f in S do

7 replication[f] = workFactor[f].scaling;

8 whilearea(replication) > AREA do

9 replication = reduceThroughput(replication);

calculating latency
Calculating Latency
  • FPGAs that are coupled to host processors
  • Initiation interval (DMA)
  • Replication improves throughput, it often increases the latency!
  • Major factors for latency variation
    • Non-periodic data arrival
    • Data-token reordering
    • Local congestion
latency constrained design folding
Latency constrained design folding

1 latConf= null ; T = ∞;

2 whilethroughput(thrConf) ≤ T do

3 iffeasibleImprovement(thrConf) then

4 candidates = simAnnealing(thrConf, T);

5 foreachcandidate in candidates do

6 ifthroughput(candidate) < Tthen

7 latConf = candidate;

8 T = throughput(latConf);

9 thrConf = reduceThroughput(thrConf);

10 returnlatConf

ad