スライド 1

PSI研究者全体会議
SIMD拡張プロセッサアーキテクチャの
提案と性能・電力評価ツールの開発
山村 周史
サブテーマ 3-1
2008/2/19
研究内容
• ペタスケールシステム向けSIMD型プロセッサ
アーキテクチャの提案
– 高性能・高効率(Flops/W)なプロセッサアーキテクチャ
– スカラアーキテクチャSPARC64とSIMD演算ユニット
の組み合わせ
• 性能シミュレータPSIMを用いた評価
– ソフトウェアシミュレータ PSIM を開発
– SIMD拡張FORTRANコンパイラを開発(社内コンパイ
ラグループ)
– 命令エミュレータを開発(青木主管研)
– 実行性能と電力を評価可能
• PSI-SIMへの入力データを生成してペタスケール
規模の性能評価
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
2
研究内容
- 前回の全体会議からの進捗 -
• SIMD型プロセッサアーキテクチャの改善
– スカラ⇔SIMD間データ転送命令の高速化
• SIMD LD/ST命令を実行するために,演算パイプラ
インを効率的に活用
• PSIM機能追加
– アーキテクチャ改善への対応
– 電力評価機能
• ECV (Energy Consumption Viewer)の開発
• 電力評価モデルの構築
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
3
ペタスケール向けプロセッサアーキテクチャ
の設計方針
• 高い浮動小数点演算性能を高効率で実現するた
めの2つのアプローチ
– 多数のFP演算器でのSIMD計算による演算処理の効
率化
• SIMDユニットの追加
• 従来のコアを単純に並べるよりも高効率
– メモリアクセス処理の効率化
• SIMD部へのオンチップ小容量メモリ(ローカルメモリ)の追加
– メモリアクセスをユーザが意識して行う
• 強力なスカラユニットとSIMDとの密な結合
– 行列の転置処理やインデックス計算などはスカラユニ
ットで計算
• 4-issueのスカラプロセッサ
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
4
SIMD拡張プロセッサ・アーキテクチャ
• 4-issue のスカラコア (SPARC)+16(最大32)SIMD 演算ユニット
• SIMD 関連命令の追加
• SIMD Buffer Memory (SBM) の装備
プロセッサコア Ncore
プロセッサコア 1
プロセッサコア 0
SIMD処理部
SIMD-PE 3
SBM
Even SFPU
SFPR/SFUB SIMD-PE 1
RSS
SFPR/SFUB SIMD-PE 0
デコーダ
9mm
10mm
PE PE
Scalar PE PE
PE PE
Core
PE PE
4MB PE PE
PE PE
L2$ PE PE
PE PE
SBM
Odd SFPU
スカラ
RSA
処理部
SBM Transfer Unit
SIMD-PE N PE
インターコネクト
インタフェース
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
MAC
メモリアドレス処理(TLB)
CSE
RSE
INTユニット
GPR/GUB
RSF
FPユニット
FPR/FUB
RSBR
L1-Iキャッシュ
L1-Dキャッシュ
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
FB-DIMM
L2キャッシュ
45nmプロセスによる
1コアのイメージ
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
5
開発ツールと性能評価の流れ
1.
SIMD最適化プログラムの作成
•
•
2.
3.
4.
SIMD拡張FORTRANコンパイラによ
るバイナリファイルの作成
SIMD拡張命令エミュレータによる命
令トレースファイルの生成
PSI-PSIM命令シミュレータ
•
•
5.
サイクル精度の動作シミュレーション
内部パイプライン動作状況や統計情
報を出力
WCV(Waterfall Chart Viewer)
•
6.
計算カーネルのSIMD化
SBM(SIMD Buffer Memory)上の配
列に対する演算ループをSIMD処理
•
2008/2/19
SIMD拡張
FORTRAN記述
コンパイル
SIMD拡張
命令エミュレータ
PSI-PSIM
シミュレータ
パイプライン
動作情報
パイプライン動作状況を可視化
ECV(Energy Consumption Viewer)
•
計算カーネル
パイプライン動作状況から計算エネル
ギーを評価
サイクルごとの消費電力を可視化
PSI研究者全体会議(PSI 3-1 山村)
実行サイクル
評価 (WCV)
計算エネルギー
評価 (ECV)
実行性能
消費電力
6
PSIM-ECVによる電力評価フロー
• パイプライン動作情報
– PSIMを機能拡張
– 各サイクルで動作するパイプラインス
テージを出力
テクノロジ
情報
• パイプライン電力情報
– 実プロセッサの情報に基づいて検討
– 各パイプラインステージのリソース(ゲート
数など)を把握
– パイプラインステージごとの動作エネルギ
ーを算出
• 動作時の各ネットの遷移確率は1/4と
想定 (0/1→0/1等確率)
• 消費エネルギー = 0.25 x cV2
• テクノロジ情報からゲート,配線容量 c
を算出
PSIM
パイプライン
電力情報
パイプライン
動作情報
PSIM-ECV
• 計算エネルギー
– ∑(動作パイプラインステージ
× パイプラインステージの電力)
2008/2/19
アーキテクチャ
情報
PSI研究者全体会議(PSI 3-1 山村)
計算
エネルギー
7
PSIM-ECVによる電力評価
• パイプラインステージごとの動作状況に基づいて
電力を算出
• 動作したパイプラインステージの1サイクルあたり
の電力を合計
S-FMADDD
F D
s c b x x x x x x x U w W
SUBCC
F D
e b x U U U U U U U U U W
S-FMADDD
F D s c b x x x x x x x U w W
ADD
F D
e b x U U U U U U U U W
ADD
F D
e b x U U U U U U U U W
S-FMADDD
F D
s c b x x x x x x x U w W
電力 = SIMD X1の電力 × 2 + INT X1の電力 × 1 + ・・・
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
8
PSI-ECVによる評価
SIMDプロセッサ
の電力
スカラプロセッサ
の電力
• 電力統計情報を計算して出力
• 電力計算結果を可視化
• グラフを選択して比較表示(拡大等)
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
9
PSI-ECVによる計算エネルギー評価
• スカラコアに対して2.6倍(fft)~6.9倍(dgemm)の性能を実現
– 性能/チップ面積を1.8~4.6倍に改善
– 16SIMD追加によるチップ面積増は50%
• 計算に必要なエネルギーを半減
– 大規模行列では~1/4
– +16SIMDによるサイクルあたりのエネルギーは約1.5倍
– 必要サイクル数は0.14倍~0.4倍
Idealクロックゲート・リーク電力込み
実行時間 [ms]
スカラコア +16SIMD
消費エネルギー[mJ]*
性能
スカラコア +16SIMD
倍率
dgemm
1024元
368.9
53.12
6.9x
dgemm
128元
27.9
13.1 0.47x
zgemm
1024元
1114.6
185.82
6.0x
zgemm
128元
93.3
34.4 0.37x
fft
1024点x8
0.1764 0.0668
2.6x
fft
1024点x8
7.59
4.13 0.54x
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
10
まとめ -成果-
• ペタスケール向けSIMD拡張プロセッサア
ーキテクチャの提案と評価
– 高性能:スカラコアに対して2.6倍(FFT)~6.9
倍(DGEMM)の性能を実現
– 高効率:計算に必要なエネルギーを半減
• 評価ツール群の開発
– SIMD化FORTRANプログラムからシミュレー
ション結果の可視化までの一連のツール群
• 外部発表
– SWoPP2007
– 今後,電力データを含めた論文の発表
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
11
まとめ -課題-
• 命令トレースの作成
– SIMD化(データ並列化)そのもののコスト大
– 命令エミュレータ上でのデバッグ困難
– トレース取得時間が長く,数時間かけて1000
万サイクル程度がやっと(実時間では10msに
も満たない)
• PSIMシミュレーション
– 電力データは1次キャッシュで必ずヒットするも
のと仮定
– マルチコアの詳細評価は未完
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
12
Thank you
2008/2/19
PSI研究者全体会議(PSI 3-1 山村)
13