DSP Acceleration using nnMAX™ - Flex Logix

17
Linley Spring Processor Conference April 6-9, 2020 DSP Acceleration using nnMAX AI + eFPGA ® DSP Acceleration using nnMAX™ Cheng C. Wang, Senior VP Flex Logix Technologies, Inc. [email protected] Linley Spring Processor Conference April 7 th 2020, Santa Clara, CA 1

Transcript of DSP Acceleration using nnMAX™ - Flex Logix

Page 1: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

DSP Acceleration using nnMAX™Cheng C. Wang, Senior VPFlex Logix Technologies, Inc.

[email protected]

Linley Spring Processor ConferenceApril 7th 2020, Santa Clara, CA

1

Page 2: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Overview

• nnMAX is silicon IP and software developed for AI Inference acceleration• Customers have asked if we can use the MACs for DSP• nnMAX is very good at FIR filters: faster than FPGAs at much lower cost• We have customers now planning to use nnMAX for DSP

2

Page 3: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX™ 1K Tile for TSMC 16/12nm developed for AI Inference

3

• 4.5 mm2 in TSMC16FFC• 1024 configurable MACs @ 933MHz

• INT8x8, INT16x8 at full throughput

• BFloat16x16, INT16x16 at half throughput

• Support mixed precision (INT8, INT16, BF16)

• Winograd acceleration for INT8• 2.25x performance gain for applicable layers

• Automatically invoked by nnMAX Compiler

• Programmed by TensorFlow Lite/ONNX: multiple models can run simultaneously

XFLXInterconnect

L1 SRAM

EFLX Logic

EFLX IO

ArrayLINXTM to adjacent tiles

L1 SRAM

EFLX Logic

EFLX IO

L1 SRAM

EFLX Logic

EFLX IO

L1 SRAM

EFLX Logic

EFLX IO

ArrayLINXTM to adjacent tiles

DDR, PCIe & SoC connections

L2 SRAM via RAMLINXTM

L2 SRAM via RAMLINXTM

L2 SRAM via RAMLINXTM

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

Page 4: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX tiles are Arrayed to provide more compute capacity

4

• ArrayLinx interconnect (blue) is a top level interconnect mesh between all tiles• This is used in our eFPGA and is silicon

proven

• 2MB L2 SRAM attached to every Tile

• 2x2 array shown here; we have already fabricated 7x7 eFPGA arrays using ArrayLinx

• Linearly scalable: An NxN array has ~N2

the performance of a single tile

nnMAXTILE

nnMAXTILE

nnMAXTILE

nnMAXTILE

DDR IF SoC / PCIe connection

L2 SRAM L2 SRAM

L2 SRAM L2 SRAM

Page 5: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX is the foundation of the InferX™ X1 AI Inference Co-Processor

5

• 54mm2 TSMC 16FFC• 933MHz Operation• Available as Chip & PCIe Board

• Samples Q3

• Partners: TSMC, GUC, Synopsys, Arteris, Analog Bits, Cadence, Mentor

• THURSDAY 1110AM Talk: we benchmark X1 for Real-World Edge Inference Applications and compare to

what customers use now

x32GPIO

nnMAX 2x2:4K MACs

8MB distributed L2 SRAM

4MB L3 SRAM eFPGA

x32LPDDR4

Host PCIeGen3/4 x4

Page 6: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Many customers are using expensive FPGAs for DSP

• Testers, 5G, Base Stations, Radar, Imaging, …§ High sample rate; large numbers of taps

• Using large, expensive FPGAs or expensive high end DSPs§ As one customer says they buy the FPGA just for the MACs: they don’t use the rest

• Many customers have asked us if nnMAX/X1 can do signal processing and are engaged giving us applications to model

6

Page 7: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

FIR Filter: typically INT16 Real or Complex

7

Incoming data arrives at Z Megasamples/second

X(n) is the incoming signal arriving at Z megasamples/secondK(m) is the tap or coefficient valueThe number of taps can range from dozens to thousandsY(n) is the outgoing signal sent out at Z megasamples/second

Outgoing data sent at Z Megasamples/second

MACs need to run at the sample rate of Z

Page 8: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX cluster basic structure

• Each NMAX cluster can perform a 32 tap filter

8

L0 SRAM (Coefficients)

L0 SRAM (Coefficients)

NMAX Tap 0 – 15

NMAX Tap 16 – 31

In

Out

Page 9: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX has native precision of 16b x 10b INT, expandable to FP

9

• 10b of filter resolution is sufficient for most signal processing applications

• But 2 nnMAX coefficients can be combined to achieve even higher resolution:1. 16b x 16b = 32b MAC (16 MAC per cluster)2. BF16 x BF16 = FP24 MAC (16 MAC per cluster)

10u/11s

In [n] In [n+1]

Out [n-1] Out [n] Out [n+1]

L0 SRAM [n] L0 SRAM [n+1]

+

×

+

× 16u/17s 16u/17s

32s 32s 32s

Coef [n] Coef [n+1]10u/11s

Page 10: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Chain nnMAX Clusters in nnMAX Tile for Longer FIR Filters

10

XFLXInterconnect

L1 SRAM

EFLX Logic

EFLX IO

ArrayLINXTM to adjacent tiles

L1 SRAM

EFLX Logic

EFLX IO

L1 SRAM

EFLX Logic

EFLX IO

L1 SRAM

EFLX Logic

EFLX IO

ArrayLINXTM to adjacent tiles

DDR, PCIe & SoC connections

L2 SRAM via RAMLINXTM

L2 SRAM via RAMLINXTM

L2 SRAM via RAMLINXTM

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

nnMAX ClusternnMAX Cluster

• Minimum FIR filter size is one cluster• Maximum is all clusters in array (N×N tiles)• Clusters can be linked across tiles for 1000’s or 10,000+ taps

Page 11: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Re-Configuring nnMAX

• nnMAX array can be reconfigured in ~2 µseconds from one FIR configuration to any other using configuration files stored in the local DRAM§ Coefficients are loaded into SRAM in the nnMAX clusters (part of the configuration file)

11

Page 12: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Two options to Map FIR Filters to nnMAX Clusters (Real INT16/BF16*)

12

MegaSamplesper second*

nnMAX Cluster

nnMAX 1K Tile

nnMAX Array (2x2 tiles)

1,000 MS/s 16 Taps 256 Taps 1024 Taps500 MS/s 32 Taps 512 Taps 2048 Taps

* Notes1. INT10 x INT16 native mode has 2x the throughput (Taps*SampleRate)”2. Based on 1GHz clock rate

Trade-off between throughput and # of taps

Complex INT16/BF16 runs at ½ the sample rate with ¼ of the taps shown above

Page 13: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX runs FIR filters of any # of taps faster & cheaper than Ultrascale

• 16-bit FIR, 21-taps, sample period = 1§ Virtex UltraScale (20/16nm) Fmax = 633MHz§ Virtex UltraScale+ (16/14nm) Fmax = 800MHz§ Performance for >21 taps is likely 50%§ An FPGA with 2000 MACs for 2000 Taps is 100’s of mm2 and 100’s of $$

• nnMAX (16nm) runs at 800MHz/933MHz worst case conditions § An nnMAX 2x2 array can run 1000 Taps at the same rate as an Ultrascale 21-tap FIR§ An nnMAX 2x2 array with 8MB SRAM is just 26mm2!!

13

Page 14: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

nnMAX is faster and cheaper than TI high end DSP

14

Ti’s Fast DSP: C6678 nnMAX 1K TileCost $120 (1K quantity) 6.5mm2 in 16nm

FIR execution time: INT16, 16 taps,

128 samples260nsec 128nsec

2x faster# Simultaneous FIRs 8 16

Scalable ? Yes

Page 15: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

GigaOPS/sec (INT16x16) Compared to New CEVA XC16 DSP IP

15

CEVA XC16 nnMAX 1K TileProcess Node 7nm 16nm

Frequency 1.8GHz ~1GHz

Common FIR Operations GOPS/sec

1600 GOPS/sec 2000 GOPs/sec1.2x faster in a less

expensive node

Page 16: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Roadmap for nnMAX for DSP Applications

• FIR filters are our focus for first applications§ We are working with a major customer§ We can generate the programs for initial customers for them § We expect to develop a DSP Compiler to take Matlab output and map onto nnMAX

• nnMAX will be ported next to GF12LPP and TSMC N7/N6§ nnMAX 1.1 will double the throughput of FIR filters§ We are evaluating changes for very very fast FFT, much faster than Ultrascale

• we can share performance estimates under NDA

16

Page 17: DSP Acceleration using nnMAX™ - Flex Logix

Linley Spring Processor Conference April 6-9, 2020DSP Acceleration using nnMAX

AI + eFPGA ®

Conclusion

• nnMAX IP, great for AI Inference, is also higher throughput/$ and throughput/watt for key DSP functions

• If you are interested, join our Breakout Room at 12:30PMor email me: [email protected]

17