11th Symposium

学際大規模情報基盤共同利用・共同研究拠点公募型共同研究 平成31年度採択課題

jh190042-NAH
中島研吾（東京大学情報基盤センター）

高性能・変動精度・高信頼性数値解析手法とその応用
Large-scale Simulations by Advanced Numerical Methods with High-Performance/Adaptive-Precision/High-Reliability

岩下武史1，深谷猛1，中島研吾（代表）2,7，市村強（副代表）2，奥田洋司2，古村孝志2，塙敏博2，伊田明弘2，近藤正章2，坂本龍一2，藤田航平2，星野哲也2，有間英志2，森田直樹2，横田理央（副代表）3，荻田武史4，尾崎克久5，片桐孝洋6，八代尚7，河合直聡7，井上弘士7 ，大島聡史7，荒川隆9，堀越将司10，成瀬彰11，G. Wellein12，A. Basermann13 ，O.A. Marques14
1: 北大，2: 東大，3: 東工大，4: 東女大，5: 芝工大，6: 名大，7: 理研 R-CCS，8: 九大
9: RIST，10: Intel，11:NVIDIA，12: FAU, Germany，13: DLR, Germany, 14: LBNL, USA

本研究の背景と目的2014年度研究成果の概要

エクサスケール⇒ポストムーア時代

3D不均質場ポアソン方程式（1）• スーパコンピューティングの質的な変化・多様化：（計算＋データ＋学習）融合により，「知的」な計算科学へ• 単位面積あたり消費電力・計算性能が不変• 多様なWorkload，多様なHW：CPU，GPU，FPGA，量子，専用プロセッサ等• 消費電力すなわち計算時間・計算量の削減が大きな課題• 有限体積法・ICCG• 倍精度・単精度• 条件数（l1/l2）と反復回数・計算時間の関係（単精度と倍精度の比）• Intel Broadwell-EP 1ノード
• 不均質性が低いと倍精度と比較して反復回数は増加するが，単精度でも収束，計算時間は倍精度の約50%• 消費電力（Joule）も比例して減少• 不均質性が高いと単精度で収束悪化• 低・変動精度演算：計算量・計算時間・消費電力・メモリ容量・I/O削減• 科学技術計算の多くは倍精度（64bit）で実施されているが，条件の良い問題であれば，単精度（32bit）・半精度（16bit），混合精度でも可能• 我々は不必要に高精度な計算を実施して貴重な時間やエネルギーを無駄にしている・・・かも知れない• 昨今，低精度演算の活用は盛ん① 混合精度演算の研究，アプリへの適用は既に行われている② Approximate Computing：省電力のための研究，元々は画像処理，FPGAを含むハードウェア，システムソフトウェア，コンパイラ③ ポストムーア時代へ向けた重要な技術の一つ

本研究の目的• 低・変動精度演算：計算量・計算時間・消費電力・メモリ容量・I/O削減• 通信最適化（Serial：メモリ階層, Parallel：分散）による高性能アルゴリズムの開発• 低・変動精度演算の採用による省電力・省エネルギーの実現（半精度・単精度・倍精度・4倍／倍々精度）• 精度保証による高信頼性アルゴリズムの実現① 数値計算による近似解（数値解）は様々な計算誤差を含み，計算結果の信頼性の観点から，数値解の正しさを数学的に保証する必要がある（精度保証）。
② 低精度・変動精度使用時，悪条件問題には重要であるが，実問題で現れる大規模疎行列・H行列への応用例はほとんどない。

本研究の概要と意義
実施内容① 疎行列演算，H行列演算，ステンシル演算等の代表的数値アルゴリズム，各アプリケーション（地震，大気科学，量子科学，構造力学）について，Serial・Parallel通信最適化に着目した高性能最適化手法を各システムにおいて実装し，低精度演算・変動精度演算について検討し，消費電力を測定する。
② 疎行列演算やH行列演算を対象として，特に悪条件問題における実用的な精度保証法を確立する。
③ 更に①の各アルゴリズム，アプリについて所望の結果精度達成のために，計算時間・消費電力を最小化する最適な演算精度を自動チューニング技術によって動的に制御する手法を確立する。
④ 開発された高性能・変動精度・高信頼性数値解法を，自動チューニング機構を有するアプリケーション開発・実行環境ppOpen-HPC及びpK-Open-HPCに実装し，東大Oakforest-PACS（OFP），東大Reedbush（RBU，RBH，RBL），東工大Tsubame-3（TSB3），東大次期システム（Oakbridge-II（OBII））等で公開する。
⑤ 将来的には，他のセンターのスパコンへの導入も視野に入れる。

研究の意義• 最先端のスパコン向けに開発された高性能数値アルゴリズムに対して，半精度から倍精度，倍々精度までの広範囲をカバーする変動精度演算を適用し，精度保証，そのための自動チューニング手法を開発する試みとしては初めてのものである。
• 開発された手法を様々なアプリケーションに適用することで，低精度を中心とした変動精度演算の科学技術シミュレーションへの有効性を検証できる。
• 開発したアルゴリズム，アプリケーションの消費電力の直接測定によって，各計算の特性と変動精度演算の有効性を消費電力の観点から検討可能となる。

•••

JHPCNの中でも消費電力当たり計算性能の高いシステム（Oakforest-PACS（OFP），
Reedbush（U/H/L），Tsubame-3等）を使用
1年目：Intel Xeon Phi（KNL）・NVIDIA P100向け最適化，実装及び精度評価
2年目：精度保証手法の確立
3年目：自動チューニング手法の確立，ppOpen-HPC等へ実装・公開

消費電力・エネルギー測定については，2018年度は低精度演算の効果の確認のための予備的評価が中心であったため，2019年度は各アルゴリズムについて，演算精度，最適化，アーキテクチャの消費電力・エネルギーへの影響について，体系的に評価を実施する。

NZIterations

2 2Ratio      f  0

sec.

2.50

+20%
単精度演算による反復回数増加

2.00

11

1.50

1.00

Intel Xeon BDW
Single Node:18cores x 2soc’s(Reedbush-U)

0.50-50% 単精度演算による計算時間減少
0.00
1.E+00• （1）と同じ問題• 単精度ソルバー＋半精度前処理：収束解が得られる範囲を表示（単精度前処理では全て解けている）• NVIDIA V100（Volta）• 問題規模が大きく（NZ⇒大），不均質性が高くなると半精度で解ける問題の範囲は限定される

3D不均質場ポアソン方程式（精度保証）

1.E+01

1.E+02

1.E+03

1.E+04

1.E+052048[Hoshino 2018]

1024
512
256
128
6432
1684

l1/l2=1.01+3
l1/l2=1.01+2
l1/l2=1.01+1
l1/l2=1.01+02
1.E-04

1.E-02

1.E+00

1.E+02

1.E+04

RHS• 実問題（悪条件問題）では精度保証が重要：近年のApprox.
Computingに関する研究で，精度保証にまで立ち入った例はな
い：計算できればOK• 精度保証の研究：密行列中心，精度保証には求解の数倍の時間がかかる• 本研究で目指す精度保証手法（対象：疎行列，H行列）① 高速・正確・悪条件に対応② ATによる最適精度選択• 荻田等による既存手法を三次元不均質場ポアソン方程式ソルバ（ICCG法）に適用，現実的な時間で精度保証が可能なことは確認されたが，悪条件問題向けにより精密な手法が必要[Ogita 2018]2019年度研究計画
実施項目

担当者

概 要
•

ステンシル計算

深谷・岩下・古村・成瀬・八代・荒川••1.E+06

Lambda-1/Lambda-2
4016

3D不均質場ポアソン方程式（2）差分法コード・地震波動伝播コードSeism3D（構造格子），全球大気計算
コードNICAM（非構造格子）を対象として，倍精度，単精度，半精度，混合精度における計算の安定性・実行時間の評価，各CPU，GPUでの消費電力測定
ループタイリング等の最適化による消費電力への影響評価

疎行列演算：
ppOpen-MATH，pK-Open-SOL（悪条件），Adaptive
CG

岩下・中島・星野・塙・大島・奥田・森田・
Wellein・河合・•伊田・
Basermann・•
市村・藤田・堀越・成瀬•

ppOpen-MATH，pK-Open-SOL，Adaptive CGともに，反復改良法適用による低精度・変動精度演算の安定化，反復法前処理に対する低精度演算（特に半精度）の適用の検討，様々な手法（Pipeline法，Dynamic LoopScheduling，hCGA法，SELL-C-）の各演算精度による影響について，安定性・実行時間の評価，各CPU，GPUでの消費電力測定を実施する。特にAdaptive CGでは半精度演算の実用化に重点を置く。
半精度演算については〔Ichimura SC18〕で提案された21ビット浮動小数点表現（FP21）のMPI通信への導入を検討する。
悪条件問題については，Pipeline法における倍々精度演算導入，演算精度自動切替手法を研究する。
国際会議発表時の指摘に基づき，大規模分散並列問題で局所的・動的に演算精度を変動，動的に負荷分散を適用する手法をppOpen-HPCに基づき開発し，不均質場地下水流れ問題等により検証する。

H行列演算：HACApK伊田・岩下・横 •田・星野・塙・大島・河合・Basermann•低精度・変動精度演算に関する検討を継続して実施し，悪条件問題向けの前処理手法の開発，電磁気学，地震発生サイクル等シミュレーションによる性能検証，精度評価，電力測定を実施する。
悪条件問題を中心とした精度保証手法について検討を実施する。

精度保証手法•荻田・片桐・尾崎・奥田・横田・
井上・近藤・森田・堀越・成瀬 •疎行列演算（反復解法）については，2018年度研究で問題となった誤差上限の見積もりについてより精密な判定を実施する手法の研究開発を実施するとともに，悪条件問題に対して反復改良法と組み合わせた精度保証手法の研究開発を実施する。
H行列については，悪条件問題を中心とした精度保証の研究開発を実施する。

消費電力測定・自動チューニング

各項目と連携して，アルゴリズム，実装手法，問題規模，諸パラメータ，演算精
近藤・井上・坂度，アーキテクチャと消費電力，計算時間，計算結果の関係を体系化し，所望本・有間・塙・片の計算精度を得るための最適パラメータ設定を自動的に決定する手法の検討
桐・荻田・横田・ を実施し，2020年度に予定するppOpen-HPC/pK-Open-HPCへの実装の準Marques
備を行う。

実施内容：3年計画•[Nakajima 2018]
3.00

11

NZ

低・変動精度演算による新計算原理の必要性  0@ z  zmax

学際大規模情報基盤共同利用・共同研究拠点 第11回シンポジウム
2019年 7月 11日，12日

THE GRAND HALL （品川）