FPGA/ACAP関連技術のHPC/AIに向けた取り組みと展望
ザイリンクス株式会社
Adaptive and Embedded Computing Group (AECG)
Data Center and Communications Group (DCCG)
堀江義弘
2022年 5月

アジェンダ市場ニーズHPCをターゲットとする製品
最近の取り組み

AIをターゲットとする製品
ユースケース事例の紹介
まとめ2

コンピューティングにおける課題
データの爆発的増加
 ビデオおよび画像コンテンツ
 90% 非構造化
 より高いスループットとリアルタイムの演算能力が求められる

AI 時代の到来
 アプリケーションに最新のインテリジェンスが追加される
 エンドポイントからエッジ、クラウドに至るまで、あらゆる業界に浸透

 すべての場所の AI 処理を高速化する必要がある「ムーアの法則」後のコンピューティング
 設計サイクルがイノベーションのスピードに追いつかない 多くのアプリケーションが異なるアーキテクチャを必要としている
 アクセラレータを使用したヘテロジニアス コンピューティングの必要性が高まる
3データセンターのトレンドと要件
トレンドと要件

アプリケーション

基本構成要素• 多様化・増大するデータ• 高いスループット• 分散処理HPC

Big Data• ネットワークの高速化

アダプティブコンピューティング

コンピュート• 低遅延• スケーラブル• 再構成可能なアーキテクチャ
Video

Database
ML & Analytics• セキュリティ

ネットワーク• 仮想化• ソフトウェア化
コンピューテショナル
ストレージ• CPU負荷の増大• ムーアの法則の克服
FintechData Comp & Encryp

ストレージ

AMD Provides Platforms Enabling Scalable Architecture
Page 4

プログラマブル
ネットワーク

適応型プラットフォームのドメイン特化アーキテクチャ (DSA) の必要性

CPU

固定機能アクセラレータ
ASIC/ASSP/GPU SW プログラマブル、

広く利用されている
 大半のワークロードには

非効率的

 柔軟性に欠ける
 NRE が高く、シリコン サイクルが長い (ASIC)
 消費電力に課題 (GPU)5

適応性に優れた
ハードウェア ソリューションFPGA / ACAP (Adaptive SoC)
 用途に合わせてハードウェアを最適化
 進化する要件に迅速に対応

[Public]

Xilinx Acquisition Creates Industry’s
High-Performance and Adaptive Computing Leader
Industry-Leading
Products

6|

Diversified andGrowing Markets

Data Center
Momentum

Non-GAAP
Margin Expansion

Non-GAAP EPS andFree Cash Flow
Accretive in 1st year

優れたスループット性能
高いスループットと低レイテンシー
コンピュート、ネットワーク、ストレージ
SN1022

U25/U25N

U50

U55C

適応性
用途に最適化したアーキテクチャ
ニーズの変化に柔軟・迅速に対応

導入が容易

U200

U280

U250

クラウドやオンプレミスで運用豊富なアプリケーションライブラリ
U30* Versal AI 開発カード
7

VCK5000*

Smart NIC の進化

標準的なNIC

オフロードNIC• ASICベース• 非プログラマブル• 限られたオフロード

8

プログラマブル
SmartNIC• ASIC, ARM, FPGA
• 幅広いオフロード

AMD NIC ファミリーX2
10/25/100Gb オフロードNIC
ASICベース
HHHL PCIe

9

U25N
25Gb SmartNIC
ターンキー
HHHL PCIe

SN1022
100Gb SmartNIC
ネットワーク、ストレージ
FHHL PCIeU25N アーキテクチャ
コントロールプレーンのためのオープンソースソフトウェア

プログラマブルロジック

X2 イーサーネット
コントローラ10

SN1022 活用例 - IPsec 100Gbps x2 Xelera社 IPsec を実装、2x100Gbps ラインレートを実現トランスポートモード、トンネルモードをサポート

11

U55C: HPC およびビッグデータ ワークロードに特化した設計
天候
および
気象

 多くの HPC ワークロードは、コンピューティング バウンドまたはメモリ帯域幅バウンドである…

グラフ分析

 I/O 要件は時間の経過と共に指数関数的に増加していく…

分子動力学

フィンテック

天体物理学

 消費電力はデータセンターで大きな問題になっている
CAE

シグナル
プロセッシング HPCには膨大な計算能力と高帯域メモリの双方が要求される
 これに対応して、ザイリンクス史上

石油
および
ガス

最もパワフルなアクセラレータを開発し、容易に拡張可能にした
1.5 倍
メモリ帯域幅バウンド

12

2 倍またはそれ以上
コンピューティング バウンド

AMDザイリンクス最高性能のアクセラレータ
寸法

ロジック

Alveo U280

Alveo U55C

幅

デュアル スロット

シングル スロットフォーム ファクター、パッシブフォーム ファクター、アクティブ

フルハイト、¾ レングス
フル ハイト、
フルレングスフル ハイト、
ハーフ レングス

ルックアップ テーブル

1,304K

1,304K

レジスタ2,607K

2,607KDSP スライス

9,024

9,024

DDR フォーマット

2x 16GB 72b DIMM
DDR4—

DDR 総容量32GB—

DDR 最大データ レート

2400MT/s—

DDR 総帯域幅38GB/s—HBM2 総容量

8GB

16GB

HBM2 総帯域幅460GB/s

460GB/s

総容量

43MB

43MB

総帯域幅

35TB/s

35TB/sPCI Express®

Gen3 x16

Gen3 x16、2x Gen4 x8

ネットワーク インターフェイス

2x QSFP28

2x QSFP28

冷却

パッシブ、アクティブ

パッシブ

標準電力

100W

115W

最大電力

225W

150W

DRAM メモリ

内部 SRAM

インターフェイス

電源/熱管理13

PCIe Peer-to-Peer (P2P)

https://xilinx.github.io/XRT/master/html/p2p.html

 Direct data transfer between FPGAs or other PCIe devices without using the host CPU memory

Not Supported
System Memory

CPU

DRAM

(Crossing different IO Hub)
System Memory

System Memory

DRAM

CPU

CPU

FPGA

FPGA

DRAM

DRAM

PCIe

NIC
FPGA

FPGA

DRAM

DRAM

FPGA Memory

FPGA Memory

NVMe
SSD

 P2P Example between FPGA and NVMeSSD

14

https://github.com/Xilinx/Vitis_Accel_Examples/tree/master/host/p2p_simple



https://github.com/Xilinx/Vitis_Accel_Examples/tree/master/host/p2p_bandwidth

FPGA Memory FPGA Memory

DRAM

Example : N-hop query for ML Feature Extraction
Ethernet Switch
Graph partition-1

Graph partition-2

Graph partition-N

end

end
HBM

start

start
...
kernels

K1

K2

K3

Alveo 1

K4

K1

K2

K3

K4

K1

Alveo 2Large number of U55C networked using Ethernet for big graph

15

K2

K3

Alveo N

K4

Heterogeneous Accelerated Compute Clusters (HACC) programA special initiative to support novel research inadaptive compute acceleration for highperformance computing (HPC).
The scope of the program is broad andencompasses systems, architecture, tools andapplications.
This program was previously known as the

XACC program - Xilinx Adaptive Compute
Clusters.
(ご参考)紹介サイト；
紹介サイト (動画)；16

https://japan.xilinx.com/support/university/XUP-XACC.html
https://japan.xilinx.com/program/developer-program/adapt-2021session-videos/xacc-researc-initiative.html

https://xilinx.github.io/xacc/
Priority research areas for the HACCs include:
Adaptive compute acceleration
High performance computing (HPC)
Machine Learning
Database acceleration
Energy efficiency
Compilers
IOT
Computer architecture

ACCL: FPGA-Accelerated Collectives over 100 Gbps
TCP-IP - Architecture ACCL is a Vitis kernel and associated Pynq and XRT drivers which together provide MPI-like collectives for Xilinx FPGAs.
ACCL is designed to enable compute kernels resident in FPGA fabric to communicate directly under host supervision but
without requiring data movement between the FPGA and host. Instead, ACCL uses Vitis-compatible TCP and UDP
stacks to connect FPGAs directly over Ethernet at up to 100 Gbps on Alveo cards.

 MPI for CPUs

OpenMPI

 MPI-like lib for FPGAs

 MPI-like lib for GPUs

NCCL and RCCL

networkhttps://xilinx.github.io/xacc/publications.html

17Paper GitHub

Direct access to networkProcess on network data

network

FPGA Collective - State of the art
Existing FPGA-based collective solutions fall short in certain aspects

18

Solution

Performance

Flexibility

Portability

EasynetHigh (~90 Gbps)

Low

High

SMI

Medium (~40 Gpbs)

Low

Low

Galapagos

Low ( < 10Gbps)

Low

High

ZRLMPI

Low ( < 10Gbps)

Low

High

TMD-MPI

Low ( < 10Gbps)

High

Low

ACCL(OUR)High (~80 Gbps)

High

High

ACCL Overview
ACCL ; Accelerated Collective
Communication Library

Host
Softwarehttps://github.com/Xilinx/ACCL
MCU
firmwareControlhardwareData-moving
hardware19

ACCL Host Overview

Main modules:
Software Stack User application

Alveo

 ACCL drivers (Python or C++) Xilinx Run-Time (XRT)

20

ACCL Host Software Example (Distributed NN Inference)from pynq import Overlay, allocatefrom mpi4py import MPI#receive binfile, ranks_dict as inputs
ol = Overlay(binfile)accl = ol.cclo
rank = MPI.COMM_WORLD.Get_rank()
bs = 16384
accl.setup_rx_buffers(nbufs=16, bufsize=bs,
devicemem=ol.bank0)
accl.configure_communicator(ranks_dict, rank)
accl.open_port(); accl.open_con()txb=allocate((bs,), target=ol.bank0)
rxb=allocate((bs,), target=ol.bank0)

ACCL collectives:
 Initialize communicator Allocate memory

 Invoke collectives:

Pass buffer pointers Move data to FPGA (optional) Non-blocking collective calls in hostch = accl.scatter(root=0, txb,
rxb, from_fpga=True, async=True)ch = nn_accelerator.call(rx_buffer, waitfor=[ch])accl.gather(root=0, txb, rxb, to_fpga=True, async=False,
waitfor=[ch])accl.deinit() #releases FPGA memory, resets CCLO

21

Asynch calls to pipeline collectives
 Chaining execution

ACCL FPGA Overview

Collective Offload engine (CCLO)
Network

Protocol Offload Engine(TCP/UDP POE)

Interfaces

to external Vitis kernels
that access ACCL via:

 Streaming interfaces Off-chip memory (DDR/HBM)

22

Send&Recv throughput
Performance on U280 and U250 issimilar, showing that our design isportableACCL achieves higher throughput

than OpenMPI for messages larger
than 1MB
Large message size to compensate

initialization overhead

23

Scalability and Resource ConsumptionAll-reduce from 3 to 8 ranks
 message size 8MB
 100 runs, average & varianceCompared to OpenMPI, ACCL has
 Lower increase in execution time
 Lower jitter

Component

kLUT

DSP

BRAM18

URAM

CCLO

78

56

169

0

 Major dedicated to TCP POE

TCP POE

111

0

813

1

 ACCL takes 15% LUTs on a U250

UDP POE

23

0

115

0

CMAC

12

0

34

9

Resource consumption

 Enough space for computation kernel

24Versal™ Architecture - Comprehensive Overview
Adaptable Engines• Re-architected for faster timing closure• Tune for power vs. performance• Adaptable to any workload

Intelligent Engines• AI Compute• Diverse DSP Workloads

Scalar Engines

Programmable NoC• Platform Control• Embedded Edge Compute• Guaranteed Bandwidth• Enables SW Programmability

Programmable I/O
SW-Controlled Platform Management• Any interface or sensor• Includes 3.2Gb/s MIPI

PCIe Gen5, CCIX, CXL

Protocol Engines• 400G/600G cores• Power-Optimized• 2X PCIe® & DMA bandwidth• Cache-coherency

Dedicated Interfaces
RF

DDR4 Memory• 3200-DDR4, 4266-LPDDR4• 2X bandwidth/pin

25• Direct-RFADC and RF-DAC• SD-FEC

HBM

Video Decoder Unit

• 820GB/s Bandwidth• 32GB Capacity• H.264/H.265 decoding• Up to 4x 4K UHD (or 32x 1080p)

Transceiver Leadership• Broad range, 1G →112G• 58G in mainstream devices

Delivering Adaptable Compute Acceleration
CPU

Single  Multi-Core

GPU

ACAP

(Parallel)

ASIC
AI
EnginesCache

SW Programmable

✓

✓

✓

✓

HW Adaptable

–

–

✓

–

Workload Flexibility

✓

✓

✓

–

Throughput vs. Latency

–

–

✓

✓

Power Efficiency

–

–

✓

✓

Development Time& Complexity
26

Weeks

MonthsYears

AI Engine: Terminology
Versal AI

AI Engine Array

PMC

AI
EngineAI
EngineAI
EngineMemoryARM
Cortex-R5

MemoryMemoryAdaptable
HardwareAI
EngineMemoryAI Engines

2x ARM
Cortex-A72

AI Engine Tile
AI Engine Core
Scalar ALU

ScalarRegister
File

VectorRegister
File

Non-linear
Functions

Scalar Unit

27

Floating-Point
Vector Unit

Vector Unit

AGU

AGU

AGU

Load Unit A

Load Unit B

Store Unit

Memory Interface

Fixed-Point
Vector Unit

Instruction Fetch& Decode Unit
Stream Interface

Interconnect
ISA-based
Vector Processor
AI Vector
Extensions
5G Vector
Extensions

Local
MemoryData
Mover

AI Engine Tile
AI Engine Array

Core Mem Access
AXI Stream
AXI MM
Accumulator Stream

Single Tile

AI Engine˃ 1+ GHz VLIW / SIMD AI Engine
AXIS West

Load & Store
Address
Generation
Units

32b Scalar
RISC Unit

Fixed Point
512b SIMD
Vector Unit

Floating Point
512b SIMD
Vector Unit

Interconnect
˃ AXI-MM switch for config, control, and debug

ScalarRegister Files˃ AXI-Stream crossbar for routing N/S/E/W streams
Stall
Handler

MEM
I/F

Data
Memory(32KB)

Vector Register Files
Control,
Debug& TraceArchitecture Manual am009
28

S2MM
DMA

Accumulator
Stream FIFOMEM I/F

MM2S
DMA

MEM I/F

˃ Each AI Engine can access 4 Memory
Modules (N,E,S,W) as one contiguous memory

Instruction
Fetch &
DecodeUnit

MEM I/F

Data Memory

Program
Memory(16KB)

AXIM Switch

˃ Fixed and floating point vector units

AXIS North

AXIS East

AXIS South˃ 32-bit Scalar RISC processor

AI Engine: Highly Parallel Processor Core
ScalarRegisterFile

32-bit Scalar RISC Processor

Scalar ALU

Non-linear
Functions

Scalar Unit
AGU

• 32KB Local, 128KB Addressable

AGU

AGU

• 2 Vector Loads / 1 Mult / 1 Store• 2 Scalar Ops / Stream Access

Floating-Point
Vector Unit

Vector Processor
512-bit SIMD Datapath

Instruction Fetch& Decode UnitStore Unit

Memory Interface

Instruction Parallelism: VLIW

7+ operations / clock cycle

Fixed-Point
Vector Unit

Vector Unit

Load Unit A Load Unit B

Local, Shareable Memory

VectorRegisterFile

StreamInterface

Data Parallelism: SIMD

HighlyParallelMultiple vector lanes• Vector Datapath• 8 / 16 / 32-bit & SPFP operands

Up to 128 MACs / Clock Cycle per Core (INT 8)29

Data Movement Architecture
Streaming Communication

Memory Communication
Dataflow
Pipeline

Memory

AI
Core

Mem

Dataflow
Graph

B0

B1

AI
Core

AI
Core

Mem

B2

B3

Mem

AI
Core

Mem

Mem

AI
Core

Mem

AI
Core

Stream Interface
Cascade Interface

AI
Core

NonNeighbor

AI
Core

Memory

AI
Core

AI
Core

AI
Core

AI
Core

AI
Core

Memory Interface

30

MemoryMemoryStreaming
Multicast

AI
Core
AI
Core
AI
Core

CascadeStreaming

AI
Core

AI
Core

AI
Core

Memory

AI
Core

AI
Core

MemoryAI
Core

MemoryAI
Core

MemoryMemoryI/OPS

MemoryAI Engine Integration with Versal

AI
Core

PL

˃ TB/s of Interface Bandwidth
AI Engine to Programmable Logic
AI Engine to NOC

SwitchSwitchSwitchAsync CDC

˃ Leveraging NOC connectivity
PS manages Config / Debug / Trace
AI Engine to DRAM (no PL req’d)

PS /
PMC

AXI-MM

SwitchSwitchSwitchAXI-S

Programmable
Logic
31

AI Engine
Interface Tiles

DMA

PL
Function

NOC

Ext.
DRAM

AI エンジン: マルチコア コンピュート に革新をもたらす
従来のマルチコア

AI エンジン アレイ(キャッシュ アーキテクチャ)(インテリジェント エンジン)

Block 0Block 1core core core

core core core

L0

L0

L0

D0
D0

L1

AI
Engine

MEM

MEM

MEM

AI
EngineL1

AI
EngineAI
EngineAI
EngineMEM

L0AI
EngineMEM

L0• システム性能の制約とならない• レイテンシーは短く、
かつ確定的

MEM

L0

専用の接続

D0

AI
EngineAI
EngineDRAM

データの複製• レイテンシーの大幅な増大とばらつき• 帯域不足による性能制約• 消費電力の大幅な増大
32

AI
EngineMEM• システム性能を制約• レイテンシーの大幅なばらつき

MEM

L2

MEM

固定した共有接続
D0

密結合したメモリを分散• キャッシュミスは無し• レイテンシーは短く、かつ確定的• システム性能の制約とならない高帯域• 全体のメモリサイズを節約• 消費電力を大幅に低減

The World’s First ”0 Dark Silicon” AI Accelerator
Actual TOPS Achieved vs Dark Silicon
Xilinx VCK5000

90%

nVidia A100

10%

42%

nVidia A30

58%

38%

62%

nVidia A10

35%

65%

nVidia T4

34%

66%

0%

20%

40%

60%

Efficiency

80%

100%

Dark Silicon

Near 100% efficiency: Achieving True Peak TOPS at Real AI Model Workloads
33

120%

Double Performance / Watt / $ vs Nvidia Flagship AI Cards
Perf/wResNet-50(img/s)

Power

SRP**

VCK5000

13,70097W$2,745

A100 SXM

32,204413W$12,235*

A30

15,411

165W$4,787

A10

10,676150W$3,283

T4

5,423

75W

$2,410

Xilinx VCK5000
nVidia A100
nVidia A30
nVidia A10
nVidia T4
0

20

40

60
80
100
120
Img/s/watt (ResNet-50 v1.5)

140

160

Perf/$
Xilinx VCK5000
nVidia A100
nVidia A30
nVidia A10* A100 SXM pricing not available, using A100 PCIe 80GB pricing instead.
SXM price is typically more expensive than PCIe** SRP captured from acmemicro.com as of Feb 22, 2022

nVidia T4
0.0
34

1.0

2.0
3.0
4.0
Img/s/$ (ResNet-50 v1.5)

5.0

6.0

AI Engine Delivers High Compute Efficiency
˃ Adaptable, ‘non-blocking’ interconnect

Vector Processor Efficiency

Flexible data movement architecture
Avoids interconnect “bottlenecks”

Peak Kernel Theoretical Performance˃ Adaptable memory hierarchy

98%

95%
80%

Local, distributed, shareable = extreme bandwidth
No cache misses or data replication
Extend to PL memory (BRAM, URAM)

˃ Transfer data while AI Engine Computes
Comm

ComputeComm
ComputeComm
ComputeOverlap Compute and Communication

35

ML Convolutions

FFT

DPD

Block-based
Matrix Multiplication(32×64) × (64×32)

1024-pt
FFT/iFFT

Volterra-based
forward-path DPD

AI Engine Application Performance & Power Efficiency
Image Classification

Massive MIMO Radio(GoogleNet, <1ms)(DUC, DDC, CFR, DPD)

Xilinx Versal w/AI Engine

Xilinx UltraScale+

20x

5x

40%
Less
Power

ML Inference
36

5G WirelessPowerIntelligent Engines Optimized for Any AI Application
Signal
Processing

AI Inference
optimized

AI Engine Architecture
Compute
Tiles

1X

1X

1X

1X

1X

1X

1X

1X

1X

1X

AIE

AIE

OPS / Tile

256

INT4

256

INT8

512

64

INT16

128

16
LUTs
UltraRAM

INT32

16

FP32
KB / Tile

AIE-ML Architecture1024

Compute
2X
Tiles
Mem
Tiles

512KB

2X

2X

2X

2X

512KB

512KB

512KB

512KB

LUTs

42*
*Via software emulation

 Optimized for ML Inference Applications

32

Data
Memory64

16Program
Memory16 Optimized for signal processing AND ML Native support for INT8, INT16, FP32

AIE-ML

BFLOAT16 256

16

LUTs

 Flexibility for high performance DSP applications

AIE-ML

optimized

 Maximum AI/ML compute with reduced footprint Native support for INT4, INT8, INT16, bfloat16
 Fine grained sparsity HW optimization
 Enhanced FFT & complex math support

37

Intelligent Engines Optimized for Any AI Application
Signal
Processing

AI Inference
optimized

2X INT8/16 OPs/Tile
4X INT4 OPs/Tile

AIE

AIE-ML

optimized

Reduced data
movement

AI Engine Architecture
Compute
Tiles

1X

1X

1X

1X

1X

1X

1X

1X

1X

1X

AIE

Reduced AI
INT4256
PL Footprint

UltraRAM

INT16
2X64AI Perf/W128

 Native support for INT8, INT16, FP32

Compute
2X
Tiles

INT32

16

FP32
KB / Tile

2X

2X

2X

2X

Mem
Tiles

BFLOAT16 256

16

LUTs

42*
*Via software emulation

 Optimized for ML Inference Applications

32

Data
Memory64

16Program
Memory16 Optimized for signal processing AND ML

AIE-ML Architecture

1024
512

LUTs

 Flexibility for high performance DSP applications

AIE-ML

INT8

256

16
LUTs

OPS / Tile

 Maximum AI/ML compute with reduced footprint Native support for INT4, INT8, INT16, bfloat16
 Fine grained sparsity HW optimization
 Enhanced FFT & complex math support

38

Multi-Precision Support (AIE)AI Data Types

Signal Processing Data Types

MACs / Cycle (per core)

MACs / Cycle (per core)
128

16

64

8

32

39

8

8

32x32
SPFP

32x32
Real

4

16

32x16
Real

2
16x16
Real

16x8
Real

8x8
Real

32x32
Complex

32x16
Complex

16x16
Complex

16 Complex
x 16 RealMulti-Precision Support (AIE-ML)
Complex Data Types

MACS / CYCLE (PER CORE)

MACS / CYCLE(PER CORE)

32X32
SPFP**

128

42

32X16
REAL

128
32

32X32
REAL*

16X16
BFLOAT

16X8
REAL

8

64

16

256

512

16

Real Data Types

16X16
REAL

8X8
REAL

8X4
REAL

32X16
C O MP L E X*32 Real X 32 Real is emulated** 32 SPFP x 32 SPFP emulated using BFLOAT16 (following this paper). Not IEEE-754 compliant. Performances TBC

>> 40

16X16
C O MP L E X

AI/MLに向けた幅広い製品群
Accelerator

Edge Aggregation &Autonomous Systems

EnginesIntelligent Edge
Sensor & End Point

VE2302

VE2802AI Compute (INT8x4)1

67 TOPS479 TOPSAI Compute (INT8)1

31 TOPS

228 TOPS

34

304

150K LUTs

521K LUTs

AIE-ML Tiles
Adaptable Engines

RAM

Processing Subsystem

Dual-Core Arm® Cortex®-A72 Application Processing Unit / Dual-Core Arm Cortex-R5F Real-Time Processing Unit
✓

-

172Mb

575Mb

32G Transceivers

8

32

PCIe®

✓

✓ (PCIe gen5 w/ DMA)Video Decode Unit (VDU)-

4

15-20W

75W

Accelerator RAM (4MB)
Total Memory

Power 241

1: Total AI compute includes AI Engines, DSP Engines, and Adaptable Engines
2: Power Projections

フル ソリューションスタック を提供 – 構築のステップ (2)2

アプリケーション全体の流れをコンフィグレーション

N x 1080p30
VMSS
Video Streams
VVAS

ClientClient(Alveo対応予定)

VCU
Decoder

DecodedFrames1080p

Image Data
Metadata

Buffered
Frames1080p

FPGA Accelerated
Host Process

ScalerAlveo U30

VMSS：Video Machine
Learning Streaming Server

VMSS
Server
On x86

Find
Frames416x416

ML JobManagement

Crop andScale
224x224

Detected
Box
Metadata

ML JobManagement

VVAS ：Vitis ビデオ解析 SDK(Vitis Video Analytics SDK)
Alveo
VCK5000
U50LV
TinyYoloV3
42

ResNet50

ユースケース事例

43

電波望遠鏡 分析システム

Square Kilometre Array Observatory (SKAO) Telescope ~15Tbps の継続的なデータフロー

Astronomy massive
in network
processing

 ~2 Peta オペレーション/秒
 膨大なネットワークに接続されたアクセラレータ

ネットワークはデータ処理と同じくらい重要 現状はネットワークスイッチの容量を上回る処理能力を有する
 電力効率の高いコンピュートリソースとしてFPGAを選択 データ移動の過程でデータをリアルタイムに処理
https://comtel-online.com/
2Tbps + 4TMAC
network attached accelerator

7Tbps
Apertures

6Tbps
44

SKA Low
Correlator
andBeamformer

Visibilities(for imaging)
Search andTiming Beams

2Tbps

U50 x 20per server

HPC: 信号処理
Comtel Server with Alveo U55C

20

 宇宙の起源に関する情報を収めるために設計
 テラビット/秒のセンサーデータをリアルタイム処理....

 420枚の Alveo を使用してリアルタイム分散処理

Ethernet Switch

2

Alveo

CPU
1

Alveo

 世界最大の電波天文用アンテナ アレイ

Alveo

CSIRO

 リファレンス デザインを作成中

6

6

サーバー台数は 2倍Ethernet Switch

CPU
CPU

NIC

大規模なスケールアウト: 21 ノード、420 カード
高性能、低遅延: 15 テラビット/秒の処理
消費電力効率: ソーラー電源、90W/カード
高信頼性

1

GPU

•
•
•
•

1

NIC

重要な要素

GPU

Comtel Server with V100

参考) ALMA2 Project- アルマ望遠鏡が切り拓く2020年代の科学のフロンティア (国立天文台)

標高5,000m（Credit: NRAO/AUI/NSF）
光伝送装置

標高2,900m

ブラックホールの撮影に成功 (2019年4月10日)参考) M87ブラックホール撮影への道のり
史上初、ブラックホールの撮影に成功

https://www.elecs.co.jp/news/blackhole.html
https://www.nao.ac.jp/news/science/2019/20190410-eht.html

https://iopscience.iop.org/article/10.3847/2041-8213/ab0c96
https://github.com/casper-astro/casper-hardware#casper-hardware

https://alma-telescope.jp/about
参考) アルマ望遠鏡とは
国立天文台が中心となって開発したACA相関器 https://news.mynavi.jp/techplus/article/alma_project-9/
46

YADDLE-MD
FPGA-based Molecular Dynamics Engine
YADDLE-MD is Snowlake’s groundbreaking molecular dynamics engine. Depolyed on Xilinx’s powerful
FPGA-based Alveo accelerator cards, the YADDLE-MD delivers extraordinary performance unmatchedby competing architectures. Moreover, YADDLE-MD has outstanding efficiency and scalability.

http://www.snowlake-tech.com/
47

YADDLE-MD

Molecular dynamics modelingis used in drug research anddiscovery

FPGA-based Molecular Dynamics Engine

When clustered~
http://www.ks.uiuc.edu/Research/namd/benchmarks/
48

Cascaded FPGA Accelerator with PTU(Intellectual Highway合同会社)(Protocol Termination Unit ; TCP/IP Offload Engine)

https://www.i-highway.com/

FPGA 処理の高速なディスアグリゲーションを容易に実現する技術
Multiple FPGAs are connected via Ethernet (25G/100G) without
any interaction with its host PCs.
=> CPUに負荷無く ノード間で高速なネットワーク伝送

Alveo

Alveo

Alveo

Whole HW Implemented TCP/IP stack with security features=> 安定した低レイテンシーの実現 かつ パケット損失なし
Multiple TCP Sessions (over 10,000) which allows each
Data Flow to be conveyed in individual TCP Session=> 高度なスケーラビリティ

Dynamic Service Switch

Alveo U250

PTU

MAC

User
Function

Alveo

Alveo

Alveo
49

HPC: コンピューター支援エンジニアリング (CAE)
Ansys LS-DYNA
 LS-DYNA: 有限要素プログラム (FEM)

FEM を使用して現実世界の製品性能をシミュレーション

無限の複雑性をもつシミュレーションを作成• National Crash Analysis Center による Silverado モデル• 700k の要素 (大部分はシェル + ソリッドとビーム)• 膨大なコンピュート負荷

1,200 秒

 大規模シミュレーションは CPU では数週間必要
フォンノイマン アーキテクチャの限界


データ幅が固定 => データアクセス効率の低下、データ待ち時間
はクロック、コンピュートリソースを浪費

オンチップ キャッシュのサイズは有限 => 大きなデータは外部のメモリアクセスが必要 = 性能劣化、消費電力増大

 Alveo U55C はフォンノイマンの限界を超える

50



データは機能ブロック間をパイプライン状にストリーミング

データーバス幅、データムーバ、メモリ階層構造をカスタマイズし最適なデータパイプラインを構築

16GB HBM2 メモリ (32 HBM channels@ 460GB/s) をシングル
デバイスに内蔵 = 大きなデータも外部メモリアクセスは不要

LS-DYNAのユースケースではCPUの5倍の性能を実現

5x
240 秒

8 x Alveo U55C

CPU

行列の大きさ -> 12M
nnzs: 非ゼロ要素の数 -900M
時間 (秒): JPCG ソルバーの実行時間
CPU モデル: インテル Xeon Platinum 8260L @2.4GHz、1.5TB メモリ

LEWIS RHODES LABS –NPUsearch™ Integrated Search-inStorage on Samsung SmartSSD® CSDs powered by Xilinx FPGAs
Neuromorphic Processing Unit (NPU) is the core of NPUsearch. Designed withthe fine grain parallelism, hierarchical structure, it is highly efficient patternmatcher to accurately and rapidly scan data. Full content search of unindexed
data is regex accessible via JupyterNotebook or other Python-based interface.

51

CPU based architecture

NPU search-in-storage architecture> Inconsistent search capacity> CPU-intensive cost profile> Move all data to CPU to search> Heavy network requirements> High volume of data flow
> Unable to scale performance> Rapid, deterministic search> Reduce CPU costs> Move only data of interest> Light network demands> Minimize data flow
> Scalable search capacity> Lower power consumptionAupera社 インテリジェント ビデオ解析ソリューション
https://japan.xilinx.com/products/boards-and-kits/vck5000.html

Aupera VMSS (Video Machine Learning Streaming Server)
ソリューションは複数のフル HD カメラからの高密度映像ソースをサポートし、オブジェクトの識別と分類を実行します。
複数の推論モデルを同時に実行可能で、確定的かつ低レイテン
シで精度の高い結果を出力します。業界最小のコスト (TCO) を実現できることが特徴です。

52

まとめ

53

AMD Alveo Parallelism
Natively networkable forscale-out

Function level Pipelining
func1

func2

func3

func1

func2

func3

func1

func2

func3
time

Large number of Compute elements
and Custom super efficient circuits

54

32 memory channels forparallel stall-free accessCustom Data Width andMovement

まとめ
FPGAとそのクラスタによる効果といくつかのユースケースについて触れた以下の特徴を生かすことでパフォーマンス、消費電力、コストに有効

Memory vs Cache Heterogeneous device architecture (Versal AIE/AIE-ML)
 Flexible Data width/type, data type optimization, data movement optimization
 Pipeline
 Massive parallelism
 Direct network
 Compute near data
設計の容易さを推進55

Alveo, Versal, Vitis, HLS, Silexica, ライブラリ, Model Composer, ACCL (MPI-Like), ...

Thank You

Disclaimer and Attribution
The information contained herein is for informational purposes only and is subject to change without notice. While every precaution has been taken in the
preparation of this document, it may contain technical inaccuracies, omissions and typographical errors, and AMD is under no obligation to update or otherwise
correct this information. Advanced Micro Devices, Inc. makes no representations or warranties with respect to the accuracy or completeness of the contents of thisdocument, and assumes no liability of any kind, including the implied warranties of noninfringement, merchantability or fitness for particular purposes, with respect
to the operation or use of AMD hardware, software or other products described herein. No license, including implied or arising by estoppel, to any intellectual
property rights is granted by this document. Terms and limitations applicable to the purchase or use of AMD’s products are as set forth in a signed agreement
between the parties or in AMD's Standard Terms and Conditions of Sale. GD-18© Copyright 2021 Advanced Micro Devices, Inc. All rights reserved. Xilinx, the Xilinx logo, AMD, the AMD Arrow logo, Alveo, Artix, Kintex, Kria, Spartan, Versal,
Vitis, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Advanced Micro Devices, Inc. Other product names used in thispublication are for identification purposes only and may be trademarks of their respective companies.