Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to...

23
© Copyright 2019 Xilinx Xilinx Solutions for Radio Telescope Arrays Name: Michael Reznik Date: 15 February 2019

Transcript of Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to...

Page 1: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Xilinx Solutions for

Radio Telescope Arrays

Name: Michael Reznik

Date: 15 February 2019

Page 2: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

What does Xilinx offer?

>> 2

Source: The Square Kilometer Array

RFSoC and super sampling blocks

FPGAs (with on-chip HBM available)

Alveo acceleration cards

SDAccel: Software development

environment for Alveo

Design considerations for writing high-

level synthesis code for an FX correlator

Figures of merit for next-gen ACAP

Page 3: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

RFSoC Block Diagram

>> 3

Programmable Logic

Processing System

Memory

Sub-System

(DDR4)

Quad-Core

ARM®

Cortex™-A53

Dual-Core

ARM®

Cortex™-R5

Platform &

Power

Management

Security

System

Functions

DisplayPort

USB 3.0

SATA

PCIe® Gen2

GigE

CAN

SPI

SD/eMMC

NAND

Nx100G

Ethernet

MAC

Optional

Soft-Decision

FEC

33Gb/s

Logic Fabric & DSPDifferentiation & Acceleration

Broad IP Portfolio• Radio & Remote-PHY IP

• Digital Pre-Distortion

• Full Duplex IP

ADCx84Gsps, 12-bit Digital

Up/Down

ConvertersDACx86.5Gsps, 14-bit

Modulation

Page 4: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

HBM memory organization

64 DQ (Bidirectional Data) signals per channel each running up to 1800Mbps

16 Channels per HBM stack

Up to 2 HBM stacks per FPGA

Up to 3.68Tbps bandwidth HBM

‒ 64*1800*16*2 = 3.686Tb/s

‒ 64*1800*16*2/8 = 460GB/s

Xilinx used 4 high HBM 3D stacked memory

Up to 64Gb of memory per FPGA

‒ 4H*8Gb*2HBM stacks=64Gb

‒ 4H*8Gb*2HBM stacks/8=8GB

HBM: Terabit/s memory bandwidth by the numbers

FPGA

HBM Stack

8Gb

8Gb

8Gb

8Gb

64 DQ per

channel

CH1

CH2

CH16

CH15

Silicon interposer

Page 5: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

HBM Architecture + Xilinx innovation

FPGA Fabric

MC_0 MC_1 MC_2 MC_3 MC_4 MC_5 MC_6 MC_7 MC_0 MC_1 MC_2 MC_3 MC_4 MC_5 MC_6 MC_7

32Gb HBM Stack

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

32Gb HBM Stack

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

2

G

b

Standard HBM architecture

16 Pseudo channels per HBM Stack, accessing a discrete 2Gb memory

8 Memory controller per HBM stack

16 512 bit AXI RX/TX ports per HBM stack

Each AXI port can address a corresponding 2Gb section of memory

Xilinx innovations

Added flexible addressing that creates a unified memory map

any port can access any memory address

Extend AXI ports into fabric to ease timing

Page 6: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

FPGA with On-chip High-Bandwidth Memory (HBM)

˃ 8 GB of HBM

˃ Up to 460GB/s of memory bandwidth

between HBM and programmable

logic fabric

>> 6

HBM HBM

HBM Controller

Source: Breaking Memory Bandwidth Barriers Using High Bandwidth Memory FPGA

Sort

Page 7: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Alveo Accelerator Cards

˃ PCIe interface: Gen3x16 (U200 & U250), Gen4x8 w/ CCIX (U280)

˃ Network connectivity: 2x QSFP28

˃ Power: 100W (typ)

>> 7

Page 8: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

SW Programmable

HW Adaptable

Workload Flexibility

App / Workload Perf

Device / Power Efficiency

CPU(Sequential)

GPU(Parallel)

Alveo(Sequential + Parallel + Mix)

GPU vs. Alveo Competitive Overview

Page 8

vs

Network Access

Leverage Alveo’s HW adaptability to deliver highest application performance & efficiency

Page 9: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Key Adaptable Advantage vs. GPGPU - Memory Hierarchy

˃ Rigid memory hierarchy & SW defined dataflow

˃ High “data locality” required for workload efficiency

˃ “Batching” improves efficiency at expense of latency

GPU

co

rere

g

co

rere

g

co

rere

g

co

rere

g

Block 0

co

rere

g

co

rere

g

co

rere

g

co

rere

g

Block 1

co

rere

g

co

rere

g

co

rere

g

co

rere

g

Block N

Global Mem

(Off-chip HBM / GDDR)

Shared Mem/ L1 Cache

1X

Latency : Power

10X

100X

Shared Mem/ L1 Cache

Shared Mem/ L1 Cache

L2 Cache

1X

2X

80X

Memory

Compute

Memory

Hierarchy

(Interconnect)

Memory

Compute

Memory

Hierarchy

FixedXilinx

Global Mem (if needed)

UltraRAM UltraRAM

BRAM BRAM BRAM BRAM

LUTRAM LUTRAM LUTRAM LUTRAM LUTRAM LUTRAM LUTRAM

Kernel

A

Kernel

B

Kernel

C

Adaptable

BRAM

˃ Adaptable memory hierarchy & datapath

˃ ~5X more on-chip memory

˃ Max throughput, min latency – no batching required

ML InferDB - SQL VideoGenomics

4X

DB - RegEx

3X 3X 6X 6X

Resultant Workload Speed-Up vs. GPU

Page 10: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

SDAccel, Runtime and Platform

C/C++Xilinx Runtime API / OpenCL API

xocc

Kernel

RTL

PCIe

Source code

Runtime

Platform

Host Code

Pre-existing Platform

GCC

Shell

x86 ShellFPGA

Emulation

Debug

C/C++

Executable

Application Development

Optimization / Debug

Execution

with pre-existing shell

(shell wraps around developer design and establishes

a thin communication layer for the drivers)

Board Deployment

(on the cloud or on premises)Kernels

xclbin

OpenCL

Xilinx Runtime (XRT)

Drivers

OpenCL

>> 10

Page 11: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Xilinx SDAccel

˃ Develop, profile and deploy OpenCL applications

OpenCL uses standard APIs (code is portable)

˃ F1 platform aware

˃ Flexible kernels development

C / C++ / OpenCL / RTL

Comprehensive debug and profiling environment

Host

Step 1 Step 2 Step 3 Step 4 Step 5

Identify Applicationfor Acceleration

Code and Optimize Kernel, Host

Compile and Execute for CPU

Estimate Kernels

Debug Kernels with Cycle Accurate Models

Step 6 Step 7

Compile for FPGA

Execute and Validate on F1

Programming

Deployment

Programming Steps>> 11

Page 12: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Xilinx SDAccel with RTL Kernels

˃ RTL import through kernel wizard in SDAccel

Top level needs to match interface requirements

˃ Leveraging existing RTL IP

RTL is resource efficient and high performance

˃ Hardware emulation mode for simulation

.xo

Packaged Kernel File

Kernel Wizard

Host

Step 1 Step 2 Step 3 Step 4 Step 5

Identify Applicationfor Acceleration

Code, Optimize RTL Kernel

Import RTL, run hardware emulation

Debug Kernels with RTL simulators

Step 6 Step 7

Compile for FPGA

Execute and Validate on F1

Programming

Deployment

Programming Steps

RTL Kernel Import from SDAccel

Compile and Execute Host

+ S_AXI_CONTROL a_axi

b_axi

c_axi

+++

ap_clk

ap_rst_n

...... ............

Kernel Instance

RTL kernel

RTL Accelerator IP

>> 12

Page 13: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Scalar Processing Engines

Versal ACAPTechnology Tour

Adaptable Hardware Engines

Intelligent Engines SW Programmable, HW Adaptable

Breakout Integration of AdvancedProtocol Engines

Page 14: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

7nm Adaptive Compute Acceleration Platform (ACAP)

˃ AI engine peak performance

int8: 133 TOPS

int16: 33 TOPS

fp32: 8 TFLOPS

˃ DSP engine peak performance

int8: 13.6 TOPS

int24: 4.5 TOPS

fp32: 3.2 TFLOPS

˃ Memory bandwidth

Block RAM: 118 Tb/s

Ultra RAM: 49 Tb/s

DDR4: 816 Gb/s

LPDDR4: 1.096 Tb/s

Network-on-Chip: 2.5 Tb/s

>> 14

Tra

nsce

ive

rs

Programmable

Logic

Ha

rd IPTra

nsce

ive

rs

Processing

System

& PMC

Ha

rd IP

HD

IO

XPIO

DDRController

DDRController

HBMController

NoC

NoC

AI Engine Array

CPM

DDRController

Page 15: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Network-on-Chip (NoC)Ease of UseInherently software programmableAvailable at boot, no place-and-route required

High Bandwidth and Low LatencyMulti-terabit/sec throughputGuaranteed QoS

Power Efficiency 8X power efficiency vs. soft implementationsArbitration across heterogeneous engines

Page 16: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Data Transferbetween Enginesand Memory

Seamless Integration

NoC Enables Software Programmability

Page 17: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Adaptable Architecture Connected Via NoC

˃ Scalar Engines

Arm® Cortex™-A72 APU

Arm Cortex-R5 RPU

˃ Adaptable Engines

CLBs

Internal Memory

˃ Intelligent Engines

AI Engine

DSP Engine

˃ Connectivity

PCIe w/CCIX

Ethernet

DDR Memory Controllers

Transceivers

I/O

˃ Platform Resources

Network-On-Chip

Platform Management Controller

>> 17

Page 18: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Versal™ Network-on-Chip

˃ High bandwidth terabit network-on-chip

Memory mapped access to all resources

Built-in arbitration between engines and memory

AXI4 based structure spanning full device (height and width)

˃ High bandwidth, low latency, low power

Guaranteed QoS

8X power efficiency vs. FPGA implementations

Support AXI4 MM and AXI4 Stream

˃ Adaptable kernel placement

Every PL region has master and slave interface

Easily swap kernels at NoC port boundaries

Simplifies connectivity between kernels

Programmable

Logic

NoC

Tra

nsce

ive

rs

Ha

rd IP

HD

IO

Ha

rd IP

Tra

nsce

ive

rs

XPIO

DDRController

DDRController

Processing

System

& PMC

NoC

XPIO

DDRController

DDRController

DDRController

NoC

CPM

DDRController

>> 18

Page 19: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Digital Signal Processing Capability

RTL Entry

DSP48E2 SliceHardened MULT & ADDERS

ACC = ACC + (A B)

AI Engine 2D ArrayVLIW and SIMD Architecture

FPGA Fabric DSPLUT and Memory

C/C++ Programmable

RTL EntryRTL Entry

DSP58Additional features

Function DSP48E2 DSP58

DSP Tile/Slice Type DSP48E2 DSP58

Multiplier and MACC 27x18 27x24

32b/16b Single Precision Floating Point Multiply-Add Soft

Complex 18b x Complex 18b N/A 2 x DSP58

3 x Int8 Dot Product N/A

>> 19

Page 20: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

AI Engine Architecture

˃ AI Engine tile

AI Engine, data memory, and interconnect

˃ 1+ GHz VLIW/SIMD AI Engine

32-bit Scalar RISC processor with fixed and floating point vector units

˃ Each AI Engine can access 4

Memory Modules (N,E,S,W) as

one contiguous memory

˃ AXI-MM Switch for configuration,

control and debugging

functionality

˃ AXI-Stream crossbar switch for

routing N/E/S/W streams

AI Engine Array

ME

M I/F Data

Memory

(32KB)

AXIS West

AX

IM S

witch

ME

M I/F

AXIS East

MEM I/F

MM2SDMA

MEM I/F

ProgramMemory(16KB)

InstructionFetch & Decode

Unit

Load & StoreAddress

GenerationUnits

32b ScalarRISC Unit

Fixed Point512b SIMDVector Unit

Floating Point512b SIMDVector Unit

StallHandler

Control, Debug & Trace

AccumulatorStream FIFO

Scalar Register Files

Vector Register Files

S2MMDMA

AX

IS N

ort

hA

XIS

S

outh

Core Mem Access

AXI StreamAXI MM

Accumulator Stream

>> 20

Page 21: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

Versal Development Experience

Adaptable ForAny Application

Software Programmable

HeterogeneousPlatform

VERSAL

User ApplicationC, C++, Python

Application-Specific FrameworksMachine Learning | Video | Genomics | Search | Financial Modeling | Database

New Unified Software Development Environment

C, Xilinx LibrariesXilinx & EcosystemHW Libraries

Custom HWOS & Embedded Run-Time

Intelligent EnginesAdaptable EnginesScalar Engines

Page 22: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

System Design Methodology

Synthesis &

ImplementationSystem

SimulationPower Estimation

and AnalysisData Flow

SimulationTraffic

Analysis

Paper

AlgorithmData Flow

Modelling (IPI)

System Verilog

simulation

Gather and

analyze

statistics from

performance

monitors

Leverage XPE

with output from

IP Integrator for

accurate power

analysis

Full system

simulation;

replacing traffic

generators

Co-simulate

with PS, ME

and PL

Take completed

design through

back-end tools

Timing Closure

PDI Generation

Develop a

paper mapping

of algorithm/

application to

Versal

Capture traffic

flow for NoC

Static analysis

System C

simulation

Connect:traffic generators,

memories,

performance

monitors

Configure: traffic generators,

NoC connectivity,

QoS requirements

Elaborate: design and export

netlist

Leverage these steps

>> 22>> 22

Page 23: Xilinx Solutions for Radio Telescope Arrays · 2019-03-06 · Up to 2 HBM stacks per FPGA Up to 3.68Tbps bandwidth HBM ‒64*1800*16*2 = 3.686Tb/s ‒64*1800*16*2/8 = 460GB/s Xilinx

© Copyright 2019 Xilinx

AI Engine ArrayPS PL

Unified Tool Chain for Device Programming

Xilinx SDK: Eclipse GUI

User-Directed System Partitioner

Array

CompilerARM C Compiler

System-C Virtual Simulation Platform

Core ISSQEMU

System-Level Performance Analysis

(using core profiling)

System-Level Debugger

(using core debugger)

Base Platform

ApplicationPerformance &

Partitioning Constraints

Binaries &

Bitstream

Existing

Modified

New

Targets

SDK

EmulationRTL

SimulationHardware

Vivado

HLSRTLIP

>> 23