연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · bluegene/q...

32

Upload: others

Post on 16-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)
Page 2: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

KISTI 슈퍼컴퓨팅본부 권오경([email protected])

가속기 기반 초고성능시스템에서의 응용프로그램 성능 테스트 및 최적화 사례연구

Page 3: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구의 필요성 슈퍼컴퓨터와 연산 장치

기존의 CPU에서 보다 저전력 연산 장치를 사용하는 방향으로 트렌드가 전환

전력 효율이 우수한 계산 가속기가 보급 (예: NVIDIA GPU, Intel Xeon Phi)

0

1

2

3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

전력

효율

(PFlo

ps/

MW

) 계산 가속기

BlueGene/Q

CPU

TOP 500 순위 (2013년 11월)

국가명 소속기관 이름(제작사) 이론성능 (가속기와 CPU 비율) 가속기 모델 TOP500 서비스

중국 NUDT Tianhe-2(NUDT) 55 PF(7.13:1) Intel Xeon Phi 1 '13.6

미국 ORNL Titan(Cray) >27 PF (9.42:1) NVIDIA K20x 2 '12.11

스위스 SNSC Piz Daint (Cray) 7.8PF NVIDIA K20x 6 '13.11

미국 TACC Stempede(DELL) 8.5 PF (2.96:1) Intel Xeon Phi 7 '12.11

Page 4: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구의 필요성 가속기 기반 초고성능시스템

가속기 기반으로 초고성능컴퓨터 구축이 보편화됨 (가격대비 성능 측면)

GREEN500 가속기 기반 초고성능컴퓨터가 상위 10위를 모두 차지 (에너지 효율 측면)

계산 성능 20TF 을 기준으로, CPU만으로 구축시 6억 8천, CPU와 가속기를 동시에 구축시 2억 3천 예상

현재 서비스 중인 페타플롭스급 가속기 기반 슈퍼컴퓨터가 보편화되고 있음

국가명 소속기관 이름 MFLOPS/W 가속기 모델 GREEN 500 순위 전체 전력소모

일본 RIKEN Shoubu 7,031 PEZY-SC 1 50.32kW

일본 SNSC TSUBAME-KFC 4,257 NVIDIA K20x 5 39.83kW

한국 KISTI Tachyon2 215 - 331 1275kW

차세대 시스템의 목표치가 30PF일 경우, 전체전력소모 예상은

Tachyon2 시스템 기준 124,481kW, TSUBAME-KFC 시스템 기준 6662kW 소요 예상

엑사스케일 컴퓨팅으로 가기 위한 방법으로

가속기 기반 초고성능시스템 구축 및 서비스는 반드시 필요!

Page 5: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

테스트베드 구축 및 성능평가 가속기 기반 테스트베드 구축

55.734Tflops 급의 가속기 기반 계산환경 테스트베드 구축:

+

+

Xeon Phi 7120p 18ea

Rpeak: 22.28Tflops)

NVIDIA K40m 15ea

Rpeak: 21.45Tflops)

Linux Cluster Node 15ea

(Rpeak: 6Tflops)

Linux Cluster Node 15ea

Rpeak: 6Tflops)

=

Xeon Phi Testbed

(Rpeak: 28.28Tflops)

(Rmax: 24.038Tflops)

NVIDIA Tesla Testbed

(Rpeak: 27.45Tflops)

Rmax: 19.215Tflops)

=

+

+

Scheduler

Scheduler

CPU based Cluster Accelerators Scheduler BMT + + =

Page 6: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

테스트베드 구축 및 성능평가 가속기 기반 초고성능시스템

가속기 기반 계산환경 테스트베드 성능 평가

벤치마크 프로그램 HPL(High Performance Linpack) 수행

Nodes # N NB P Q 실측성능 이론성능 성능효율

1 44869 768 1 1 1.18 Tflops 1.83 Tflops 64%

4 239619 768 2 2 5.15 Tflops 7.32 Tflops 70%

8 351744 768 4 2 9.49 Tflops 14.64 Tflops 65%

10 397824 768 5 2 11.21 Tflops 18.30 Tflops 61%

<Xeon Phi 테스트베드에서 HPL 이론대비 실측성능효율>

Nodes # N NB P Q 실측성능 이론성능 성능효율

4 240800 1280 2 2 5.59 Tflops 6.552 Tflops 85%

8 340000 1280 4 2 11.13 Tflops 13.10 Tflops 85%

10 390000 1280 5 2 13.88 Tflops 16.38 Tflops 85%

12 420000 1280 4 3 16.76 Tflops 19.66 Tflops 85%

<NVIDIA GPU 테스트베드에서 HPL 이론대비 실측성능효율>

Page 7: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

테스트베드 구축 및 성능평가 가속기 기반 초고성능시스템

가속기 기반 계산환경 테스트베드 성능 평가

벤치마크 프로그램 HPL(High Performance Linpack) 수행 (계속)

<NVIDIA GPU 테스트베드에서 HPL 예측성능대비 효율 (단위: Tflops)>

Nodes # CPU성능 GPU성능 CPU

비율

GPU

비율

DGEMM

성능

DTRSM

부하율

Infiniband

부하율 예측성능 실측성능

성능

효율

1 0.4 1.43 90% 89% 1.63 80% 100% 1.31 1.18 90%

4 1.6 5.72 90% 89% 6.53 80% 90% 4.7 5.15 109%

8 3.2 11.44 90% 89% 13.06 80% 90% 9.41 9.49 101%

10 4 14.30 90% 89% 16.33 80% 90% 11.76 11.21 95%

Size GPUDirect on GPUDirect off 성능

비교 Size GPUDirect on GPUDirect off

성능

비교

1 49.71 197.83 3.98배 2048 51.1 210.87 4.13배

2 51.28 194.95 3.80배 4096 130.84 236.65 1.81배

4 49.5 194.94 3.93배 8192 162.62 265.34 1.63배

16 50.07 197.62 3.95배 32768 511.73 509.64 1배

256 50.73 196.44 3.87배 524288 2802.53 2766.05 0.99배

512 49.9 197.92 3.97배 1048576 4993.2 4950.36 0.99배

<NVIDIA GPU 테스트베드에서 GPUDirect 설정관련 MPIAlltoall Latency (단위: us)>

Page 8: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Evaluation of ISVs, Open-source and In-house code

1. ISVs and Open-source Application Evaluation 2. In-house code porting and evaluation

3. Numerical Library Evaluation

37%

25%

6%

4%

3% 3%

2% 2% 2% 2% 1%

VASP

Amber

Gromacs

Lammps

Quantum espresso

WRF

Collaboration

w/

Academic &

Private

Sectors

Legend

Nano Phys.

MD

Meteorology FFT(Fast Fourier Transform)

N-body Astrophysics

Lattice QCD

Indoor localization using

sensor Data

Particle-In-Cell based

Magnetron Sputtering

cuFFT

Nanowire Growth

Page 9: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Evaluation of ISVs & Open-source (1/4)

<Tachyon2에서 in-house코드를 제외한 빈번하게 사용하는 응용프로그램, 2013년 기준>

프로그램명 분야 비고 가속기 지원 여부 테스트 여부

1 VASP 나노물리/양자화학 상용 NVIDIA GPU 지원 (CUDA 개발중, 비공개) Xeon Phi 테스트 (Native,

AO)/ GPU 테스트 (CUDA)

2 Gaussian 화학 상용 - X

3 Amber 분야동역학 상용 NVIDIA GPU/Xeon Phi 지원

(GPU:CUDA, Xeon Phi: Amber14부터 Offload) GPU만 테스트 (CUDA)

4 GROMACS 분야동역학 오픈소스 NVIDIA GPU/Xeon Phi 지원

(GPU:CUDA, Xeon Phi: 5.0-rc1부터 Native)

Xeon Phi (Native)/

GPU 테스트 (CUDA)

5 LAMMPS 분야동역학 오픈소스 NVIDIA GPU/Xeon Phi 지원

(GPU:CUDA, Xeon Phi: 15 Aug, 2014부터 Offload)

Xeon Phi (Offload)/

GPU 테스트 (CUDA)

6 FHI-aims 고체물리/양자화학 상용 - X

7 Q-chem 고체물리/양자화학 상용 NVIDIA GPU 지원 (RI-MP2 계산 CUDA) X

8 Quantum

Espresso 나노물리/양자화학 오픈소스

NVIDIA GPU/Xeon Phi 지원

(GPU:CUDA / Xeon Phi:Native, AO)

Xeon Phi (Native, AO)/

GPU 테스트 (CUDA)

9 WACCM4 대기과학 오픈소스 - -

10 WRF 대기과학 오픈소스 NVIDIA GPU/Xeon Phi 지원

(GPU: CUDA 및 OpenACC, (CUDA 비공개) / Xeon Phi: Native)

Xeon Phi (Native)/

GPU 테스트(Open ACC)

Page 10: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Evaluation of ISVs & Open-source (2/4)

Program Accelerator Model Target Results Note

VASP

(5.3.3)

Xeon Phi

AO Feasible Tests for MKL’s BLAS functions

(ZGEMM, DGETRF, DPOTRF, DGEQRF)

Disable (matrix size is not suitable

for AO)

If FFTW (hotspot) is supported,

performance improvement would be

expected

Native GaTa4Se8(Atoms#: 52) 10x worse than CPU(16 cores) @ one

node

- Error @MPI

- Files: Over 100GB

NVIDIA GPU Offload (CUDA) SrTiO3(Atoms#: 530) 1.77x better than CPU(20 cores) Provided from NVIDIA

Quantum

Espresso

(5.1)

Xeon Phi

AO Test if it works using the flag of offload

report

It works, but performance is similar

with CPU

Native

SCF(Self Consistent Field) of Carbon

Nanotube6,6) (72 Carbon Atoms and 288

electrons @ each cell)

2.35x worse than CPU(20 cores) @

one node - Files: over 100,000GB

NVIDIA GPU Offload (CUDA) Same with Xeon Phi

- 1core : 1478.75 s

- 20cores(MPI) : 141.55 s

- 1CPU+GPU : 349.99 s

- If MPS is applied, performance

improvement is expected

Page 11: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Evaluation of ISVs & Open-source (3/4)

Program Accelerator Model Target Result Note

Amber

(12) NVIDIA GPU Offload (CUDA) Protein folding system

1 GPU (K40, ECC turned on, boost

clocks off) = 100 CPU cores,

1 GPU (K40, ECC turned off, boost

clocks on) = 120 CPU cores

PME is not suitable for multi

nodes

GB is good scale up to 8nodes

LAMMPS

(1 Feb 2014)

Xeon Phi Offload

Molecule system

(Charmm force field: Atom

256,000)

- 20ppn+1MIC is 2.93x better

than CPU(20 cores)

15 Aug. 2014 version is supported

for offload (Charmm force field

and Gayberne potential)

NVIDIA GPU Offload (CUDA)

Molecule system

(Charmm force field:

Atom 256,000)

- GPU package: 20ppn+1GPU is

1.44x better than CPU(20ppn)

- CUDA package: 1.7x better than

CPU(20ppn)

MPS-enabling would be expected

1.1x better for Lennard-Jones,

1.25x better for EAM

Page 12: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Evaluation of ISVs & Open-source (4/4)

Program Accelerator Model Target Result Note

GROMACS

(5.0)

Xeon Phi Native/

Symmetric 512k Water(1536000 atoms)

1.29x better @ one node

(native),

1.2x better @ one node

(symmetric)

- Files: Over 100GB

- Code modification for

vectorization/FMA

NVIDIA GPU Offload

(CUDA) 512k Water(1536000 atoms)

2.15x @ one node,

1.75x @ 12 nodes

- GPU: Force calculation(Hotspot)

- CPU: PME and others

WRF

(3.6)

Xeon Phi

Native/

Symmetric CONUS 2.5km

1.7x better than

CPU(10ppn+2threads) @

4nodes, 1.59x better @ 8

nodes (Symmetric mode)

- Input files : 1GB

- Output files: 10GB

NVIDIA GPU Offload

(OpenACC) CONUS 18km(80x80 Grid)

GPU(MPS on,

CPU(4nodes/1ppn)+4GPUs) is

1.34x better than

CPU(4nodes/1ppn)

- CUDA version is not allowed to test

Page 13: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: GROMACS (1/4)

개요

수백에서 수백만 개의 원자들로 이루어진 시스템의 분자동역학 시뮬레이션을 수행하는 오픈소스

프로그램 패키지로 개별 원자 간의 뉴턴 방정식 풀이를 통해 원자계 시간 의존 궤적을 계산

GROMACS는 AMBER, CHARMM, NAMD, LAMMPS 등 다른 분자동역학 패키지들과 비교하여 빠른 계산

속도를 보이고, 다양한 힘 파라미터를 지원하며, 계산에 편리한 인터페이스를 제공

버전 4.6부터는 NVIDIA GPU를 지원하며, GPU는 GROMACS내에 핫스팟인 힘(Force)계산을 CPU는

PME와 나머지 계산부분을 수행 (힘계산과 PME는 상호 독립적이고, 로드밸런싱에 대해서 수치로서

조절가능)

버전 5.0 rc1부터 Xeon Phi는 Native 지원(벡터화/FMA를 위한 수정)하며, Offload는 개발중

Page 14: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: GROMACS (2/4)

수행내용

NVIDIA GPU와 Xeon Phi(Native/Symmetric모델)에 대해서 다음 네 가지 시스템을 이용하여

GROMACS 버전 5.0에 대해서 벤치마크 테스트 수행

PMF(Potential of Mean Force) 중 하나의 구성(configuration) (11,187개 원자)

Lysozyme 단백질 (55,778개 원자)

GKAI(Geobacillus Kaustophilus Arabinose Isomerase) 반응촉매단백질 효소체 (332,879개 원자)

512000(512k)개의 물분자 (1,536,000개 원자)

Page 15: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: GROMACS (3/4)

결과

NVIDIA GPU 테스트

※ MPI 작업제출시 MPS 모드에서 단일 및 멀티노드에서 1.1배에서 1.4배까지 성능향상 기대

※ GROMACS v5.0-rc1는 GPU성능이 v4.6.6에 비해서 2배 이상 느림 (5.0버전은 기능추가에 초점)

<멀티 노드에서의 NVIDIA GPU 성능 비교

(왼쪽: 단백질, 오른쪽: 512k 물분자)>

PMF 단백질 GAKI 512k 물분자

단일 노드 (Single-Node) 1.73배 향상 1.86배 향상 1.84배 향상 2.15배 향상

멀티 노드 (Multi-Node) 1.75배 향상@12 노드 1.58배 향상@12 노드 1.75배 향상@12 노드

Page 16: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: GROMACS (4/4)

결과

Intel Xeon Phi 테스트

PMF 단백질 GAKI 512k 물분자

단일 노드

(Single-Node)

Native 1.71배 성능감소 1.51배 성능감소 성능차이없음 1.29배 성능감소

Symmetric 1.92배 성능감소 1.92배 성능감소 1.2배 성능향상

멀티 노드

(Multi-Node)

Native 모든 경우 CPU보다

성능느림

(병렬확장성 없음)

모든 경우 CPU보다

성능느림

(병렬확장성 없음)

모든 경우 CPU보다

성능느림

(병렬확장성 없음)

Symmetric 모든 경우 CPU보다

성능느림

(병렬확장성 없음)

모든 경우 CPU보다

성능느림

(병렬확장성 없음)

※ Intel 공식자료에 따르면 1.56배 향상(512k물분자, Symmetric)

<멀티 노드에서의 Xeon Phi 성능 비교

(왼쪽: 단백질, 오른쪽: 512k 물분자)>

Page 17: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: LAMMPS (1/5)

개요

시스템 내에 입자들 사이에 에너지 포텐셜(potential) 또는 힘이 주어졌을 때 뉴턴의 운동방식을

수치적으로 풀어내어 입자들의 위치 및 속도를 계산하는 오픈소스 프로그램

NVIDIA GPU 계산의 대부분을 차지하는 원소들 상호간의 pair-wise interaction (van der Waals,

electrostatic)을 계산하여 원소들이 시스템 내에서 받는 힘을 계산하는 부분을 담당하게 되며,

LAMMPS 공식 벤치마킹 결과 CPU 전용 계산 대비 10배 정도 성능 향상을 보고

CPU대비 NVIDIA GPU 활용률에 따라 GPU(CPU와 GPU를 같이 활용)와 CUDA(GPU만 이용) 패키지 두

개 제공

Xeon Phi는 2014년 8월 15일 버전부터 Offload 방식으로 제공

Page 18: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: LAMMPS (2/5)

수행내용

NVIDIA GPU

Lennard-Jones 입자 (약 100만개의 입자)

EAM(Embeded Atom Method) 입자 (Cu (구리) 원자 1,048,576개)

Long range Coulomb interaction 시스템 (Charged particle 295,650개로 이루어진 모델에 대해 PPPM

scheme을 적용하여 NPT dynamics 수행): FFT 계산이 포함

일반 분자 시스템 (Charmm force field: 원자 256,000개)

Xeon Phi

일반 분자 시스템 (Charmm force field: 원자 32,000개, 256,000개, 2,048,000개)

액정 시스템 (Gayberne force field: 원자 32,700개, 260,000개, 2,010,000개)

Page 19: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: LAMMPS (3/5)

결과 (NVIDIA GPU)

단일노드 (Single-Node) 멀티노드 (Multi-Node)

Lennard-

Jones 입자

(약 백만개)

GPU 패키지: CPU 계산(20ppn)대비 20ppn+1GPU는 약 2.65배 향상

CUDA 패키지: CPU 계산(20ppn)대비 1GPU추가시 약 2.77배 향상

GPU 패키지: 단일노드(20ppn+1GPU) 대비 2개 1.85배, 4개 3.93배 향상

CUDA 패키지: 단일노드 대비 노드 2개에서 1.68배, 4개에서 2.74배 향상

EAM 입자

(Cu

1,048,576개)

GPU 패키지: CPU 계산(20ppn)대비 20ppn+1GPU는 약 3.32배 향상

CUDA 패키지: CPU 계산(20ppn)대비 1GPU추가시 약 3.19배 향상

GPU패키지: 단일노드(20ppn+1GPU) 대비 2개 1.84배, 4개 3.82배 향상

CUDA 패키지: 단일노드 대비 노드 2개에서 1.78배, 4개에서 3.2배 향상

Long range

쿨롱시스템

(원자

295,650개)

GPU 패키지: CPU 계산(20ppn)대비 20ppn+1GPU는 약 2.26배 향상

CUDA 패키지: CPU 계산(20ppn)대비 1GPU추가시 약 1.55배 향상

GPU패키지: 단일노드(20ppn+1GPU) 대비 2개 1.63배, 4개 4.03배 향상

CUDA 패키지: 단일노드 대비 노드 2개에서 1.73배, 4개에서 2.94배 향상

일반 분자

시스템 (원자

256,000개)

GPU 패키지: CPU 계산(20ppn)대비 20ppn+1GPU는 약 1.44배 향상

CUDA 패키지: CPU 계산(20ppn)대비 1GPU추가시 약 1.7배 향상

GPU패키지: 단일노드(20ppn+1GPU) 대비 2개 1.55배, 4개 3.85배 향상

CUDA 패키지: 단일노드 대비 노드 2개에서 1.75배, 4개에서 3.25배 향상

※ NVIDIA 보고서에 따르면 GPU 패키지인 경우 MPS 사용시 단일노드 기준으로 Lennard-Jones는 1.1배, EAM은 1.25배

정도의 성능향상을 기대할 수 있음 (하지만 멀티노드에서 Lennard-Jones는 MPS 적용시 성능향상이 거의 없음)

Page 20: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: LAMMPS (4/5)

결과 (Xeon Phi)

단일노드(Single-Node) 멀티노드(Multi-Node)

일반 분자

시스템

원자 32,000개 CPU 계산(20ppn)대비 20ppn+1MIC는 약 1.53배 향상 단일노드(20ppn+1MIC) 대비 2개는 1.18배,

4개는 1.37배, 8개는 1.73배 향상

원자 256,000개 CPU 계산(20ppn)대비 20ppn+1MIC는 약 2.93배 향상 단일노드 대비 2개는 1.58배, 4개는 2.38배,

12개는 5.15배 향상

원자 2,048,000개 CPU 계산(20ppn)대비 20ppn+1MIC는 약 3.07배 향상 단일노드 대비 2개는 1.94배, 4개는 3.61배,

12개는 3.61배 향상

액정 시스템

원자 32,768개 CPU 계산(20ppn)대비 20ppn+1MIC는 약 2.65배 향상 단일노드 대비(20ppn+1MIC) 2개는 2.32배,

4개는 4.41배, 12개는 2.32배 향상

원자 262,144개 CPU 계산(20ppn)대비 20ppn+1MIC는 약 6.53배 향상 단일노드 대비 2개는 2.05배, 4개는 2.13배,

12개는 5.14배 향상

원자 2,097,152개 CPU 계산(40ppn)대비 40ppn+2MICs는 약 8.27배 향상

(20ppn+1MIC에서 실행불가)

노드 2개 대비 4개는 1.89배, 8개는 3.25배,

12개는 4.20배 향상

※ 일반분자시스템(원자 256,000개)에서 CUDA 대비 1.3배 빠름

※ Intel 보고서에 따르면 512K atoms 단백질를 단일노드에서 Xeon Phi는 CPU대비 20% 성능향상

Page 21: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: LAMMPS (5/5)

결과

Lennard-Jones 입자의 시스템 크기에 따른 CUDA

패키지의 병렬확장성

(10만개 이상 원자에서 효율적임)

일반 분자 시스템의 NVIDIA GPU와 Xeon Phi

성능 비교

(GPU대비 Xeon Phi성능이 1.3배이상 빠름)

※ Intel 보고서에 따르면 Xeon Phi가 GPU(Tesla k20m)와 비교: 8 노드 이상부터는 MIC의 성능이 더 좋음 (여기서는 GPU

테스트시 MPS를 Off시켰음)

Page 22: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: WRF (1/3)

개요

WRF(Weather Research and Forecasting)는 대기과학 연구와 현업 예보를 위하여 만들어진 중규모

수치 예보이며 미국 기상연구소(NCAR)에서 개발한 오픈소스 프로그램

수행내용

NVIDIA GPU 벤치마크

OpenACC 언어로 구현된 개발용 버전을 테스트 수행 (WRF 3.6), CONUS 18km(80x80 격자) 실험

Xeon Phi 벤치마크

Native/Symmetric 방법으로 CONUS 12km, 2.5km에 대해서 WRF 3.6 실험

물리(Physics) Scheme NVIDIA GPU Intel Xeon Phi

Microphysics Thompson Morrison

Cumulus Parameterization Kain-Fritsch Kain-Fritsch

Longwave Radiation RRTMG RRTMG

Shortwave Radiation Goddard RRTMG

Surface Layer MM5 similarity Pleim

Land surface Noah-MP Pleim-Xiu

PBL YSU ACM2

역학 (Dynamics) Scheme

Fully compressible and nonhydrostatic model

Terrain-following hydrostatic pressure

Arakawa C-grid staggering

Runge-Kutta 2nd and 3rd order time integeration scheme

2nd and 6th order advection scheme

Page 23: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: WRF (2/3)

수행내용

NVIDIA GPU 벤치마크

단일노드에서 CPU(2cores)대비 GPU(MPS 동작, CPU(2cores)+1GPU) 사용시 성능 1.36배 향상

멀티노드에서 CPU(4nodes/1ppn)대비 GPU(MPS 동작, CPU(4nodes/1ppn)+4GPUs) 사용시 성능 1.34배 향상

0

0.2

0.4

0.6

0.8

1

1.2

1 2 4 8 12 20

"host only"

"openacc(no mps)"

"open acc(mps)"

0

0.1

0.2

0.3

0.4

0.5

host only

open acc(no mps)

openacc(mps)

<단일노드에서 WRF의 GPU 성능> <멀티노드에서 WRF의 GPU 성능>

Page 24: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Details of ISVs & Open-source: WRF (3/3)

수행내용

Xeon Phi (CONUS 12km)

단일노드 수행시 CPU(10ppn+2threads)대비 Native 수행시 1.27배 성능감소, Symmetric 수행시 1.52배

성능향상

멀티노드 수행시 CPU대비 Native 수행시 성능이 모두 감소, Symmetric 수행시 4노드부터 성능 감소

Native 수행시 계산자체는 2노드까지 CPU보다 성능이 낫지만 파일입출력으로 인해 성능저하

Symmetric 수행은 파일입출력을 담당하는 프로세스를 호스트에서만 수행하게 설정함으로서 파일

입출력으로 인한 성능저하가 없음

<WRF의 Xeon Phi 전체 계산시간 비교 (Conus 12km) >

<파일IO시간 비교> <계산시간 비교>

Page 25: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 In-house code porting and evaluation

Accelerator/

Coprocessor NVIDIA GPU Intel Xeon Phi Notes

Particle-In-Cell based

Magnetron Sputtering NVIDIA GPU

• 3x better than optimized CPU code

• 40x better than original code -

• Optimization: reduction

kernel is optimized using

shared memory

N-body Astrophysics NVIDIA GPU • GPU Kernel is 97x, but 4.3x better

w.r.t. total time -

• Optimization: Thread

divergence is reduced

• Issue: communication

bottleneck between CPU-GPU

Nanowire Growth NVIDIA GPU

Xeon Phi • 4.16x better @ one node • 1.04x better @ one node (native)

• Xeon Phi: native mode (not

modified)

• GPU: it is optimized by using

texture memory

Lattice QCD NVIDIA GPU

Xeon Phi

• 147.53x @ one node,

• Is scalable up to 8 nodes

• 9.3x better @ one node,

• Is not scalable from 2 nodes

• Xeon Phi: native mode, CPS

libraries are not supported at

GNU library

• GPU: QUDA library

Indoor localization using

sensor Data

NVIDIA GPU

Xeon Phi

• 3x @ one node,

• 2x @ 12 nodes

• 3x @ one node

• 2x @ 12 nodes

• Particle Filter (Serial Monte

Carlo)

Page 26: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Numerical Library Evaluation (범용 수치라이브러리)

개요

FFT: 편미분 방정식의 근을 구하는 수단 중 하나로 많은 계산 과학 응용에서 사용

Xeon Phi 테스트

이차원 FFT을 배정도에 대해서 Native 수행테스트 (메모리 옵션은 in-place)

최적화는 벡터화를 위해서 MKL_MALLOC함수를 사용

배열사이즈의 데이터 길이를 64로 나눠지게 채웠으며(Padding)

쓰레드 Affinity를 Scatter와 큰 페이지(MIC_USE_2MB_BUFFERS=64K) 사용

※ 2MB 페이지에 대해서, TLB misses와 페이지 폴트가 줄어들어 낮은 메모리할당 코스트

4096x4096 크기에 대해서 CPU대비 최대 3.09배 성능향상

Native CPU

Original MKL_Malloc Padding Huge_Page Original MKL_Malloc Padding

1024x1024 4 2 0 0 4 4 4

2048x2048 20 12 10 8 22 22 22

4096x4096 104 64 40 33 120 106 102

<이차원 FFT에 대해서 Native와 CPU 성능비교 (단위: 소요시간(us))>

Page 27: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 내용 Numerical Library Evaluation (범용 수치라이브러리)

NVIDIA GPU 테스트

일차원 FFT을 배정도에 대해서 수행테스트 (메모리 옵션은 in-place)

FFT 크기 16,777,216: CPU대비 메모리 전송시간을 제외하면 22,153배, 전송시간을 포함하면

15.48배 향상

크기가 2048보다 적은 경우에 대해서는 CPU대비 GPU가 성능이 느림

※ FFTW 라이브러리를 사용한 C로 작성된

코드에서는 코드 수정없이 cuFFT의

header파일을 추가하고 컴파일시 라이브러리

링크만으로 cuFFT 사용가능 (Drop-in 기능)

※ 하지만 Drop-in 사용시 성능을 올리기 위해서는

데이터 전송, 타입 등에 대한 최적화 필요

※ cuFFT 라이브러리는 C만 지원하므로

Fortran에서는 C-Fortran bind기능을 이용해서

사용가능

Page 28: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가

High

Low

High Low 성능

이식성

Best (Ideal)

Better

Worst

General User Target w/o Code

Development

HPC Development

Target

Page 29: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가

High

Low

High Low 성능

이식성

Best (Ideal)

Better

1. 수정없이 재컴파일만으로 성능이 좋지 않은 경우

(Xeon Phi, Native)

2. 수정없이 재컴파일만으로 성능이 좋은 경우 (Xeon Phi, Native)

3. 코드 구현시 성능이 뛰어난 경우 (Xeon

Phi, Native)

4. 코드 구현시 성능이 뛰어난 경우 (NVIDIA GPU, CUDA) 5. 코드 구현시 성능이 중간인 경우

(NVIDIA GPU, CUDA)

6. 이식성과 편의성에 초점을 맞춘 방법(NVIDIA GPU, OpenACC)

1

Quantum Espresso

3

AMBER

4

6

5

Quantum Espresso

2

Worst

Page 30: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가

High

Low

High Low 성능

이식성

Best (Ideal)

Worst

Better

1

Quantum Espresso

3

AMBER

4

6

5

Quantum Espresso

2

NVIDIA GPU

• CUDA 구현물이 성능면에서 강점을 많이 보임

• CUDA 구현자체는 구현이 어렵지만, 이식성과

편의성에 초점을 맞춘 방법도 제공

Intel Xeon Phi

• Offload 모델로 새로 개발된 구현물은 성능면에서 강점을

보이나 구현물이 아직 많이 없음

• 가장 큰 장점인 이식성인 AO(automatic offloading) 및

Native/Symmetric은 성능이 좋지 않음

Page 31: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가

NVIDIA GPU Xeon Phi

성능

○CUDA 구현물이 성능면에서 강점이 많음

- QE를 제외하고 CPU대비 성능 강점

- VASP, GROMACS는 Xeon Phi대비 각각 15.93배, 1.79배 빠름

- 노드 내에서 다중 코어에서 하나의 가속기 카드로 동시실행시 MPS 사용시

성능향상: WRF, GROMACS, GOTPM(in-house)

- 멀티 노드에서 GPU갂의 데이터 통신시 GPUDirect 사용 성능향상

○벡터화가 잘 되는것이 관건 Offload 방법으로 새로 구현하는 구현물은

강점을 보임

- LAMMPS(offload)는 CUDA 대비 1.3배 빠름 (Charmm 포텐셜)

- GROMMACS는 Offload 방법으로 개발 중이고 LAMMPS, AMBER, NAMD,

QE가 개발되어 있음

이식성

○CUDA로 이식된 구현물이 더 많으며, 기능도 많이 구현

○CUDA 구현자체는 아직 구현이 어렵지만, 이식성과 편의성에 초점을 맞춘

솔루션(OpenACC, Drop-in) 제공

- WRF에서 OpenACC 구현물에 대해서 CPU대비 1.36배 향상

- Drop-in 라이브러리인 경우는 성능보다는 편의성 위주로 제공됨

○Native/Symmetric 방법으로 수정없이 실행가능

- 단일 노드에서 벡터화가 잘 되지 않고, 파일입출력이 많으면 성능저하

발생 (in-house,WRF,FFT를 제외하고 성능저하)

- 멀티 노드에서 Inter-connect 및 PCI-express 오버헤드로 인한 성능저하

발생

- Symmetric 사용시 파일입출력이 호스트에서만 발생하면 CPU대비

성능향상 (WRF: 1.7배 향상)

○AO방법으로 제한적으로 실행 가능

- Drop-in보다도 편하게 사용가능하지만 BLAS 라이브러리의 함수들에서

제한적으로 사용가능하고, 성능 향상을 기대하기 어려움 (QE)

Page 32: 연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · BlueGene/Q (s) 계산 가속기 CPU TOP 500 순위 (2013년 11월) 국가명 소속기관 이름(제작사)

THANK YOU