大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU...

31
大規模システム評価環境PSI-SIM 数千個のマルチコア・プロセッサを搭載したペタス ケールコンピュータの性能予測 ○井上こうじ 1) 薄田竜太郎 2) 安藤壽茂 3) 石附茂 3) 小松秀実 3) 稲富雄一 1) 本田宏明 1) 山村周史 3) 柴村英智 4) 于雲青 1) 青柳睦 1) 木村康則 3) 村上和彰 1) 1) 九州大学 2) IST 3) 富士通株式会社 4) ISIT

Transcript of 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU...

Page 1: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

大規模システム評価環境PSI-SIM数千個のマルチコア・プロセッサを搭載したペタス

ケールコンピュータの性能予測

○井上こうじ1) 薄田竜太郎2) 安藤壽茂3) 石附茂3)

小松秀実3) 稲富雄一1) 本田宏明1) 山村周史3)

柴村英智4) 于雲青1) 青柳睦1) 木村康則3)村上和彰1)

1) 九州大学 2) IST 3) 富士通株式会社 4) ISIT

Page 2: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

お詫びとお断り

• 「アーキテクチャ」の話ではありません!• 「集積回路」の話ではありません!• 文部科学省「次世代IT基盤構築のための研

究開発:将来のスーパーコンピューティングのための要素技術の研究開発」に関する成果報告です!

Page 3: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

与えられたミッションとは?「テラフロップスマシン」で「ペタフロップスマシン」

の性能を予測せよ!

How are you, Mr. Tera?

I am fine!How about you, Mr. Peta?

性能予測対象マシン

ターゲットマシン性能予測実施マシン

ホストマシン

Page 4: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

ペタスケールを「体感」する!?

0.1Flops

10Flops

1KFlops

100KFlops

10MFlops

1GFlops

100GFlops

10TFlops

1PFlops

小学4年:0.8ops(正解率100%)

小学2年:0.4ops(正解率100%)

九大准教授1.5ops井上こうじ×66億

ペタフロップス・スパコン(実効)

九大PCクラスタ(ピーク)(Xeon 3GHz×32)

九大スパコン(ピーク)(Itanium2 1.6GHz×1K)

Xeon@3GHzが160万台

Page 5: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 6: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 7: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

「ホスト/ターゲット間の性能差」による3つの限界

RealMachine

InterconnectSimulator

プログラム実行限界• ホスト1ノードでターゲット100~1,000ノード分の実行

• 特にメモリ不足が深刻に!

ログ採取限界• HPL実行@4Kノード・ターゲットでも1テラ・バイト

• ノード数や問題サイズ増大と共により深刻に!

シミュレーション限界• 全対全通信@4Kノード・ターゲットでも9時間!

• ノード数増加や問題サイズ増大と共により深刻に!

ペタスケール並列プログラム

通信ログ

性能レポート

Page 8: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 9: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

PSI-SIMの性能予測フロー~「実行結果」は保証しない!~

スケルトンコード

通信性能情報

通信遅延情報の事前採取

• インターコネクトシミュレーション

• 実機での測定• 仕様から見積り• など

最終システム性能レポート

超並列化オリジナルコード

演算実行時間情報の事前採取の事前採取• プロセッサ

シミュレーション• 実機での測定• 仕様から見積り• など

演算性能情報

Real Machine(BSIM)

ターゲット

Page 10: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

スケルトン・コードの導入~性能評価専用プログラムコード~

• ポイント1:演算部分を実行時間に置換え• ポイント2:実行を模擬する通信機能• ポイント3:プログラム作成者による使用メモリ容量の削減

…….MPI_Send(…);

for (i=0; i<1000; i++)s += a[i]

MPI_Recv(…)…….

…….LMPI_Send(…);/* コメント

for (i=0; i<1000; i++)s += a[i]

*/BSIM_Add_time(203e-9)LMPI_Recv(…)…….

オリジナルコード スケルトンコード

Page 11: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

仮想超並列実行を高速化する!~プログラム抽象化と疑似実行モードのサポート~

11203e-9・・・103.264767865 MPI_Send end103.264768068 MPI_Recv start

通信プロファイル

• プロセス毎に時刻を管理• BSIM_Add_Time関数により時刻

を更新• 演算省略による実行時間削減

• ペイロードを転送しない仮想通信機能による実通信時間削減

・・・・・MPI_Send(…);/* コメント

for (i=0; i<1000; i++)s += a[i];

*/BSIM_Add_time(203e-9);MPI_Recv(…);・・・・・

スケルトンコード

BSIM

・・・・・MPIイベント(Send)時刻の更新(203e-9)MPIイベント(Recv)・・・・・

実行の様子

Page 12: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

どの程度,高速かつ高精度なのか?ERI (Electron Repulsion Integral)の場合

実行所要時間(sec) オリジナル

スケルトン アプリ実行時間(sec)

オリジナル

ゼロ通信レイテンシを仮定

FMO-ERI(スケルトンコード)

– 対象分子 (Gly)15、基底関数6-31G* (108原子、1009関数)

– BSIM_Add_timeに加える時間は実機測定結果に基づきモデル化

24GF/sホスト(4ノード)で386GF/s(64ノード)ターゲットの性能予測

→×16

スケルトンでの予測

Page 13: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

通信プロファイルは正しいのか?ERI (Electron Repulsion Integral)の場合

ゼロ通信レイテンシを仮定64ノードを使用した実際の実行

4ノードを使用した擬似実行

Page 14: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

PSI-SIMのアプローチ~「実行結果」は保証しない!~

Real Machine(BSIM)

スケルトンコード

RealMachine

InterconnectSimulator

ペタスケール並列プログラム

通信ログ

性能レポート

ペタスケール並列プログラム

性能レポート

演算実行時間に関する情報

Real Machineor

CPU Simulator

通信遅延時間に関する情報

Real Machineor

Net. Simulator

性能評価専用コードの導入

• 実行の振舞いを維持しつつ使用メモリ容量を削減

プログラム抽象化の導入

• 演算コード部分を「実行時間」で置換え

仮想超並列実行環境の構築• スケルトンコードを実機で実行• 通信ログが不要に!• 大規模ネットワークSim.が不要に!• 高速実行が可能に!

Page 15: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 16: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

50~200GFlopsマシンで6.5TFlopsマシンの性能を予測する!

6.5TFlopsターゲットマシン(PRIMEQUEST1,024コア)

プロセッサ インテルItanium2,動作周波数1.6GHz,デュアルコア

計算ノード数 16(32プロセッサ/ノード,128GBメモリ/ノード),全コア数は1,024

インターコネクト 計算ノード内:クロスバ,計算ノード間:InfiniBand

200GFlopsホストマシン(正確には192GFlopsマシン)

プロセッサ インテルXeon, 動作周波数3GHz, シングルコア

計算ノード数 16(2プロセッサ/ノード,7GBメモリ/ノード)

インターコネクト InfiniBand,Gigabit Ethernet

50GFlopsホストマシン(正確には51.2GFlopsマシン)

プロセッサ インテルXeon , 動作周波数1.6GHz, クアッドコア

計算ノード数 2(2プロセッサ/ノード,10GBメモリ/ノード)

インターコネクト Gigabit Ethernet

Page 17: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

性能予測フロー

• アプリケーション・プログラム

–HPL–PHASE(固体第一原理計算)

–Open-FMO(タンパク質第一原理計算)

–FMO-ERI(二電子積分計算)

BSIM(on Real Machine)

スケルトンコード

並列プログラム

性能レポート

演算実行時間に関する情報

RealMachine

通信遅延時間に関する情報

RealMachine

・プログラムの超並列化・QP1Kにて実行→実行時間測定

・スケルトンコード作成・通信遅延情報作成・BSIMによる実行→性能予測

比較

Page 18: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

超並列化スケルトン・コードの開発~FMO-ERIの場合~

スケルトンコード作成

計算カーネルの抽象化(実行時間での置換え)

超並列化計算カーネル

抽出

FMO-ERIオリジナルコード

実行時間見積り

使用メモリ/通信の削減

超並列化スケルトンコード

オリジナルコードの計算カーネル

スケルトンコード

スケルトン化

for (ijcs=0; ijcs<NCS pair; ijcs++) {for (klcs=0; klcs<=ijcs; klcs++) {

for (ijps=0; ijps<Nsurvive, ijcs; ijps++) {for (klps=0; klps<Nsurvive, klcs; klps++) {

calculate_primitive_ERI(ijps, klps);calculate_contracted_ERI(ijcs, klcs);

}}add_to_Fock_matrix(ijcs, klcs);

}}

for (ijcs=0; ijcs<NCS pair; ijcs++) {for (klcs=0; klcs<=ijcs; klcs++) {

/* for (ijps=0; ijps<Nsurvive, ij; ijps++) {for (klps=0; klps<Nsurvive, kl; klps++) {

calculate_primitive_ERI(ijps, klps);calculate_contracted_ERI(ijcs, klcs);

}}add_to_Fock_matrix(ijcs, klcs);

*/BSIM_Add_time(T0×Nsurvive, ijcs×Nsurvive, klcs);

}}

実行時間見積り

原始積分1組あたりの計算時間(T0)

Page 19: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

通信レイテンシ情報の測定~MPI-Allreduceの場合~

プロセス数

通信遅延時間の実測値

• 実機にてプロセス数とデータサイズを変更した際の遅延時間を測定

• これら以外の場合については実測値より近似

Page 20: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

どの程度正しく予測できたのか?(Open-FMO / FMO-ERI)

Open-FMO

•6.5TF/sを50GF/sホストで予測•実行時間予測誤差(絶対値)

• 全実行時間:4%• 演算部分:2%

Exe

. Tim

e (s

ec)

FMO-ERI

実測(演算)

予測(演算)

•6.5TF/sを200GF/sホストで予測•実行時間予測誤差(絶対値)

• 実機全実行時間と予測演算時間を比較:35~140%

Exe

. Tim

e (s

ec)

492 984#of Fragments

実測(通信)

予測(通信)

実測(演算+通信)

対象分子:Lysozyme(リゾチーム)基底関数 STO-3G (1961原子、6005関数)

対象分子:Aquaporin(アクアポリン)基底関数 STO-3G

予測(演算)

予測(通信)

Page 21: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

どの程度正しく予測できたのか?(HPL / PHASE)

160,000 240,000 320,000Problem Size

Exe

. Tim

e (s

ec) HPL

予測(演算)

実測(通信)

実測(演算)

•6.5TF/sを200GF/sホストで予測•実行時間予測誤差(問題サイズ320K)

• 全体:<10%• 演算部分:<1%

5.02TFlops

PHASE

4K 8K 16Kバンド数

Exe

. Tim

e (s

ec)

実測(通信)

実測(演算)

•6.5TF/sを200GF/sホストで予測•実行時間予測誤差(バンド数16K)

• 全体:約10%• 演算部分:約1%

2.51TFlops

予測(通信)

予測(演算)

予測(通信)

Page 22: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

性能予測にどの程度の時間が必要なのか?

ERI Open-FMO(984)

HPL(320K) PHASE(16K)

ホストマシン性能 50GFlops 200GFlops 200GFlops 200GFlops性能予測所要時間(秒)

505 12,120 2,520 2,400

6.5TFlopsターゲッ

トマシンでのオリジナルコード実行時間との比

0.55 0.34 0.58 7.14

Page 23: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 24: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

1.6TFlopsマシンで2.1PFlopsマシンの性能を予測する!

2.1PFlopsターゲット

– コア:スカラコア+16PE SIMD演算機構 (2GHz,64GFlops)

– 8コア/計算ノード (512GFlops/計算ノード)

– 4,096ノードを3Dトーラスネットワークで接続

• 合計 32,768スカラコア

• ピーク浮動小数点演算性能 2.1PFlops

1.6TFlopsホスト

– インテルXeon3.06GHz– 128ノード(2プロセッサ/ノード)

BSIM(on Real Machine)

スケルトンコード

並列プログラム

性能レポート

演算実行時間に関する情報

CPU Simulation

通信遅延時間に関する情報

Estimation(From Spec.)

Page 25: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

超高性能プロセッサPSI-SIMD• 高Flops,低消費電力アーキテクチャの追求

• スカラSPARCコア+最大32SIMD演算ユニット– SPARCにSIMD命令を追加

– メモリ階層:SIMD FP演算器-レジスタ-バッファメモリ(SBM)-メインメモリ

9mm

10mmPEPEPEPEPEPEPEPE

PEPEPEPEPEPEPEPE

ScalarCore

4MBL2$

45nmプロセスによる1コアのイメージ

L1-DキャッシュL1-Iキャッシュ

L2キャッシュ

SB

M T

ransfe

r Unit

MAC

インターコネクトインタフェース

RSS

RSA

RSE

RSF

デコ

ーダ

FPユニット

INTユニット

RSBR

メモリアドレス処理(TLB)

GPR/GUB

FPR/FUB

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

FB-DIMM

プロセッサコア 0プロセッサコア 1

プロセッサコア Ncore

SIMD処理部

スカラ処理部 CSE

SBMSIMD-PE 0SFPR/SFUB

SBMSFPR/SFUB SIMD-PE 1

SIMD-PE NPE

SIMD-PE 3

Odd SFPU

Even SFPU

マルチコア構成のイメージ[山村SWoPP’07]

Page 26: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

超並列化スケルトン・コードの開発~HPLの場合(1/3)~

• 高負荷計算カーネル検出– updateTTルーチン ∝ N3

– 全実行時間の90%以上

– 特に,dgemm/dtrsm関数による行列計算

• 高負荷計算カーネル抽出→dgemm/dtrsm– 実行処理フローを変えずにカーネル部以外

を除去

– 演算用配列の削除

– 転送の送受信先・メッセージサイズを再現

• PSI-SIMDコア向けdgemm/dtrsmの開発– SIMD向け計算アルゴリズム

– PSIM/WCVによる性能解析とチューニング

スケルトンコード作成

計算カーネルの抽象化(実行時間での置換え)

超並列化計算カーネル

抽出

HPLオリジナルコード

実行時間見積り

使用メモリ/通信の削減

超並列化スケルトンコード

PSIM

Page 27: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

超並列化スケルトン・コードの開発~HPLの場合(2/3)~

• PSIM(プロセッサシミュレータ)による実行サイクル数計測

• 8コアのメモリアクセス競合効果を机上評価して1コア実行サイクル数を補正

• 小規模実行や部分実行により得た詳細データに基づき性能式を導出

スカラコア

SIMD

zgemm

dgemmスケルトンコード作成

計算カーネルの抽象化(実行時間での置換え)

超並列化計算カーネル

抽出

HPLオリジナルコード

実行時間見積り

使用メモリ/通信の削減

超並列化スケルトンコード

PSIM

Page 28: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

if( curr != 0 ) {HPL_dgemm( HplColumnMajor, HplNoTrans, HplTrans,

mp, nn, jb, -HPL _rone, HPL_rone, L2ptr, ldl2, Uptr, LDU, HPL_rone,Mptr( Aptr, jb, 0, lda ), lda );

HPL_dlatcpy( jb, nn, Uptr, LDU, Aptr, lda );} else {

オリジナルコードの計算カーネル

スケルトンコード

if( curr != 0 ) {mx=((mp-1)/32+1)*4;nx=((nn-1)/4+1)*4;jx=((jb-1)/2+1)*2;estimate=3.14e-07+mx*(2.0e-09*jb +4.951e-09*nn+nx*(0.977e-12*((jb-1)/32+1)*32+4.1760e-11*jx);

BSIM_Add_time( estimate );HPL_dlatcpy( jb, nn, Uptr, LDU, Aptr, lda );

} else {

mx=((mp-1)/32+1)*4nx=((nn-1)/4+1)*4jx=((jb-1)/2+1)*2estimate=3.14e-07+mx*(2.0e-09*jb+4.951e-09*nn+nx*(0.977e-12*((jb-1)/32+1)*32+4.1760e-11*jx)

実行時間見積り式•使用配列サイズの縮小/削除

•仮想的な通信の実現

超並列化スケルトン・コードの開発~HPLの場合(1/3)~

スケルトンコード作成

計算カーネルの抽象化(実行時間での置換え)

超並列化計算カーネル

抽出

HPLオリジナルコード

実行時間見積り

使用メモリ/通信の削減

超並列化スケルトンコード

PSIM

Page 29: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

1.6TFlopsマシンで2.1PFlopsマシンの性能を予測する!

• HPL– プロセス数:4,096 (P=Q=64) – 問題サイズ:131万元– ブロックサイズ:512

• PHASE– プロセス数:4,096– 問題サイズ:65,536 (バンド数)– ブロックサイズ:512

通信遅延無し 通信遅延有り(3D-Torus)

実行時間 性能BSIM

所要時間実行時間 性能

BSIM所要時間

HPL 1,397秒 1.07PFlops 約6時間 1,478秒 1.01PFlops 約6時間

PHASE 165秒 0.6PFlops 約4.5時間 --------- --------- ---------

3桁小規模なホスト(1.6TF)でペタ

スケール・ターゲット性能(2.1PF)

を予測

HPL

3D-Torus: 1.02PFlops

Clos: 1.04PFlops

Page 30: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

発表内容• はじめに(「ペタスケール」を体感する!)• 従来のスパコン性能予測における限界

• 大規模システム性能評価環境PSI-SIM– プログラムコードの抽象化(スケルトンコード)

– 仮想超並列実行環境(BSIM)

• 「ギガ・フロップス・ホスト」で「テラ・フロップス・ターゲット」の性能を予測する!

• 「テラ・フロップス・ホスト」で「ペタ・フロップス・ターゲット」の性能を予測する!

• まとめと今後の展開

Page 31: 大規模システム評価環境PSI-SIMcpc.ait.kyushu-u.ac.jp/~koji.inoue/paper/2008/... · CPU Simulator 通信遅延時間 に関する情報 Real Machine or Net. Simulator 性能評価専用コードの導入

今後の展開

• スパコン向けSW開発環境の構築!!– 次世代スパコンの特徴とは?

• 世界に1つだけの「コンピュータ・システム」

• 無料では使えない!– ソフトウェア開発者にとっては?

• 事前にプログラム実行時間を把握したい

• 事前に十分なチューニングを行いたい

– 性能評価環境PSI-SIMをベースとしたソフトウェア開発環境の構築

• メニーコア向け性能評価環境への発展!!