スライド 1

Similar documents
main.dvi

untitled


Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード]

名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL アライアンスパートナー コアテクノロジーパートナー NVIDIA JAPAN ソリュ

GPU GPU CPU CPU CPU GPU GPU N N CPU ( ) 1 GPU CPU GPU 2D 3D CPU GPU GPU GPGPU GPGPU 2 nvidia GPU CUDA 3 GPU 3.1 GPU Core 1

卒業論文

GPUコンピューティング講習会パート1

1 GPU GPGPU GPU CPU 2 GPU 2007 NVIDIA GPGPU CUDA[3] GPGPU CUDA GPGPU CUDA GPGPU GPU GPU GPU Graphics Processing Unit LSI LSI CPU ( ) DRAM GPU LSI GPU

マルチコアPCクラスタ環境におけるBDD法のハイブリッド並列実装

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日

07-二村幸孝・出口大輔.indd

GPUを用いたN体計算

hpc141_shirahata.pdf

2ndD3.eps

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft Word - HOKUSAI_system_overview_ja.docx

1重谷.PDF

AMD/ATI Radeon HD 5870 GPU DEGIMA LINPACK HD 5870 GPU DEGIMA LINPACK GFlops/Watt GFlops/Watt Abstract GPU Computing has lately attracted

GPUコンピューティング講習会パート1

GPU n Graphics Processing Unit CG CAD

GPGPUクラスタの性能評価

tabaicho3mukunoki.pptx

HPEハイパフォーマンスコンピューティング ソリューション

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト

untitled

スパコンに通じる並列プログラミングの基礎

211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS /1/18 a a 1 a 2 a 3 a a GPU Graphics Processing Unit GPU CPU GPU GPGPU G

PC Development of Distributed PC Grid System,,,, Junji Umemoto, Hiroyuki Ebara, Katsumi Onishi, Hiroaki Morikawa, and Bunryu U PC WAN PC PC WAN PC 1 P

PowerPoint プレゼンテーション

Microsoft PowerPoint - CCS学際共同boku-08b.ppt

システムソリューションのご紹介

スパコンに通じる並列プログラミングの基礎

untitled

GPGPU

HTML5無料セミナ.key

スパコンに通じる並列プログラミングの基礎

CCS HPCサマーセミナー 並列数値計算アルゴリズム

1 OpenCL OpenCL 1 OpenCL GPU ( ) 1 OpenCL Compute Units Elements OpenCL OpenCL SPMD (Single-Program, Multiple-Data) SPMD OpenCL work-item work-group N

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司

! 行行 CPUDSP PPESPECell/B.E. CPUGPU 行行 SIMD [SSE, AltiVec] 用 HPC CPUDSP PPESPE (Cell/B.E.) SPE CPUGPU GPU CPU DSP DSP PPE SPE SPE CPU DSP SPE 2

HPC (pay-as-you-go) HPC Web 2

23 Fig. 2: hwmodulev2 3. Reconfigurable HPC 3.1 hw/sw hw/sw hw/sw FPGA PC FPGA PC FPGA HPC FPGA FPGA hw/sw hw/sw hw- Module FPGA hwmodule hw/sw FPGA h

次世代スーパーコンピュータのシステム構成案について

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ

supercomputer2010.ppt

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓


チューニング講習会 初級編


CAD ICT

最新の並列計算事情とCAE


1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin

Coding theorems for correlated sources with cooperative information

GPGPU によるアクセラレーション環境について

並列・高速化を実現するための 高速化サービスの概要と事例紹介

IPSJ SIG Technical Report Vol.2012-ARC-202 No.13 Vol.2012-HPC-137 No /12/13 Tightly Coupled Accelerators 1,a) 1,b) 1,c) 1,d) GPU HA-PACS

橡3_2石川.PDF

develop

ペタスケール計算環境に向けたFFTライブラリ

Second-semi.PDF

1 Table 1: Identification by color of voxel Voxel Mode of expression Nothing Other 1 Orange 2 Blue 3 Yellow 4 SSL Humanoid SSL-Vision 3 3 [, 21] 8 325


PowerPoint プレゼンテーション

スライド 1


概要 目的 CUDA Fortran の利用に関する基本的なノウハウを提供する 本チュートリアル受講後は Web 上で公開されている資料等を参照しながら独力で CUDA Fortran が利用できることが目標 対象 CUDA Fortran の利用に興味を抱いている方 前提とする知識 Fortran

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014

RICCについて

IPSJ SIG Technical Report Vol.2013-ARC-203 No /2/1 SMYLE OpenCL (NEDO) IT FPGA SMYLEref SMYLE OpenCL SMYLE OpenCL FPGA 1

高性能計算研究室の紹介 High Performance Computing Lab.

Microsoft PowerPoint - suda.pptx

HP High Performance Computing(HPC)

CPU Levels in the memory hierarchy Level 1 Level 2... Increasing distance from the CPU in access time Level n Size of the memory at each level 1: 2.2

Microsoft PowerPoint - ★13_日立_清水.ppt

Agenda GRAPE-MPの紹介と性能評価 GRAPE-MPの概要 OpenCLによる四倍精度演算 (preliminary) 4倍精度演算用SIM 加速ボード 6 processor elem with 128 bit logic Peak: 1.2Gflops

09中西

[4] ACP (Advanced Communication Primitives) [1] ACP ACP [2] ACP Tofu UDP [3] HPC InfiniBand InfiniBand ACP 2 ACP, 3 InfiniBand ACP 4 5 ACP 2. ACP ACP

DO 時間積分 START 反変速度の計算 contravariant_velocity 移流項の計算 advection_adams_bashforth_2nd DO implicit loop( 陰解法 ) 速度勾配, 温度勾配の計算 gradient_cell_center_surface 速

高性能計算研究室の紹介 High Performance Computing Lab.

10D16.dvi

FINAL PROGRAM 22th Annual Workshop SWoPP / / 2009 Sendai Summer United Workshops on Parallel, Distributed, and Cooperative Processing

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

XACCの概要

修士論文

EGunGPU

Myrinet2000 ご紹介

スライド 1

I I / 47

NUMAの構成

ÊÂÎó·×»»¤È¤Ï/OpenMP¤Î½éÊâ¡Ê£±¡Ë

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation

Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ 3.7x faster P100 V100 P10

HPC143

Microsoft PowerPoint PCクラスタワークショップin京都.ppt

Transcription:

GPU クラスタによる格子 QCD 計算 広大理尾崎裕介 石川健一

1.1 Introduction Graphic Processing Units 1 チップに数百個の演算器 多数の演算器による並列計算 ~TFLOPS ( 単精度 ) CPU 数十 GFLOPS バンド幅 ~100GB/s コストパフォーマンス ~$400 GPU の開発環境 NVIDIA CUDA http://www.nvidia.co.jp/object/cuda_home_new_jp.html AMD(ATI) Stream SDK http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx OpenCL, etc. GeForce GTX 285 2010/03/20 2

time[sec] Performance [GFLOPS] 1.2 GPU for Lattice QCD simulation Lattice QCDの計算時間がほとんど この計算を行う solver (mix precision Bi-CGStab) の単精度部分に GPU mix precision solver high precision solver の前処理として low precision solver を用いる手法 1 台の GPU で約 10 倍の加速効果 CPU : Core i7 920 @ 2.67GHz coded by Fortran, use SSE, openmp GPU : Geforce GTX 285 coded by CUDA 2.3 Use clover fermion kappa=0.126, csw=1.0, accuracy=10-14 Bi-CGStab calc. Time & performance CPU vs GPU 2010/03/20 3 450 400 350 300 250 200 150 100 50 0 8.3 16^4 Volume CPU(time) CPU(Performance) 9.3 32^4 80 70 60 50 40 30 20 10 0 GPU(time) GPU(Performance)

1.3 motivation of GPU cluster 格子 QCD の計算の見積もり Karl Jansen, arxiv: 0810.5634v2 メモリ Bi-CGStab solver for clover fermion with even/odd precondition quark field : 96 Byte/site gauge field : 288 Byte/site clover field : 336 Byte/site work vector : 7 96 Byte/site 並列計算の必要性 1TFLOPS の GPU で 60~500 年 1392Byte 格子サイズ (60^3 30) = 9GByte Geforce GTX 280: 1GByte Tesla C1060 : 4GByte 2010/03/20 4

1.4 用意した環境 GPU : Geforce GTX 285 2/CPU CPU : intel Core i7 920 4 メモリ : 6GByte 4 LAN Adapta : intel Gigabit ET Quad Port Server 2010/03/20 5

2.1 Communication GPUs GPU 間で直接データ交換する方法は現在ない CPUを経由する必要がある MPI Ethernet 0.125GB/s PCI-Express 2.0 x16 8GB/s Cuda API GPU 間の通信は CUDA + MPI で可能 2010/03/20 6

2.2 Open-MX Myrinet という高速通信で使われている Myrinet Express protocol を TCP/IP protocol の代わりに Ethernet 上で実装する software http://open-mx.gforge.inria.fr/ TCP/IP or Open-MX 2010/03/20 7

time [sec] Parallel Efficiency time [sec] Parallel Efficiency 2. 3 Calculation on GPU cluster kappa=0.126 csw=1.0 accuracy=10-14 Bi-CGStab solver 12 1.2 10 1 8 0.8 6 0.6 4 0.4 4 16 計算時間通信時間並列効率 2 0 1C1G 1C2G 2C4G 4C8G 0.2 0 60 50 40 30 20 10 1.2 1 0.8 0.6 0.4 0.2 4 32 計算時間通信時間並列効率 0 1C1G 1C2G 2C4G 4C8G 0 2010/03/20 8

2.4 Detail of hopping part with message passing 通信が必要なのは hopping の計算部分 com1 com2 com1 がデータを持っていないので com2 からデータを受け取らなければならない 通信 の計算は com2 からデータが届くのを待っている間に計算できる com1 が行う計算に必要なデータ の計算時間 通信時間 効率的 GPU の計算でも計算と通信の同時実行可能 GPU+MPI でも OK 前頁の結果は計算と通信を同時実行していたのだが 2010/03/20 9

2. 5 Parallel execution comm. & calc. at hopping part 計算と通信を同時実行している様子 1CPU 2GPU 2CPU 4GPU copy calc [msec] 0 0.2 0.4 0.6 0.8 copy calc 16 [msec] 0 0.5 1 1.5 2 2.5 体積 32 4, 1CPU, 2GPU では通信をうまく隠せた MPI 通信が必要な 2CPU, 4GPU では GPU がほとんど遊んでいる MPI 通信が遅いため 4 copy calc [msec] copy calc [msec] 4 32 0 2 4 6 0 5 10 15 2010/03/20 10

3. 1 Domain-Decomposition Method block Jacobi method Lüscher : Comput.Phys.Commun., Vol.156, pp.209-220, 2004 通信が必要な原因は領域をまたがる link 左図 右図とおもうことができたなら 左の計算結果 右の計算結果 このまま解として選ぶことはできないが 通信なしで計算可能 前処理として利用することで反復回数を減らせる の領域を隣の領域と重ねることもできる (RAS) 2010/03/20 11

時間 [sec] 計算量 [GFLOP] 時間 [sec] 計算量 [GFLOP] 3. 2 Calculation on GPU cluster with DD-Method 4CPU 8GPU kappa = 0.126 csw = 1.0 accuracy = 10-14 out solver : Bi-CGStab in solver : richardson method, with iteration 5 RAS iteration : 3 12 4 16 900 60 4 32 8.00E+03 10 8 6 4 2 800 700 600 500 400 300 200 100 50 40 30 20 10 7.00E+03 6.00E+03 5.00E+03 4.00E+03 3.00E+03 2.00E+03 1.00E+03 0-0 1 2 NDEPTH 0 0-0 1 2 NDEPTH 0.00E+00 計算時間通信時間計算量 計算時間通信時間計算量 2010/03/20 12

4.1 Summury GPU は高速でリーズナブルな演算アクセラレータ ゲーム用のデバイス CUDA 等の開発環境を用いて科学技術計算 今回は GPU を複数台用いて latticeqcd の solver 計算を行った 直接 GPU 間の通信を行う方法は現在のところない GPU 間の通信は cuda(streamsdk,opencl)+mpi 通信 ( 特に Ethernet) が遅いため台数効果は得られなかった MPI を使った場合はむしろ遅くなる 通信を改善するため領域分割法を試した 2010/03/20 13

4.2 future Infiniband 等の高速通信ではどうか? チューニングの余地はないか? 通信コードは最適か? harf spin にして通信量を半分にしたらどうか? もっと通信量を減らせるアルゴリズムはないか? Multi-Grid? Fermi アーキテクチャではどうか? 次世代 GPU アーキテクチャ Fermi 倍精度演算の強化 ECCサポート L2キャッシュ等 G80/GT200 とはかなり異なるアーキテクチャ Fermiを採用したGeforce GTX 480が3/26( 北米 ) でリリース Fermiを採用したTeslaも第二四半期中にリリース 2010/03/20 14

BACKUP 2010/03/20 15

Overrap comm. & calc in CUDA+MPI G C in calc. C C C G out calc. thread_fork(); // for Multi-GPU on 1 node cudastream_t strm[2]; // 0:calc,1:copy for(i=0;i<2;i++) cudastreamcreate(&strm[i]); cudamemcpyasync(,devicetohost,strm[1]); run_in_kernel<<<bk,th,d_shared,strm[0]>>>( ); cudastreamsynchronize(stream[1]); thread_barrier(); if(hostthreadid==0) MPI_Sendrecv( ); thread_barrier(); cudamemcpyasync(,hosttodevice,strm[1]); cudathreadsynchronize(); run_out_kernel<<<bk,th,d_shared,strm[0]>>>( ); for(i=0;i<2;i++) cudastreamdestroy(strm[i]); cudamemcpyasync cudasream を作る copy と kernel の実行に stream を指定する barrier を忘れずに copy calc 512 16 16 8 2 CPU, 4GPU hopping part use MPI commnication thread_join(); [msec] 0 0.5 1 1.5 2 2.5 2010/03/20 16

没 2010/03/20 17

Detail of hopping part with message passing 通信が必要なのは hopping の計算部分 com1 の領域が担当する quark field com2 の領域が担当する quark field com1 が行う計算 com1 がデータを持っていないので com2 からデータを受け取らなければならない 通信 この計算は com2 からデータが届くのを待っている間に計算できる の計算時間 通信時間 効率的 GPU+MPI でも OK 2010/03/20 18

Cluster of GPU CPU ベースの構成で高性能な計算機 50GFLOPS 1 台 1TFLOPS 20 台 MPI 10TFLOPS 200 台 MPI GPU ベースでも同様に 1TFLOPS 1 台 GPU 間の通信が必要 10TFLOPS 10 台??? 2010/03/20 19