18 643 lecture 1: welcome, why are you here?jhoe/course/ece643/f17handouts/l01.pdf ·...

26
18-643-F19-L01-S1, James C. Hoe, CMU/ECE/CALCM, ©2019 18-643 Lecture 1: Welcome, why are you here? James C. Hoe Department of ECE Carnegie Mellon University

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S1, James C. Hoe, CMU/ECE/CALCM, ©2019

18-643 Lecture 1:Welcome, why are you here?

James C. HoeDepartment of ECE

Carnegie Mellon University

Page 2: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S2, James C. Hoe, CMU/ECE/CALCM, ©2019

Housekeeping

• Your goal today: decide if you are coming back . . . • Notices (all handouts on Canvas)

– Handout #1: syllabus– Handout #1a: academic integrity statements– Handout #2: lab 0, due noon, Mon 9/9– Complete survey on Canvas, due noon, Tue 9/3

• Readings– S. M. Trimberger, “Three Ages of FPGAs: A

Retrospective on the First Thirty Years of FPGA Technology,” Proceedings of the IEEE, March 2015

– Ch 1, Reconfigurable Computing

Page 3: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S3, James C. Hoe, CMU/ECE/CALCM, ©2019

Field Programmable Gate Arrays:in the beginning

I

I/O pins

programmable lookup tables (LUT) and flip-flops (FF)

aka “soft logic” or “fabric”

Inte

rcon

nect

LUT FF

programmable routing

Page 4: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S4, James C. Hoe, CMU/ECE/CALCM, ©2019

Original Xilinx FPGA

[Fig 4, Alfke, et al., “It an FPGA!” IEEE Solid State Circuits Magazine, 2011]

Page 5: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S5, James C. Hoe, CMU/ECE/CALCM, ©2019

Another Alternative

https://www.computerhistory.org/revolution/digital-logic/12/278/1445

Page 6: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S6, James C. Hoe, CMU/ECE/CALCM, ©2019

A Quite Wondrous Device

• Make an ASIC from your desk all by yourself– no manufacturing NRE (non-recurring eng.) cost– faster design time: try out increments as you go– less validation time: debug as you go at full speed /

can also patch after shipping

• But– high unit cost (not for high-volume products)– “~10x” overhead in area/speed/power/….– RTL-level design abstraction

• Somewhere between ASICs and processors

Page 7: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S7, James C. Hoe, CMU/ECE/CALCM, ©2019

FPGA “Growing Pains”

• Real designers make ASICs• It is not programmable if it is not “C”

– until 2005, CPUs were fast and getting faster– after 2005, GPGPU happened

• Where are the killer apps?– performance demanding but not too demanding– enough volume but not too high– high-concurrency but not totally regular– functionalities evolve quickly but not too quickly

Page 8: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S8, James C. Hoe, CMU/ECE/CALCM, ©2019

FPGA Killer Apps Over Time• 1990s: glue logic, embedded cntrl, interface logic

– reduce chip-count, increase reliability– rapid roll-out of “new” products

• 2000s: DSP and HPC– strong need for performance– abundant parallelism and regularity– low-volume, high-valued

• 2010s: communications and networking– require high-throughput and low-latency– fast-changing designs and standards– price insensitive– $value in field updates and upgrades

Page 9: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S9, James C. Hoe, CMU/ECE/CALCM, ©2019

“Age of Expansion”

[Fig 8, S. M. Trimberger, “Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology.”]

Page 10: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S10, James C. Hoe, CMU/ECE/CALCM, ©2019

Fast-forward through Moore’s Law

[Fig 1, S. M. Trimberger, “Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology.”]

Page 11: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S11, James C. Hoe, CMU/ECE/CALCM, ©2019

“Age of Accumulation”

[Fig 11, S. M. Trimberger, “Three Ages of FPGAs: A Retrospective on the First Thirty Years of FPGA Technology.”]

Page 12: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S12, James C. Hoe, CMU/ECE/CALCM, ©2019

FPGA in its Modern Form

[http://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html]

Page 13: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S13, James C. Hoe, CMU/ECE/CALCM, ©2019

All the Rage in Computing

• Every Microsoft datacenter server has an FPGA– Bing, Brainwave, . . .– try googling also

“<<big-cloud-company-X>> FPGA datacenter”

• AWS will rent you servers with FPGAs (EC2-F1)• IBM and Intel want to sell you CPUs with cache-

coherent FPGA accelerators• You can buy FPGA fabric IP to add to your own

chipYes, something is going on! But what?

Page 14: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S14, James C. Hoe, CMU/ECE/CALCM, ©2019

0

1

10

100logic densityVDD

>16x

2013 Intl. Technology Roadmap for Semiconductors

node “label” 14 10 7 5 3.5 2.5 1.8 ??

25%

Under fixed power ceiling, more ops/second only achievable if less Joules/op?

Moore’s Law without Dennard Scaling

Page 15: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S15, James C. Hoe, CMU/ECE/CALCM, ©2019

What will (or can) you do with all those

transistors?GPGPU

Future is about Performance/Watt and Ops/Joule

Big Core little core

little core

little core

little core

little core

little core

little core

little core

little core

CustomLogic

FPGA

This is a sign of desperation . . . .

Page 16: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S16, James C. Hoe, CMU/ECE/CALCM, ©2019

Why is HW/FPGA better?no overhead

• A processor spends a lot of transistors & energy– to present von Neumann ISA abstraction– to support a broad application base (e.g., caches,

superscalar out-of-order, prefetching, . . .)

• In fact, processor is mostly overhead– ~90% energy [Hameed, ISCA 2010, Tensilica core]

– ~95% energy [Balfour, CAL 2007, embedded RISC ]

– even worse on a high-perf superscalar-OoO proc

Computing directly in application-specific hardwarecan be 10x to 100x more energy efficient

Page 17: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S17, James C. Hoe, CMU/ECE/CALCM, ©2019

Why is HW/FPGA better? efficiency of parallelism

• For a given functionality, non-linear tradeoff between power and performance– slower design is simpler– lower frequency needs

lower voltage

For the same throughput, replacing 1 module by 2 half-as-fast reduces total power and energy Perf (op/sec)

Pow

er (J

oule

/sec

)

PowerPerf k>1

Better to replace 1 of thisby 2 of these;

Good hardware designs derive performance from parallelism

or N ofthese

Page 18: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S18, James C. Hoe, CMU/ECE/CALCM, ©2019

Digression: Other Looming Dooms

• Memory Wall– Moore’s Law scaled DRAM in capacity not speed– relative to logic, DRAM looks slower and slower– dark-silicon from data starvation?

• Complexity Wall– designer productivity grew slower than Moore’s

Law on logic capacity– design team grew exponentially to make up– more transistors than a team can make all work?

(see Mythical Man-Month)

Page 19: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S19, James C. Hoe, CMU/ECE/CALCM, ©2019

Software

Hardware

Software to Hardware Spectrum

• CPU: highest-level abstraction /most general-purpose support

• GPU: explicitly parallel programs /best for SIMD, regular

• FPGA: ASIC-like abstraction /overhead for reprogrammability

• ASIC: lowest-level abstraction /fixed application and tuning

trad

eoff

betw

een

effic

ienc

y an

d ef

fort

Page 20: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S20, James C. Hoe, CMU/ECE/CALCM, ©2019

Case Study [Chung, MICRO 2010]CPU GPUs FPGA ASIC

IntelCore i7-960

NvidiaGTX285

ATIR5870

XilinxV6-LX760 Std. Cell

Year 2009 2008 2009 2009 2007

Node 45nm 55nm 40nm 40nm 65nm

Die area 263mm2 470mm2 334mm2 - -

Clock rate 3.2GHz 1.5GHz 1.5GHz 0.3GHz -

Single-prec.floating-point

apps

M-M-Mult MKL 10.2.3Multithreaded

CUBLAS 2.3 CAL++ hand-coded

FFT Spiral.netMultithreaded

CUFFT 2.33.0/3.1 - Spiral.net

Black-ScholesPARSEC

multithreadedCUDA 2.3 - hand-coded

Page 21: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S21, James C. Hoe, CMU/ECE/CALCM, ©2019

“Best-Case” Performance and Energy

• CPU and GPU benchmarking is compute-bound; FPGA and Std Cell effectively compute-bound (no off-chip I/O)

• Power (switching+leakage) measurements isolated the core from the system

• For detail see [Chung, et al. MICRO 2010]

Device GFLOP/sactual

(GFLOP/s)/mm2

normalized to 40nm

GFLOP/Jnormalized to

40nm

MMM

Intel Core i7 (45nm) 96 0.50 1.14

Nvidia GTX285 (55nm) 425 2.40 6.78

ATI R5870 (40nm) 1491 5.95 9.87

Xilinx V6-LX760 (40nm) 204 0.53 3.62

same RTL std cell (65nm) --- 19.28 50.73

Page 22: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S22, James C. Hoe, CMU/ECE/CALCM, ©2019

Less Regular Applications

Mopt/s (Mopts/s)/mm2 Mopts/J

Blac

k-Sc

hole

s Intel Core i7 (45nm) 487 2.52 4.88

Nvidia GTX285 (55nm) 10756 60.72 189

ATI R5870 (40nm) - - -

Xilinx V6-LX760 (40nm) 7800 20.26 138

same RTL std cell (65nm) 25532 1719 642.5

GFLOP/s (GFLOP/s)/mm2 GFLOP/J

FFT-

210

Intel Core i7 (45nm) 67 0.35 0.71

Nvidia GTX285 (55nm) 250 1.41 4.2

ATI R5870 (40nm) - - -

Xilinx V6-LX760 (40nm) 380 0.99 6.5

same RTL std cell (65nm) 952 239 90

Page 23: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S23, James C. Hoe, CMU/ECE/CALCM, ©2019

Heterogeneity for Efficiency

https://www.xilinx.com/versal

https://www.intel.com/FPGA/agilex

Page 24: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S24, James C. Hoe, CMU/ECE/CALCM, ©2019

Why this course

• Will FPGAs continue to gain importance in computing?

• If so, what will computing FPGAs (separate from ASIC-type FPGAs) look like in the future?

These are not questions to be asked passively . . .

Page 25: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S25, James C. Hoe, CMU/ECE/CALCM, ©2019

Go Over Canvas and Syllabus

Page 26: 18 643 Lecture 1: Welcome, why are you here?jhoe/course/ece643/F17handouts/L01.pdf · 18‐643‐F17‐L01‐S1, James C. Hoe, CMU/ECE/CALCM, ©2017 18‐643 Lecture 1: Welcome, why

18-643-F19-L01-S26, James C. Hoe, CMU/ECE/CALCM, ©2019

Be Forewarned• This is still a “young” course

– no course out there exactly like this one – the topic area is “unsettled” and in transition

• This is a hard course– 4 “training” labs; 1 large open-ended project– 1 midterm (1st half)– weekly paper reviews (2nd half)– you must speak up in class

• I am assuming– you are into computer hardware– you know RTL– you are willing to suffer for performance