연구의 필요성images.nvidia.com/content/gtc-kr/part_1_kisti.pdf · 2015-10-14 · bluegene/q...
TRANSCRIPT
KISTI 슈퍼컴퓨팅본부 권오경([email protected])
가속기 기반 초고성능시스템에서의 응용프로그램 성능 테스트 및 최적화 사례연구
연구의 필요성 슈퍼컴퓨터와 연산 장치
기존의 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
연구의 필요성 가속기 기반 초고성능시스템
가속기 기반으로 초고성능컴퓨터 구축이 보편화됨 (가격대비 성능 측면)
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 소요 예상
엑사스케일 컴퓨팅으로 가기 위한 방법으로
가속기 기반 초고성능시스템 구축 및 서비스는 반드시 필요!
테스트베드 구축 및 성능평가 가속기 기반 테스트베드 구축
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 + + =
테스트베드 구축 및 성능평가 가속기 기반 초고성능시스템
가속기 기반 계산환경 테스트베드 성능 평가
벤치마크 프로그램 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 이론대비 실측성능효율>
테스트베드 구축 및 성능평가 가속기 기반 초고성능시스템
가속기 기반 계산환경 테스트베드 성능 평가
벤치마크 프로그램 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)>
연구 내용 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
연구 내용 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)
연구 내용 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
연구 내용 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
연구 내용 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
연구 내용 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는 개발중
연구 내용 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개 원자)
연구 내용 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 노드
연구 내용 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 물분자)>
연구 내용 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 방식으로 제공
연구 내용 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개)
연구 내용 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 적용시 성능향상이 거의 없음)
연구 내용 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% 성능향상
연구 내용 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시켰음)
연구 내용 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
연구 내용 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 성능>
연구 내용 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시간 비교> <계산시간 비교>
연구 내용 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)
연구 내용 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))>
연구 내용 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기능을 이용해서
사용가능
연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가
High
Low
High Low 성능
이식성
Best (Ideal)
Better
Worst
General User Target w/o Code
Development
HPC Development
Target
연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가
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
연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가
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은 성능이 좋지 않음
연구 결과 가속기 컴퓨팅 모델별 이식성 및 성능평가
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)
THANK YOU