基盤研究(B) 「マルチコア複合環境を指向した適応型自動チューニング技術」

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

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

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

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

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

untitled

untitled

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

tabaicho3mukunoki.pptx

RICCについて

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

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

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

最新の並列計算事情とCAE

PowerPoint プレゼンテーション

Microsoft Word - HOKUSAI_system_overview_ja.docx

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

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

Microsoft PowerPoint 知る集い(京都)最終.ppt

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

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

理研スーパーコンピュータ・システム

GPUを用いたN体計算

スライド 1

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

PowerPoint プレゼンテーション

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

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

Microsoft Word ●MPI性能検証_志田_ _更新__ doc


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

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 Word ●IntelクアッドコアCPUでのベンチマーク_吉岡_ _更新__ doc

untitled

GPGPU

GPU n Graphics Processing Unit CG CAD

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

GPGPUクラスタの性能評価

hpc141_shirahata.pdf

PowerPoint プレゼンテーション

Microsoft PowerPoint - SWoPP2010_Shirahata

Microsoft Word - koubo-H26.doc

supercomputer2010.ppt

0530cmsi教育計算科学技術特論a_中田真秀 (nakata maho's conflicted copy) (6)

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

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

Microsoft PowerPoint - ATワークショップ pptx

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

第22回計算工学講演会 機械学習によるコード最適化の可能性 2017年5月31日@ソニックシティ―

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

スライド 1

2

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

<4D F736F F F696E74202D F A282BD94BD959C89F A4C E682528D652E707074>

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

本文ALL.indd

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

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

VXPRO R1400® ご提案資料

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

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

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

PNopenseminar_2011_開発stack

サーバに関するヘドニック回帰式(再推計結果)

PowerPoint Presentation

08 年 月一般財団法人高度情報科学技術研究機構 本資料を教育目的等で利用いただいて構いません 利用に際しては以下の点に留意いただくとともに 下記のヘルプデスクにお問い合わせ下さい 本資料は 構成 文章 画像などの全てにおいて著作権法上の保護を受けています 本資料の一部あるいは全部について いかなる

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

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

B 2 Thin Q=3 0 0 P= N ( )P Q = 2 3 ( )6 N N TSUB- Hub PCI-Express (PCIe) Gen 2 x8 AME1 5) 3 GPU Socket 0 High-performance Linpack 1

Microsoft PowerPoint - 5-重谷.ppt

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

PowerPoint プレゼンテーション

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

Microsoft Word ●書式付IO性能_杉崎_ _更新__ doc

BLAS の概要

ICDE2013study.ppt

Microsoft PowerPoint _OpenCAE並列計算分科会.pptx

Slide 1

08 年 月一般財団法人高度情報科学技術研究機構 本資料を教育目的等で利用いただいて構いません 利用に際しては以下の点に留意いただくとともに 下記のヘルプデスクにお問い合わせ下さい 本資料は 構成 文章 画像などの全てにおいて著作権法上の保護を受けています 本資料の一部あるいは全部について いかなる

Microsoft PowerPoint - sales2.ppt

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

4.7講義.key

Microsoft PowerPoint - GPU_computing_2013_01.pptx

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

Microsoft PowerPoint ppt

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 - yamagata.ppt

スライド 1

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

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

Oracle Real Application Clusters 10g: 第4世代

NUMAの構成

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

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

HPC143

PowerPoint Presentation

はじめに Web アプリケーションの発展と普及の勢いは弱まる兆しがありません 弱まるどころか 加速し続けています これは これまでの ERP CRM Web 2.0 などの Web ベースアプリケーションが提供してきたメリットを考えると 不思議なことではありません Web アプリケーションの爆発的拡

Transcription:

複合マルチコア環境のため の自動チューニング技術 第 2 回自動チューニング技術の現状と応用に関するシンポジウム Second symposium on Automatic Tuning Technology and its Application 基盤研究 (B) 21300013 マルチコア複合環境を指向した適応型自動チューニング技術 今村俊幸 電気通信大学情報理工学研究科 2010/11/04 第二回自動チューニングシンポジウム 1

研究目的と体制 マルチコア CPU Cell 高性能アクセラレータ GPGPU など高性能プロセッサアーキテクチャが複雑化することにより 高性能計算を恒常的に維持するための 自動チューニング技術 が現在以上に重要となる 専門家による 匠の技 を科学し一般化することが必要である これは 次 ( 次 ) 世代スパコンの開発にも大きく寄与する 本プロジェクトでは適応型自動チューニング = 多様な計算機アーキテクチャの動的な変化や過去の統計情報の取り扱いを研究する 同機能を実現するため 各種パラメタを適応かつ自動的にチューニングするためのソフトウェア フレームワークの確立 同フレームワークを利用したマルチコア複合環境での高性能数値計算ライブラリの実現 の 2 点に焦点を当てる 体制 代表 今村俊幸 ( 電通大 ) 研究統括 適応型自動チューニング実装方式の研究 分担 片桐孝洋 ( 東京大 ) 適応型自動チューニング方式の研究 須田礼仁 ( 東京大 ) 適応型自動チューニングモデル化の研究 高橋大介 ( 筑波大 ) 適応型自動チューニング機能付高速フーリエ変換のチューニング 山本有作 ( 神戸大 ) 適応型自動チューニングの概念モデルの研究 同機能付疎行列ソルバの開発 中島研吾 ( 東京大 ) 適応型自動チューニング機能付前処理付反復法ソルバの開発 2010/11/04 第二回自動チューニングシンポジウム 2

研究背景 1. マルチコアシステムの普及 2. チューニングの困難さ 3. 市場の速さ シングルコアチューニング技術はある程度確立している マルチコア メニイコアは途上 シングルコアの技術に対するプラスアルファ 複合要因はわかっていない! 適応性 を目指した 自動 チューニング技術の確立 AMD Opteron six-core ClearSpeed CSX700 IBM PowerXCell8i processor Intel Nehalem-EX eight core 2010/11/04 第二回自動チューニングシンポジウム 3

適応型自動チューニング方式のフレームワーク 適応型自動チューニング方式 : 1. 動的な変化 数の制御 戦略的資源配置 2. 過去の情報の利用と推測 3. 適応型自動チューニングモデルの開発 適応自動チューニング過程 1. 個々のチューニング技術の開発と蓄積 他コア 他ノード連携 実時間プロファイリング ( コスト推定 ) 情報の蓄積と整理 実時間パラメタモニタリング 知識データベース 最良パラメタの選択 2. 基盤技術開発とチューニング情報共有 実行 ジョブ実行 2010/11/04 第二回自動チューニングシンポジウム 4

研究項目 1/4 1. マルチコア複合環境でのチューニング技術の開発と蓄積 T2K RICC, 京 ポストペタ GPGPU, Cell PS3, PowerXCell8i BLAS, FFTW 数値計算ライブラリなどの基本性能測定 基本チューニング手法やチューニングパラメタ選定 SPARC64 VIIIfx Intel Qnehalem-EX eight core AMD Opteron six-core ClearSpeed CSX700 IBM PowerXCell8i processor T2K Open supercom @ Tokyo RICC @ Riken 2010/11/04 第二回自動チューニングシンポジウム 5

具体的項目 2-4/4 2. 適応型自動チューニング方式の実現 チューニング情報の共有基盤構築 チューニングノウハウ パラメタ チューニング技法の情報化 DB 再利用 3. 適応型チューニングのモデル化 概念モデル構築 4. 実問題への応用 疎行列ソルバ 前処理付ソルバ 固有値計算 FFT MPI の集団通信 (Allreduce, alltoall) 2010/11/04 第二回自動チューニングシンポジウム 6

1. マルチコア複合資源のチューニング技術の開発と蓄積 GPGPU を用いた 固有値計算の可能性日本応用数理学会 2010 年年会 2010/11/04 第二回自動チューニングシンポジウム 7

GPGPU の倍精度機能が現実に Fermi Core の出現 本格的な倍精度浮動小数点のサポート 理論性能 500GFLOPS MAGMA プロジェクト Cholesky 分解 Hessenberg 変換 その他 (LU,QR など ) MAGMABLAS 単体も高性能 (BLAS 準拠 API ではない ) 300GFLOPS MAGMABLAS0.3 DGEMM on Tesla C2050 CUBLAS (CUDA3.x) 全倍精度 BLAS 関数をサポート (2.x は倍精度が一部のみ ) 2010/11/04 第二回自動チューニングシンポジウム 8

Linear Algebra/GPGPU 方法.(BLAS->CUBLAS 呼び出しのみに限定 ) Thunking: BLAS->CUBLAS が seamless に 問題点 : ホストメモリとデバイスメモリ間の不必要なデータ転送 Level 3BLASですら性能は1/2~1/3 程度 (Level 1は絶望的 ) CALL DGEMM( N,, N,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) CALL CUBLAS_DGEMM( N,, N,M,N,K,alpha,A,LDA,B,LDB,beta,C,LDC) Non-thunking ホストーデバイスメモリ間の転送は利用者が制御 不必要なデータ転送はなく ある程度の性能 2010/11/04 第二回自動チューニングシンポジウム 9

基本性能 DGEMV: 性能はメモリ帯域に依存 : 標準的な processor よりも高帯域 高性能 平均的な 4corePC での性能 2~5GFLOPS 整合寸法は最も近い 32 の倍数を使用 2010/11/04 第二回自動チューニングシンポジウム 10

基本性能 DGEMM:: 非常によい性能!! およそ 300GFLOPS!! 平均的な 4corePC での性能 整合寸法は最も近い 32 の倍数を使用 2010/11/04 第二回自動チューニングシンポジウム 11

Eigen_s の CUBLAS 化 もともとはマルチコア向け開発版 MPI+OpenMP+BLAS BLAS 部分から GPU を呼び出す DGEMM, DSYMV 相当の関数に適用 ベクトル操作は CPU 上 データ転送はマスタースレッドで非同期に CUDA で利用できる host->device BLAS API CUBLAS3.1 MAGMABLAS0.2 MAGMABLAS0.3 ([ds]gemm for Fermi) MYCUBLAS 2010/11/04 第二回自動チューニングシンポジウム 12

Eigen_s/GPU ハウスホルダー順変換 (GFLOPS) 35 30 25 20 15 10 5 GTX280+PhenomX4 GTX285+PhenomIIX4 Tesla+Corei7 GTX460+Corei7 Corei7 0 2010/11/04 第二回自動チューニングシンポジウム 13

Eigen_s/GPU ハウスホルダー逆変換 (GFLOPS) 250 200 150 100 50 GTX280+PhenomX4 GTX285+PhenomIIX4 Tesla+Corei7 GTX460+Corei7 Corei7 0 2010/11/04 第二回自動チューニングシンポジウム 14

Eigen_s/GPU Overall computational time [s] on Tesla C2050 +Corei7 860(2.8GHz) CPU only (4cores) DGEMM: MAGMA DGEMV: MINE CUBLAS MAGMA0.2 MYBLAS+ MAGMA0.3 MYBLAS+M AGMA+thun king.dgemm 1000 0.243 0.286 0.275 0.267 0.298 2000 1.813 1.397 1.213 1.141 1.178 3000 5.857 3.944 3.403 3.032 2.997 4000 13.672 8.153 7.088 6.457 5.841 5000 25.049 14.783 12.932 11.168 10.669 6000 42.326 24.275 21.389 18.076 17.020 7000 65.715 37.322 32.472 27.063 25.429 8000 101.263 54.234 46.969 38.747 35.490 2010/11/04 第二回自動チューニングシンポジウム 15

Eigen_s/GPU Overall computational time [s] on GTX460+Corei7 920(2.67GHz) CPU only (4cores) DGEMM: MAGMA DGEMV: MINE CUBLAS MAGMA0.2 MYBLAS+ MAGMA0.3 MYBLAS+M AGMA+thun king.dgemm 1000 0.266 0.337 0.325 0.317 0.346 2000 1.866 1.733 1.558 1.463 1.533 3000 5.972 5.227 4.471 4.025 4.114 4000 13.483 11.408 9.517 8.531 8.452 5000 25.423 21.486 17.675 15.585 15.649 6000 43.120 36.108 29.627 25.604 25.541 2010/11/04 第二回自動チューニングシンポジウム 16

GPGPU 化まとめ GPGPU を使って倍精度の固有値計算は 1GPU の追加で 2 から 3 倍程度の性能向上 もっとも単純な CUBLAS 方式 Level 2,3 のみ Thunking 呼び出しにより不確定な dgemm 呼出しに対応したが 小規模問題ではかえって遅くなる 性能不安定性 コストモデルにより CPU/GPU/CPU+GPU 利用の切り替え 先行関連研究 : 大島ら 遠藤らなど CUBLAS 以外も CUDA プログラミングで対応可能だが CPU/GPU/CPU+GPU いずれがよいかは機種 問題依存 似た環境の最適化情報が利用可能 適応型チューニング 別のシナリオ : マルチ GPU 環境やクラスタ 常に full-set 使用がよいのかは問題依存 過去の情報に応じて適応型チューニング 2010/11/04 第二回自動チューニングシンポジウム 17

(1) (2) (2) (3) (4) GPU: CPU: (2) (5) (5) (6) 2010/11/04 第二回自動チューニングシンポジウム 18

GPGPU 化まとめ GPGPU を使って倍精度の固有値計算は 1GPU の追加で 2 から 3 倍程度の性能向上 もっとも単純な CUBLAS 方式 BLAS2,3 のみ Thunking 呼び出しにより不確定な dgemm 呼出しに対応したが 小規模問題ではかえって遅くなる 性能不安定性 コストモデルにより CPU/GPU/CPU+GPU 利用の切り替え 先行関連研究 : 大島ら 遠藤らなど CUBLAS 以外も CUDA プログラミングで対応可能だが CPU/GPU/CPU+GPU いずれがよいかは機種 問題依存 似た環境の最適化情報が利用可能 適応型チューニング 別のシナリオ : マルチ GPU 環境やクラスタ 常に full-set 使用がよいのかは問題依存 過去の情報に応じて適応型チューニング 2010/11/04 第二回自動チューニングシンポジウム 19

本年度報告のまとめ マルチコア複合環境での適応型自動チューニング技術の確立に向けて チューニング技術の蓄積 複合環境のチューニング問題の例 モデル化技術 基盤技術の開発 今後の課題 チューニング情報のデータベース化 チューニング情報の再利用 環境の変化を想定した 適応 型チューニング方式のモデル確立 など 2010/11/04 第二回自動チューニングシンポジウム 20

Eigen_s/GPU Overall computational time [s] on GTX285+Phenom II X4 945(3GHz) CPU only (4cores) CUBLAS MAGMA0.2 MYBLAS+ MAGMA0.2 MYBLAS+M AGMA+thun king.dgemm 1000 0.534 0.397 0.351 0.355 0.369 2000 2.154 2.068 1.687 1.662 1.701 3000 6.870 5.840 4.569 4.530 4.525 4000 15.511 12.477 9.609 9.253 9.066 5000 29.759 22.888 17.428 16.825 16.496 6000 49.642 37.759 28.466 27.031 26.266 7000 77.756 58.217 43.639 40.683 39.510 8000 115.174 84.649 62.916 57.820 55.635 2010/11/04 第二回自動チューニングシンポジウム 21

基本性能 DSYMV: 行列を 4 分割し GEMV と SYMV を再帰的に呼出 できるだけ DGEMV の高い性能を引き出す 但し SYMV の性能の影響 ( 大きな揺れ ) あり 整合寸法は最も近い 32 の倍数を使用 2010/11/04 第二回自動チューニングシンポジウム 22

eigen_sx, Narrow-Band-Reduction Narrow-band Reduction algorithm Blocking algorithm Displace M*v products into M*M. It has Trade-off 23