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

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

NUMAの構成

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

GPGPU

Microsoft PowerPoint - GPU_computing_2013_01.pptx

GPUを用いたN体計算

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

本文ALL.indd

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

スライド 1

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン

GPU.....

GPU n Graphics Processing Unit CG CAD


main.dvi

IPSJ SIG Technical Report Vol.2013-HPC-138 No /2/21 GPU CRS 1,a) 2,b) SpMV GPU CRS SpMV GPU NVIDIA Kepler CUDA5.0 Fermi GPU Kepler Kepler Tesla

スライド 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

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

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

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

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

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

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

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

TSUBAME2.0におけるGPUの 活用方法

GPGPUクラスタの性能評価

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

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

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

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

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

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

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

untitled

HPC146

untitled

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57

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

openmp1_Yaguchi_version_170530

Microsoft PowerPoint - 高速化WS_ver1.1.1

untitled

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

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

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

1. マシンビジョンにおける GPU の活用

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

PowerPoint プレゼンテーション

tabaicho3mukunoki.pptx

スライド 1

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

PowerPoint プレゼンテーション

10D16.dvi

Vol.214-HPC-145 No /7/3 C #pragma acc directive-name [clause [[,] clause] ] new-line structured block Fortran!$acc directive-name [clause [[,] c

GPU CUDA CUDA 2010/06/28 1

OpenGL GLSL References Kageyama (Kobe Univ.) Visualization / 58

KBLAS[7] *1., CUBLAS.,,, Byte/flop., [13] 1 2. (AT). GPU AT,, GPU SYMV., SYMV CUDABLAS., (double, float) (cu- FloatComplex, cudoublecomplex).,, DD(dou

研究報告用MS-Wordテンプレートファイル

Microsoft PowerPoint - suda.pptx

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

スライド 1

Slide 1

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

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

PowerPoint プレゼンテーション

Microsoft PowerPoint - ICD2011UenoSlides.pptx

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

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

cmpsys13w03_cpu_hp.ppt

! 行行 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

Slide 1

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx

HP High Performance Computing(HPC)

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

いまからはじめる組み込みGPU実装


Łñ“’‘‚2004

プリント

Microsoft PowerPoint - SWoPP2010_Shirahata

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

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

HPC pdf

GPGPUイントロダクション

rank ”«‘‚“™z‡Ì GPU ‡É‡æ‡éŁÀŠñ›»

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

資料3 今後のHPC技術に関する研究開発の方向性について(日立製作所提供資料)

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

27_02.indd

XACCの概要

PowerPoint プレゼンテーション

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として) Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA

CUDA 連携とライブラリの活用 2

HP_PPT_Standard_16x9_JP

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

01-introduction.ppt

untitled

Microsoft PowerPoint - OpenMP入門.pptx

最新の並列計算事情とCAE

工学院大学建築系学科近藤研究室2000年度卒業論文梗概

一般社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 IEICE Technical Report A P (2014-6) FDTD 法の並列化技術とオープンソ

Transcription:

計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平

デスクトップ ジョブレベル並列性

スーパーコンピュータ 並列処理プログラム

プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; }

プログラムの並列化 x[0] = a[0] + b[0]; x[1] = a[1] + b[1]; x[2] = a[2] + b[2]; x[n-1] = a[n-1] + b[n-1];

逐次処理 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック 計算ブロック シングルコアの世界 コアの周波数を上げる 時間 for (i = 0; i < N; i++) { for (j = 0; j < M; j++) {... } } 繰り返し処理も逐次的にひたすら高速処理する

並列処理計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック時間シングルコアの世界 コアの周波数を上げる計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック時間コア数マルチコアの世界 コアを数個並べる コアの周波数は上げない プログラムを並列化する計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック計算ブロック時間コア数メニーコアの世界 コアを数百から数千個並べる コアの周波数は下げる プログラムを並列化する

津波シミュレーション ( ロスアラモス国立研究所 & ワシントン大学 )

交通流 津波 核融合プラズマ 気象

共有記憶型マルチプロセッサ (SMP) Processor Processor Processor Cache Cache Cache Interconnect Main Memory I/O

クラスタ型マルチプロセッサ Processor Processor Processor Processor Cache Cache Cache Cache Main Memory Main Memory Main Memory Main Memory Interconnect

マルチコア ( チップマルチプロセッサ ) Processor Processor Processor Cache Interconnect Main Memory I/O

マルチスレッディング Thread Thread Processor Cache Interconnect Main Memory I/O

マルチスレッディング方式 時間 命令発行スロット スレッド A スレッド B スレッド C スレッド D

マルチスレッディング方式 命令発行スロット 粗粒度マルチスレッディング 細粒度マルチスレッディング 同時マルチスレッディング 時間

SISD, MIMD, SIMD SISD = Single Instruction stream, Single Data stream MIMD = Multiple Instruction stream, Multiple Data stream SIMD = Single Instruction stream, Multiple Data stream データレベル並列性 (for ループなど )

主流はマルチコア L3 Cache Memory 高々 10 個程度の CPU コアが 1 つの共有メモリに 均一的にアクセスする ソフトウェア的視点 1 つの OS カーネルで済む 開発環境が整っている 並列化の性能が出やすい

メニーコアの時代へ Memory Memory Cache Memory Memory Memory

Graphics Processing Unit (GPU) C 言語 C++ Java Maxwell Tesla Fermi Kepler Next Gen. 2008 2010 2012 2014 250コア 500 コア 3000 コア 5000 コア

Graphics Processing Unit (GPU) Host CPU GPU L3 Cache Host Memory I/O バス

GPU による並列処理 Thread Grid = (2, 2) Block = (3, 3)

GPU による並列処理

GPU による並列処理 Node = (2, 2)

加藤真平 計算機アーキテクチャ GPUによる並列処理 Cluster = (3, 3)

CUDA プログラミング void multiply(double *a, double *b, double *c, int n) { double product = 0.0; int row = blockidx.y * blockdim.y + threadidx.y; int col = blockidx.x * blockdim.x + threadidx.x; int i, idx; for (i = 0; i < n; i++) product += a[row * n + i] * b[i * n + col]; } c[row * n + col] = product; ほとんど C 言語と変わらないが複数のジョブが並列実行していることを意識してプログラミングする必要がある

CUDA プログラミング

GFLOPS GFLOPS/WATT 性能トレンド 6000 Single Precision Performance 25 Performance per Watt 5000 4000 3000 GTX 680 GTX Titan GTX Titan Black 2000 GTX 580 GTX 480 1000 8800 GTX GTX 285 9800 GTX X7350 X7460 X7560 E7-8870 E7-8890 0 2006 2008 2010 2012 2014 RELEASE YEAR NVIDIA GTX Intel Xeon 20 15 10 GTX Titan GTX 680 GTX Titan Black GTX 285 GTX 580 5 GTX 480 8800 GTX 9800 GTX E7-8890 E7-8870 X7350 0 X7460 X7560 2006 2008 2010 2012 2014 RELEASE YEAR NVIDIA GTX Intel Xeon 単精度浮動小数点性能 電力性能

General Purpose Computing on GPUs (GPGPU) CMD_HtoD CMD_HtoD CMD_LAUNCH CMD_DtoH Host Memory Host Memory Host Memory Host Memory GPU Code Input Data GPU Code Input Data GPU Code Input Data GPU Code Input Data Output Data copy copy copy GPU Code GPU Code Input Data GPU Code Input Data Output Data GPU Code Input Data Output Data Device Memory Device Memory Device Memory Device Memory

GPGPU の実行 CPU Start Mem Alloc End I/O Code Upload Data Upload Data Download GPU Parallel Execution Host Memory Device Memory Copy Copy Copy

Simulation time (ms) 交通流シミュレーションの例 1000000 100000 GPU (simple) GPU (data optimized) GPU (fully optimized) 10000 1000 CPU 1000x 100 10 GTX 560 Ti (192 cores) 100 1K 10K 100K 1M The number of agents

期末試験 7 月 24 日 4 限 資料の持ち込みなし 出題範囲 本講義で習った全範囲 教科書 ( 上下巻 ) 出題形式 必須問題 3 問 選択問題 2 問

レポート なぜ計算機アーキテクチャが大事なのか を自分なりに 4000~5000 字でまとめて提出 締切 :7 月 23 日 23 時 59 分 書式自由 (Word LaTex 等 ) shinpei@ertl.jp 宛にメールで添付して提出 件名は 計算機アーキテクチャ講義レポート としてください 本文に氏名と学籍番号を記載してください

計算機アーキテクチャの応用 ( 研究紹介 )