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

Similar documents
untitled

untitled

tabaicho3mukunoki.pptx

<4D F736F F F696E74202D F A282BD94BD959C89F A4C E682528D652E707074>

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

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

PowerPoint プレゼンテーション

hirayama

PowerPoint プレゼンテーション

Microsoft Word - qpeigen_manual_jp-1.0.doc

修士論文

PowerPoint プレゼンテーション

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 PowerPoint - sales2.ppt

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

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

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

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

<4D F736F F F696E74202D2091E63489F15F436F6D C982E682E992B48D8291AC92B489B F090CD2888F38DFC E B8CDD8

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

PowerPoint プレゼンテーション

CCS 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

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

る連続なアクセスができるなどの利点がある. 倍々精度浮動小数は, 符号部 1 bit, 指数部 11 bit, 仮数部 14 (52 2) bit からなる. これは符号部 1bit, 指数部 15 bit, 仮数部 112 bit からなる IEEE754 準拠の 4 倍精度と比 べて指数部が 4

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

Microsoft Word - HOKUSAI_system_overview_ja.docx


MBLAS¤ÈMLAPACK; ¿ÇÜĹÀºÅÙÈǤÎBLAS/LAPACK¤ÎºîÀ®

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

FIT2018( 第 17 回情報科学技術フォーラム ) CB-005 並列処理を用いた対話的多倍長演算環境 MuPAT の高速化 Acceleration of interactive multi-precision arithmetic toolbox MuPAT using parallel

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

RICCについて

スライド 1

Microsoft PowerPoint SCOPE-presen

EnSightのご紹介


を用いて実装している.. 対象となる演算. による実装と高速化 本研究では反復法ライブラリをベースとしたため, 表 に示す演算のみを実装した. ただしこの実装は一般的な用 途にも適用可能なものである. 演算の名称 Name of calculation 表 演算の一覧 Table list of c

27巻3号/FUJSYU03‐107(プログラム)

第101回 日本美容外科学会誌/nbgkp‐01(大扉)

パーキンソン病治療ガイドライン2002

本文27/A(CD-ROM

tnbp59-20_Web:P1/ky108679509610002943

CLEFIA_ISEC発表

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

BLAS の概要

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

処理効率

LAPACK/BLAS入門

演習1

最新の並列計算事情とCAE


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

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

スライド 1

hpc141_shirahata.pdf

平成 22 年度 革新的な三次元映像技術による超臨場感コミュニケーション技術研究開発 の開発成果について 1. 施策の目標 人体を収容できる大きさの 3 次元音響空間についてリアルタイムに音響レンダリングできるシステム ( シリコンコンサートホール ) を 2013 年までに開発する 具体的には,

CELSIUSカタログ(2012年7月版)

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

CELSIUSカタログ(2012年5月版)

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

PowerPoint Presentation


図 2 AVX の SIMD レジスタの構造 Figure 2 Architecture of AVX SIMD register 図 1 倍々精度のビット数 Figure 1 Bit pattern of Double-Double precision number る Double-Double

Microsoft Word - PV-WAVE12 0_ReleaseNotes.docx

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

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

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

インテル(R) Visual Fortran Composer XE

線形代数演算ライブラリBLASとLAPACKの 基礎と実践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

VXPRO R1400® ご提案資料

untitled

ソフトウェア & ハードウェア最適必要条件 PU: - Intel Core i7 3.2 GHz プロセッサ メモリ : - 6GB DDR3 (3x2GB) 1066 MHz メモリモジュール ストレージ : - 4 Four Solid State または 10,000 RPM SATA ディ

Microsoft PowerPoint - 11Web.pptx

$ cmake --version $ make --version $ gcc --version 環境が無いあるいはバージョンが古い場合は yum などを用いて導入 最新化を行う 4. 圧縮ファイルを解凍する $ tar xzvf gromacs tar.gz 5. cmake を用

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

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

線形代数演算ライブラリBLASとLAPACKの 基礎と実践1

Microsoft PowerPoint ppt

GPUを用いたN体計算

Microsoft PowerPoint - OS07.pptx

GPGPUイントロダクション

> > <., vs. > x 2 x y = ax 2 + bx + c y = 0 2 ax 2 + bx + c = 0 y = 0 x ( x ) y = ax 2 + bx + c D = b 2 4ac (1) D > 0 x (2) D = 0 x (3

Microsoft PowerPoint - yamagata.ppt

HP High Performance Computing(HPC)

PowerPoint プレゼンテーション

次 CAE を取り巻く環境と展望 企業がシミュレーションに抱える痛み :3 つの例 クラウド CAE サービス Cistr Cistr のシステム概要 最新版 Cistr でできること Cistr を利 してみる 2

計算機アーキテクチャ

<4D F736F F F696E74202D A A814590DA904796E291E882C991CE82B782E946726F6E CC95C097F190FC8C60835C838B836F815B82C982C282A282C42E >

Microsoft Word - PGI WorkstationServer事前準備 doc

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

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

Ł\”ƒ-2005

N08

HPC143

GPGPUクラスタの性能評価

Transcription:

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 東京大学新領域創成科学研究科

1. Introduction はじめに 京 コンピュータのような超大規模な並列計算機が一般ユーザでも利用できる環境 大規模並列計算機の性能をフルに利用するため シミュレーション手法の大規模化 演算回数が増大するため 本来無限桁である実数を有限桁で打ち切って計算することによる誤差の累積の影響が大きくなる 倍精度演算では有効な精度の結果が得られない可能性あり 地球シミュレータで 375,000 次元の行列の全固有値 固有ベクトルを直接法で計算 精度は数ケタ (SC06 Yamada et. al.)

4 倍精度化の方法 [ 対応策 多倍長 (4 倍精度 ) 計算 ] real*16 変数を利用計算時間がかかるため実用的でない 多倍長計算用のライブラリ Bailey の double-double アルゴリズム 2 つの倍精度実数 (real*8) を組み合わせることで 4 倍精度演算を実現倍精度演算の組み合わせなので高速に計算可能 a=a.hi+a.lo a.hi : 上位データ a.lo : 下位データ 倍精度の仮数部は 52bit で表現しているため この方法だと 104bit で表現 (real*16 の場合仮数部は 112bit)

2. double-double algorithm 2 つの倍精度実数 (real*8) を組み合わせて 4 倍精度演算を実現 double-double 型実数 a (ah,al) ah: 上位データ (real*8), al: 下位データ (real*8) 52bit( 仮数部 ) 52bit( 仮数部 ) 104bit( 仮数部 ) [10 進約 32 桁 ] REAL*16 型実数 112bit( 仮数部 ) [10 進約 34 桁 ]

Dailey の 4 倍精度演算アルゴリズム [Bailey の 4 倍精度演算アルゴリズム ] Bailey の double-double アルゴリズムによる加算 C=A+B Bailey の double-double アルゴリズムによる乗算 C=A*B 11 回の演算で実現可能 コンパイラの最適化で 計算順序変更不可 24 回の演算で実現可能 134217729(= 2 27 +1) 上位 26bit, 下位 26bit のデータに分割する際に利用

3. 4 倍精度化 BLAS BLAS (Basic Linear Algebra Subprograms) 線形基本演算のルーチン群 (40 個 ) double-double アルゴリズムで 4 倍精度化 QPBLAS (Quadrature Precision Basic Linear Algebra Subprograms) 倍精度版 [ ルーチン名の接頭辞にdをつけて倍精度を表現 ] call dgemm( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LCD) 4 倍精度版 [ ルーチン名の接頭辞にddをつけて4 倍精度を表現 ] call ddgemm( TRANSA, TRANSB, M, N, K, ALPHAH, ALPHAL, AH, AL, LDA, BH, BL, LDB, BETAH, BETAL, CH, CL, LCD) (*H : 4 倍精度の上位データ *L : 4 倍精度の下位データ )

3.1 QPBLAS QPBLAS の性能評価の性能評価 DDDOT ( 内積 ) DDGEMV( 行列ベクトル積 ) DDGEMM( 行列行列積 ) の性能評価 使用する計算機 Intel/ Windows Processor : Intel Core 2 Duo E8400 (3.0GHz) OS : Windows XP Professional Compiler : Intel Fortran 10.0 IA32 AMD/ Linux Processor : Dual Core AMD Opteron Processor 2800 (2.4GHz) OS : Cent OS 4.4 Compiler : gfortran 4.1.0

3.1 DDDOT および DDGEMV の性能評価 DDDOT( 内積計算 ) [α x T y] 計算時間は次元サイズに比例 AMD の方が若干早い DDGEMV( 行列ベクトル積 ) 計算時間 ( 秒 ) [y αax + βy] TRANS= N 計算時間は次元サイズの 2 乗に比例 最適化をした Intel が早い 計算時間 ( 秒 ) 0.14 0.12 0.10 0.08 0.06 0.04 0.02 0.00 0 0.6 0.5 0.4 0.3 0.2 0.1 0 0 Intel O0 Intel O2 Intel O3 200000 500 AMD O0 AMD O2 AMD O3 400000 600000 Intel O0 Intel O2 Intel O3 配列次元 AMD O0 AMD O2 AMD O3 1000 配列次元 800000 1500 1000000 2000

3.1 DDGEMM の性能評価 140 120 100 80 60 40 20 0 0 計算時間 ( 秒 ) Intel O0 Intel O2 Intel O3 500 AMD O0 AMD O2 AMD O3 1000 配列次元 1500 2000 DDGEMM( 行列行列積 ) [C αab + βc] TRANSA= N, TRANSB= N 計算時間は次元サイズの 3 乗に比例 Intel の方が早い DGEMM と DDGEMM の性能比較 (DDGEMM の計算時間 /DGEM の計算時間 ) 最適化 O2,O3(Intel) DGEMM と DDGEMM の計算時間比は最大 10 倍程度 計算時間の増加率 30 25 20 15 10 5 0 10 250 750 1250 1750 配列次元

3.2 QPBLAS の公開 HP QPBLAS の公開 HP http://ccse.jaea.go.jp/ja/download/qpblas.html ライセンスオープンソース (2 条項 BSDライセンス ) [subrou^nes] Level 1 Level 2 Level 3 ddswap ddscal ddcopy ddaxpy dddot ddnorm2 ddsum ddidmax ddrot ddrotg ddrotm ddrotmg ddzdotc ddzdotu ddgemv ddsymv ddtrmv ddtrsv ddsyr ddsyr2 ddgbmv ddger ddsmbv ddtbmv ddtbsv ddzgerc ddzgeru ddzhbmv ddzhemv ddzher ddzher2 ddgemm ddsymm ddsyr2k ddsyrk ddtrmm ddtrsm ddzhemm ddzher2k ddzherk

4. QPBLAS-GPU BLAS (Basic Linear Algebra Subprograms) 線形基本演算のルーチン群 (40 個 ) double-double アルゴリズムで 4 倍精度化 CUDA4.0 で GPGPU 用に実装 QPBLAS-GPU (Quadrature Precision Basic Linear Algebra Subprograms on GPUs) 倍精度版 [ ルーチン名の接頭辞にdをつけて倍精度を表現 ] call dgemm( TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LCD) GPU4 倍精度版 [ ルーチン名の接頭辞にgddをつけて4 倍精度を表現 ] call gddgemm( TRANSA, TRANSB, M, N, K, ALPHAH, ALPHAL, AH, AL, LDA, BH, BL, LDB, BETAH, BETAL, CH, CL, LCD) (*H : 4 倍精度の上位データ *L : 4 倍精度の下位データ )

4.1 QPBLAS-GPU の性能評価 DDDOT ( 内積 ) DDGEMV( 行列ベクトル積 ) DDGEMM( 行列行列積 ) の性能評価 計算機環境 Intel/ Linux Processor : Intel Xeon W3565 (3.2GHz) GPU : Tesla C2075(448core, 1.15GHz) OS : RedHat 4.1.2 Fortran Compiler : gfortran 4.1.2 C Compiler : gcc 4.1.2 GPGPU 開発環境 : CUDA4.0 計算時間測定は純粋な GPU の計算時間ではなく ホストメモリーデバイスメモリ間の転送時間等を含んだもの

4.1 GDDDOT の性能評価 [α x T y] 1.0E+00 1.0E-01 CPU GPU 計算時間 (sec) 1.0E-02 1.0E-03 1.0E-04 1.0E-05 1.0E-06 1.0E+03 1.0E+04 1.0E+05 1.0E+06 1.0E+07 データサイズ 3 GPU/CPU 速度比最大 5 倍程度

4.1 GDDGEMV の性能評価 [y αax + βy] 1.0E+01 1.0E+00 CPU GPU 1.0E-01 計算時間 (sec) 1.0E-02 1.0E-03 1.0E-04 1.0E-05 1.0E-06 1.0E+01 1.0E+02 1.0E+03 1.0E+04 データサイズ 3 GPU/CPU 速度比最大 10 倍程度 最大演算速度 0.16GFlops( メモリ間の転送時間を含む )

4.1 GDDGEMM の性能評価 [C αab + βc] 1.0E+03 1.0E+02 CPU GPU 1.0E+01 計算時間 (sec) 1.0E+00 1.0E-01 1.0E-02 1.0E-03 1.0E-04 1.0E-05 1.0E-06 1.0E+00 1.0E+01 1.0E+02 1.0E+03 1.0E+04 データサイズ 3 GPU/CPU 速度比最大 500 倍程度最大演算速度 85.9GFlops( メモリ間の転送時間を含む )

4.2 QPBLAS-GPU の公開 HP QPBLAS- GPU の公開 HP http://ccse.jaea.go.jp/ja/download/ qpblas_gpu.html ライセンスオープンソース (2 条項 BSD ライセンス ) [subrou^nes] Level 1 Level 2 Level 3 gddswap gddscal gddcopy gddaxpy gdddot gddnorm2 gddsum gddidmax gddrot gddrotg gddrotm gddrotmg gddzdotc gddzdotu gddgemv gddsymv gddtrmv gddtrsv gddsyr gddsyr2 gddgbmv gddger gddsmbv gddtbmv gddtbsv gddzgerc gddzgeru gddzhbmv gddzhemv gddzher gddzher2 gddgemm gddsymm gddsyr2k gddsyrk gddtrmm gddtrsm gddzhemm gddzher2k gddzherk

5 公開ソフトウェア 公開用ソフトウェア一覧 HP http://ccse.jaea.go.jp/ja/download/ software.html 1. 京 コンピュータ用固有値計算ライブラリ : EigenK 2. 4 倍精度 Basic Linear Algebra Subprograms: QPBLAS 3. 4 倍精度 Basic Linear Algebra Subprograms on GPU: QPBLAS- GPU 今後 4 倍精度ソフトウェアを中心に拡充を予定

6. Summary double-double アルゴリズムを用いて 4 倍精度化 BLAS (QPBLAS) の作成と公開 1 主要 40 routine 2 倍精度版 gemm との速度比は約 10 倍 GPU 用 4 倍精度化 BLAS (QPBLAS-GPU) の作成と公開 1 主要 40 routine 2 CUDA4.0 3 CPU 版 gemm との速度比は最大 500 倍高速化 8