37

演算通信融合機構による計算科学アクセラレーショ …Center for Computational Sciences, Univ. of Tsukuba セッション構成 n 演算通信融合機構による計算科学アクセラレーション

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Center for Computational Sciences, Univ. of Tsukuba

演算通信融合機構による計算科学アクセラレーション

朴 泰祐筑波大学・計算科学研究センター/システム情報工学研究科

2016/11/07XMPワークショップ@秋葉原1

共同研究者:天野英晴(慶應義塾大学)、塙敏博(東京大学)梅村雅之、山口佳樹、吉川耕司、小林諒平、藤田典久、大畠佑真、高山尋考(筑波大学)

Center for Computational Sciences, Univ. of Tsukuba

ポストペタCREST:朴チームについてn JST-CREST研究領域「ポストペタスケール高性能計算に資するシステムソフトウェア技術の創出」、研究課題名「ポストペタスケール時代に向けた演算加速機構・通信機構統合環境の研究開発」(H24.10~H30.3、総額3.4億円)

n メンバーn 朴泰祐(代表、筑波大)天野英晴(慶大)、村井均(理研)、梅村雅之(筑波大)

n テーマn 並列アクセラレータクラスタにおける通信ボトルネックの解消、特にstrong

scalingにおいて重要なlatencyの削減をhardwareとsoftwareの協調で解消⇒ TCA (Tightly Coupled Accelerators)

n TCAのプロトタイプ実装としてPCIe intelligent switchであるPEACH2 (PCI Express Adaptive Communication Hub ver.2)をFPGAで実装⇒ GPU間データ通信をCPUとそのネットワークを介在することなく実行

n 研究期間後半ではFPGAをより積極的にアプリケーション加速「にも」利用⇒ Accelerator in Switch

n 高機能・高レベルのアクセラレータクラスタ向け並列言語の開発⇒ XcalableACC

2016/11/07XMPワークショップ@秋葉原2

Center for Computational Sciences, Univ. of Tsukuba

セッション構成n 演算通信融合機構による計算科学アクセラレーション(朴泰祐)n TCAとAccelerator in Switch

n FPGAにおける計算科学アプリケーションの部分オフローディング(藤田典久)n OpenCL for FPGA

n TCA機構におけるGPU対応GASNetの実装(佐藤賢太)n TCA/PEACH2の汎用通信レイヤへの適用

n アクセラレータクラスタ向けPGAS言語XcalableACCの実装状況報告(田渕晶大)n XcalableACC実装

2016/11/07XMPワークショップ@秋葉原3

Center for Computational Sciences, Univ. of Tsukuba

Agenda

n TCA and PEACH2n Accelerator in Switch

n First astrophysics problem – LET offloadingn Next challenge on Radiation Transfer problem

n Challenges for Accelerator in Switchn PACS-X & PPXn Summary

2016/11/07XMPワークショップ@秋葉原4

Center for Computational Sciences, Univ. of Tsukuba

TCA (Tightly Coupled Accelerators)

2016/11/07XMPワークショップ@秋葉原5

Center for Computational Sciences, Univ. of Tsukuba

Issues on accelerated (GPU) computingn Trading-off: Power vs Dynamism (Flexibility)

n fine grain individual cores consume much power, then ultra-wide SIMD feature to exploit maximum Flops is needed

n Interconnection is a serious issuen current accelerators are hosted by general CPU, and the system is not stand-

alonen current accelerators are connected by some interface bus with CPU then

interconnectionn current accelerators are connected through network interface attached to the

host CPUn GPU is not perfect

n highly regular (SIMD-like) computation to be supported by thousands of cores/threads

n irregularity degrades the performance drasticallyn CPU is not enough powerful

2016/11/07XMPワークショップ@秋葉原6

• How to provide low-latency/high-bandwidth communication among accelerators• How to fill the gap between GPU-performance and CPU-flexibility

Center for Computational Sciences, Univ. of Tsukuba7

Main board+ sub board Most part operates at 250 MHz

(PCIe Gen2 logic runs at 250MHz)

PCI Express x8 card edgePower supply

for various voltageDDR3-SDRAM

FPGA(Altera Stratix IV

530GX)

PCIe x16 cable connecter

PCIe x8 cable connecter

PEACH2 board – prototype implementation of TCA

2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

HA-PACS/TCA test-bed node structure

n CPU can uniformly access to GPUs.

n PEACH2 can access every GPUsn Kepler architecture +

CUDA 5.0 “GPUDirectSupport for RDMA”

n Performance over QPI is quite bad.=> support only fortwo GPUs on the samesocket

n Connect among 3 nodes

n This configuration is similar to HA-PACS base cluster except PEACH2.n All the PCIe lanes (80 lanes) embedded in

CPUs are used.

CPU(Xeon E5 v2)

CPU(Xeon E5 v2)QPI

PCIe

K20X K20X K20X IBHCA

PEACH2 K20X

G2 x8 G2

x16G2x16

G3x8

G2x16

G2x16

G2 x8

G2 x8

G2 x8

8 2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

HA-PACS Base Cluster + TCA(TCA part starts operation on Nov. 1st 2013)

2016/11/07XMPワークショップ@秋葉原9

Base Cluster

TCA

• HA-PACS Base Cluster = 2.99 TFlops x 268 node (GPU) = 802 TFlops• HA-PACS/TCA = 5.69 TFlops x 64 node (with GPU+FPGA) = 364 TFlops• TOTAL: 1.166 PFlops• TCA part (individually) ranked as #3 in Green500, Nov. 2013

Center for Computational Sciences, Univ. of Tsukuba

Ping-pong performance on TCA/PEACH2

2016/11/07XMPワークショップ@秋葉原10

0

1

2

3

4

5

6

7

4 16 64 256 1024 4096

Late

ncy

[us]

Size [byte]Internal (HtoH) Internal (DtoD) User (HtoH)

User (DtoD) MV2-GDR (HtoH) MV2-GDR (DtoD)

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

4 32 256 2048 16384 131072 1048576Ba

ndwi

dth

[GB/

s]Size [byte]

Internal (HtoH) Internal (DtoD) User (HtoH)

User (DtoD) MV2-GDR (HtoH) MV2-GDR (DtoD)

Platform: HA-PACS/TCAIB: Connect-X3 QDR (x 2rail)GPU: K20X(as in 2014)

Center for Computational Sciences, Univ. of Tsukuba

Accelerator in Switchand Example on Astrophysics

2016/11/07XMPワークショップ@秋葉原11

Center for Computational Sciences, Univ. of Tsukuba

Is GPU enough for everything ?n GPU is good for:

n coarse grained parallel applicationsn regular pattern of parallel computation without exceptionn applications relying on high memory bandwidth

n In recent HPC applications:n various precision of data is introduced (double, single, half...)n some computation is strongly related to communication➟ fine ~ mid grained computation not suitable for GPU and too slow by CPU

n complicated algorithm with exception, non-SIMD, partially poor parallelism

2016/11/07XMPワークショップ@秋葉原12

Center for Computational Sciences, Univ. of Tsukuba

PEACH2/PEACH3 is based on FPGA

n FPGA for parallel platform for HPCn in general and regular computation, GPU is bettern for something “weird/special” type of computationn (relatively) non bandwidth-aware computation

n PEACH solution on FPGA provides communication and computation on a chipn PEACH2/PEACH3 consumes less than half of LE on FPGAn “partial offloading” of computation in parallel processing can be

implemented on rest of FPGA

2016/11/07XMPワークショップ@秋葉原13

➟ Accelerator in Switch (Network)

Center for Computational Sciences, Univ. of Tsukuba

Schematic of Accelerator in Switch

2016/11/07XMPワークショップ@秋葉原14

CPUGPU

PCIe switch

FPGAfine-grainpartialoffloading

high-speedcommunication(PEACH2/PEACH3)

coarse-grainoffloading

interconnect

misc. workand computation

Multi-heteronot invading appropriateparts with each other

Center for Computational Sciences, Univ. of Tsukuba

Example of Accelerator in Switch

n Astrophysicsn Gravity calculation in domain decompositionn Tree search is efficientn LET (Locally Essential Tree) is introduced to reduce the

search space in tree structure➟ too complicated to handle in GPU

n CPU is too slow➟ implementing the function on FPGA and combining with PEACH3 communication part

2016/11/07XMPワークショップ@秋葉原15

LET (Locally Essential Tree)mask[id] array

mask[id] == 0 skipmask[id] == 1 add to LET

distance judgmentpartial regional data inreceiver side and each cellin sender side

16 2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba2016/11/07XMPワークショップ@秋葉原17

Center for Computational Sciences, Univ. of Tsukuba

Preliminary Evaluation

0

10

20

30

40

50

60

70

80

CPU実行 オフロード機構

実行時間

( μ s

ec )

18

module itself 2.2x speeds up

0

50

100

150

200

250

300

CPU実行 オフロード機構

実行時間

( μ s

ec )

Exec. time for making LETfrom LET making to GPU data transfer

7.2x speed up

2016/11/07 XMPワークショップ@秋葉原

Exec

. tim

e (μ

s)

Exec

. tim

e (μ

s)by CPU by FPGA offloading by CPU by FPGA offloading

Center for Computational Sciences, Univ. of Tsukuba

Radiation Transfer in early UniverseInteraction among Light (Radiation) from Objects and Material

Reionization of atoms

Molecules split by Light

Heating of gas by Light

Mechanical dynamics by gas pressure

They are so important for early universe generation

generation of stars reionization of universe by photons from galaxy

Research so far: by ray tracing

Approximation is applied so far

Very costly computation

2016/11/07XMPワークショップ@秋葉原19

Center for Computational Sciences, Univ. of Tsukuba

Radiation Transfer CalculationRadiation transfer from single light source

Diffuse radiation transfer from spread light sourcesin the space

light to each mesh from the source

a number of parallel lights from the boundary

I(v) : strength of radiation

τ(v) : optical thickness

v : vibration

S(v) : source function

computation cost

computation cost

2016/11/07XMPワークショップ@秋葉原20

Center for Computational Sciences, Univ. of Tsukuba

ARGOT: Radiation Transfer Simulation code

Simultaneous simulation on radiation transfer and fluid dynamics

Applied to single light source

Currently written by CUDA (GPU) +OpenMP (CPU)

Scalable with MPI

For multiple light sources, using Tree structure to merge the effect

Computation Cost

https://bitbucket.org/kohji/argot

2016/11/07XMPワークショップ@秋葉原21

Center for Computational Sciences, Univ. of Tsukuba

ARGOT(Accelerated Ray-Tracing on Grids with Oct-Tree)ARGOT method Parallelized ARGOT method

• Basic structure and method are similar to LET on gravity⇒ also possible to implement on FPGA

• Computation accuracy (precision) is low, FP16 is too much

2016/11/07XMPワークショップ@秋葉原22

Center for Computational Sciences, Univ. of Tsukuba

Communication bottleneck on ARGOT

On GPU CUDA code, scaling with > 1283mesh /node

Scaling with > 643mesh/node

Problem: inter-node communication by MPI when the light crosses on the cell border

Offloading to FPGAFine tuning on precision and

algorithmHigh speed communication

without PCIe bottleneckWith High Level Language ?

2016/11/07XMPワークショップ@秋葉原23

Center for Computational Sciences, Univ. of Tsukuba

Issues on Accelerator in Switch

2016/11/07XMPワークショップ@秋葉原24

Center for Computational Sciences, Univ. of Tsukuba

Challenge (1): Communication Performance

n PEACH2/PEACH3 I/O bottleneckn depending on PCIe everywhere, to connect CPU and GPU, and also for

external linkn PCIe is a bottleneck on today’s advanced interconnect

n High performance interconnection between FPGAn optical interconnect interface is readyn up to 100Gb speedn provided as IP for users

n FPGA-FPGA communication without intra-node communication bottleneckn on-the-fly computation & communication

2016/11/07XMPワークショップ@秋葉原25

Center for Computational Sciences, Univ. of Tsukuba

100GbE inter-node communication experiment

26

Xilinx XC7VX1140T(Virtex7)Vivado 2016.1Virtex-7 FPGA Gen3 Integrated Block for PCI Express v4.1(Aurora 64B/66B v11.1)

2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

Case-A: peer-to-peer

n up to 96% of theoretical peakn good scalability up to 3 channels

27 2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

Case-B: 1-hop routing via FPGA

n FPGA hop latency is just 20ns

28 2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

Case-C: PCIe intra-communication

n bottlenecked by PCIe bandwidthn >90% of theoretical peak performance

29 2016/11/07XMPワークショップ@秋葉原

Center for Computational Sciences, Univ. of Tsukuba

Challenge (2): Programming

n OpenCL is not perfect but best todayn Much smaller number of lines than Verilogn Easy to understand even for application usersn Very long compilation time to cause serious TAT for developmentn Not perfect to use all functions of FPGA

n We need “glue” to support end-user programmingn Similar to the relation between “C and assembler”⇒ “OpenCL and Verilog”

n Making Verilog-written low level code as “library” for OpenCLn Potentially possible (by Altera document), but hardn Challenge: Partial Reconfiguration

n Overall programming system

2016/11/07XMPワークショップ@秋葉原30

Accelerator in Switch のための機能切替

固定領域モジュール

PEACH3のスイッチ

Persona1

Persona2

PR用ROMコントローラ用

Mega Function コントローラ

再構成制御回路

ラッパー

ラッパー

Freeze制御回路

Persona1:天体計算のリダクション演算Persona2: LETのアクセラレータ固定部のスイッチを動作させたままで

Personaを切り替える

固定領域

再構成領域

31

Center for Computational Sciences, Univ. of Tsukuba

Challenge (3): System Configuration

n Intra-node connection issuen PCIe is the only solution todayn Intel HARP: QPI (UPI) for Xeon + FPGA (in MCM)n IBM OpenCAPI: POWER + FPGA (IP provided)

n How to make the system compactn HARP solution is very good to save footprint, but I/O on

FPGA is limitedn OpenCAPI has flexibility on FPGA external linkn NVLINK2 access via OpenCAPI ?

2016/11/07XMPワークショップ@秋葉原32

Center for Computational Sciences, Univ. of Tsukuba

Intel+Altera heterogeneous architecture

2016/11/07XMPワークショップ@秋葉原33

from PK Gupta, “Xeon+FPGA Platform for the Data Center”, ISCA/CARL 2015http://www.ece.cmu.edu/~calcm/carl/lib/exe/fetch.php?media=carl15-gupta.pdf

Broadwell Arria10

Center for Computational Sciences, Univ. of Tsukuba

PACS-X and PPX

2016/11/07XMPワークショップ@秋葉原34

Center for Computational Sciences, Univ. of Tsukuba

PACS-X (ten) Project

n PACS (Parallel Advanced system for Computational Sciences)n a series of co-design base parallel system development both on system

and application at U. Tsukuba (1978~)n recent systems focus on accelerators

n PACS-VIII: HA-PACS (GPU cluster, Fermi+Kepler, PEACH2, 1.1PFLOPS)n PACS-IX: COMA (MIC cluster, KNC, 1PFLOPS)

n Next generation of TCA implementationn PEACH2 with PCIe is old and with several limitationn new generation of GPU and FPGA with high speed interconnectionn more tightly co-designing with applicationsn system deployment starts from 2018 (?)

2016/11/07XMPワークショップ@秋葉原35

PPX: Pre-PACS-X

Center for Computational Sciences, Univ. of Tsukuba

PPX: latest multi-hetero platform (x6 nodes)

2016/11/07XMPワークショップ@秋葉原36

FPGA:fine-grainpartial offloading

+high-speed interconnect

GPU: coarse-grainoffloadingNVIDIA P100 x 2

Xeon Broadwell

HCA:Mellanox IB/EDR

100G IB/EDR

40Gb Ether x 2

Xeon Broadwell

QPI

Center for Computational Sciences, Univ. of Tsukuba

Summary and Issues

n Multi-hetero environment for multi-level complexity, multi-physics simulation

n Issuesn How to configure the system ? What interface ?

n PCIe (gen3 -> gen4): performance bottleneckn Intel HARP (Xeon CPU + Altera FPGA): no extension for external linkn OpenCAPI by OpenPower -> NVLINK2: CPU & GPU is limited

n How to program ?n OpenCL for higher level (application) code + HDL for lower level

(fundamental modules), but how to coordinate ?n Partial reconfiguration technology to save the debugging TAT

2016/11/07XMPワークショップ@秋葉原37