Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm...

17
Reconfigurable Computing Brittany Ransbottom Benjamin Wheeler

Transcript of Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm...

Page 1: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Reconfigurable ComputingBrittany RansbottomBenjamin Wheeler

Page 2: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

What is Reconfigurable Computing?

A computer architecture style which tries to find a happy medium of general purpose processors and ASICs through the use of the flexibility of software, and the speed of hardware.

Page 3: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Reconfigurable Computing

Page 4: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

von Neumann vs. Reconfigurable

Fixed resourcesThe architecture is designed prior to use as a processor

Execution in SW

Variable resourcesWhile the

architecture is designed prior to use, it can be adjusted or reconfigured to use different resources

Execution in HW

Page 5: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Spatial vs. Temporal

Hardware SoftwareSoftware

Page 6: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

The Reconfigurable Computing Paradox

• Migration from software to configwareo speed-up factors and

electricity consumption reduction of about four orders of magnitude

o Clock frequency and other specifications of FPGAs are behind microprocessors by about four orders of magnitude

Page 7: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Current State

No designs merge GPP and ASIC enough to be marketable

Too specialized (a glorified asic), or priced too high to benefit replacing GPPs

Coarse-Grained doesn't have SW support necessary

Page 8: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

What is an FPGA?

Reprogrammable Hardware

Generally configured in VHDL or Verilog

Can execute processes spatially as opposed to temporally

Page 9: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

The FPGA Coprocessor Option

+Reprogrammable Logic

-Requires pre-existing HW design

-Needs to be specific processing, or have an intensive controller/compiler

Page 10: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

What is Coarse-grained computingFunctional units (add, subtraction,

multiplication - word-level operations) interconnected in a mesh style

Page 11: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Coarse-Grained

+Short Reconfiguration Times

+Low Delay Characteristics

+Low Power consumption

-No Gate-level reconfigurability

-Large stress for the scheduling level of a compiler (sparse connectivity, distributed register files)

Page 12: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Coarse-Grained Architectures

• Two main classeso Linear Array

Very efficient for linearly pipelineable applicationsStruggles to support block-based applicationsExamples: RaPiD, PipeRench, RCP

o Mesh-basedMuch more efficient for 2D applicationsExamples: KressArray, MATRIX, MorphoSys, ADRES

Page 13: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

FPGA Advances

FPGAs now support dynamic partial reconfiguration

Allows for sub-units, rather than reconfiguringthe entire FPGA

These units can be loaded with different functions

Page 14: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Image Processing Using Partially Reconfigurable Blocks for co-processing

Algorithm Image Size MicroBlaze Time (s)

SFU Time (s)(6 SFUs)

Speedup

Sobel Edge

Detection

Smile120

120x120

23.057 1.907 12.1

Kirsch Edge

Detection

Smile120

120x120

23.111 1.864 12.4

Prewitt Edge

Detection

Smile120

120x120

23.051 1.908 12.1

Page 15: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

FPGA Partial Reconfiguration

+Lower-level Hardware design and implementationCloser to a GPP

+Significant Speed-upCloser to an ASIC

-Deeper knowledge of system needs on the fly

Page 16: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Future Potential

Coarse-grained and FPGA designs are both viable

Both designs require very good compilers

Compilation of code and determination of design intent prior to execution appears to be the biggest delay moving forward

Page 17: Reconfigurable Computingmeseec.ce.rit.edu/551-projects/fall2012/1-3.pdf · 2012-11-07 · Algorithm Image Size MicroBlaze Time (s) SFU Time (s) (6 SFUs) Speedup Sobel Edge Detection

Conclusion

Reconfigurable Computing has a long way to go, but is definitely a viable option for the future.

Questions?