An Introduction to Reconfigurable Computing Mitch Sukalski and Craig Ulmer Dean R&D Seminar 11 December 2003.

Slides:



Advertisements
Similar presentations
Field Programmable Gate Array
Advertisements

ECE 506 Reconfigurable Computing Lecture 2 Reconfigurable Architectures Ali Akoglu.
FPGA (Field Programmable Gate Array)
Hao wang and Jyh-Charn (Steve) Liu
Enhanced matrix multiplication algorithm for FPGA Tamás Herendi, S. Roland Major UDT2012.
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Configurable System-on-Chip: Xilinx EDK
Evolution of implementation technologies
Programmable logic and FPGA
February 4, 2002 John Wawrzynek
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Chapter 6 Memory and Programmable Logic Devices
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
General FPGA Architecture Field Programmable Gate Array.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
Performance and Overhead in a Hybrid Reconfigurable Computer O. D. Fidanci 1, D. Poznanovic 2, K. Gaj 3, T. El-Ghazawi 1, N. Alexandridis 1 1 George Washington.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
ECE 465 Introduction to CPLDs and FPGAs Shantanu Dutt ECE Dept. University of Illinois at Chicago Acknowledgement: Extracted from lecture notes of Dr.
ECEn 191 – New Student Seminar - Session 9: Microprocessors, Digital Design Microprocessors and Digital Design ECEn 191 New Student Seminar.
Chapter One Introduction to Pipelined Processors.
Automated Design of Custom Architecture Tulika Mitra
PROGRAMMABLE LOGIC DEVICES (PLD)
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
J. Christiansen, CERN - EP/MIC
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Programmable Logic Devices
Reconfigurable Computing: FPGAs for Ultrascale Science Sandia National Laboratories Keith UnderwoodSNL/NM Craig Ulmer SNL/CA SOS-8 Workshop.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Computer Architecture And Organization UNIT-II General System Architecture.
EE3A1 Computer Hardware and Digital Design
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
ECEn 191 – New Student Seminar - Session 6 Digital Logic Digital Logic ECEn 191 New Student Seminar.
M.Mohajjel. Why? TTM (Time-to-market) Prototyping Reconfigurable and Custom Computing 2Digital System Design.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Reconfigurable Computing: HPC Network Aspects Mitch Sukalski (8961) David Thompson (8963) Craig Ulmer (8963) Pete Dean R&D Seminar December.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
EKT303/4 Superscalar vs Super-pipelined.
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Computer Organization and Architecture Lecture 1 : Introduction
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Architecture & Organization 1
Electronics for Physicists
FPGAs in AWS and First Use Cases, Kees Vissers
Reconfigurable Computing
Architecture & Organization 1
Electronics for Physicists
Presentation transcript:

An Introduction to Reconfigurable Computing Mitch Sukalski and Craig Ulmer Dean R&D Seminar 11 December 2003

Reconfigurable Computing… is computation on a platform with reconfigurable (i.e., modifiable at run-time) hardware capable of implementing application-specific algorithms and functionality on demand.

Computing Spectrum Execute x/xor Fetch Decode Registers + Memory Writeback Software General-Purpose CPU Easily reprogrammed Low cost Fundamental bottlenecks + z -1 xorx + x ABD π x C result Hardware Application-Specific Integrated Circuit (ASIC) Not modifiable High cost Extremely fast Soft-Hardware Field Programmable Gate Arrays (FPGAs) Reconfigurable hardware Medium cost Speedup potential

History The Teramac CCM: Multi-Chip Module of FPGAs Fixed+Variable CPU: Users can attach new computational circuits to a fixed ALU Xilinx Virtex FPGA 1945: Eckert, Mauchly, von Neumann: ENIAC 1945: “von Neumann architecture” 1960: Estrin: Fixed+Variable Structure Computer 1970’s: Simple PLDs 1985: Xilinx introduces first FPGA 1990’s: Custom Computing Machines (CCMs) 1999: FPGAs exceed million logic gates 2002: FPGAs include complex cores ENIAC Connecting computational Blocks for an algorithm Xilinx Virtex II Pro (image courtesy of rapidio.org)

Reconfigurable Computing in Modern HPC Stand-alone platforms –OctigaBay 12K –SRC-6 –Starbridge Hypercomputer Accelerator cards –Timelogic’s DeCypher –Nallatech’s BenNUEY –Annapolis Micro Systems WILDSTAR II

Example: Computational Fluid Dynamics William Smith & Austars Schnore at GE Global Research From:“Towards an RCC-based Accelerator for Computational Fluid Dynamics,” ERSA 2003

And now for some details… Field Programmable Gate Arrays (FPGAs) Common RC design techniques Reported examples

Field-Programmable Gate Arrays (FPGAs) FPGAs emulate digital logic circuitry –Large array of configurable logic blocks –Internal routing through programmable interconnection network FPGAs hold hardware configuration in SRAM –Change the digital circuitry by loading new configuration Design approach: –User designs in hardware description language –Synthesis tools translate to logic gates –Mapping tools target specific FPGA

Register LUT Simplified Logic Block Emulates logic function –Thousands per chip Lookup Table (LUT) –Holds truth table –Inputs produce outputs 1-bit registers –Hold data between cycles Note: Greatly simplified

LUT Example:1-bit Adder ABC in C out Sum Register LUT A B C 0 A B C 0 C out Sum Truth Table

Routing Data between Logic Blocks Need to connect logic blocks Wires and Switchboxes –LBs connect to local wires –Switchboxes route long connections Routing set at compile time –Performed by tools

Reconfiguration Modern FPGAs SRAM based –Can be loaded with new circuitry Full reconfiguration –Few megabytes of configuration –Milliseconds Partial reconfiguration –Reprogram only a portion of chip –Reduces configuration time –Non-trivial, poorly supported FPGA Full Configuration Image Partial Configuration Image

Design Techniques Digital logic design techniques for exploiting FPGAs

FPGAs as Computational Accelerators Use FPGAs as soft-hardware –Port algorithm to hardware –Run inside FPGA –Reuse hardware Techniques –Concurrency, memory, partial evaluation

1. Concurrency Load FPGA with multiple computational circuits –Hardware state machines are like threads, but.. –All tasks are always running Raw parallelism –Units run in parallel –Example: Key breaking Pipelining –Chain units together in series –Example: Streaming computations, data-flow

2. Custom Memory Interactions Most FPGA cards have multiple memory banks –Fetch/store multiple data values at same time –Predictable performance (as opposed to caches) –Hide address generation SRAM Bank 0 SRAM Bank 1 SRAM Bank 2 SRAM Bank 3 X X X SRAM Bank 4 FPGA

3. Partial Evaluation Know data constants at design time –Apply to circuits and reduce hardware –Synthesis tools perform automatically Note: FPGAs unique because we can easily generate new, optimized hardware configurations for each set of constants. Example: 4-bit Ripple-Carry Adder

RC Performance Examples CFD: 23 GFLOPS sustained –“Towards an RCC-based Accelerator for Computational Fluid Dynamics,” Smith & Schnore, 2003 Adaptive beamforming: 20 GFLOPS –Parallel systolic array architecture –“20 GFLOPS QR processor on a Xilinx Virtex-E FPGA,” Walke, et. al., 2000 Real-time holographic video display at 30fps –“Using field programmable gate arrays to scale up the speed of holographic video computation,” Nwodoh

In Summary Reconfigurable computing uses FPGAs to emulate application-specific hardware –Achieve performance gains with dedicated hardware It is possible to implement just about any kind of digital hardware in the FPGA. –Limited by capacity and effort –Resurrect application-specific hardware architectures –SIMD, MIMD, Systolic Processor Arrays, Data-Flow…