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

Size: px
Start display at page:

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

Transcription

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

2 CUDA 9 の概要 VOLTA に対応 ライブラリの高速化 Tesla V100 Volta アーキテクチャ Tensor コア NVLink Independent スレッドスケジューリング cublas ( 主に DL 向け ) NPP ( 画像処理 ) cufft ( 信号処理 ) cusolver COOPERATIVE GROUPS 開発ツールの改善 柔軟なスレッドグループ並列アルゴリズムの抽象化スレッドブロック間の同期 (over SM or GPU) partition sync sync コンパイル時間の短縮 Unified Memory プロファイル NVLink 可視化コンパイラサポート 2

3 VOLTA 対応 3

4 TESLA V100 の概要 Volta アーキテクチャ NVLink と HBM2 の改善 Volta MPS SIMT モデルの改善 Tensor コア Most Productive GPU Efficient Bandwidth Inference Utilization New Algorithms 125 Programmable TFLOPS Deep Learning DL と HPC の両方に最適な GPU 4

5 VOLTA: 米国最大規模スパコンのエンジン Next Milestone In AI Supercomputing AI Exascale Today Performance Leadership 200 PF Accelerated Science ACME DIRAC FLASH GTC HACC LSDALTON NAMD 20 PF NUCCOR NWCHEM QMCPACK RAPTOR SPECFEM XGC 3+EFLOPS Tensor Ops 10X Perf Over Titan 5-10X Application Perf Over Titan 5

6 Relative to Tesla P100 エクサスケール (FP64) に向けて Volta: 米国最大規模スパコンのエンジン HPC ベンチマーク アプリ性能 (P100 V100) System Config Info: 2X Xeon E v4, 2.6GHz, w/ 1X Tesla P100 or V100. V100 measured on pre-production hardware. Summit Supercomputer 200+ PetaFlops ~3,400 Nodes 10 Megawatts 6

7 TENSOR コア混合精度行列計算ユニット 4x4 の行列の積和演算を 1 サイクルで計算する性能 (128 演算 / サクル ) 行列の FMA (Fused Multiply-Add) 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 7

8 TENSOR コアの使われ方 16x16 の行列の積和演算を ワープレベル (32 スレッド ) で協調して実行 Warp (32 スレッド ) 32 スレッドで同期 Tensor コアを使い 16x16 行列の行列積和演算を実行 32 スレッドで同期 8

9 TENSOR コアの使い方 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 cublas, cudnn, TensorRT Volta 向けに最適化されたフレームワーク ライブラリ } wmma::store_matrix_sync(d, Cmat, 16, wmma::row_major); CUDA C++ Warp レベル行列演算テンプレート 9

10 CUDA TENSOR コアプログラミング 16x16x16 Warp Matrix Multiply and Accumulate (WMMA) D = A B C FP16 or FP32 FP16 FP16 FP16 or FP32 D = AB + C 10

11 CUDA TENSOR コアプログラミング WMMA: 行列データ型 wmma::fragment<matrix_a, > Amat; A fragment Tensor コア用の行列データ型 各スレッドは 行列の要素の一部を 自分のレジスタに保持 ( 割当は未公開 ) ワープレベル (32 スレッド ) で 行列の全要素を保持すればよいという考え 従来のスレッド単位の行列演算と比べ レジスタ使用量を削減 11

12 CUDA TENSOR コアプログラミング WMMA: ロード命令 wmma::load_matrix_sync(amat, a, stride); A load_matrix_sync Tensor コア行列用のロード命令 ワープ単位で メモリ上の行列要素値を fragment データ型にロード warp 12

13 CUDA TENSOR コアプログラミング WMMA: 行列乗算 wmma::mma_sync(dmat, Amat, Bmat, Cmat); mma_sync Tensor コアを使用して 行列乗算を実行 D = A B C 13

14 CUDA TENSOR コアプログラミング WMMA: ストア命令 wmma::store_matrix_sync(d, Dmat, stride); D load_store_sync Tensor コア行列用のストア命令 ワープ単位で fragment データ型上の行列要素を メモリにストア warp 14

15 TENSOR コアの使い方 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 cublas, cudnn, TensorRT Volta 向けに最適化されたフレームワーク ライブラリ } wmma::store_matrix_sync(d, Cmat, 16, wmma::row_major); CUDA C++ Warp レベル行列演算テンプレート 15

16 PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S PC,S VOLTA INDEPENDENT THREAD SHCEDULING Pascal まで Program Counter (PC) and Stack (S) Warp(32 スレッド ) 毎に PC は 1 つ Volta Convergence Optimizer スレッド毎に PC が存在 個別にスケジューリングが可能 16

17 WARP 同期用ビルドイン関数 CUDA 9 で導入 スレッド同期 syncwarp アクティブなスレッド (PC の同じスレッド ) の取得 activemask スレッド間のデータ交換 all_sync, any_sync, uni_sync, ballot_sync shfl_sync, shfl_up_sync, shfl_down_sync, shfl_xor_sync match_any_sync, match_all_sync (*) 従来の shfl, ballot, any, all は CUDA 9 で deprecated 17

18 WARP 同期プログラミング 想定通りに Warp(32 スレッド ) が同期する保証はない if (threadidx.x < 4) { A; } else { B; } /* 32 スレッド同期実行 */ ここで Warp 内の 32 スレッドが同期している保証はない 分岐のあるプログラムでは Warp は分離 集合して命令実行 if (threadidx.x < 8) { X; } else { Y; } 暗黙の Warp 同期を前提としたプログラミングは危険 特に Volta から (Volta 以前も 安全ではなかった ) 時間 18

19 暗黙的な WARP 同期プログラミング Warp に関して 以下のことを仮定している 1. スレッドは再集合する 2. スレッドはロックステップ実行する if (threadidx.x < 16) A; else B; assert( activemask() = 0xffffffff); if ( activemask() == 0xffffffff) { assert( activemask() = 0xffffffff); } 19

20 暗黙的な WARP 同期プログラミング Warp に関して 以下のことを仮定している 1. スレッドは再集合する 2. スレッドはロックステップ実行する if (threadidx.x < 16) A; else B; assert( activemask() = 0xffffffff); if ( activemask() == 0xffffffff) { assert( activemask() = 0xffffffff); } どちらも True になる保証はない 明示的な Warp 同期が必要そのため CUDA 9 で Warp 同期の Build-in 関数を追加 改変 20

21 例 : 共有メモリを使用したワープ内スレッド間 REDUCTION shmem[tid] = v; v += shmem[tid+16]; shmem[tid] = v; v += shmem[tid+8 shmem[tid] = v; v += shmem[tid+4 shmem[tid] = v v += shmem[tid+2 shmem[tid] = v; v += shmem[tid+1 shmem[tid] = v; これも 安全ではない shmem[tid] = v; v += shmem[tid+16]; shmem[tid] = v; v += shmem[tid+8]; shmem[tid] = v; v += shmem[tid+4]; shmem[tid] = v; v += shmem[tid+2]; shmem[tid] = v; v += shmem[tid+1]; shmem[tid] = v; syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); syncwarp(); 21

22 ライブラリの改善 22

23 CUDA 9: ライブラリの改善 VOLTA 対応 Tensorコアの活用 cublas: Voltaに最適化したGEMMs 全ライブラリ : すぐにVoltaを性能を発揮 スピード cublas: RNNs 向けGEMM 最適化 NPP: 画像処理の高速化 cufft: 様々なサイズのFFT 最適化 DEEP LEARNING Scientific Computing 新アルゴリズム cusolver: マルチ GPU 向け密行列 疎行列ソルバー 密行列固有値解析 nvgraph: 幅優先探索 (BFS) クラスタリング Triangle-Counting グラフ挿入 抽出 インストール CUDA ライブラリだけのパッケージ (without CUDA driver, runtime, etc.) NPP: モジュラー化 23

24 Relative Performance Relative Performance FP32 cublas: GEMMS 性能改善 Volta Tensor コア + CUDA 9 P100 (CUDA 8) V100 (CUDA 9) Mixed Precision (FP16 Input, FP32 compute) P100 (CUDA 8) V100 Tensor Cores (CUDA 9) x x Matrix Size (M=N=K) Matrix Size (M=N=K) 24

25 cublas: cublasgemmex() アルゴリズム選択が可能 (CUDA 8 から ) A B A B A B 18 種類のアルゴリズムから選択可能 CUBLAS_GEMM_ALGO[0:17] CUBLAS_GEMM_DFALT: 自動選択 Tensor コア 3 種類のアルゴリズムから選択可能 CUBLAS_GEMM_ALGO[0:2]_TENSOR_OP CUBLAS_GEMM_DFALT_TENSOR_OP: 自動選択 25

26 Speed up Vs. CUDA 8* CUFFT, NPP cufft NPP CUDA 8 と比べて最大 2 倍の高速化 1D, 2D, 3D IPP と比べて最大 100 倍の性能イメージプロセッシング コンピュータビジョン 1D 2D 3D 2.5x Morphological Ops. 2.0x JPEG 1.5x 1.0x 0.5x 0.0x Geometry Transforms Filters Color Proc. 0x 50x 100x Data Size Speedup Vs. IPP** * V100 and CUDA 9 (r384); Intel Xeon Broadwell, dual socket, E v4@ 2.6GHz, 3.5GHz Turbo with Ubuntu x86_64 with 128GB System Memory * P100 and CUDA 8 (r361); For cublas CUDA 8 (r361): Intel Xeon Haswell, single-socket, 16-core E v3@ 2.3GHz, 3.6GHz Turbo with CentOS 7.2 x86-64 with 128GB System Memory ** CPU system running IPP: Intel Xeon Haswell single-socket 16-core E v3@ 2.3GHz, 3.6GHz Turbo Ubuntu x86_64 with 128GB System Memory 26

27 cusolver: ヤコビ法ベースの固有値ソルバー QR 法と比べて計算量は増えるが並列性が高い 行列サイズ 128~256 までは MKL より高速 QR Jacobi MKL CPU:E5-2690v2, GPU:K40 27

28 cusolver: ヤコビ法ベースの固有値ソルバー バッチ実行 ( 各行列のサイズ :32x32) QR 法と比べて計算量は増えるが並列性が高い CPU:E5-2690v2, GPU:K40 28

29 CUTLASS: FAST LINER ALGEBRA IN CUDA C++ (version 0.1) ユーザの CUDA カーネルから使用できる 高性能な行列積 C++ テンプレート DL アプリの多くは 行列積の組み合わせ CUDA の様々な階層で利用可能 デバイスレベル ブロックレベル ワープレベル スレッドレベル 29

30 CUTLASS の性能 ( 対 CUBLAS) cublas と遜色ない性能を CUDA C++ レベルで実現 データ型 : FP16, FP32, FP64, INT Tensor コア対応 行列データレイアウト : NN, NT, TN, TT 30

31 COOPERATIVE GROUPS 31

32 COOPERATIVE GROUPS スケーラブルで柔軟性の高い スレッド間同期 通信機構 協調動作するスレッドグループの 定義 分割 同期を容易にする スケーラブルなグループサイズ : 数スレッド ~ 全スレッド Thread Block Group 動的なグループの生成 分割が可能 CUDA としてサポート グループサイズにより適切なハードウェアを選択 分割後の Thread Groups Kepler 世代以後の GPU で利用可能 * Note: Multi-Block and Mult-Device Cooperative Groups are only supported on Pascal and above GPUs 32

33 多様なスレッド間同期を簡単に 3 つのスケール スレッドブロック内 シングル GPU 内 (SM 間の同期 ) マルチ GPU 間 (GPU 間の同期 ) 協調動作するスレッドグループを動的に生成し 各グループで同期 スレッドブロック間の同期 partition sync sync sync sync 33

34 カーネル内でのスレッド同期 CUDA 8 まで 34

35 小さいグループ カーネル内でのスレッド同期 CUDA 9 から スレッドブロック 大きいグループ 35

36 COOPERATIVE グループ 5 種類のグループ Coalesced Group Thread Group Thread Block Tile Thread Block グループのメソッド size() スレッド数 thread_rank() スレッドのID sync() スレッド間同期 Grid Group Multi-Grid Group 36

37 COOPERATIVE グループ Thread Block から Thread Block Tile( サブグループ ) を生成 thread_group block = this_thread_block(); this_thread_block() は 自 Thread Block に対応 Thread Block block.sync(); synchthreads() と等価 thread_group tile32 = tiled_partition(block, 32); Thread Block から 32 スレッドのグループを作成 分割後の Thread Groups tile32.sync(); サブグループ内の 32 スレッド間で 同期 thread_group tile4 = tiled_partition(tile32, 4); 再帰的なサブブループ作成も可能 (*) Tile サイズは 32 以下 かつ 2^N に制限 (CUDA 9.0) 37

38 COOPERATIVE グループ同じデバイス関数を サイズの異なるグループで共用できる Thread Block (~1024 スレッド ) Warp (32 スレッド ) g = this_thread_block(); val = reduce(g, shmem, myval); g = tiled_partition(this_thread_block(), 32); val = reduce(g, shmem, myval); device int reduce(thread_group g, int *shmem, int val) { int myrank = g.thread_rank(); for (int i = g.size()/2; i > 0; i /= 2) { shmem[myrank] = val; g.sync(); } val += shmem[myrank ^ i]; g.sync(); } return val; 並列 reduction ( 共有メモリ使用 ) 38

39 THREAD BLOCK TILE ワープ内スレッド間通信 Build-in 関数を使える.shfl().shfl_down().shfl_up().shfl_xor().any().all().ballot().match_any().match_all() template <unsigned size> device int reduce(thread_block_tile<size> g, int val) { for (int i = g.size()/2; i > 0; i /= 2) { val += g.shfl_xor(val, i); } } return val; 並列 reduction (shfl_xor 使用 ) コンパイル時にサイズが分かると高速 thread_group_tile<32> tile32 = tiled_partition<32>(this_thread_block()); thread_group_tile<4> tile4 = tiled_partition<4>(this_thread_block()); 39

40 COALESCED GROUP 同時に同じパスを実行しているスレッドのグループ 40

41 COALESCED GROUP 並列 Array Push ( サイズ不定 ) Y head a b c x y z t0 t7 t0 t7 Thread Block 0 Thread Block 1 41

42 COALESCED GROUP 並列 Array Push ( サイズ不定 ) Y a b c x y z head a b c x y z t0 t7 t0 t7 Thread Block 0 Thread Block 1 42

43 COALESCED GROUP Atomic Aggregation device int atomicagginc(int *head_ptr) { coalesced_group g = coalesced_threads(); int old_head; if (g.thread_rank() == 0) { old_head = atomicadd(head_ptr, g.size()) } int my_head = g.shfl(old_head, 0) + g.thread_rank(); return my_head; } 43

44 COALESCED GROUP 並列 Array Push ( サイズ不定 ) Y head a b c t0 Thread Block 0 t7 44

45 COALESCED GROUP 並列 Array Push ( サイズ不定 ) Y a b c my_head head a b c t0 Thread Block 0 t7 my_head = atomicagginc(head); 45

46 ATOMIC AGGREGATION Build-In 関数でも実装は可能 Cooperative Groups coalesced_group g = coalesced_threads(); int ret; if (g.thread_rank() == 0) { ret = atomicadd(ptr, g.size()) } ret = g.shfl(ret, 0); return ret + g. thread_rank(); Build-In Functions int mask = activemask(); int rank = popc(mask & lanemask_lt()); int leader_lane = ffs(mask) 1; int ret; If (rank == 0) { ret = atomicadd(p, popc(mask)); } ret = shfl_sync(mask, ret, leader_lane); return ret + rank; 記述しやすいのは どちらか? 46

47 専用 API でカーネル起動 GRID GROUP グリッド ( シングル GPU) 内の 全スレッドのグループ global kernel() { grid_group grid = this_grid(); while (...) {... grid.sync(); } } cudalaunchcooperativekernel(...); 起動したカーネルの全スレッドが 同時に active になる必要あり (Persistent Kernel) cudaoccupancymaxactiveblockspermultiprocessor(&numblockspersm, kernel, numthreads, 0); 47

48 MULTI GRID GROUP マルチグリッド ( マルチ GPU) 内の 全スレッドのグループ global kernel() { multi_grid_group multi_grid = this_multi_grid(); while (...) {... grid.sync(); } } 48

49 MULTI GRID GROUP マルチグリッド ( マルチ GPU) 内の 全スレッドのグループ 専用 API でカーネル起動 struct cudalaunchparams params[numdevices]; for (int i = 0; i < numdevices; i++) { params[i].func = (void*) kernel; params[i].griddim = dim3(...); params[i].blockdim = dim3(...); params[i].sharedmem =...; params[i].stream =...; params[i].args =...; } cudalaunchcooperativekernelmultidevice(params, numdevices); 49

50 例 : 粒子シミュレーション Cooperative Groups 無し // threads update particles in parallel integrate<<<blocks, threads, 0, stream>>>(particles);

51 例 : 粒子シミュレーション Cooperative Groups 無し // threads update particles in parallel integrate<<<blocks, threads, 0, s>>>(particles); // Collide each particle with others in neighborhood collide<<<blocks, threads, 0, s>>>(particles); (*) 粒子の位置が移動したら CUDA スレッドへの粒子のマッピングを変えたほうが 高速に処理できる 51

52 例 : 粒子シミュレーション Cooperative Groups 無し // threads update particles in parallel integrate<<<blocks, threads, 0, s>>>(particles); // ここで暗黙的に同期しているので マッピング変更が可能 // Collide each particle with others in neighborhood collide<<<blocks, threads, 0, s>>>(particles); (*) 粒子の位置が移動したら CUDA スレッドへの粒子のマッピングを変えたほうが 高速に処理できる 52

53 GRID GROUP で粒子シミュレーション 2 種類の処理を シングルカーネルで実行 global void particlesim(particle *p, int N) { grid_group g = this_grid(); for (i = g.thread_rank(); i < N; i += g.size()) integrate(p[i]); g.sync() // GPU 全体の同期 } for (i = g.thread_rank(); i < N; i += g.size()) collide(p[i], p, N); cudalaunchcooperativekernel( ) でカーネル起動

54 MULTI-GRID GROUP で粒子シミュレーションシングルカーネルで 大規模な問題をマルチ GPU 実行 global void particlesim(particle *p, int N) { multi_grid_group g = this_multi_grid(); for (i = g.thread_rank(); i < N; i += g.size()) integrate(p[i]); g.sync() // マルチ GPU の全てで同期 } for (i = g.thread_rank(); i < N; i += g.size()) collide(p[i], p, N); cudalaunchcooperativekernelmultidevice( ) で起動 54

55 ロードマップ : COOPERATIVE GROUPS より柔軟なグループ作成 任意ラベルによる グループの分割 (Volta 限定 ) // 計算結果が同じスレッドのグループ int label = foo() % 4; thread_group block = partition(this_thread_block(), label); (*) ランダムなグループは SIMT 実行効率が低下するので 注意が必要 32 より大きなタイル thread_group g = tiled_partition(this_thread_block(), 64); 55

56 ロードマップ : COOPERATIVE GROUPS Collective アルゴリズムのライブラリ Reductions, sorting, prefix sum (scan), 等など. // collective key-value sort using all threads in the block cooperative_groups::sort(this_thread_block(), myvalues, mykeys); // collective scan-based allocate across block int sz = myallocationsize(); // amount each thread wants int offset = cooperative_groups::exclusive_scan(this_thread_block(), sz); 56

57 開発ツール 57

58 多様な開発ツール 58

59 CUDA-MEMCHECK Cooperative Groups 対応 安全ではない Warp 同期プログラミングの検出 (racecheck) 59

60 NVVP: UNIFIED MEMORY プロファイリング CPUページフォールトの発生箇所とソースコードとの対応付け Page Fault Correlation 60

61 NVVP: UNIFIED MEMORY イベントの追加 仮想メモリ関連の挙動の可視化 Memory Thrashing Page Throttling Remote Map 61

62 NVVP: NVLINK トポロジー NVLINK の各リンクの利用率 DGX1 62

63 CUDA 9 の概要 VOLTA に対応 ライブラリの高速化 Tesla V100 Volta アーキテクチャ Tensor コア NVLink Independent スレッドスケジューリング cublas ( 主に DL 向け ) NPP ( 画像処理 ) cufft ( 信号処理 ) cusolver COOPERATIVE GROUPS 開発ツールの改善 柔軟なスレッドグループ並列アルゴリズムの抽象化スレッドブロック間の同期 (over SM or GPU) partition sync sync コンパイル時間の短縮 Unified Memory プロファイル NVLink 可視化コンパイラサポート 63

64 CUDA

65

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

Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ 3.7x faster P100 V100 P10 NVIDIA TESLA V100 CUDA 9 のご紹介 森野慎也, シニアソリューションアーキテクト (GPU-Computing) NVIDIA Images per Second Images per Second VOLTA: ディープラーニングにおける大きな飛躍 ResNet-50 トレーニング 2.4x faster ResNet-50 推論 TensorRT - 7ms レイテンシ

More information

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

VOLTA ARCHITECTURE DEEP DIVE 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12 VOLTA ARCHITECTURE DEEP DIVE 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12 TESLA V100 の概要 Volta Architecture Improved NVLink & HBM2 Volta MPS Improved SIMT Model Tensor Core Most Productive GPU Efficient Bandwidth

More information

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

VOLTA AND TURING: ARCHITECTURE Akira Naruse, Developer Technology, 2018/9/14 VOLTA AND TURING: ARCHITECTURE AND PERFORMANCE OPTIMIZATION Akira Naruse, Developer Technology, 2018/9/14 VOLTA AND TURING: ARCHITECTURE Akira Naruse, Developer Technology, 2018/9/14 For HPC and Deep Learning

More information

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

GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 理化学研究所 共通コードプロジェクト GPU チュートリアル :OpenACC 篇 Himeno benchmark を例題として 高エネルギー加速器研究機構 (KEK) 松古栄夫 (Hideo Matsufuru) 1 December 2018 HPC-Phys 勉強会 @ 理化学研究所 共通コードプロジェクト Contents Hands On 環境について Introduction to GPU computing Introduction

More information

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

CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン CUDA 画像処理入門 エヌビディアジャパン CUDA エンジニア森野慎也 GTC Japan 2014 CUDA を用いた画像処理 画像処理を CUDA で並列化 基本的な並列化の考え方 目標 : 妥当な Naïve コードが書ける 最適化の初歩がわかる ブロックサイズ メモリアクセスパターン RGB Y( 輝度 ) 変換 カラー画像から グレイスケールへの変換 Y = 0.299 R + 0.587

More information

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

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments 計算機アーキテクチャ第 11 回 マルチプロセッサ 本資料は授業用です 無断で転載することを禁じます 名古屋大学 大学院情報科学研究科 准教授加藤真平 デスクトップ ジョブレベル並列性 スーパーコンピュータ 並列処理プログラム プログラムの並列化 for (i = 0; i < N; i++) { x[i] = a[i] + b[i]; } プログラムの並列化 x[0] = a[0] + b[0];

More information

GPGPU

GPGPU GPGPU 2013 1008 2015 1 23 Abstract In recent years, with the advance of microscope technology, the alive cells have been able to observe. On the other hand, from the standpoint of image processing, the

More information

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

WP _v1.1 目次 NVIDIA Tesla V100 GPU アーキテクチャ概論... 1 Tesla V100: AI コンピューティングと HPC の主戦力... 3 主な機能... 3 AI および HPC 向けの究極のパフォーマンス... 7 NVIDIA GPU - NVIDIA TESLA V100 GPU アーキテクチャ 世界最先端のデータセンター GPU WP-08608-001_v1.1 August 2017 WP-08608-001_v1.1 目次 NVIDIA Tesla V100 GPU アーキテクチャ概論... 1 Tesla V100: AI コンピューティングと HPC の主戦力... 3 主な機能... 3 AI および HPC 向けの究極のパフォーマンス...

More information

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

Microsoft PowerPoint - GPUシンポジウム _d公開版.ppt [互換モード] 200/0/9 数値流体解析の並列効率とその GPU による高速化の試み 清水建設 ( 株 ) 技術研究所 PHAM VAN PHUC ( ファムバンフック ) 流体計算時間短縮と GPU の活用の試み 現 CPUとの比較によりGPU 活用の可能性 現 CPU の最大利用 ノード内の最大計算資源の利用 すべてCPUコアの利用 適切なアルゴリズムの利用 CPU コア性能の何倍? GPU の利用の試み

More information

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

07-二村幸孝・出口大輔.indd GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia

More information

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

1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境 Lin Windows で始める CUDA 入門 GTC 2013 チュートリアル エヌビディアジャパン CUDA エンジニア森野慎也 1. GPU コンピューティング GPU コンピューティング GPUによる 汎用コンピューティング GPU = Graphics Processing Unit CUDA Compute Unified Device Architecture NVIDIA の GPU コンピューティング環境

More information

Microsoft PowerPoint - GPU_computing_2013_01.pptx

Microsoft PowerPoint - GPU_computing_2013_01.pptx GPU コンピューティン No.1 導入 東京工業大学 学術国際情報センター 青木尊之 1 GPU とは 2 GPGPU (General-purpose computing on graphics processing units) GPU を画像処理以外の一般的計算に使う GPU の魅力 高性能 : ハイエンド GPU はピーク 4 TFLOPS 超 手軽さ : 普通の PC にも装着できる 低価格

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

修士論文

修士論文 AVX を用いた倍々精度疎行列ベクトル積の高速化 菱沼利彰 1 藤井昭宏 1 田中輝雄 1 長谷川秀彦 2 1 工学院大学 2 筑波大学 1 目次 1. 研究背景 目的 2. 実装, 実験環境 3. 実験 - 倍々精度ベクトル演算 - 4. 実験 - 倍々精度疎行列ベクトル積 - 5. まとめ 多倍長精度計算フォーラム 2 目次 1. 研究背景 目的 2. 実装, 実験環境 3. 実験 - 倍々精度ベクトル演算

More information

GPU n Graphics Processing Unit CG CAD

GPU n Graphics Processing Unit CG CAD GPU 2016/06/27 第 20 回 GPU コンピューティング講習会 ( 東京工業大学 ) 1 GPU n Graphics Processing Unit CG CAD www.nvidia.co.jp www.autodesk.co.jp www.pixar.com GPU n GPU ü n NVIDIA CUDA ü NVIDIA GPU ü OS Linux, Windows, Mac

More information

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

Microsoft PowerPoint - GPGPU実践基礎工学(web).pptx GPU のプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU プログラミング環境 (CUDA) GPU プログラムの実行の流れ CUDA によるプログラムの記述 カーネル (GPU で処理する関数 ) の構造 記述方法とその理由 GPU 固有のパラメータの確認 405 GPU(Graphics Processing Unit) とは 画像処理専用のハードウェア 具体的には画像処理用のチップ

More information

GPU CUDA CUDA 2010/06/28 1

GPU CUDA CUDA 2010/06/28 1 GPU CUDA CUDA 2010/06/28 1 GPU NVIDIA Mark Harris, Optimizing Parallel Reduction in CUDA http://developer.download.nvidia.com/ compute/cuda/1_1/website/data- Parallel_Algorithms.html#reduction CUDA SDK

More information

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

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 GPU CRS 1,a),b) SpMV GPU CRS SpMV GPU NVIDIA Kepler CUDA5.0 Fermi GPU Kepler Kepler Tesla K0 CUDA5.0 cusparse CRS SpMV 00 1.86 177 1. SpMV SpMV CRS Compressed Row Storage *1 SpMV GPU GPU NVIDIA Kepler

More information

NUMAの構成

NUMAの構成 GPU のプログラム 天野 アクセラレータとは? 特定の性質のプログラムを高速化するプロセッサ 典型的なアクセラレータ GPU(Graphic Processing Unit) Xeon Phi FPGA(Field Programmable Gate Array) 最近出て来た Deep Learning 用ニューロチップなど Domain Specific Architecture 1GPGPU:General

More information

Slide 1

Slide 1 CUDA プログラミングの基本 パート II - カーネル CUDA の基本の概要 パート I CUDAのソフトウェアスタックとコンパイル GPUのメモリ管理 パート II カーネルの起動 GPUコードの具体像 注 : 取り上げているのは基本事項のみです そのほか多数の API 関数についてはプログラミングガイドを ご覧ください GPU 上でのコードの実行 カーネルは C 関数 + 多少の制約 ホストメモリはアクセスできない戻り値型は

More information

Slide 1

Slide 1 CUDA プログラミングの基本 パート I - ソフトウェアスタックとメモリ管理 CUDA の基本の概要 パート I CUDAのソフトウェアスタックとコンパイル GPUのメモリ管理 パートII カーネルの起動 GPUコードの具体項目 注 : 取り上げているのは基本事項のみです そのほか多数の API 関数についてはプログラミングガイドを ご覧ください CUDA インストレーション CUDA インストレーションの構成

More information

CuPy とは何か?

CuPy とは何か? GTC Japan 2018 CuPy NumPy 互換 GPU ライブラリによる Python での高速計算 Preferred Networks 取締役最高技術責任者奥田遼介 okuta@preferred.jp CuPy とは何か? CuPy とは GPU を使って NumPy 互換の機能を提供するライブラリ import numpy as np X_cpu = np.zeros((10,))

More information

untitled

untitled A = QΛQ T A n n Λ Q A = XΛX 1 A n n Λ X GPGPU A 3 T Q T AQ = T (Q: ) T u i = λ i u i T {λ i } {u i } QR MR 3 v i = Q u i A {v i } A n = 9000 Quad Core Xeon 2 LAPACK (4/3) n 3 O(n 2 ) O(n 3 ) A {v i }

More information

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

名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL   アライアンスパートナー コアテクノロジーパートナー NVIDIA JAPAN ソリュ GPUDirect の現状整理 multi-gpu に取組むために G-DEP チーフエンジニア河井博紀 (kawai@gdep.jp) 名称 : 日本 GPU コンピューティングパートナーシップ (G-DEP) 所在 : 東京都文京区本郷 7 丁目 3 番 1 号東京大学アントレプレナープラザ, 他工場 URL http://www.gdep.jp アライアンスパートナー コアテクノロジーパートナー

More information

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

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 GPU 1 1 2 1, 3 2, 3 (Graphics Unit: GPU) GPU GPU GPU Evaluation of GPU Computing Based on An Automatic Program Generation Technology Makoto Sugawara, 1 Katsuto Sato, 1 Kazuhiko Komatsu, 2 Hiroyuki Takizawa

More information

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

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 GPGPU (I) GPU GPGPU 1 GPU(Graphics Processing Unit) GPU GPGPU(General-Purpose computing on GPUs) GPU GPGPU GPU ( PC ) PC PC GPU PC PC GPU GPU 2008 TSUBAME NVIDIA GPU(Tesla S1070) TOP500 29 [1] 2009 AMD

More information

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

ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 ストリームを用いたコンカレントカーネルプログラミングと最適化 エヌビディアジャパン CUDAエンジニア森野慎也 GTC Japan 2014 コンカレントな処理の実行 システム内部の複数の処理を 平行に実行する CPU GPU メモリ転送 カーネル実行 複数のカーネル間 ストリーム GPU 上の処理キュー カーネル実行 メモリ転送の並列性 実行順序 DEFAULT STREAM Stream : GPU

More information

b4-deeplearning-embedded-c-mw

b4-deeplearning-embedded-c-mw ディープラーニングアプリケーション の組み込み GPU/CPU 実装 アプリケーションエンジニアリング部町田和也 2015 The MathWorks, Inc. 1 アジェンダ MATLAB Coder/GPU Coder の概要 ディープニューラルネットワークの組み込み実装ワークフロー パフォーマンスに関して まとめ 2 ディープラーニングワークフローのおさらい Application logic

More information

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

高性能計算研究室の紹介 High Performance Computing Lab. 高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 543 研究室 幸谷研究室 @ 静岡 検索 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. 過去の卒研 5. 今後について

More information

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

NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ NVIDIA Tesla K20/K20X GPU アクセラレータ アプリケーション パフォーマンス テクニカル ブリーフ K20 GPU2 個に対するスピードアップ NVIDIA は Fermi アーキテクチャ GPU の発表により パフォーマンス エネルギー効率の両面で飛躍的な性能向上を実現し ハイパフォーマンスコンピューティング (HPC) の世界に変革をもたらしました また 実際に GPU

More information

hpc141_shirahata.pdf

hpc141_shirahata.pdf GPU アクセラレータと不揮発性メモリ を考慮した I/O 性能の予備評価 白幡晃一 1,2 佐藤仁 1,2 松岡聡 1 1: 東京工業大学 2: JST CREST 1 GPU と不揮発性メモリを用いた 大規模データ処理 大規模データ処理 センサーネットワーク 遺伝子情報 SNS など ペタ ヨッタバイト級 高速処理が必要 スーパーコンピュータ上での大規模データ処理 GPU 高性能 高バンド幅 例

More information

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 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 4 2010 8 28 1 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 Register & Shared Memory ( ) CPU CPU(Intel Core i7 965) GPU(Tesla

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

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

熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date Type URL Presentation 熊本大学学術リポジトリ Kumamoto University Repositor Title GPGPU による高速演算について Author(s) 榎本, 昌一 Citation Issue date 2011-03-17 Type URL Presentation http://hdl.handle.net/2298/23539 Right GPGPU による高速演算について 榎本昌一 東京大学大学院工学系研究科システム創成学専攻

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

tabaicho3mukunoki.pptx

tabaicho3mukunoki.pptx 1 2 はじめに n 目的 4倍精度演算より高速な3倍精度演算を実現する l 倍精度では足りないが4倍精度は必要ないケースに欲しい l 4倍精度に比べてデータサイズが小さい Ø 少なくともメモリ律速な計算では4倍精度よりデータ 転送時間を減らすことが可能 Ø PCIeやノード間通信がボトルネックとなりやすい GPUクラスタ環境に有効か n 研究概要 l DD型4倍精度演算 DD演算 に基づく3倍精度演算

More information

GPGPUクラスタの性能評価

GPGPUクラスタの性能評価 2008 年度理研 HPC シンポジウム第 3 世代 PC クラスタ GPGPU クラスタの性能評価 2009 年 3 月 12 日 富士通研究所成瀬彰 発表の概要 背景 GPGPU による高速化 CUDA の概要 GPU のメモリアクセス特性調査 姫野 BMT の高速化 GPGPU クラスタによる高速化 GPU Host 間のデータ転送 GPU-to-GPU の通信性能 GPGPU クラスタ上での姫野

More information

( CUDA CUDA CUDA CUDA ( NVIDIA CUDA I

(    CUDA CUDA CUDA CUDA (  NVIDIA CUDA I GPGPU (II) GPGPU CUDA 1 GPGPU CUDA(CUDA Unified Device Architecture) CUDA NVIDIA GPU *1 C/C++ (nvcc) CUDA NVIDIA GPU GPU CUDA CUDA 1 CUDA CUDA 2 CUDA NVIDIA GPU PC Windows Linux MaxOSX CUDA GPU CUDA NVIDIA

More information

Microsoft Word - HOKUSAI_system_overview_ja.docx

Microsoft Word - HOKUSAI_system_overview_ja.docx HOKUSAI システムの概要 1.1 システム構成 HOKUSAI システムは 超並列演算システム (GWMPC BWMPC) アプリケーション演算サーバ群 ( 大容量メモリ演算サーバ GPU 演算サーバ ) と システムの利用入口となるフロントエンドサーバ 用途の異なる 2 つのストレージ ( オンライン ストレージ 階層型ストレージ ) から構成されるシステムです 図 0-1 システム構成図

More information

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

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~ MATLAB における並列 分散コンピューティング ~ Parallel Computing Toolbox & MATLAB Distributed Computing Server ~ MathWorks Japan Application Engineering Group Takashi Yoshida 2016 The MathWorks, Inc. 1 System Configuration

More information

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

GPUコンピューティング講習会パート1 GPU コンピューティング (CUDA) 講習会 GPU と GPU を用いた計算の概要 丸山直也 スケジュール 13:20-13:50 GPU を用いた計算の概要 担当丸山 13:50-14:30 GPU コンピューティングによる HPC アプリケーションの高速化の事例紹介 担当青木 14:30-14:40 休憩 14:40-17:00 CUDA プログラミングの基礎 担当丸山 TSUBAME の

More information

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

TSUBAME2.0におけるGPUの 活用方法 GPU プログラミング 基礎編 東京工業大学学術国際情報センター 1. GPU コンピューティングと TSUBAME2.0 スーパーコンピュータ GPU コンピューティングとは グラフィックプロセッサ (GPU) は グラフィック ゲームの画像計算のために 進化を続けてきた 現在 CPU のコア数は 2~12 個に対し GPU 中には数百コア その GPU を一般アプリケーションの高速化に利用! GPGPU

More information

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並

研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI, MPICH, MVAPICH, MPI.NET プログラミングコストが高いため 生産性が悪い 新しい並 XcalableMPによる NAS Parallel Benchmarksの実装と評価 中尾 昌広 李 珍泌 朴 泰祐 佐藤 三久 筑波大学 計算科学研究センター 筑波大学大学院 システム情報工学研究科 研究背景 大規模な演算を行うためには 分散メモリ型システムの利用が必須 Message Passing Interface MPI 並列プログラムの大半はMPIを利用 様々な実装 OpenMPI,

More information

Microsoft PowerPoint - suda.pptx

Microsoft PowerPoint - suda.pptx GPU の HWアーキテクチャと高性能化手法 須田礼仁 ( 東京大学 ) 2011/03/22 GPU 高性能プログラミング GPU のハードウェアを理解する CUDA のソフトウェアを理解する CUDA でプログラムを書くのは難しくないが, CUDA で高速なプログラムを書くのは難しい どうすれば遅くなるかを理解する! 効果が大きいものから順に説明します 1 高性能プログラミングの手順 1. 現在のコードの,

More information

連載講座 : 高生産並列言語を使いこなす (5) 分子動力学シミュレーション 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 問題の定義 17 2 逐次プログラム 分子 ( 粒子 ) セル 系の状態 ステップ 18

連載講座 : 高生産並列言語を使いこなす (5) 分子動力学シミュレーション 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 問題の定義 17 2 逐次プログラム 分子 ( 粒子 ) セル 系の状態 ステップ 18 連載講座 : 高生産並列言語を使いこなす (5) 分子動力学シミュレーション 田浦健次朗 東京大学大学院情報理工学系研究科, 情報基盤センター 目次 1 問題の定義 17 2 逐次プログラム 17 2.1 分子 ( 粒子 ) 17 2.2 セル 17 2.3 系の状態 18 2.4 1ステップ 18 2.5 力の計算 19 2.6 速度と位置の更新 20 2.7 セル間の分子の移動 21 3 OpenMP

More information

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

ムーアの法則後の世界 年間のマイクロプロセッサのトレンド トランジスタ数 ( 千単位 ) 年率 1.1 倍 シングルスレッド性能 年率 1.5 倍 Original data up t エヌビディアが加速する AI 革命 エヌビディア合同会社 エンタープライズマーケティング本部長林憲一 1 ムーアの法則後の世界 10 7 40 年間のマイクロプロセッサのトレンド 10 6 10 5 10 4 トランジスタ数 ( 千単位 ) 年率 1.1 倍 10 3 10 2 シングルスレッド性能 年率 1.5 倍 1980 1990 2000 2010 2020 Original data up

More information

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

3次多項式パラメタ推定計算の CUDAを用いた実装 (CUDAプログラミングの練習として)  Implementation of the Estimation of the parameters of 3rd-order-Polynomial with CUDA 3 次多項式パラメタ推定計算の CUDA を用いた実装 (CUDA プログラミングの練習として ) Estimating the Parameters of 3rd-order-Polynomial with CUDA ISS 09/11/12 問題の選択 目的 CUDA プログラミングを経験 ( 試行錯誤と習得 ) 実際に CPU のみの場合と比べて高速化されることを体験 問題 ( インプリメントする内容

More information

倍々精度RgemmのnVidia C2050上への実装と応用

倍々精度RgemmのnVidia C2050上への実装と応用 .. maho@riken.jp http://accc.riken.jp/maho/,,, 2011/2/16 1 - : GPU : SDPA-DD 10 1 - Rgemm : 4 (32 ) nvidia C2050, GPU CPU 150, 24GFlops 25 20 GFLOPS 15 10 QuadAdd Cray, QuadMul Sloppy Kernel QuadAdd Cray,

More information

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

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 211 年ハイパフォーマンスコンピューティングと計算科学シンポジウム Computing Symposium 211 HPCS211 211/1/18 GPU 4 8 BLAS 4 8 BLAS Basic Linear Algebra Subprograms GPU Graphics Processing Unit 4 8 double 2 4 double-double DD 4 4 8 quad-double

More information

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

CUDA 連携とライブラリの活用 2 1 09:30-10:00 受付 10:00-12:00 Reedbush-H ログイン GPU 入門 13:30-15:00 OpenACC 入門 15:15-16:45 OpenACC 最適化入門と演習 17:00-18:00 OpenACC の活用 (CUDA 連携とライブラリの活用 ) CUDA 連携とライブラリの活用 2 3 OpenACC 簡単にGPUプログラムが作成できる それなりの性能が得られる

More information

N08

N08 CPU のキモチ C.John 自己紹介 英語きらい 絵かけない 人の話を素直に信じない CPUにキモチなんてない お詫び 予告ではCとC# とありましたがやる気と時間の都合上 C++のみを対象とします 今日のネタ元 MSDN マガジン 2010 年 10 月号 http://msdn.microsoft.com/ja-jp/magazine/cc850829.aspx Windows と C++

More information

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

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード] 演算 / メモリ性能バランスを考慮した CMP 向けオンチップ メモリ貸与法の提案 九州大学 林徹生今里賢一井上弘士村上和彰 1 発表手順 背景 目的 演算 / メモリ性能バランシング 概要 アクセスレイテンシの削減とオーバーヘッド 提案手法の実現方法 着目する命令 (Cell プロセッサへの ) 実装 性能評価 姫野ベンチマーク Susan@MiBench おわりに 2 チップマルチプロセッサ (CMP)

More information

本文ALL.indd

本文ALL.indd Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法河辺峻田口成美古谷英祐 Intel Xeon プロセッサにおける Cache Coherency 時間の性能測定方法 Performance Measurement Method of Cache Coherency Effects on an Intel Xeon Processor System 河辺峻田口成美古谷英祐

More information

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析

製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析 ホワイトペーパー Excel と MATLAB の連携がデータ解析の課題を解決 製品開発の現場では 各種のセンサーや測定環境を利用したデータ解析が行われ シミュレーションや動作検証等に役立てられています しかし 日々収集されるデータ量は増加し 解析も複雑化しており データ解析の負荷は徐々に重くなっています 例えば自動車の車両計測データを解析する場合 取得したデータをそのまま解析に使用することはできず

More information

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

GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 GPU のアーキテクチャとプログラム構造 長岡技術科学大学電気電子情報工学専攻出川智啓 今回の内容 GPU のアーキテクチャ CUDA CUDA によるプログラミング 58 GPU(Graphics Processing Unit) とは 画像処理専用のハードウェア 具体的には画像処理用のチップ チップ単体では販売されていない PCI Ex カードで販売 ( チップ単体と区別せずに GPU と呼ぶことも多い

More information

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

並列・高速化を実現するための 高速化サービスの概要と事例紹介 第 4 回 AVS 可視化フォーラム 2019 並列 高速化を実現するための 高速化サービスの概要と事例紹介 株式会社アーク情報システム営業部仮野亮ソリューション技術部佐々木竜一 2019.08.30 はじめに アーク情報システムの紹介 高速化サービスとは? 事例紹介 コンサルティングサービスについて アーク情報システムの紹介 設立 資本金 :1987 年 10 月 :3 億 600 万円 従業員数

More information

Microsoft PowerPoint - OpenMP入門.pptx

Microsoft PowerPoint - OpenMP入門.pptx OpenMP 入門 須田礼仁 2009/10/30 初版 OpenMP 共有メモリ並列処理の標準化 API http://openmp.org/ 最新版は 30 3.0 バージョンによる違いはあまり大きくない サポートしているバージョンはともかく csp で動きます gcc も対応しています やっぱり SPMD Single Program Multiple Data プログラム #pragma omp

More information

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

rank ”«‘‚“™z‡Ì GPU ‡É‡æ‡éŁÀŠñ›» rank GPU ERATO 2011 11 1 1 / 26 GPU rank/select wavelet tree balanced parenthesis GPU rank 2 / 26 GPU rank/select wavelet tree balanced parenthesis GPU rank 2 / 26 GPU rank/select wavelet tree balanced

More information

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

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 23 FPGA CUDA Performance Comparison of FPGA Array with CUDA on Poisson Equation (lijiang@sekine-lab.ei.tuat.ac.jp), (kazuki@sekine-lab.ei.tuat.ac.jp), (takahashi@sekine-lab.ei.tuat.ac.jp), (tamukoh@cc.tuat.ac.jp),

More information

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

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 FFT 1 Fourier fast Fourier transform FFT FFT FFT 1 FFT FFT 2 Fourier 2.1 Fourier FFT Fourier discrete Fourier transform DFT DFT n 1 y k = j=0 x j ω jk n, 0 k n 1 (1) x j y k ω n = e 2πi/n i = 1 (1) n DFT

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション vsmp Foundation スケーラブル SMP システム スケーラブル SMP システム 製品コンセプト 2U サイズの 8 ソケット SMP サーバ コンパクトな筐体に多くのコアとメモリを実装し SMP システムとして利用可能 スイッチなし構成でのシステム構築によりラックスペースを無駄にしない構成 将来的な拡張性を保証 8 ソケット以上への拡張も可能 2 システム構成例 ベースシステム 2U

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 高性能計算基盤 第 7 回 CA1003: 主記憶共有型システム http://arch.naist.jp/htdocs-arch3/ppt/ca1003/ca1003j.pdf Copyright 2019 奈良先端大中島康彦 1 2 3 4 マルチスレッディングとマルチコア 5 6 7 主記憶空間の数が 複数 か 1 つ か 8 ただしプログラムは容易 9 1 つの主記憶空間を共有する場合 10

More information

スライド 1

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

More information

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

高性能計算研究室の紹介 High Performance Computing Lab. 高性能計算研究室 (HPC Lab) の紹介 High Performance Computing Lab. 静岡理工科大学総合情報学部コンピュータシステム学科 ( 兼 Web デザイン特別プログラム ) 幸谷智紀 http://na-inet.jp/ 概要 1. 幸谷智紀 個人の研究テーマ 2. 3 年生ゼミ ( 情報セミナー II) 3. 卒研テーマ 4. Webデザイン特別プログラム 5. 今後について

More information

PowerPoint Presentation

PowerPoint Presentation ヘテロジニアスな環境におけるソフトウェア開発 Agenda 今日の概要 ヘテロジニアスな環境の登場 ホモジニアスからヘテロジニアスへ ヘテロジニアスなアーキテクチャ GPU CUDA OpenACC, XeonPhi 自分のプログラムを理解するために デバッガ 共通の操作体験 TotalView 続きはブースで より速く ホモジーニアスな並列 HPC 銀河生成 金融のリスク計算 車の衝突解析 製薬

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Dell PowerEdge C6320 スケーラブルサーバアプライアンス 仮想化アプライアンスサーバ 最新のプロセッサを搭載したサーバプラットフォーム vsmp Foundation によるサーバ仮想化と統合化の適用 システムはセットアップを完了した状態でご提供 基本構成ではバックプレーン用のスイッチなどが不要 各ノード間を直接接続 冗長性の高いバックプレーン構成 利用するサーバプラットフォームは

More information

VXPRO R1400® ご提案資料

VXPRO R1400® ご提案資料 Intel Core i7 プロセッサ 920 Preliminary Performance Report ノード性能評価 ノード性能の評価 NAS Parallel Benchmark Class B OpenMP 版での性能評価 実行スレッド数を 4 で固定 ( デュアルソケットでは各プロセッサに 2 スレッド ) 全て 2.66GHz のコアとなるため コアあたりのピーク性能は同じ 評価システム

More information

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8 Web キャンパス資料 超音波シミュレーションの基礎 ~ 第 4 回 ComWAVEによる超高速超音波解析 ~ 科学システム開発部 Copyright (c)2006 ITOCHU Techno-Solutions Corporation 本日の説明内容 ComWAVEの概要および特徴 GPGPUとは GPGPUによる解析事例 CAE POWER 超音波研究会開催 (10 月 3 日 ) のご紹介

More information

ホワイトペーパー

ホワイトペーパー ホワイトペーパー NVIDIA の次世代 CUDA コンピュートアーキテクチャ : Fermi 目次 GPU コンピューティングの歴史 G80 アーキテクチャ計算処理とグラフィックスをカバーする NVIDIA の次世代アーキテクチャ CUDA ( 開発コード : Fermi ) CUDA の概要ハードウェア実行 Fermi アーキテクチャの概要第 3 世代のストリーミング マルチプロセッサ 512

More information

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

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

More information

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

GPGPU によるアクセラレーション環境について GPGPU によるアクセラレーション環境について 長屋貴量 自然科学研究機構分子科学研究所技術課計算科学技術班 概要 GPGPU とは 単純で画一的なデータを一度に大量に処理することに特化したグラフィックカードの演算資源を 画像処理以外の汎用的な目的に応用する技術の一つである 近年 その演算能力は CPU で通常言われるムーアの法則に則った場合とは異なり 飛躍的に向上しており その演算性能に魅力を感じた各分野での応用が広がってきている

More information

Coding theorems for correlated sources with cooperative information

Coding theorems for correlated sources with cooperative information MCMC-based particle filter を用いた人間の映像注視行動の実時間推定 2009 年 7 月 21 日 宮里洸司 (2) 木村昭悟 (1) 高木茂 (2) 大和淳司 (1) 柏野邦夫 (1) (1) 日本電信電話 ( 株 )NTT コミュニケーション科学基礎研究所メディア情報研究部メディア認識研究グループ (2) 国立沖縄工業高等専門学校情報通信システム工学科 背景 ヒトはどのようにして

More information

160311_icm2015-muramatsu-v2.pptx

160311_icm2015-muramatsu-v2.pptx Linux におけるパケット処理機構の 性能評価に基づいた NFV 導 の 検討 村松真, 川島 太, 中 裕貴, 林經正, 松尾啓志 名古屋 業 学 学院 株式会社ボスコ テクノロジーズ ICM 研究会 2016/03/11 研究 的 VM 仮想 NIC バックエンド機構 仮想化環境 仮想スイッチ パケット処理機構 物理環境 性能要因を考察 汎 IA サーバ NFV 環境に適したサーバ構成を検討

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 応用数理概論 準備 端末上で cd ~/ mkdir cppwork cd cppwork wget http://271.jp/gairon/main.cpp wget http://271.jp/gairon/matrix.hpp とコマンドを記入. ls とコマンドをうち,main.cppとmatrix.hppがダウンロードされていることを確認. 1 準備 コンパイル c++ -I. -std=c++0x

More information

RICCについて

RICCについて RICC 1 RICC 2 RICC 3 RICC GPU 1039Nodes 8312core) 93.0GFLOPS, 12GB(mem), 500GB (hdd) DDR IB!1 PC100Nodes(800core) 9.3 GPGPU 93.3TFLOPS HPSS (4PB) (550TB) 0.24 512GB 1500GB MDGRAPE33TFLOPS MDGRAPE-3 64

More information

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

ディープラーニングの組み込み機器実装ソリューション ~GPC/CPU編~ ディープラーニングの組み込み機器実装ソリューション ~GPU/CPU 編 ~ MathWorks Japan アプリケーションエンジニアリング部大塚慶太郎 Kei.Otsuka@mathworks.co.jp 2018 The MathWorks, Inc. 1 自動運転 : 車 歩行者等の物体認識 白線検出 組み込み GPU への実装 モデル GPU 実装 / 配布 3 医用画像 : 腫瘍等 特定の部位の検出

More information

にゃんぱすー

にゃんぱすー ビッグデータ分析技術ワークショップ ~ グラフマイニング研究の最新動向と応用事例 ~ 平成 28 年 2 月 28 日 頂点順序の最適化による 高速なグラフ分析 新井淳也 日本電信電話株式会社 ソフトウェアイノベーションセンタ この発表について 下記論文についての発表です Rabbit Order: Just-in-time Parallel Reordering for Fast Graph Analysis

More information

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

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

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2019 年度クラス C D 情報科学基礎 I 14. さらに勉強するために 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 0 と 1 の世界 これまで何を学んだか 2 進数, 算術演算, 論理演算 計算機はどのように動くのか プロセッサとメモリ 演算命令, ロード ストア命令, 分岐命令 計算機はどのように構成されているのか

More information

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

TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 TSUBAME2.0 における GPU の 活用方法 東京工業大学学術国際情報センター丸山直也第 10 回 GPU コンピューティング講習会 2011 年 9 月 28 日 目次 1. TSUBAMEのGPU 環境 2. プログラム作成 3. プログラム実行 4. 性能解析 デバッグ サンプルコードは /work0/gsic/seminars/gpu- 2011-09- 28 からコピー可能です 1.

More information

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

Microsoft Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc 2.3. アプリ性能 2.3.1. Intel クアッドコア CPU でのベンチマーク 東京海洋大学吉岡諭 1. はじめにこの数年でマルチコア CPU の普及が進んできた x86 系の CPU でも Intel と AD がデュアルコア クアッドコアの CPU を次々と市場に送り出していて それらが PC クラスタの CPU として採用され HPC に活用されている ここでは Intel クアッドコア

More information

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

4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司 4 倍精度基本線形代数ルーチン群 QPBLAS の紹介 [index] 1. Introduction 2. Double-double algorithm 3. QPBLAS 4. QPBLAS-GPU 5. Summary 佐々成正 1, 山田進 1, 町田昌彦 1, 今村俊幸 2, 奥田洋司 3 1 1 日本原子力研究開発機構システム計算科学センター 2 理科学研究所計算科学研究機構 3 東京大学新領域創成科学研究科

More information

Microsoft PowerPoint - SWoPP2010_Shirahata

Microsoft PowerPoint - SWoPP2010_Shirahata GPU を考慮した MapReduce の タスクスケジューリング 白幡晃一 1 佐藤仁 1 松岡聡 1 2 3 1 東京工業大学 2 科学技術振興機構 3 国立情報学研究所 大規模データ処理 情報爆発時代における 大規模データ処理 気象 生物学 天文学 物理学など様々な科学技術計算での利用 MapReduce 大規模データ処理のためのプログラミングモデルデ スケーラブルな並列データ処理 GPGPU

More information

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

WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization / 57 WebGL 2014.04.15 X021 2014 3 1F Kageyama (Kobe Univ.) Visualization 2014.04.15 1 / 57 WebGL OpenGL GLSL Kageyama (Kobe Univ.) Visualization 2014.04.15 2 / 57 WebGL Kageyama (Kobe Univ.) Visualization 2014.04.15

More information

HPC pdf

HPC pdf GPU 1 1 2 2 1 1024 3 GPUGraphics Unit1024 3 GPU GPU GPU GPU 1024 3 Tesla S1070-400 1 GPU 2.6 Accelerating Out-of-core Cone Beam Reconstruction Using GPU Yusuke Okitsu, 1 Fumihiko Ino, 1 Taketo Kishi, 2

More information

PowerPoint Presentation

PowerPoint Presentation ディープラーニングの 実践的な適用ワークフロー MathWorks Japan テクニカルコンサルティング部縣亮 2015 The MathWorks, Inc. 1 アジェンダ ディープラーニングとは?( おさらい ) ディープラーニングの適用ワークフロー ワークフローの全体像 MATLAB によるニューラルネットワークの構築 学習 検証 配布 MATLAB ではじめるメリット 試行錯誤のやりやすさ

More information

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果

Pervasive PSQL v11 のベンチマーク パフォーマンスの結果 Pervasive PSQL v11 のベンチマークパフォーマンスの結果 Pervasive PSQL ホワイトペーパー 2010 年 9 月 目次 実施の概要... 3 新しいハードウェアアーキテクチャがアプリケーションに及ぼす影響... 3 Pervasive PSQL v11 の設計... 4 構成... 5 メモリキャッシュ... 6 ベンチマークテスト... 6 アトミックテスト... 7

More information

フカシギおねえさん問題の高速計算アルゴリズム

フカシギおねえさん問題の高速計算アルゴリズム JST ERATO 2013/7/26 Joint work with 1 / 37 1 2 3 4 5 6 2 / 37 1 2 3 4 5 6 3 / 37 : 4 / 37 9 9 6 10 10 25 5 / 37 9 9 6 10 10 25 Bousquet-Mélou (2005) 19 19 3 1GHz Alpha 8 Iwashita (Sep 2012) 21 21 3 2.67GHz

More information

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

Microsoft PowerPoint - stream.ppt [互換モード] STREAM 1 Quad Opteron: ccnuma Arch. AMD Quad Opteron 2.3GHz Quad のソケット 4 1 ノード (16コア ) 各ソケットがローカルにメモリを持っている NUMA:Non-Uniform Access ローカルのメモリをアクセスして計算するようなプログラミング, データ配置, 実行時制御 (numactl) が必要 cc: cache-coherent

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 4 回再帰的構造体 前回の出席確認演習 #include int main() { FILE *fp; int c, linecount, length, maxlength; fp=fopen("/usr/share/dict/words","r"); if (fp == NULL) return 1; linecount=0; length=0;

More information

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

GTC Japan, 2018/09/14 得居誠也, Preferred Networks Chainer における 深層学習の高速化 Optimizing Deep Learning with Chainer GTC Japan, 2018/09/14 得居誠也, Preferred Networks Chainer における 深層学習の高速化 Optimizing Deep Learning with Chainer Chainer のミッション Deep Learning とその応用の研究開発を加速させる 環境セットアップが速い すぐ習熟 素早いコーディング 実験の高速化 結果をさっと公開 論文化

More information

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

いまからはじめる組み込みGPU実装 いまからはじめる組み込み GPU 実装 ~ コンピュータービジョン ディープラーニング編 ~ MathWorks Japan アプリケーションエンジニアリング部シニアアプリケーションエンジニア大塚慶太郎 2017 The MathWorks, Inc. 1 コンピュータービジョン ディープラーニングによる 様々な可能性 自動運転 ロボティクス 予知保全 ( 製造設備 ) セキュリティ 2 転移学習を使った画像分類

More information

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

システムソリューションのご紹介 HP 2 C 製品 :VXPRO/VXSMP サーバ 製品アップデート 製品アップデート VXPRO と VXSMP での製品オプションの追加 8 ポート InfiniBand スイッチ Netlist HyperCloud メモリ VXPRO R2284 GPU サーバ 製品アップデート 8 ポート InfiniBand スイッチ IS5022 8 ポート 40G InfiniBand スイッチ

More information

memo

memo 計数工学プログラミング演習 ( 第 6 回 ) 2017/05/16 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : 再帰呼び出し 2 分探索木 深さ優先探索 課題 : 2 分探索木を用いたソート 2 再帰呼び出し 関数が, 自分自身を呼び出すこと (recursive call, recursion) 再帰を使ってアルゴリズムを設計すると, 簡単になることが多い

More information

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

CCS HPCサマーセミナー 並列数値計算アルゴリズム 大規模系での高速フーリエ変換 2 高橋大介 daisuke@cs.tsukuba.ac.jp 筑波大学計算科学研究センター 2016/6/2 計算科学技術特論 B 1 講義内容 並列三次元 FFT における自動チューニング 二次元分割を用いた並列三次元 FFT アルゴリズム GPU クラスタにおける並列三次元 FFT 2016/6/2 計算科学技術特論 B 2 並列三次元 FFT における 自動チューニング

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション BitVisor のための OS の状態の復元機能 2013 年 12 月 6 日 電気通信大学河﨑雄大大山恵弘 1 BitVisor Summit 2 2013/12/6 背景 近年 マルウェアなどの多くのセキュリティ脅威が発見されている OS 上のセキュリティシステムで監視や防御をするのが一般的な方法である しかし OS が乗っ取られてしまうと無効化されてしまう 監視や防御などの処理は OS の外で行いたい!

More information

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

HPC (pay-as-you-go) HPC Web 2 ,, 1 HPC (pay-as-you-go) HPC Web 2 HPC Amazon EC2 OpenFOAM GPU EC2 3 HPC MPI MPI Courant 1 GPGPU MPI 4 AMAZON EC2 GPU CLUSTER COMPUTE INSTANCE EC2 GPU (cg1.4xlarge) ( N. Virgina ) Quadcore Intel Xeon 5570

More information

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

VOLTA TENSOR コアで 高速かつ高精度に DL モデルをトレーニングする方法 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12 VOLTA TENSOR コアで 高速かつ高精度に DL モデルをトレーニングする方法 成瀬彰, シニアデベロッパーテクノロジーエンジニア, 2017/12/12 アジェンダ Tensorコアとトレーニングの概要 混合精度 (Tensorコア) で FP32と同等の精度を得る方法 ウェイトをFP16とFP32を併用して更新する ロス スケーリング DLフレームワーク対応状況 ウェイトをFP16で更新する

More information

,4) 1 P% P%P=2.5 5%!%! (1) = (2) l l Figure 1 A compilation flow of the proposing sampling based architecture simulation

,4) 1 P% P%P=2.5 5%!%! (1) = (2) l l Figure 1 A compilation flow of the proposing sampling based architecture simulation 1 1 1 1 SPEC CPU 2000 EQUAKE 1.6 50 500 A Parallelizing Compiler Cooperative Multicore Architecture Simulator with Changeover Mechanism of Simulation Modes GAKUHO TAGUCHI 1 YOUICHI ABE 1 KEIJI KIMURA 1

More information