1 / 8

応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング

応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング. 第 3 回 計算理工学専攻 張研究室 山本有作. 典型的なマイクロプロセッサのメモリ階層. データ転送速度 非常に大. レジスタ. 演算器に近い記憶装置ほど高速だが,容量は小さい。 演算器と主メモリの速度差は,年々大きくなっている。. 演算器. 8 ~ 128 ワード. データ転送速度大. キャッシュ. 数 100K バイト ~ 数 M バイト. データ転送速度小. 主メモリ. 数 100M バイト ~ 数 G バイト. ATLAS の性能.

ianna
Download Presentation

応用数理工学特論 線形計算と ハイパフォーマンスコンピューティング

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 応用数理工学特論線形計算とハイパフォーマンスコンピューティング応用数理工学特論線形計算とハイパフォーマンスコンピューティング 第3回 計算理工学専攻 張研究室 山本有作

  2. 典型的なマイクロプロセッサのメモリ階層 データ転送速度 非常に大 レジスタ • 演算器に近い記憶装置ほど高速だが,容量は小さい。 • 演算器と主メモリの速度差は,年々大きくなっている。 演算器 8~128 ワード データ転送速度大 キャッシュ 数100Kバイト ~ 数Mバイト データ転送速度小 主メモリ 数100Mバイト ~ 数Gバイト

  3. ATLASの性能 • n=1000のとき,ピーク性能の95%以上を達成している。

  4. 共有メモリ型並列計算機向けの高性能化手法 キャッシュ PU0 PU1 PU2 PU3 • PU間の負荷分散均等化 • 各PUの処理量が均等になるよう   処理を分割 • PU間同期の削減 • 同期には通常,数百サイクルの時間が必要 • 並列粒度の増大による同期回数の削減が性能向上の鍵 • キャッシュメモリの有効利用 • 演算順序の変更等により,キャッシュ中のデータの再利用性を向上 • 同時にPU間でのアクセス競合を削減し,メモリアクセスを高速化 バス メモリ

  5. BLASの利用による高性能化 • BLASとは • Basic Linear Algebra Subprograms の略 • 個々のマシン向けにチューニングした基本行列演算のライブラリ • BLASの種類 • BLAS1: ベクトルとベクトルの演算 • 内積 c := x t y • AXPY演算 y: = ax + yなど • BLAS2: 行列とベクトルの演算 • 行列ベクトル積 y := Ax • 行列のrank-1更新 A := A + xyt • BLAS3: 行列と行列の演算 • 行列乗算 C := ABなど A × = A A × = + B C A × =

  6. BLASにおけるデータ再利用性と並列粒度 • BLAS1 • 演算量: O(N), データ量: O(N) • データ再利用性: なし • 並列粒度: O(N/p) (N: ベクトルの次元,p: プロセッサ台数) • BLAS2 • 演算量: O(N2), データ量: O(N2) • ベクトルデータのみ再利用性あり • 並列粒度: O(N2/p) • BLAS3 • 演算量: O(N3), データ量: O(N2) • O(N)回のデータ再利用が可能 • 並列粒度: O(N3/p) 演算をできる限り BLAS2,3で行うことが高性能化のポイント A × = A A = × + B C A = ×

  7. 現在利用可能な最適化BLAS • プロセッサメーカーの提供するBLAS • Intel MKL,AMD ACML,IBM ESSL など • メーカーによっては共有メモリ向け並列化版もあり。 • ATLAS(Automatically Tuned Linear Algebra Subprograms) • 対象プロセッサに合わせて自動的に性能を最適化するBLAS • http://math-atlas.sourceforge.net/ より入手可能 • 共有メモリ向け並列化版もあり。 • GOTO BLAS • テキサス大学オースチン校の後藤和茂氏によるBLAS • http://www.cs.utexas.edu/users/flame/goto/ より入手可能 • この3種のBLASの中では,多くの場合最高速 • 共有メモリ向け並列化版も(一部)あり。

  8. 行列乗算を用いたガウスの消去法の性能 • n=1000のとき,ピークの65%以上の性能を達成

More Related