東京工業大学(東工大)のスーパーコンピュータ(スパコン)「TSUBAME2.0」がスパコンの世界最大の国際学会 "ACM/IEEE Supercomputing 2011(SC11)において、その年にハードウェアとソフトウェアの開発において最高の成果をあげたプロジェクト及びそのメンバに付与される「ゴードンベル賞(ACM/IEEE Gordon Bell Prize)」の特別賞を受賞したことは既報のとおり。興奮冷めやらぬ11月21日、同大にて研究チームのスタッフなどが一堂に介し、会見を行った。

右手前から、東工大 学術国際情報センター 松岡聡教授、同大 遠藤敏夫 特任准教授、京都工芸繊維大学 大学院工芸家科学研究科 高木知弘 准教授、東工大 大学院総合理工学研究科 下川辺隆史 博士課程、東工大 学術国際情報センター 青木尊之教授、東工大 学術国際情報センター 額田彰 産学官連携研究員、東工大 大学院理工学研究科 山中晃徳 助教、東工大 大学院情報理工学研究科 鈴村豊太郎 客員准教授

同特別賞は「京」が受賞したPeak Performance Award(最高性能賞)と並ぶ本賞で、2件とも日本勢が受賞した結果となったが、今回の同大や京都工芸繊維大学などの共同研究チームが行ったのは低炭素社会の実現に向けた新規材料の研究。具体的には、「材料の性質はミクロな構造で決定され、そのミクロ構造は凝固過程が支配的である。凝固した後は調べれば分かるが、本当の新材料を生み出すためには、凝固途中でどういったことが生じているかを調べる必要がある」(東工大 青木教授)ということで、樹枝状結晶(デンデライト)と呼ばれる結晶の成長過程の演算を行った。

これまでにも2次元上での計算は行われたことはあるが、3次元になると演算の量が膨大に膨れ上がり、実際のさまざまな分野で活用できるレベルの特性を知るためには数mmサイズが必要だが、従来比で1000倍以上の大規模計算を実現する必要があった。

その手法として、Phase-Field法と呼ばれる材料のミクロ(分子)レベルとマクロ(製品)レベルの中間スケールで複雑な形状の時間変化をモデル化する理論を取り入れ、固体と気体界面を有限な厚さの拡散界面として扱いAl-Si合金に関する方程式を構築。方程式は非線形のため計算が複雑で時間がかかる「Allen-Cahn方程式」と、「溶質の濃度方程式」を連立させて2次精度の有限差分法を用いて演算を行った。

これまでの演算性能で3次元の計算を行おうと思うと、ほんの僅かな部分だけでも相当な時間を必要としていて実用的ではなかった

今回のAl-Si合金で用いた2つの方程式

19点のメモリ上のアドレスに相当する値を用いたPhase-Field変数の演算と、濃度の変数に対する7点の差分演算で、比較的シンプルなメモリアクセスになっているが、これを2次元分割して、それぞれの分割領域を各GPUに割り振ってそれぞれが演算を行うため、いくら2次元分割とはいえGPU間でデータのコピーなどが必要となり複雑化してしまう。最大の課題はGPUからGPUにデータをダイレクトに渡すことが出来ないという点。そのため、必要なデータをGPUからCPUに、CPUからQDR InfinibandのMPI通信で隣のノードのCPUに、そしてそのCPUからGPUに、という手順を踏む必要があり、どうしても通信と演算のオーバーラップが生じ、GPUでの演算が高速でも通信がボトルネックとなり高速化が阻まれるという問題があった。

2次精度有限差分法の概要

ここで研究チームは以下の3つのチャレンジを行い、通信時間の実質的な削減を目指した。

  1. GPUのみですべてを演算する方法(GPU Only method)
  2. GPUで大半を演算し、Y方向とZ方向の通信をCPUに任せるという方法(Hybrid-YZ method)
  3. GPUで大半を演算し、Y方向の通信のみCPUに任せる方法(Hybrid-Y method)

要はクリティカルな部分だけ先に計算して、ほかは後からでも良いという考え方である。GPUのみの演算は、GPUとCPUの計算を重ね合わせをせずに、3段階の通信が必要となるが。YZのハイブリッド演算はY方向とZ方向の通信をCPUで計算させて、それ以外をGPUでやらせる。すでに通信がCPU上にあるので、その1層だけをやらせるため、GPU-CPUの通信時間を短縮できる。

そしてYのハイブリッドはY方向だけをCPUで計算させて、Z方向の通信処理をGPUでやらせてみるというもの。Z方向はアドレスが連続的で、GPUで演算しやすいが、Y方向は不連続なためGPUでは苦手であり、GPUが得意なところとCPUの得意なところの演算を重ね合わせたものとなっている。

GPU単体による演算の後、CPU→隣のノードのCPU→同GPUという流れ

これをYZ方向の表面をCPUに処理させることで、GPU-CPU→CPU-GPUの遅延時間を隠蔽する

しかし、CPUパフォーマンスの問題からYZの2方向では逆に遅延が酷くなるため、連続的なアドレスのZ方向をGPUに任せることで遅延時間の隠蔽がより効きやすくなる

GPUを増加させていく強スケーリングでは、単位が増えていくと最終的にどこかで、通信に遅延が生じ、パフォーマンスが低下する。GPU単体に比べてYZハイブリッド、Yハイブリッドともにプロセッサ数が少ない内は良いが、プロセッサ数が増えてくるとYZハイブリッドのパフォーマンスがGPU単体を下回る。

これは通信処理の部分が隠し切れなくなったことを表しており、Yハイブリッドが結果的に一番良いという評価になった。最終的に飽和してしまうが、これは通信時間が本当に長すぎて、遅延が隠し切れない領域に突入したことを意味する。

強スケーリングによる3つの手法の性能差。Yハイブリッドが一番リニアな性能向上となっていることが分かる

実際にSPring-8での実験による成長過程と、同法による8000×8000×256の大規模演算を比べたところ、ほぼ同等の成長過程を確認することができたという。

実はこの時点は2011年の春の話で、ここまでで1PFlopsの演算性能を達成していたという。そこでさらにGordon Bell賞にacceptされたということで、さらなる高速化チューニングとして5つの改良が施された。

まずはNVIDIAが提供するCUDAのバージョンを3.2から4.0に変更。バージョンを変更しただけでGPUの演算時間は14%向上したという。

2つ目がコンパイラオプションとして「-pres-div=false」と「-ftz=true」を採用。3つ目がCPU側での「valloc」(関数)を用いることによるメモリの確保。4つ目が64ビットから32ビットへのコンパイルの変更によるレジスタ数などの低減。そして5つ目がCPU演算のSSEによる高速化である。

この5つのチューニングによりGPUの演算時間は従来比で50%、CPUが同27%、MPI時間が同60%までそれぞれ低減することに成功し、その結果、弱スケーリング(問題サイズは4096×6400×12800)にて2.0000045PFlops(GPU単体で1.975PFlops。4000GPUを用いて最大理論演算性能4.497PFlops。すべて単精度演算性能)を達成し、これは44.5%の演算効率となる。

5種類のチューニングによる性能上昇効果

弱スケーリングによる性能向上。問題サイズ4096×6400×12800で2PFlopsを達成した

青木氏は「たまたま2P超えられた」とするが、同演算のポイントはもう1つ、消費電力でも注目される成果を達成している。同2PFlops達成時の電力は約1.3MW。W当たり1468MFlopsで、比較用のLINPACKでは1.192PFlops(倍精度)、効率52.1%で827.8MFlops/Wであることを考えると、その高効率さが際立っており、「少ないエネルギーでこういう計算ができることを示せたことに意義がある」と説明し、「実用計算では性能が出せないのではないかと言われるGPUスパコンで44.5%を達成し、かつ、低消費電力で計算結果を得ることができた。これにより、昔からGPUが強いとされてきた粒子系以外の格子系でも性能を出せることが証明されたこととなり、今後、ほかのアプリケーションでもTSUBAME2.0上で成果を得られるようになるだろう」としたほか、京都工芸繊維大学 大学院工芸家科学研究科 高木知弘 准教授は「京都工芸繊維大学の方で非鉄系/鉄工系問わず共同研究などを進めており、今回の演算規模で成果を出せることが分かれば、そうした業界で興味を持つところは多いはずで、そういた意味ではスパコンの活用の方向性がこれから変わってくると思う」と実ビジネスでのPFlopsクラスのスパコン活用が進む可能性が出てきたとの見方を示す。

なお、最終候補5件に残り、Honorable Mention(奨励賞)を獲得したイタリアのConsiglio Nazionale delle Ricercheと東工大、ハーバード大学の共著による血流シミュレートによる梗塞に繋がる血栓の解析に関しては、格子系と粒子系の混合シミュレーションとなっている。液体を格子、赤血球を粒子とし、互いに影響しあう様子をシミュレーション上で確認し、カップリング型ながら演算性能600TFlopsを達成した。

また、このほか、TSUBAME2.0は大規模データ解析性能のランキング「The Graph 500」の2011年11月版において世界3位の性能を達成している。Graph 500とTOP500で行っている計算の性質は異なっており、「スパコンは多くの人が活用するもの、これ1台がそれを達成したというのではなく、そういう高い性能のスパコンを、さまざまな業界が購入して活用していくのは企業競争の観点から決して高い投資ではないはず。こうした解析技術などが普及して社会に活用されていくことを考えると、色々な対応の計算に対応する汎用性が重要。とくに血栓のシミュレーションのようなハイブリッド系はGraph 500とTOP500、双方で高い性能を兼ね備えていなければ達成できない。こうした技術の開発を進めることで、やがてCTから心筋梗塞の予測が普通の病院単位でできるようになるという期待がでてくる」とTSUBAME2.0のハードウェアを担当する同大 松岡教授はこの成果を強調。「これから3~5年経てば、こうした最先端と言われる技術も普通に一般に普及する。今、世界1位や5位のスパコンが世に広まるときに、そうした技術も一緒に広まっていく。計算機が世界最先端の計算を実現できるからこそ、その成果も波及していくという考えが重要。今後はGraph 500でさらに上位を目指すことで、メニーコア型のアーキテクチャがこのまま進化していってもBig Dataに適しているという証明の研究につながる。Green 500もランクは落としたが、PFlopsクラスの巨大なシステムとしては依然トップを維持していることも重要。我々としても電力を抑えつつ、高い性能を発揮することを目指しており、2015年ころには京の数倍の性能を出せるスパコンを2MW程度までで作れると思っている」と高性能、低消費電力、高汎用性を世界のトップクラスで実現する次世代スパコンの実現に向けた研究を推進していくとした。

今回のTSUBAME2.0を活用した成果を記念した集合写真。青木教授が手にしているのが「Special Achievement in Scalability and Time-to-Solution Award」、遠藤特任准教授が手にしているのが「Honorable Mention」、それぞれの表彰盾