計算科学が拓く世界 スーパーコンピュータは 何故スーパーか

Slides:



Advertisements
Similar presentations
1 広島大学 理学研究科 尾崎 裕介 石川 健一. 1. Graphic Processing Unit (GPU) とは? 2. Nvidia CUDA programming model 3. GPU の高速化 4. QCD with CUDA 5. 結果 6. まとめ 2.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
HBSP モデル上での 行列積を求めるアルゴリ ム 情報論理工学 吉岡健太.
1 関西大学 サマーキャンパス 2004 関西大学 物理学教室 齊 藤 正 関大への物理 求められる関大生像 高校物理と大学物理 その違いとつながり.
放射線の計算や測定における統計誤 差 「平均の誤差」とその応用( 1H) 2 項分布、ポアソン分布、ガウス分布 ( 1H ) 最小二乗法( 1H )
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
キャッシュ付PRAM上の 並列クィックソートと 並列マージソート
CPUについて HN:セシル.
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
Chapter11-4(前半) 加藤健.
Intel AVX命令を用いた並列FFTの実現と評価
ラスタグラフィックス (raster graphics)
スーパーコンピュータの ネットワーク 情報ネットワーク特論.
久保幹雄 東京海洋大 宇野 毅明 国立情報学研究所 藤澤 克樹 中央大学 宮本 裕一郎 上智大学
全体ミーティング (4/25) 村田雅之.
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
AllReduce アルゴリズムによる QR 分解の精度について
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
コンピュータの主役はCPU(Central Processing Unit)
情報とは ? 何かを知ること,知らせること その内容 形式 伝達手段 過去・現在・未来
P,Q比が変更可能なScaLAPACKの コスト見積もり関数の開発
分散遺伝的アルゴリズムによる各種クラスタのベンチマーク
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
計算機システムⅡ 命令セットアーキテクチャ
スーパーコンピュータの ネットワーク 情報ネットワーク特論 2011年11月22日.
首都大学東京 都市教養学部数理科学コース 関谷博之
画像工学 2011年10月6日 担当教員 北川 輝彦.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
ネットワーク性能に合わせた 分散遺伝的アルゴリズムにおける 最適な移住についての検討
スパコンとJLDG HEPの計算環境 HEPnet-J
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
正方行列向け特異値分解の CUDAによる高速化
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
SpectreとMeltdown ITソリューション塾・第28期 2018年5月30日 株式会社アプライド・マーケティング 大越 章司
CPUの仕組み 1E16M002-5 阿部知也 1E16M007-3 伊藤達哉 1E16M026-9 小島祥太郎 1E16M069-8 峰晴晃優 1E16M070-0 宮路暁久 1E14M070-5 南元喜.
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
高速剰余算アルゴリズムとそのハードウェア実装についての研究
MPIを用いた最適な分散処理 情報論理工学研究室 角 仁志
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
#6 性能向上、ブレイクスルー、集中と分散 Yutaka Yasuda.
コンピュータの歴史 〜計算速度の進歩〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータの歴史 ~1945年からの実用過程~ メンバー:秋田梨紗 (1E16M001-1) 梅山桃香 (1E16M010-2)
通信機構合わせた最適化をおこなう並列化ンパイラ
最新 IT トレンド ARM.
スーパーコンピュータ「京」 理化学研究所 計算科学研究センター
前回の授業への質問 質問:プロトコルアナライザで測定できる範囲はどこまでか?
目的:高速QR分解ルーチンのGPUクラスタ実装
量子コンピュータ 株式会社アプライド・マーケティング 大越 章司
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
ARM、IoT、AI 株式会社アプライド・マーケティング 大越 章司
シミュレーション物理 大槻東巳.
より詳しく書けば 遅延時間が無視できない場合の TCPのスループットの低下について
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
コンピュータ・ネットワーク工学科 後藤 滋樹
基本情報技術概論(第13回) 埼玉大学 理工学研究科 堀山 貴史
パイプラインとは何か? マイクロプロセッサ(MPU)の高速化手法の一つのこと。
コンピュータ概論B ー ソフトウェアを中心に ー #00 概要説明
理工学部情報学科 情報論理工学研究室 延山 周平
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
情報論理工学 研究室 第1回:並列とは.
分散メモリ型並列計算機上での行列演算の並列化
2008年 7月17日 応用数理工学特論 期末発表 鈴木綾華,程飛
Presentation transcript:

計算科学が拓く世界 スーパーコンピュータは 何故スーパーか 学術情報メディアセンター 中島 浩 http://www.cs.kyoto-u.ac.jp/ 提供科目>計算科学が拓く世界>後期#3

講義の概要 目的 内容 計算科学に不可欠の道具スーパーコンピュータが について雰囲気をつかむ スーパーコンピュータの歴史を概観しつつ © 2013 H. Nakashima 目的 計算科学に不可欠の道具スーパーコンピュータが どうスーパーなのか どういうものか なぜスーパーなのか どう使うとスーパーなのか について雰囲気をつかむ 内容 スーパーコンピュータの歴史を概観しつつ スーパーである基本原理を知り どういう計算が得意であるかを学んで それについてレポートを書く

どのぐらいスーパー? (1/2) は の180万倍も高速 速さの単位=FLOPS (フロップス) © 2013 H. Nakashima は の180万倍も高速 速さの単位=FLOPS (フロップス) =FLoating-point Operations Per Second =浮動小数点演算毎秒 =1秒間に実行可能な浮動小数点数の加減乗算回数 浮動小数点数 10-308~10308の実数を近似的に(10進16桁精度)表現したもの 2.99792458...×108(m/s), 9.1093829140...×10-31(kg) 11.5 P(ペタ 1015)FLOPS (1.15 ) ÷ 6.4 G(ギガ 109 ) FLOPS (64億) =1,797,120 http://www.aics.riken.jp/jp/k/system.html

どのぐらいスーパー? (2/2) = ×180万と = ×3は話が違う 同じ土俵で比べるなら 180万倍を細かく見ると © 2013 H. Nakashima = ×180万と = ×3は話が違う 同じ土俵で比べるなら N700系 : 300km/h×1323人=396,900人・km/h ÷B767-300 : 880km/h× 270人=237,600人・km/h =1.67 (倍も新幹線は飛行機より高速) 180万倍を細かく見ると : 2.0GHz×8×8×88,128 ÷ : 1.6GHz×2×2×1 =1,797,120 ここがスーパー Core i7なら 3.3GHz×8×6も Atom 330

スーパーコンピュータ (スパコン) とは (1/2) © 2013 H. Nakashima パソコンの数千倍~数万倍の規模・性能を持つ 巨大な超高速コンピュータ 世界最大・最高速マシン ≒パソコン x 550万 京大スーパーコンピュータ ≒パソコン x 9万 パソコンで1ヶ月かかる計算=0.5秒~30秒 (ただしスパコン向きの問題をうまくプログラムしたら) スパコンが高速な理由 個々の部品(CPU, メモリなど)≒パソコン 非常に多数のパソコン(のようなもの)の集合体 パソコン = 1~16 CPU 京大スパコン = 40,208 CPU 世界最高速スパコン = 3,120,000 CPU 世界最大規模スパコン = 3,120,000 CPU

スーパーコンピュータ (スパコン) とは (2/2) © 2013 H. Nakashima スパコンが得意な計算=大量CPUによる分担計算 =超大量のデータを対象とする計算 地球全体の気象・気候・海洋現象の予測 1km2 あたり1データ データ数≒5億(x 高さ方向) 生体物質・化学物質・材料の解析 膨大な分子・原子数 (e.g. 水1ml = 3.3 x 1兆 x 100億) 自動車の空力・衝突解析 1mm2 or 1cm3 あたり1データ データ数=1~10億 Web 文書の解析 (自動翻訳用データ作成など) 文書数=数億~数10億

スーパーにする方法 © 2013 H. Nakashima リフトの輸送能力≒コンピュータの速度 + + × + ー

スーパーにする方法:~1970 移動速度≒周波数 移動速度 周波数 危ない 機械力学的に無理 特に危なくはない © 2013 H. Nakashima 移動速度≒周波数 移動速度 危ない 機械力学的に無理 周波数 特に危なくはない 電子工学的に無理ではない? + + × + ー

スーパーにする方法:周波数の歴史 熱密度が高すぎて (>電磁調理器) 周波数頭打ちに 1.35倍/年で 伸びてきたが 1G © 2013 H. Nakashima 1G Core i PIV 1G PII PIII P 熱密度が高すぎて (>電磁調理器) 周波数頭打ちに 100M 486 386 10M 86 1.35倍/年で 伸びてきたが 186/ 286 1M

ちょっと話を変えて:スーパーコンピュータの歴史 そもそもの始まり:ベクトルマシン (1) © 2013 H. Nakashima 1976年:最初のスパコンCray-1登場 動作周波数=80MHz (< 携帯電話) 演算性能=160MFlops (< 携帯電話) 消費電力=115kW 大量の数値データ(ベクトル)に対する同種演算が得意 1976年(中島=20歳)での「スーパー」度 最速@京大(富士通 F230-75) < 5MFlops 最速@京大情報工学科(日立 H8350) < 1MFlops Intel 8086/87(1978/80) ≒ 50KFlops

スーパーコンピュータの歴史 そもそもの始まり:ベクトルマシン (2) © 2013 H. Nakashima 1.98m 1.37m 2.74m source: http://en.wikipedia.org/wiki/Image:Cray-1-p1010221.jpg

搬器数≒(命令/演算)パイプライン 少し話を戻して スーパーにする方法:1970~ z=x+y (加算命令) の手順 © 2013 H. Nakashima 搬器数≒(命令/演算)パイプライン z=x+y (加算命令) の手順 命令を取ってくる 加算だと判る x と y を取ってくる 加算をする 結果を z に入れる これを1つずつずらして行う + × ー + + + + + + + + + + × + ー

スーパーにする方法:ベクトル計算の原理 (1) © 2013 H. Nakashima 大量数値データの同種演算を高速に行う方法 例: zi  xi  yi (i  1, 2, ...) 1つの乗算をいくつか(たとえば4つ)の小さい操作に分ける 多数の乗算を1小操作ずつずらして行う 4倍の速度で計算できる (ように見える) (演算)パイプライン処理 zi  xi  yi z1  x1  y1 z2  x2  y2 z3  x3  y3 z4  x4  y4

スーパーにする方法:ベクトル計算の原理 (2) © 2013 H. Nakashima 乗算を4分割してずらす考え方(たとえ話≠真実) 2 3 1 4 X 5 8 4 8 1 8 5 1 2 9 2 5 6 1 2 7 1 8 5 1 2 2 6 9 1 7 1 1 5 7 2 3 5 1 7 1 3 5 3 2 2 7 2 +2314x8 +2314x4 +2314x5 +7872x2 +7872x5 +7872x7 +7872x6 +1778x2 +1778x4 +1778x1 +1778x7 +8385x1 +8385x5 +8385x6 2314x5848=13532272 7872x6752=53151744 1778x7142=12698476 8485x1651=13843635

スーパーコンピュータの歴史(に戻って) もう一つの方法:並列マシン © 2013 H. Nakashima 1980年代: スカラーマルチプロセッサ台頭 多数のパソコン(のようなもの)の集合体 Sequent Balance : 20 x NS32016 (’84) Intel iPSC/1: 128 x i80286 (’85) 共有メモリ (SM) 分散メモリ (DM) メモリ 結合網 キャッシュ プロセッサ 共有&分散メモリ階層型

座席数≒スーパースカラー/SIMD また話を戻して スーパーにする方法:1990~ =2GHz×8×8×88128 同時にできる © 2013 H. Nakashima 座席数≒スーパースカラー/SIMD =2GHz×8×8×88128 加減算を4つと 乗算を4つが 同時にできる 同時にできる演算って? + + + + + + × + ー

スーパーにする方法:並列演算 © 2013 H. Nakashima 3元連立一次方程式 同時にできる加減算 同時にできる除(乗)算

スーパーにする方法:2000~ (1980~) リフト数≒マルチコア/共有メモリ並列マシン =2GHz×8×8×88128 並列計算 + © 2013 H. Nakashima リフト数≒マルチコア/共有メモリ並列マシン + + + + =2GHz×8×8×88128 並列演算 並列計算 × + ー × × + × ー + ×

スーパーにする方法: のプロセッサ 共有メモリ 16GB L2: 6MB SPARC 64 VIIIfx スーパーにする方法: のプロセッサ © 2013 H. Nakashima SPARC 64 VIIIfx 共有メモリ L2: 6MB 16GB L1 32KBx2 http://www.aics.riken.jp/jp/k/system.html + × CPUコア

スーパーにする方法 京大スパコンのプロセッサ © 2013 H. Nakashima Camphor Laurel Cinnamon Interlagos L2: 2MB L3: 8MB 16GB 16GB 16KB+32KB L1 + × 16GB 16GB Sandybridge L3: 20MB L2 512KB 32GB 32GB L1 32KBx2 + × 384GB 384GB 384GB 384GB

スーパーにする方法:連立方程式の並列計算 © 2013 H. Nakashima 1行目担当の コアが書いて i 行目担当の コアが読む

スーパーにする方法:1980~ リフト数≒超並列コンピュータ =2GHz×8×8 ×88128 分散メモリ 共有メモリ © 2013 H. Nakashima リフト数≒超並列コンピュータ =2GHz×8×8 ×88128 共有メモリ + + 分散メモリ + + + + + + + + + + + + + + + + + + + + + + + + + ー × + ー × + ー × + ー × + ー × + ー × + ー × + ー × + ー × + ー × + ー × + ー ×

スーパーにする方法: の全体像 102×24×36=102×864=88,128 4 4×12 冷蔵庫 603ℓ 6 4×12 スーパーにする方法: の全体像 © 2013 H. Nakashima 740 729 4 冷蔵庫 603ℓ 4×12 1818 6 http://www.aics.riken.jp/jp/k/system.html 4×12 102×24×36=102×864=88,128 48+48+6=102 京計算機室 60m x 50m 36 (60m) 京大体育館 56m x 54m 24 (50m)

スーパーにする方法: の通信路 (1/2) 6次元メッシュ/トーラス結合網 Tofu 2次元メッシュ 2次元トーラス (ドーナツの表面) スーパーにする方法: の通信路 (1/2) © 2013 H. Nakashima 6次元メッシュ/トーラス結合網 Tofu って意味不明~ 2次元メッシュ 2次元トーラス (ドーナツの表面)

スーパーにする方法: の通信路 (2/2) 6次元メッシュ/トーラス結合網 Tofu 24×18×(16+1)×2×2×3 =88,128 スーパーにする方法: の通信路 (2/2) © 2013 H. Nakashima 6次元メッシュ/トーラス結合網 Tofu y=18 (メッシュ) z=16+1 (トーラス) x=24 (トーラス) 24×18×(16+1)×2×2×3 =88,128

スーパーにする方法 京大スパコンの全体像 (1/3) © 2013 H. Nakashima Camphor y=6 z=8 XE6 2×(10×8×6ー10)=940 x=10

スーパーにする方法 京大スパコンの全体像 (2/3) © 2013 H. Nakashima Laurel GreenBlade 8000 24×26ー23=601

スーパーにする方法 京大スパコンの全体像 (3/3) © 2013 H. Nakashima Cinnamon 2548X

スーパーにする方法:連立方程式の並列計算 © 2013 H. Nakashima 1行目担当の プロセッサから 全てのプロセッサへ 通信 (放送)

スーパーコンピュータの歴史(にまた戻って) ベクトル vs 並列 © 2013 H. Nakashima 1990年代:ベクトル並列 vs スカラー並列 TOP-10 of @ 1993.6 machine #proc Rmax Rpeak TMC CM-5 1024 59.7 131.0 544 30.4 69.6 512 65.5 NEC SX-3 4 23.2 25.6 20.0 22.0 256 15.1 32.8 Intel Delta 13.8 20.5 Cray Y-MP 16 13.7 15.2 巨大で(>100万元)密な連立 一次方程式の求解性能に 基づく世界中のスパコン順位表 1993.6から毎年2回発表 (6月&11月) Rmax: 求解性能 Rpeak: 理論最大性能 (単位GFlops:毎秒10億演算)

スーパーコンピュータの歴史 Top 1 of 108 107 Rpeak 106 #CPU ; GFLOPS 105 #CPU 104 © 2013 H. Nakashima Tianhe2 BGQ Titan 108 K Tianhe Jaguar 107 ベクトルマシン Roadrunner Rpeak スカラーマシン BGL Peta=1015 106 ES XE6+ GB8K 105 ASCI-W HX600 ASCI-R #CPU ; GFLOPS XP/S140 #CPU CP-PACS 104 SR2201 HPC2500 CM5 Rmax Tera=1012 103 VPP800 102 x419000/19年=x1.91/年 >Moore の法則 (x1.58) NWT VPP500 101 source: http://www.top500.org/

スーパーコンピュータの原理 (いきなり&とりあえず) まとめ © 2013 H. Nakashima ベクトルマシン 1つの演算を k 個の小さい操作に分割する 多数の同種演算を1小操作ずつずらして行う k 倍の速度で計算できる(ように見える) 大量 (≫k) の同種演算が得意 並列マシン 多数の同じ(ような)演算を p 個のCPUに分割 それぞれのCPUが割当てられた計算をする p 倍の速度で計算できる(ように見える) 大量 (≫p) の同じ(ような)演算が得意 スパコンは大量の同じ(ような)演算(や処理)が得意

スーパーコンピュータの原理 大量同種演算は何でも得意か? (1/2) © 2013 H. Nakashima 超得意 zi  xi  yi 普通に得意 zi  (xi1  2xi  xi+1) / 4 微妙に得意 z  x1  x2  …  xn 何とかなる zi  xf(i) s.t. z1  z2  …  zn 全然ダメ z1  f(x1,0), zi  f(xi ,zi1) +

スーパーコンピュータの原理 大量同種演算は何でも得意か? (2/2) © 2013 H. Nakashima 京大スパコン (Camphor) の通信速度 320GFlops 320GFlops 9.3GB/sec =74.4Gbit/sec =200Mbit/sec×372 2μsec 21.9TB/sec=17.5Tbit/sec=200Mbit/sec×874,000 1個の数値(8B)の通信時間=2μsec =640,000個分の演算時間 10億個の数値(8GB)の通信時間=0.86秒 =2,752億個分の演算時間 では×1.1億

まとめ&課題 スーパーコンピュータは ... そんな都合のよい問題はあるのか? そこでレポート課題 © 2013 H. Nakashima スーパーコンピュータは ... 大量の同じ(ような)演算(や処理)が得意 ただし演算どうしの依存性が少ないことが必要 そんな都合のよい問題はあるのか? そこでレポート課題 (できればスパコンに適する大規模な)並列計算に より高い性能が期待できる実際的な問題を一つ挙げ、なぜその問題が並列計算に適するのかを説明せよ。