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

Similar documents
VOLTA ARCHITECTURE DEEP DIVE 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12

ムーアの法則後の世界 年間のマイクロプロセッサのトレンド トランジスタ数 ( 千単位 ) 年率 1.1 倍 シングルスレッド性能 年率 1.5 倍 Original data up t

VOLTA TENSOR コアで 高速かつ高精度に DL モデルをトレーニングする方法 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12

CUDA 9 AND MORE 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12

VOLTA AND TURING: ARCHITECTURE Akira Naruse, Developer Technology, 2018/9/14

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

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

GPGPU

Microsoft Word - HOKUSAI_system_overview_ja.docx

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

はじめに AI は 感染症の早期発見と治療法の探索 交通事故死の削減 事故発生前の重大なインフラ欠陥の発見など 人類が直面する複雑な > 問題を解決するのに役立てられています AI とディープラーニング利用における 2 つの大きな課題は パフォーマンスの最大化と 絶え間なく変化する基盤技術の管理です

hpc141_shirahata.pdf

GPU n Graphics Processing Unit CG CAD

Microsoft PowerPoint - GPU_computing_2013_01.pptx

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

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

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

WP _v1.1 目次 NVIDIA Tesla V100 GPU アーキテクチャ概論... 1 Tesla V100: AI コンピューティングと HPC の主戦力... 3 主な機能... 3 AI および HPC 向けの究極のパフォーマンス... 7 NVIDIA GPU -

b4-deeplearning-embedded-c-mw

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

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

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

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

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

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

GPGPUクラスタの性能評価

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

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

untitled

第 1 回ディープラーニング分散学習ハッカソン <ChainerMN 紹介 + スパコンでの実 法 > チューター福 圭祐 (PFN) 鈴 脩司 (PFN)

PowerPoint Presentation

Slide 1

Slide 1

VXPRO R1400® ご提案資料

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

スライド 1

N08

BIT -2-

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

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

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

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

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

Catalog_Quadro_Series_ のコピー2

スライド 1

GPGPUイントロダクション

PowerPoint プレゼンテーション

catalog_quadro_series_2018

インテル アーキテクチャプラットフォーム リーダーシップ 2000 年 12 月 21 日 第 14 回数値流体力学シンポジウム インテル株式会社 ia 技術本部本部長坂野勝美

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

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

Microsoft PowerPoint - SWoPP2010_Shirahata

PowerPoint プレゼンテーション

GPU CUDA CUDA 2010/06/28 1

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

GPU Computing on Business

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

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

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

本文ALL.indd

ディープラーニングの組み込み機器実装ソリューション ~GPC/CPU編~

Microsoft PowerPoint - stream.ppt [互換モード]

Microsoft Word - Dolphin Expressによる10Gbpソケット通信.docx

Microsoft PowerPoint - ICD2011UenoSlides.pptx

untitled

スライド 1

main.dvi

GPUを用いたN体計算

tabaicho3mukunoki.pptx

PowerPoint プレゼンテーション

GTC Japan, 2018/09/14 得居誠也, Preferred Networks Chainer における 深層学習の高速化 Optimizing Deep Learning with Chainer

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

ディープラーニングの最新トレンドとエヌビディアの最新GPU

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

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

untitled

12 PowerEdge PowerEdge Xeon E PowerEdge 11 PowerEdge DIMM Xeon E PowerEdge DIMM DIMM 756GB 12 PowerEdge Xeon E5-

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

NUMAの構成

CPUスケジューリング

2017 (413812)

SUALAB INTRODUCTION SUALAB Solution SUALAB は 人工知能 ( ディープラーニング ) による画像解析技術を通して 迅速 正確 そして使いやすいマシンビジョン用のディープラーニングソフトウェアライブラリーである SuaKIT を提供します これは 従来のマシン

ディープラーニングによって加速する AI 競争 100% 90% 80% 従来 CV 手法 IMAGENET 正答率 ディープラーニング 70% 60% IBM Watson が自然言語処理のブレークスルーを実現 Facebook が Big Sur を発表 Baidu の Deep Speech

スライド 1

Slide 1

修士論文

[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

untitled

表面RTX入稿

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

Microsoft PowerPoint - DNS_BoF_SCS_ pptx

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

背景 1 / Reprinted with permission from paper c 2013 SAE International.

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

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

HP_PPT_Standard_16x9_JP

10D16.dvi


PowerPoint Presentation

Microsoft PowerPoint - NV研究会_201404_amemiya_fin.pptx

Transcription:

NVIDIA TESLA V100 CUDA 9 のご紹介 森野慎也, シニアソリューションアーキテクト (GPU-Computing) NVIDIA

Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ 3.7x faster P100 V100 P100 V100 FP32 Tensor コア FP16 Tensor コア V100 measured on pre-production hardware.

Relative to Tesla P100 EXASCALE への歩み US で最も強力なスーパーコンピュータを Volta の演算性能で実現 Volta HPC Application Performance System Config Info: 2X Xeon E5-2690 v4, 2.6GHz, w/ 1X Tesla P100 or V100. V100 measured on pre-production hardware. Summit Supercomputer 200+ PetaFlops ~3,400 Nodes 10 Megawatts

TESLA V100 のご紹介 Volta アーキテクチャ 改善された NVLink と HBM2 Volta MPS 改善された SIMT モデル Tensor コア 最も生産性の高い GPU 広帯域バンド幅 推論での活用 新しいアルゴリズム プログラマブルなディープラーニング演算エンジン ディープラーニングと HPC における 最も高速で 最も生産性の高い GPU

*full GV100 chip contains 84 SMs TESLA V100 21B transistors 815 mm 2 80 SM 5120 CUDA Cores 640 Tensor Cores 16 GB HBM2 900 GB/s HBM2 300 GB/s NVLink

PASCAL / VOLTA GPU の性能比較 P100 V100 Ratio トレーニングの高速化 10 TOPS 120 TOPS 12x 推論の高速化 21 TFLOPS 120 TOPS 6x FP64/FP32 5/10 TFLOPS 7.5/15 TFLOPS 1.5x HBM2 バンド幅 720 GB/s 900 GB/s 1.2x NVLink バンド幅 160 GB/s 300 GB/s 1.9x L2 Cache 4 MB 6 MB 1.5x L1 Caches 1.3 MB 10 MB 7.7x

STREAM: Triad- Delivered GB/s 新しい HBM2 メモリアーキテクチャ 1.5x のバンド幅を実現 V100 measured on pre-production hardware. HBM2 stack P100 76% のメモリバンド幅効率 V100 95% のメモリバンド幅効率

VOLTA NVLINK 300GB/sec リンク数 : 4 本 6 本伝送速度 ( 片方向 ) : 20 25 GB/sec

刷新された SM マイクロアーキテクチャ

VOLTA GV100 SM GV100 FP32 units 64 FP64 units 32 INT32 units 64 Tensor Cores 8 Register File Unified L1/Shared memory 256 KB 128 KB Active Threads 2048

VOLTA GV100 SM 生産性のために刷新された設計 大容量 高速な L1 キャッシュテンソル演算の加速化完全に新しいISA スケジューラを倍増簡素化された命令発行ロジック改善された SIMT モデル = もっとも容易にプログラミングできるSM

容易なプログラミングでディープラーニングを推進する CUDA で実装されたディープラーニングの手法ディープラーニングの手法 AlexNet Batch Normalization NCCL WinoGrad FlowNet Sparsely Gated Mixture of Experts Billion-Scale Similarity Search (FAISS) 2012 2013 2014 2015 2016 2017 2018 1-bit SGD FFT Convolutions cudnn Persistent RNNs Phased LSTM? 新しいソルバー 新しいレイヤー 新しいスケーリング手法 古い手法を用いた新しいアプリケーション などなど

再録 : PASCAL の L1 とシェアードメモリ Pascal SM Load/Store ユニット シェアードメモリ 64 KB 低レイテンシ L1$ 24 KB ストリーミング : その場で必要になるデータをキャッシュキャッシュミスを許す L2$ 4 MB

UNIFYING KEY TECHNOLOGIES Pascal SM Load/Store ユニット Volta SM Load/Store ユニット シェアードメモリ 64 KB 低いレイテンシ L1$ とシェアードメモリ 128 KB L1$ 24 KB ストリーミング L2$ 4 MB L2$ 6 MB

VOLTA L1 AND シェアードメモリ Volta ストリーミング L1$ : SM Load/Store ユニット 処理中のキャッシュミスを許すキャッシュヒット時のレイテンシが低い 4 倍のバンド幅 5 倍の容量 L1$ and シェアードメモリ 128 KB Volta シェアードメモリ : L1 キャッシュと統合された記憶域最大 96 KB まで構成可能 L2$ 6 MB

小さくなったシェアードメモリとの性能差 with the GV100 L1 cache Cache: vs shared Directed testing: shared in global 簡単に使用できる 90% 以上の場合で十分な性能 Shared: vs cache より高速なアトミクス より多くのバンク 性能を予測しやすい シェアードメモリによる恩恵 ( 平均 ) 70% Pascal 93% Volta

VOLTA TENSOR コア

TENSOR コア混合精度行列演算 4x4 行列 A 0,0 A 0,1 A 0,2 A 0,3 B 0,0 B 0,1 B 0,2 B 0,3 C 0,0 C 0,1 C 0,2 C 0,3 D = A 1,0 A 1,1 A 1,2 A 1,3 B 1,0 B 1,1 B 1,2 B 1,3 C 1,0 C 1,1 C 1,2 C 1,3 A 2,0 A 2,1 A 2,2 A 2,3 B 2,0 B 2,1 B 2,2 B 2,3 C 2,0 C 2,1 C 2,2 C 2,3 A 3,0 A 3,1 A 3,2 A 3,3 B 3,0 B 3,1 B 3,2 B 3,3 C 3,0 C 3,1 C 3,2 C 3,3 FP16 or FP32 FP16 FP16 FP16 or FP32 D = AB + C

VOLTA TENSOR OPERATION FP16 入力 積 (Full precision) FP32 加算器で加算 結果を FP32 に変換 他の積算結果 F16 F16 + F32 F32 推論のために FP16 加算モードもサポート

USING TENSOR CORES device void tensor_op_16_16_16( float *d, half *a, half *b, float *c) { wmma::fragment<matrix_a, > Amat; wmma::fragment<matrix_b, > Bmat; wmma::fragment<matrix_c, > Cmat; wmma::load_matrix_sync(amat, a, 16); wmma::load_matrix_sync(bmat, b, 16); wmma::fill_fragment(cmat, 0.0f); wmma::mma_sync(cmat, Amat, Bmat, Cmat); NVIDIA cudnn, cublas, TensorRT Volta に最適化されたフレームワークとライブラリ } wmma::store_matrix_sync(d, Cmat, 16, wmma::row_major); CUDA C++ Warp レベル行列演算

Relative Performance A GIANT LEAP FOR DEEP LEARNING 9.3x faster cublas 混合精度演算 ( 入力 FP16, 演算結果 FP32) 行列積 (M=N=K=2048) P100 (CUDA 8) (CUDA 9) V100 Tensor コア V100 measured on pre-production hardware.

マルチプロセス実行時のスケジューリング

GPU 上のマルチプロセススケジューリング 背景 A B C CPU プロセス スケジューリングはタイムスライス 単一プロセス実行の場合スループットが最適化される マルチプロセスサービス (MPS) マルチプロセスのスループットが最適化される

マルチプロセスの実行はタイムスライス A B C CPU Processes A GPU Execution Pascal GP100 Timeslice 1

マルチプロセスの実行はタイムスライス A B C A B C CPU Processes A B GPU Execution Pascal GP100 Pascal GP100 Timeslice 2

マルチプロセスの実行はタイムスライス CPU Processes A B C A B C A B C A Pascal GP100 B Pascal GP100 Pascal GP100 C Timeslice 3 GPU Execution

マルチプロセスの実行はタイムスライス CPU Processes A B C A B C A B C A B C Pascal GP100 Pascal GP100 Pascal GP100 Timeslice 1 Timeslice 2 Timeslice 3 GPU Execution プロセスがアイソレートされている それぞれのプロセスで最高性能を発揮することができる

PASCAL マルチプロセスサービス A B C CUDA マルチプロセスサービス : 小さなジョブ間で 演算リソースを共有し GPU の利用率を改善 処理の実行依頼 CUDA MULTI-PROCESS SERVICE CPU Processes GPU Execution プロセス間では隔離されていない A B C Pascal GP100 Opt-in: プロセス間の隔離は限定的 プロセスを束ねることでピークスループットを実現

VOLTA マルチプロセスサービス Volta における改善 : ハードウエアで高速化された処理の実行依頼 A B C CUDA MULTI-PROCESS SERVICE CONTROL CPU Processes 処理実行のレイテンシを削減 GPU Execution 処理実行のスループットを改善 VOLTA MULTI-PROCESS SERVICE プロセス単位でのスケジューリング より安定したパフォーマンス Pascal に比べ 3 倍のクライアント ハードウエアレベルのプロセス隔離 A B C Volta GV100

Resnet50 Images/sec, 7ms latency VOLTA MPS の推論時性能 バッチ処理を行わなくとも高速な推論 60% of perf with batching 7x faster V100 measured on pre-production hardware. Single Volta Client, No Batching, No MPS Multiple Volta Clients, No Batching, Using MPS Volta with Batching System

TESLA V100 のご紹介 Volta アーキテクチャ 改善された NVLink と HBM2 Volta MPS 改善された SIMT モデル Tensor コア 最も生産性の高い GPU 広帯域バンド幅 推論での活用 新しいアルゴリズム プログラマブルなディープラーニング演算エンジン 他の V100 の新機能 : 2x L2 アトミクス, int8, 新しいメモリモデル, コピーエンジンページマイグレーション, などなど ディープラーニングと HPC における 最も高速で 最も生産性の高い GPU

www.nvidia.com/dli