Slides - Greg Stitt

advertisement
EEL4930/5934
Reconfigurable Computing
The state-of-the-art Reconfigurable Computing equipment
available for this course is made possible by a generous grant
from the Rockwell Collins Growth Relationship Grant
Program and an equipment/software donation from Nallatech.
Instructors

Dr. Greg Stitt



gstitt@ece.ufl.edu
http://www.gstitt.ece.ufl.edu
Office Hours 3-4 M,W (Benton 323)


Also, by appointment
Dr. Herman Lam



hlam@ufl.edu
http://www.hlam.ece.ufl.edu
Larsen 225
Course Website

2 sites

http://www.gstitt.ece.ufl.edu/courses/eel4930_5934/
 Linked off my website

WebCT Vista/E-learning

http://lss.at.ufl.edu/




Select e-learning
Login with GatorLink account
Used for posting grades, class discussions
Email Policy
 When sending an email, include the class name in
brackets


e.g. [EEL5932] Question about project 2
For emails to entire class, use e-learning

Announcements will be posted both on class website and
e-learning site
Grading

EEL4930/5934 Grading:







Mid-term 1: 20% (Wednesday, October 3)
Mid-term 2: 20% (Wednesday, October 31)
Final exam: 20%
Labs/Homework: 10%
Project: 30%
Final grade: curved average of all components
5934 will have different tests, homeworks, and
project
Lab Assignments

Linked off main website and e-learning



http://www.hlam.ece.ufl.edu/EEL4930_5934LabsProj/
Intended to familiarize with FPGA
boards, VHDL
Initials labs will be individual

Will allow groups when using boards
Research Project

Groups

Size to be determined based on enrollment


Likely 2-3 per group
Topic subject to instructor approval


Will give examples
Good idea - find algorithm in your area, use RC to
improve performance


Imaging processing, bioinformatics, CAD, etc.
If interested in research, make an appointment
with me

Will try to find a project that will helps towards degree
Reading Material

Textbook: The Design Warrior’s Guide
to FPGAs



Supplemented by research papers



C. Maxfield
ISBN: 978-0750677045
Check class website for daily requirements
Will also post slides when used
Optional books also listed in syllabus
Prerequisites


Digital design
Architecture





Controller/Datapath
Memory Heirarchy
Pipelining
More listed in syllabus
Assumes no knowledge of
reconfigurable computing
Goals


Understanding of issues related to RC
(reconfigurable computing)
Detailed investigation of a specific
problem


Project/Research Paper
Publish!

Best submissions will be submitted
Academic Dishonesty

Unless told otherwise, labs and homework
assignments must be done individually


Groups must obtain permission to use larger size


May be allowed for difficult projects
Collaboration is allowed (and encouraged), but within
limits



All assignments will be checked for cheating
Can discuss problems, how to use tools etc.
Cannot show code, solutions, etc.
Cheating penalties


First instance - 0 on corresponding assignment
Second - 0 for entire class
Attendance Policy


Attendance is optional, but highly
recommended
If you are sick, stay at home!


If obviously sick, you will be asked to leave
Missed tests cannot be retaken, except
with doctor’s note
What is Reconfigurable Computing?

Reconfigurable computing (RC) is the
study of architectures that can adapt
(after fabrication) to a specific
application or application domain

Involves architecture, design strategies,
tool flows, CAD, languages, algorithms
What is Reconfigurable Computing?
Alternatively, RC is a way of implementing circuits
without fabricating a device



Essentially allows circuits to be implemented as “software”
“circuits” are no longer the same thing as “hardware”

Microprocessor
Binaries
RC devices are programmable by downloading bits - just like
software
a
b
001010010
FPGA Binaries
(Bitfile)
001010010
Bits
loaded
into
program
memory
0010
…
Processor
Processor
Bits
loaded
into
CLBs,
SMs, etc.
0010
…
FPGA
Processor
x
c
y
Why is RC important?

Tremendous performance advantages

Implements applications as custom circuit


In some cases, > 100x faster than microprocessor
Alternatively, similar performances as large cluster


But much smaller
Example:


Software executes sequentially
RC executes all multiplications in parallel



for (i=0; i < 16; i++)
y += c[i] * x[i]
Additions become tree of adders
Even with slower clock, RC is much faster
Performance difference even greater for larger input
sizes


SW time increases linearly
RC time is basically O(log2(n)) - If enough area is available
When should RC be used?

When it provides the cheapest solution


Generally, depends on volume of devices
Total cost = NRE + Volume*unit_cost

NRE: non-recurring engineering cost




One-time cost involved in creating design
Volume: expected units to be sold
Unit cost: cost of each individual unit
RC is typically more cost effective for low
volume devices


RC: low NRE, high unit cost
ASIC: very high NRE, low unit cost
When should RC be used?

When circuit may have to be modified



Can’t change ASIC - hardware
Can change circuit implemented in FPGA
Uses

When standards change




Codec changes after devices fabricated
Allows addition of new features to existing devices
“Partial reconfiguration” allows virtual fabric size analagous to virtual memory
Without RC

Anything that may have to be reconfigured is
implemented in software

Performance loss
RC Markets

Embedded Systems

RC achieves performance close to ASIC,
sometimes at much lower cost


Many embedded systems still use ASIC due to high
volume
Reconfigurablilty!


If standards changes, architecture is not fixed
Can add new features after production
RC Markets

High-performance computing - HPC

Cray XD-1


SGI Altix


12 AMD Opterons, FPGAs
64 Itaniums, FPGAs
IBM Chameleon

Cell processor, FPGAs
RC Markets

General-purpose computing???


Ideal situation: desktop machine/OS uses RC to
speedup up all applications
Problems

RC can be very fast, but not for all applications



Generally requires parallel algorithms
Coding constructs used in many applications not
appropriate for hardware
Subject of tremendous amount of past and likely
future research
CHREC

NSF Center for High-Performance
Reconfigurable Computing

http://www.chrec.ufl.edu/
Download