Topics
    イベント情報
    Menu

    IBM POWER8セミナーレポート

    2016年07月08日


    セミナーレポートメインビジュアル

    セミナープログラム

    1. 基調講演・HPC性能検証事例紹介
      • 大規模マルチスレッド解析 2016年5月27日(金)
        電気通信大学 量子科学研究センター 准教授 森下 亨 様
      • 有限要素法(FEM)による弾塑性解析 2016年6月3日(金)
        大阪工業大学 工学部 准教授 倉前 宏行 様
      • 大規模流体解析 2016年6月10日(金)
        「HPCの産業利用の現状とその将来展望」
        東京大学 生産技術研究所 教授 加藤 千幸 様
    2. HPC取り組みの最新動向
      • IBM Data Centric Computingの取り組み
        ~数値シミュレーション、ディープラーニング、ビッグデータ解析のためのIT基盤~
        日本アイ・ビー・エム株式会社 ハイエンド・システム事業部 DCCシステムズ
        技術理事 HPC&HPA、工学博士 清水 茂則 様
      • NVIDIAのGPU Computingの取り組み
        ~GTC 2016最新情報とIBM POWER®を加速するNVIDIA GPUコンピューティング~
        エヌビディア合同会社 エンタープライズソリューションプロダクト事業部
        シニア ソリューションアーキテクト 平野 幸彦 様
      • IBM Power Systemsに対して思う事
        ビジュアルテクノロジー株式会社
        佐々木 圭司 / 荒川 貴道

    1.基調講演・HPC性能検証事例紹介

    ■大規模マルチスレッド解析

    2016年5月27日(金)

    電機通信大学 量子科学研究センター 准教授 森下亨 様

    160527_160610_morishita電気通信大学の森下准教授は、専門が理論物理で、アト秒(10のマイナス18乗秒)単位での原子・分子と光の振舞い(物理:気相)が研究対象だという、研究分野の紹介から講演が始まりました。

    「スーパーコンピューターの京は、1秒間に10の16乗(10P flops)の浮動小数点演算を行っています。逆数で見ると、100アト秒に1回の演算を行っています。私たちの研究では100アト秒の間に、自然界では何が起こっているかというような速い動きを見たいのです。そして、速い動きを見ることで新しい発見があるのです。」

    速い動きを見る例として、1870年代にあった馬の疾走中に、4脚共に宙に浮いている瞬間があるかどうかの賭けに関するエピソードが紹介されました。「当時の人々は、馬の4脚が同時に宙に浮く瞬間は無いと考えていました。富豪のスタンフォードの依頼を受けた写真家のマイブリッジは、5年の歳月をかけて、4脚共に宙に浮いている馬の1/1000秒の超高速写真撮影に成功しました。レーザー光線でも短パルス化が進んでいて、21世紀に入ってからパルス幅はアト秒領域に入り、2012年には67アト秒のストロボが開発されて、分子の回転・振動の状態や、原子・分子内の電子の動きを詳細に見ることができるようになっています。」

    IBM POWER8(24コア)とIntel Xeon(16コア)の性能比較

    「原子・分子内での電子の動きは量子力学の基礎方程式であるシュレーディンガー方程式に従い、波動関数で記述されます。波動関数を基底関数系で展開すると、シュレーディンガー方程式は行列×ベクトルの形で表されます。これを数値的に解く際に、ブロック行列を3次元配列に入れて、行列xベクトルの繰り返し計算を行います。
    性能比較検証に使ったプログラムは、パフォーマンス測定のために作ったプログラム(ベンチマーク用プログラム)ではありません。実際の研究に使っている大規模マルチスレッドアプリケーション用のプログラムによって、HPCシステムのパフォーマンスを測定しました。」

    ブロック実行列X複素ベクトルの計算

    • 比較1「openmpでのループ」
      計算:NT=8001,NL=401,N=6000を、NT=201,NL=101,N=3000に変更し、同じプログラムで、NUM_THREADSを変更し、DirectとTrans(転置)で計算した。
    • 比較2 「openmpでのループを外側で回す」
    • 比較3 「essl/Intel BLAS」
    • 比較4 「essl/Intel BLAS+openmpでのループを外側で回す」
    • 比較5 「essl/Intel BLAS」
      計算:NT=201⇒20001,NL=101⇒1,N=3000に変更、行列のサイズを変更、ただし演算回数は同じ。
    • 比較6 「essl/Intel BLAS」
      計算:NT=201⇒21,NL=101⇒401,N=3000⇒6000に変更、行列のサイズを変更、演算回数は1.6倍

    計算性能についての考察

    POWER8は、Esslには非常に良くチューニングされていて、1ブロックでは劇的に速い。
    ブロック数や行列サイズ(プログラムの内容)に依存性が見られる。
    計算規模を大きくする(データサイズ、並列数を増やす)と高い性能が出る。
    プログラムの内容によって、コンパイラ、オプション、ライブラリの影響がある。

    基調講演後にはQ&Aが30分も続き、HPCシステムを使った演算のアルゴリズムや改善について、細部にわたる熱心な討議がありました。森下准教授は、「POWER8の性能を引き出すためにはチューニングや工夫が必要ではあるが、大規模で精緻な数値計算にはメモリサイズが重要で、大きなメモリを備えたPOWER8を使ったHPCシステムの数値計算には大きな可能性がある」と語って講演を締めくくられました。

    ■有限要素法(FEM)による弾塑性解析

    2016年6月3日(金)

    大阪工業大学 工学部 准教授 倉前 宏行 様

    160527_160610_kuramae大阪工業大学の倉前准教授は、有限要素法(FEM)による弾塑性解析を利用した機械工学が専門です。有限要素法(FEM)の概要と、計算の大変さを説明した後に、計算時間に注目した検証結果が報告されました。

    • 単一テーマの弾性解析
      「単一のテーマについて弾性問題の解(構造解析によって応力歪み)を求める大規模な解析です。板塑性の解析を結晶構造まで踏み込んでいます。演算コアの逐次処理と、MPIのプログラムを並列化して、ノード内の並列化処理した場合の計算結果を報告します。
      有限要素法(FEM)の演算の最も重い部分に当たるのが連立一次式方程式を解くプロセスです。IBMのライブラリを使って、どのくらい計算が速くなるかを検証しました。私が20数年前の学生時代から手掛けている、大規模でメッシュの細かい有限要素法(FEM)による弾塑性解析プログラムを、そのままの形で検証用に使用しています。」
    • マルチフィジックス
      『複数のテーマについての解を求める問題です。磁場閉じ込め型の核融合炉の第一構造壁では、大きな磁場の力が構造壁にかかり、プラズマが不安定になると渦電流が流れます。そして、構造壁には電磁力が発生して熱が発生します。このような構造物にかかる「応力歪み」、「電流」、「電磁力」といった複数の物理現象が同時に発生する問題(マルチフィジックス)の並列計算を行います。』
    • マルチスケール
      「最後に、板成型(アルミニウムの板を絞り込んで成型する際のマイクロメートル(micro- meter , 記号µm)やナノメートル(nano-meter、記号nm)単位での多結晶構造の塑性変形(結晶のすべり変形)から、マクロ(cm単位)の板の塑性変形がどう起こるかをという、スケールの違う現象(マルチスケール)の並列計算も行いました。」
    • マルチフィジックス・マルチスケール
      「ここ数年でようやく可能になったのが、マルチフィジックス・マルチスケールの計算です。具体的な例としては、2枚の薄板鋼板を重ね、上下で加圧しながら電極に電流を流し、鋼板と電極との間の接触抵抗によるジュール発熱を利用した溶融(抵抗スポット溶接)のシミュレーションを、「熱」「構造」「電流」の3つの物理現象から解析します。さらに、接触電気抵抗は薄板鋼板の表面の凹凸(表面粗さ)によって大きく異なるので、時々刻々と変化していくマイクロメートル単位での表面粗さから、表面の接触状態を求めてマクロレベルでの塑性変形を解析します。」

      有限要素法(FEM)による解析の概要
      「連立一次方程式の求解を繰り返す、マルチスケール、マルチフィジックスの場合には、さらに何度も何度も繰り返す多重ループになる可能性があります。連立一次方程式の求解の際の疎行列には、対角付近の狭い範囲に非ゼロ成分が分布しています。」

    バンド法(バンドソルバ)
    :非ゼロ成分の最大位置までを帯行列(バンドマトリックス)として記憶・計算
    スカイライン法(アクティブカラムソルバ)
    :各行(または列)毎にバンド幅を変えて記憶・計算
    CRS(疎行列ソルバ)
    :非ゼロ成分のみを記憶して求解

    「3次元弾性解析の検証問題には自作のFortranを使用します。連立一次方程式求解のソルバの部分も含めた手作業による自作プログラムです。分割(メッシュ)を変えて解析します。
    メモリによる制約があるので、例えば64GBメモリでは、60X60X60分割、216,000要素、680,943自由度の問題の解析が可能です。4分割、8分割、16分割の場合の三次元弾性問題の計算時間は、連立一次方程式の解法(前進消去過程)が解析時間の大半を占めます。この部分を何とかしたいということが昔からの課題となっています。
    今回の検証環境には、IBM Power System S822Lの12コア(フルスペック)を使用しました。L4キャッシュが16MBもあり、メモリのバンド幅が広い計算機という印象を受けています。」

    IBM POWER8(12コア)とIntel Xeon(8コア)の性能比較

    計算性能についての考察

    Xeonの性能がPOWER8を上回る結果になったが、計算規模が大きくなると性能差は少なくなる。
    POWER8のコンパイラオプションを7通り検討
    O3が結果的に一番速かった。
    O4では逆に遅くなった。古いFortranのコードでプログラムが書かれていることも原因。
    *並列計算のために教科書どおりのソルバのコーディングで、チューニングは行っていない。

    バンドソルバ(ガウス消去法)の並列化により、三次元弾性問題の並列解析の計算時間を測

    バンド行列の上三角を一定行毎にブロック分割し、並列化するプロセッサーに割り当て、ブロック毎の前進消去を並列化。通信はブロック毎にブロック内の前進消去は逐次処理を行った。MPI通信は、ノード内並列、通信はメモリ内転送。問題規模と並列数を変えて性能を比較

    問題が大きくなった30分割ではPOWER8が速い。
    問題が小さい10、20、分割ではXeonが速かった。
    40分割ではXeonがやや速かった。

    並列性能(加速率)の比較

    POWER8には理論値を超えるスーパーリニアが見られる。
    16プロセッサーで16倍の性能比。
    Xeonは並列性能が伸びない(サチる)状態

    ノード内のMPI通信性能の比較(MPIの単純なsend/receiveを測定)

    POWER8はノード内のメモリアクセスが速い。

    数値計算のライブラリを使用した、疎行列ソルバの逐次計算性能の比較
    自作のバンド法ソルバとの計算時間を比較

    POWER8+SPOOLES、ESSL+WSMPでは計算時間が10分の1になる。

    Intel MKLとのマルチスレッド並列計算の時間比較

    10、20、30、40分割のすべてのケースで、POWER8+ESSL+WSMPが圧倒的に速い。
    XeonがPOWER8の1.5倍以上速い。

    倉前准教授は、「POWER8の性能を引き出すためには、

    1. コンパイラによって大きな性能差が出ること、
    2. POWER8のキャッシュとメモリバンド幅が大規模な計算の時間短縮メリットをもたらせること、
    3. IBMのライブラリが性能に大きく貢献していること、

    に着目することが重要」と語って講演を締めくくられました。

    ■大規模流体解析「HPCの産業利用の現状とその将来展望」

    2016年6月10日(金)

    東京大学 生産技術研究所 教授革新的シミュレーション研究センター センター長 加藤 千幸 様

    160527_160610_kato東京大学の加藤教授は、専門が熱流体システム制御工学で、大規模流体解析の産業応用や流体騒音の予測と制御などの研究課題を持っておられます。HPCシステムの産業利用の現状と将来展望から講演が始まりました。

    スーパーコンピューター京のリソースの産業界の利用割合は10%

    「産業界がHPCシステムを利用する際には、実証研究のためには国のリソースの京を利用できますが、プロダクションランに京を使用することはできません。産業界がプロダクションランを実施する場合、POWER8やインテルのCPUなどによるクラスタシステムを利用することになります。そのような観点から、今回、POWER8がどれくらいの実力があるかを公平な視点で評価したいと考えています。」

    コンピューターのパフォーマンスの伸びに対する期待

    スーパーコンピューター京(2012年運用開始)のスペック
     *128G flops、128bitのSIMD、8コア、88,128CPU
     *10.51P flops(LINPACK性能)CPUのピーク性能比で93%という高い性能を持っている。

    FX100(2015年)

     *1T flops、256bitのSIMD、32コア

    Intel Knight Landing(2016年)

     *3.4T flops

    Post京

    「2020年に運用を開始する計画で開発が進められている京の後継機は50倍の500P flops程度と予想している。一般的に、世界最大規模のスーパーコンピューターのハードウェアの価格は500~600億円。
    しかし、産業界が購入できる上限価格は5億円程度であり、2020年代には1ラックに100~200CPUを搭載し、性能は500 T flopsから1P flops前後(京の1/20から1/10の性能)、価格は5,000万円~1億円程度になるものと予想される。
    HPCシステムはいわゆる計算科学シミュレーションのみではなく、人工知能(AI)やビッグデータ分析にも広く使われるようになるものと思われる。」

    流体解析の方向性

    • 大規模計算を行う:実物を使ったテストをシミュレーションに置換える
    • 多数の計算を行う:1万~100万ケースを同時に解析し、設計の最適解を求める
    • 連成解析を行う

    「流体解析はメッシュがより細かくなる方向に進み、信頼性の高い解を求める方向に進んでいます。最長で24時間で計算するような、最大規模の流体解析では1兆から数兆のグリッドを使い、40万ケース程度が実用的なレベルで設計に使用できるようになると考えています。」

    Features of FrontFlow/blue(FFB):大規模計算用アプリケーションを開発した。
    DNS:直接数値計算で、精度が高いことが特徴。
    RANS:時間平均した乱流モデルの計算でスピードが速い
     *スピードは速いが、モデリングなので、テストを置き換えるほど完全ではない。
     *チューニングすることにより、ある程度の予測が可能になる。コスト的に安い。
    Wall-resolving LES
     *あまり知られていないが、DNSと同様に精度の高い結果をえることができ、テストの代替手段になりえる。

    Hull Boundary Layer Simulations

    試験では、5m程度の長さの模型を作り、全長400m程度の曳航水槽の中で引っ張り、抵抗値などの推進性能を評価する。模型のまわりには500~600ミクロン程度の渦が無数に生じるが、この渦をすべて解析することにより、試験が必要になるほど高精度な予測がシミュレーションで可能になる。
    FFBの主要機能は、計算に必要なグリッドを計算実行時に自動的に細分化する。前処理や後処理が不要になる。
    300から500億格子を用いる大規模な計算では、データの取り扱いが大変。例えば、ストレージからフロントエンド・プロセッサーやステージングプロセッサーへデータを移動させたり、データセンターから可視化するための場所にデータを移動させたりすることは容易ではない。データを小さくすることが大切。FFBは実行時の自動格子細分化機能を用いることにより、ユーザは1億点程度のデータを取り扱うだけで大規模計算が可能。

    ホットカーネルの最適化

    理研や富士通の協力も得て、ホットカーネルのチューニングも進めている。チューニングすることにより、オリジナルコードと比べて2倍以上の高速計算を実現している。

    車体後部における流体解析の例

    車の前方から流れてきた風が、車体後部で渦を巻く。車両の背後で強い渦を巻いている部分は圧力が低くなり抵抗が大きくなる。抵抗を低減させるために、50億グリッド程度の格子でシミュレーションを実施している。細かい渦まで再現でき、空力開発に活用している。
    計算に時間がかっている部分を短縮するようにしている。メモリ上のデータが分散していると、L1・L2キャッシュミスが起こる。データの配置が連続的になるように並べ替えをしている。こうすると、ピーク性能の8%程度のスピードがでる。8%は決して低い数字ではなく、結構高い。
    FFBはメモリインテンシブなプログラムであるため、データをメモリからキャッシュにロードする(あるいは、キャッシュからメモリにストアする)ところがボトルネックになる。L2ミスを減らすことは当然であるが、L1ミス(Demandミス)も大きな待ち時間が発生することになるので、これを減らすことがミッションと考えている。今後のFFBの開発に関してはH/Wで10倍以上、S/Wで10倍、合計100倍以上の性能向上を目指している。

    IBM POWER8(24コア)とIntel Xeon(16、28コア)の性能比較

    • ベンチマークとして信頼できる、キャビティ流れ計算により性能を比較
    • ピーク性能に比べて、どれくらいの性能が出せるかを測定

    計算性能についての考察

    POWER8は、並列数が増えると性能が優れる。
    最大コア数では、ピーク性能の6%位の性能が出ている。
    データサイズによる差異は小さい。
    Xeonは、データが小さいほど良い性能が出る。並列数の増加に伴い性能の劣化が見られる。

    2.HPC取り組みの最新動向

    ■IBM Data Centric Computingの取り組み

    ~数値シミュレーション、ディープラーニング、ビッグデータ解析のためのIT基盤~

    日本アイ・ビー・エム株式会社 ハイエンド・システム事業部 DCCシステムズ 技術理事 HPC&HPA、工学博士 清水 茂則 様

    160527_160610_shimizuIBMは、7~8年前からHPC、ビッグデータ解析、ディープラーニングの3つの要素を融合したData Centric Computingを提唱している。Data Centric Computingの技術基盤は、新たな発見や効率の良い知見の獲得を支える基盤となっている。
    3つの要素の融合活用事例:資源探査(地下構造のディープラーニング)
     *地下構造をモデル化し、数値シミュレーションと観測データを紐づけ。

    Data Centric System

     *Open POWER Foundationの仕組みに則ったオープンな思想を持っている。

    Data Centric Systemに相応しいPOWER8プロセッサー

    • キャッシュサイズとメモリバンド幅が大きい。
    • FPGA加速器やGPUやNetwork Adapterなどが、それぞれ十分なバンド幅でCPUに接続可能
    • 特に、CPUを高速のバスでGPUに接続することが可能。他の方式の5倍から12倍程度のバンド幅が実現される。
    • POWER8は128ビット幅のSIMDを2組使用している。理論性能よりも実効性能に重きを置いている。
    • POWER8は、SMT8 (Simultaneous Multi-Threading)で8スレッドの同時実行がハードウェアによって実現される。

    これらの特徴によって、例えば、姫野ベンチマークでは、20コアで132G flopsを達成している。
    キャッシュやメモリのバンド幅が大きいこと、また、SMT8の効果は、特に、ビッグデータの処理で効果を発揮する。
    Sparkのベンチマークでは、圧倒的なスコアを達成。
     *詳細情報:Big Data and Analytics on IBM Power Systems(英文)

    NVLinkによるGPU-GPU接続でさらなる性能向上が図れる。今後、さらに高速化が計画されている。

    Open POWER Foundation

    プロセッサー、ファームウェアの情報までも公開し、オープンなエコシステムを形成している。
    日本国内でもOpen POWER推進ラボをオープンした。

    ■NVIDIAのGPU Computingの取り組み

    ~GTC 2016最新情報とIBM POWER®を加速するNVIDIA GPUコンピューティング~

    エヌビディア合同会社 エンタープライズソリューションプロダクト事業部 シニア ソリューションアーキテクト 平野 幸彦 様

    160527_160610_hiranoエヌビディアは、1993年にシリコンバレーのサンタクララで創業された、ビジュアルコンピューティング領域での世界的リーダーで、PCゲーム用3Dグラフィックに始まり、CAD/DCC等のプロフェッショナル向けグラフィックス、HPC、ロボティックス、自動車の自動運転などの分野で技術支援をしている。PC、サーバ、スーパーコンピューターなどのすべてのプラットフォームに、同じアーキテクチャで対応している。

    GTC2016

    2016年4月4日~7日にカリフォルニア州サンノゼで開催。

    世界54か国から5,519人が参加。
    TOYOTA Research Instituteの自動運転の取り組みにおける、エヌビディアのVRを含めたシミュレーションの構築と、ディープラーニングによる自動運転の研究 のために新たに設立された2つの研究所での取り組みが紹介された。

    人工知能、ディープラーニングの領域は、この1年で画期的な発展を遂げた。
     *GoogleのALphaGoはディープラーニングの成果と言える。
     *例えばポリシーネットワークは、50のGPUを使い、3週間で学習した。
    新しいコンピューティングモデルはディープラーニング無しでは語れない時代になった。
     *現在、1,000社以上のAIベンチャー企業がAI/ディープラーニングに関係している。
    大量のトレーニング用のデータを、多数の行列演算を使って処理するワークロードはGPUに最適。
     *ディープラーニングのあらゆるフレームワークがGPUに最適化されている。
     *IBM WatsonでもGPUが採用されている。

    最新のPascalアーキテクチャ に基づくTesla P100が発表された。
     *ディープラーニングのための半精度演算21.2TFをはじめ卓越した演算性能を達成。
     * HBM2メモリやNVLINKなどの最新技術により、従来技術の数倍に及ぶメモリバンド幅と、CPU-GPU間、GPU-GPU間のインタコネクトバンド幅を達成。

    IBM POWERを加速するNVIDIA GPU コンピューティング

    x86 CPUではできない、CPU-GPU間のNVLINK接続をPOWER 8とTesla P100で実現。2017年の米国エネルギー省CORALプロジェクトでは、POWER9+Voltaでさらなる飛躍が期待される。
    PGI OpenACC コンパイラも年内にPOWER CPUに対応。従来コードのリコンパイルで動作可能。
    PGI OpenACCのパフォーマンスポータビリティは、Xeon PhiやARM CPUへも対応予定。
    今後さらに高速化と機能強化を行う。

    GTC Japan 2016

    10月5日、ヒルトン東京お台場にて開催決定。基調講演はNVIDIA CEOのジェンスン・ファン。