10. ベクトル処理
DESCRIPTION
10. ベクトル処理. 五島 正裕. 内容. ベクトル型並列計算機 並列計算機の分類 SIMD 型並列計算機 MIMD 型並列計算機 SIMD 命令. ベクトル型並列計算機. ベクトル処理. ベクトル: 1 次元配列データ ベクトル演算: ベクトル和 z = x + y 内積 z = x ∙ y … for (i = 0; i < N; ++i) z[i] = x[i] op y[i];. ベクトル演算器. ベクトル演算器 ベクトル単位の演算 n 要素のベクトル○○算を 1 命令で 構成: - PowerPoint PPT PresentationTRANSCRIPT
AdvancedComputer
Architecture
10. ベクトル処理
五島 正裕
Advanced Computer Architecture
内容
1. ベクトル型並列計算機2. 並列計算機の分類3. SIMD 型並列計算機4. MIMD 型並列計算機5. SIMD 命令
AdvancedComputer
Architecture
ベクトル型並列計算機
Advanced Computer Architecture
ベクトル処理
ベクトル: 1 次元配列データ
ベクトル演算: ベクトル和 z = x + y
内積 z = x ∙ y
…
for (i = 0; i < N; ++i)
z[i] = x[i] op y[i];
Advanced Computer Architecture
ベクトル演算器
ベクトル演算器 ベクトル単位の演算
n 要素のベクトル○○算を 1 命令で
構成: パイプライン化された演算器 + 制御レジスタ
制御レジスタ: カウンタ ベクトル長 開始アドレス,ストライド(ロード / ストアの場合)
Advanced Computer Architecture
ベクトル型並列計算機
主記憶
ベクトルロード
ユニット
ベクトルストア
ユニット
ベクトル加算器
ベクトル乗算器
ベクトル除算器
ベクトル○○ 器
ベクトルレジスタ
スカラレジスタ
スカラユニットキャッシュ
64 本 x 256 語 x 64b
x8 セット
Advanced Computer Architecture
半性能長
スタートアップ・タイム: S
(処理時間)= S +(投入間隔 = 1 ) × (ベクトル長)
(スループット)= (ベクトル長) ÷ (処理時間)= ( S ÷ (ベクトル長)+ 1 )− 1
半性能長: スループットが 1/2 になるベクトル長
ベクトル長
スループット
O半性能長
1
1/2
Advanced Computer Architecture
ベクトル処理とスパコン
昔,マルチメディアとか なかったころ, ベクトル処理といえば,
大規模数値処理 ベクトル・マシンといえば,
スパコンの代名詞
PVP (Parallel Vector Processor)
Advanced Computer Architecture
ベクトル処理とスパコン
日本のベクトル・スパコン Cray を打ち負かした
貿易摩擦 「公的機関でちょっと速い計算機を買うときは国際競争入札に」
地球シミュレータ (NEC)
Sputnik にちなんで“ Computnik” と呼ばれた 最後のベクトル・スパコン?
PC クラスタに押されて消える?
Advanced Computer Architecture
地球シミュレータ
http://www.es.jamstec.go.jp/
AdvancedComputer
Architecture
並列計算機の分類
Advanced Computer Architecture
計算の 2 つのストリーム
計算の 2 つのストリーム: Instruction Stream (命令流) Data Stream (データ流)
演算器
命令流
データ流
Advanced Computer Architecture
Flynn の並列計算機の分類 (1966)
Data Stream
Single Multiple
Instru
ctio
n S
tream
Sin
gle
SISD (スカラ) SIMD
Mu
ltiple
MISD (?) MIMD (普通の MP )
AdvancedComputer
Architecture
SIMD 型並列計算機
Advanced Computer Architecture
SIMD 型並列計算機
PC
Control Unit
Interconnection Network
PE : Processing Element
PE
Memory Memory Memory
PE PE
Advanced Computer Architecture
SIMD 型並列計算機
Single Instruction/Multiple Data Stream
すべての PE で同じ命令を実行
if-then-else
PE ごとに,実行フラグ 条件 ⇒ フラグ・セット フラグがたっている / いない PE だけ実行
Advanced Computer Architecture
SIMD 型並列計算機の利点 / 欠点 (当時)
利点: コントロール・ユニットが 1 つですむので,安い
すべての PE で同じことをするので,プログラミングが容易
欠点: スケーラブル (scalable) でない
多数の PE に命令を放送するのは困難 if-then-else の実行効率が低い
Advanced Computer Architecture
SIMD 型並列計算機の利点 / 欠点 (近代)
利点: コントロール・ユニットが 1 つですむので,安い
ウソ.汎用のプロセッサを買ってくるほうが安い すべての PE で同じことをするので,プログラミングが容易
ウソ.すべての PE で同じことしかできない 欠点:
スケーラブル (scalable) でない 多数の PE に命令を放送するのは困難
if-then-else の実行効率が低い
MIMD に取って代わられた
SIMD 型並列計算機の利点 / 欠点 (当時)
Advanced Computer Architecture
SIMD 型並列計算機
PC
Control Unit
Interconnection Network
PE : Processing Element
PE
Memory Memory Memory
PE PE
PCPC
MIMD 型並列計算機
Advanced Computer Architecture
SIMD 型並列計算機の最期
Thinking Machine 社:最後の SIMD ベンダ Connection Machine シリーズ
CM-4 (SIMD)
CM-5 (MIMD)
SPMD (Single Program/Multiple Data Stream, spim-dee)
ユーザは MIMD が嫌いだった!
AdvancedComputer
Architecture
MIMD 型並列計算機
Advanced Computer Architecture
MIMD
MIMD (Multiple Instruction/Multiple Data Stream)
要はマルチプロセッサ
(非学術的)分類: SMP (Symmetric Multi-Processor)
メモリ・バスを共有 2 ~ 128 プロセッサ
MPP (Massively Parallel Processor)
一般のネットワーク ~数 K プロセッサ
Advanced Computer Architecture
MPP の最期
90 年代: RISC スーパスカラの普及期に,たくさん並べてみたくなった 「高速で安価な RISC プロセッサの普及により,数千個のプロセッ
サを持つ超並列計算機が,次世代のスーパコンピュータとして注目を集めいている.」
2000 年代 PC クラスタに押されて消えた マルチコアとして復活?
AdvancedComputer
Architecture
SIMD 命令
Advanced Computer Architecture
SIMD 命令
SIMD 命令 (スーパ)スカラ・プロセッサの(拡張)命令セット 1 本のレジスタに 2 ~ 8 個のデータをパック 1 命令で同種の演算を 2 ~ 8 個程度 同時に実行
Advanced Computer Architecture
SIMD 命令の変遷 (Sun)
VIS (Visual Instruction Set) for SPARC
既存の 64 b 浮動小数点レジスタ 既存の 64 b 浮動小数点演算器を 4 x 16b にスライスして使用
追加 HW コストはごくわずか CG における座標変換,同次座標の行列―ベクトル積を CPU で
Advanced Computer Architecture
SIMD 命令の変遷 (Intel)
MMX (Multi-Media eXtension?) for Pentium 8 x 64 b 専用レジスタ MM0 ~ MM7 64 b 専用演算器 汎用マルチメディア処理
飽和演算 (x 87 浮動小数点命令が非効率すぎる)
SSE (Streaming SIMD Extensions) for Pentium III 8 x 128 b 専用レジスタ XMM0 ~ XMM7 128 b 専用演算器 暗号,ストリーミング処理
シャフル命令 キャッシュ制御命令
SSE2 for Pentium 4 レジスタの増量
SSE3 水平型命令
Advanced Computer Architecture
SIMD 命令の変遷 (Others)
3DNow! for Athlon
MMX , SSE と互換
AltiVec for PowerPC
Photoshop
Digital Media Extension for MIPS
Advanced Computer Architecture
SIMD 命令の変遷 (GPU)
GPU (Graphics Processing Unit)
Programmable Shader ( DirectX 8 以降) SIMD 命令
– 同次座標 (x, y, z, w)
– 色と透明度 (r, g, b, a)
Advanced Computer Architecture
SIMD 命令の変遷 (Cell)
Cell = PPE (Power Processing Element = PowerPC) + SPE (Synergistic Processing Element) x 7
SPE 128 x 128b SIMD レジスタ SIMD 命令を 1 サイクルに 2 命令
AdvancedComputer
Architecture
データ並列性
Advanced Computer Architecture
データ並列性
データ並列性 (data parallelism) :異なるデータに対して(ほぼ)同型の処理を行うときに生じる
制御並列性? (control parallelism ?) : データ並列性がない(少ない)
ベクトル, SIMD によるベクトル処理: データ並列性を利用
Advanced Computer Architecture
RISC スーパスカラとの違い
RISC スーパスカラ複数のパイプライン化された FPU を持つ FPU を追加すれば,能力的にはほぼ同等
だが…
RISC スーパスカラ データ流量 = 命令流量
ベクトル, SIMD
データ流量 > 命令流量
AdvancedComputer
Architecture
今日のまとめ
Advanced Computer Architecture
Flynn の並列計算機の分類 (1966)
Data Stream
Single Multiple
Instru
ctio
n S
tream
Sin
gle
SISD (スカラ) SIMD
Mu
ltiple
MISD (?) MIMD (普通の MP )
Advanced Computer Architecture
ベクトル型並列計算機
主記憶
ベクトルロード
ユニット
ベクトルストア
ユニット
ベクトル加算器
ベクトル乗算器
ベクトル除算器
ベクトル○○ 器
ベクトルレジスタ
スカラレジスタ
スカラユニットキャッシュ
Advanced Computer Architecture
SIMD 型並列計算機
PC
Control Unit
Interconnection Network
PE : Processing Element
PE
Memory Memory Memory
PE PE
PCPC
MIMD 型並列計算機
Advanced Computer Architecture
SIMD 命令
SIMD 命令 (スーパ)スカラ・プロセッサの(拡張)命令セット 1 本のレジスタに 2 ~ 8 個のデータをパック 1 命令で同種の演算を 2 ~ 8 個程度 同時に実行
Advanced Computer Architecture
データ並列性
データ並列性 (data parallelism) :異なるデータに対して(ほぼ)同型の処理を行うときに生じる
ベクトル, SIMD によるベクトル処理: データ並列性を利用
Advanced Computer Architecture
RISC スーパスカラとの違い
RISC スーパスカラ複数のパイプライン化された FPU を持つ FPU を追加すれば,能力的にはほぼ同等
だが…
RISC スーパスカラ データ流量 = 命令流量
ベクトル, SIMD
データ流量 > 命令流量
Advanced Computer Architecture
今後の予定
7/12 休講
7/19 マルチスレッド・プロセッサ
7/26
Advanced Computer Architecture
レポート課題
課題: 1 は任意, 2 は必須
1. 遅延分岐では, compare & branch に完全に対処することは困難であると思われる.実際のパイプライン・マシン (ex. MIPS R2000/3000) ではどうなっているのか調べよ.
2. コンピュータ・アーキテクチャにおける種々の投機技術に対し,現実世界における類似の技術を挙げ,それらの間の相違点について論ぜよ.
提出方法: e-mail
To: [email protected] Subject: 「 ACA 」,「レポート」を含めること
様式,フォーマット,分量 自由
期限 8/16 (火)