可視化ソフトウェア「In-Situ PBVR」によって可視化処理を約100倍高速化
2020-07-10 日本原子力研究開発機構
【発表のポイント】
- スーパーコンピュータ(スパコン)の高性能化と共にシミュレーションが大規模化したことで、計算データ(〜ペタバイト、1015バイト)をストレージに出力してから可視化する従来手法では処理時間が数日以上に増大し、可視化処理が困難になっている。
- 機構では、今回、スパコン上でシミュレーションと同時に可視化処理も実行し、計算データの代わりに圧縮された可視化データ(〜メガバイト、106バイト)を出力する可視化ソフトウェア「In-Situ PBVR」を開発した。
- 「In-Situ PBVR」は、従来手法に比べて可視化処理を約100倍高速化し、さらにデータ転送量を約10億分の1に圧縮したことで、スパコン上で時間とともに温度や流れ場が変化する大規模な原子炉シミュレーションのリアルタイム可視化を実現した。
- 本ソフトウェアはオープンソースソフトウェアとして公開され、最先端スパコンを用いたエクサスケールシミュレーション3)に不可欠な基盤ソフトウェアとしての活用が期待される。
図1 「In-Situ PBVR」の概要。スパコン上のシミュレーションに結合された粒子計算プログラムが計算データ(〜ペタバイト)を可視化用の粒子データ(〜メガバイト)に変換し、ストレージ上に出力します。制御プログラムが粒子データを集約し、ネットワークを介してユーザPCに転送します。ユーザPC上の描画プログラムは粒子データを画面に投影して可視化画像をビューワに表示します。ユーザは可視化画像を観察し、色、不透明度等の可視化パラメータを調整します。調整後の可視化パラメータは制御プログラムを介してストレージに出力されます。粒子計算プログラムはストレージ上の可視化パラメータを読み込み粒子計算に使用します。
【概要】
国立研究開発法人日本原子力研究開発機構(理事長 児玉敏雄、以下「原子力機構」という)システム計算科学センターの河村拓馬研究員と井戸村泰宏研究主幹は、新しい可視化手法を用いて、独自のIn-Situ(ラテン語:その場)可視化ソフトウェアの開発に成功し、スーパーコンピュータ(スパコン)上で時間とともに温度や流れ場が変化する(時間発展する)大規模な原子炉シミュレーションのリアルタイム可視化を世界で初めて実現しました。
スパコンを駆使することで、複雑かつ大規模なシミュレーションが実現可能となりますが、そのシミュレーション結果を理解するには、計算データを可視化する必要があります。しかし、スパコンの高性能化と共にシミュレーションが大規模化したことで、計算データ(〜ペタバイト、1015バイト)をストレージに出力してから可視化する従来手法では、処理時間が数日以上に増大し、可視化処理が困難になってきました。
本研究では、スパコン上でシミュレーションと同時に可視化処理も実行し、計算データの代わりに圧縮された可視化データ(〜メガバイト、106バイト)を出力するIn-Situ可視化ソフトウェア「In-Situ PBVR」を開発しました。「In-Situ PBVR」は粒子によってデータを表示する可視化手法(Particle Based Volume Rendering 1), 略称PBVR)を用いることで、可視化処理を従来手法の約100倍高速化しました。さらに、圧縮された可視化データによってデータ転送量を従来手法の約10億分の1に削減したことで、スパコン上で時間発展する大規模な原子炉シミュレーションのリアルタイム可視化を実現しました。これに加えて、シミュレーション実行時に可視化パラメータ(視点、色、不透明度等)を可視化結果を見ながら対話的に操作し、これまで見ることができなかった計算途中のシミュレーションを3次元可視化、等値面可視化、断面可視化等、様々な可視化方法で分析することができるようになりました。
In-Situ PBVRを最先端スパコン上で動作する大規模熱流動シミュレーションに適用した結果、シミュレーションの1%以下の計算コストで可視化処理が実行され、従来はシミュレーション完了後に数日かかっていた計算データの可視化処理をシミュレーション実行中にリアルタイムに行うことができました。
本ソフトウェアはオープンソースソフトウェアとして公開され、今後、富岳2)をはじめとする最先端スパコンで実行される様々な科学および工学分野のエクサスケールシミュレーション3)で活用されることが期待されます。
本研究成果は、2020年6月10日に「Journal of Visualization」に掲載されました。
【研究の背景】
原子力分野を含む様々な科学・工学分野における複雑かつ大規模なシミュレーション結果を理解するには、コンピュータグラフィックスを活用して計算データに色や形(不透明度)を与えて可視化することが必要になります。可視化は計算結果の全体像を俯瞰できるようにするだけでなく、可視化結果を見ながら可視化パラメータ(視点、色、不透明度等)を変化させていく対話的な操作により、物理量の大域的な分布や複数の物理量の相関など、膨大なデータの隠された情報を探索することも可能にします。このように可視化技術は計算科学の基盤となる技術です。
最先端のシミュレーションは、スパコンを用いて行われますが、スパコンは、大量の演算器を結合して並列処理を行うことで高い計算能力を実現します。図2に示すように、従来のポスト処理型可視化では、スパコンでシミュレーションして得られた計算データを一旦ストレージに出力し、シミュレーションが終了してからストレージ上の計算データをユーザPCに転送して可視化処理を行ってきました。しかし、近年のスパコン性能の飛躍的向上により計算データは爆発的に増大(〜ペタバイト)した一方、ストレージへのデータ入出力性能やデータ転送性能はそれに追いつけず、計算データの可視化が困難となっていました。 この課題の解決に向けて、In-Situ可視化ソフトウェアを用いてスパコン上でシミュレーションと同時に並列可視化処理を実行し、巨大な計算データの代わりに圧縮された可視化データ(〜メガバイト:計算データの約10億分の1)を出力する手法が注目されてきました。
図2 従来の可視化手法とIn-Situ可視化手法の比較。従来は計算データ(〜ペタバイト)をストレージに出力(〜テラバイト/秒)し、ユーザPCに転送(〜ギガバイト/秒)してから可視化処理を実行するのに数日以上かかっていた。In-Situ可視化手法ではスパコン上で計算データ(〜テラバイト)を可視化データ(〜メガバイト)に圧縮してから出力、転送を行うことでリアルタイム処理を実現。
しかし、既存のIn-Situ可視化ソフトウェアには次の二つの課題がありました。
第一に、ポリゴンを描画する従来の可視化手法では、並列処理するポリゴンの前後関係を正しい順序で描画するため、視点を変える度に多数の演算器間の通信が発生します。この通信時間はしばしばシミュレーションの計算時間を上回り、シミュレーションを阻害します。
第二に、従来のIn-Situ可視化ソフトウェアではシミュレーションの開始前にあらかじめ可視化パラメータを設定する必要がありました。そのため、可視化パラメータの調整に多数のシミュレーションを繰り返す必要があり、特に、大きな計算コストを必要とする大規模シミュレーションのIn-Situ可視化は実行が困難でした。
【研究の内容・成果】
これらの問題を解決するため、粒子を用いる可視化手法(Particle-Based Volume Rendering1), 略称PBVR)という手法を利用して、新しいIn−Situ可視化ソフトウェア「In−Situ PBVR」を開発しました(図1)。PBVRとは計算データを可視化用の粒子データに変換して描画する手法です(図3)。従来の可視化手法における大規模ポリゴンデータの描画はスパコン上で並列処理されるのに対し、PBVRにおける圧縮された粒子データの描画はPC上の画像処理プロセッサでまとめて処理できるため、順序の並べ替え、すなわち、演算器間の通信が不要という特徴があります。この特徴を活かして、スパコン上でシミュレーションを阻害しない高速な並列粒子計算を実現しました。これに加えて、可視化画像を表示するユーザPCとシミュレーションを実行するスパコンを連携してシミュレーション実行時に可視化パラメータを、ストレージを介して操作する仕組みを作り、可視化結果を見ながら色や不透明度を変更して対話的に可視化パラメータを調整できるIn-Situ可視化を実現しました。
図3 ポリゴンを用いる従来の可視化手法と粒子を用いる可視化手法の比較。ポリゴンで可視化データを表現する場合には物理値に関わらず全計算領域のデータをポリゴンで埋め尽くすため、データサイズが大きくなる。粒子で可視化データを表現する場合には物理値に依存して描画する領域のみに粒子が割り当てられるため、データが大幅に圧縮される。
「In−Situ PBVR」の処理性能を現在標準的に利用されているIn-Situ可視化ソフトウェア「ParaView Catalyst4)」と比較した結果、「In−Situ PBVR」は小規模なテストデータで約24倍、大規模な熱流動解析では約100倍高速なIn-Situ可視化を実現できました。
「In−Situ PBVR」を原子力機構が開発している炉心溶融挙動5)に関する大規模熱流動シミュレーション(図4)に結合し、最先端スパコンOakforest-PACS6)における処理性能を調査しました。
図4 原子炉圧力容器内部における、冷却材の喪失により高温になった核燃料の溶融シミュレーション(「In-Situ PBVR」で可視化)。左:圧力容器の断面図、右:燃料集合体の溶融挙動のを可視化。核燃料の溶融物(オレンジ色)が構造物(灰色)から流れ落ち、構造物に触れた溶融物の一部が冷却されて凝固(黄色)しています。
図5の性能評価に示すとおり、「In-Situ PBVR」は演算器を約1500台から約10万台まで増やしても加速し続け、その処理時間はシミュレーションの1%以下に抑えられました。またメモリ使用量もシミュレーションの約4%に抑えられ、シミュレーションを阻害しない低コストかつ省メモリの並列可視化処理が可能となりました。
図5 最先端スパコンOakforest-PACSにおける図2のシミュレーション(計算データ240x240x1920=約1億格子、可視化用粒子データ約1000万粒子)の処理性能。横軸は演算器の数(コア数)、縦軸は1時間ステップあたりの計算時間。
粒子データはOakforest-PACSからインターネット経由でユーザPCに転送され、ユーザが可視化結果を見ながら適切な可視化手法や可視化パラメータを選択できる対話的なIn-Situ可視化が行われます。このように「In-Situ PBVR」は、「ParaView Catalyst」を含む既存のIn-Situ可視化ソフトウェアでは不可能であったスパコン上の大規模シミュレーションに対する対話的なIn-Situ可視化を世界ではじめて実現しました。
【今後の展開、及び波及効果】
今回開発した「In-Situ PBVR」は汎用的なIn-Situ可視化ソフトウェアとして原子力分野だけでなく流体解析、海洋・気象、プラズマ物理など、世界中で開発されている様々な大規模シミュレーションに適用できます。In-Situ PBVRはオープンソースの可視化ライブラリとしてシステム計算科学センターのWebページから公開されており、大規模シミュレーションで利用される主要なプログラミング言語をサポートしています。さらに、複雑なシミュレーションから得られる多数の物理変数を可視化できる高度な可視化・解析機能を提供しています。今後、富岳等の最先端スパコンにおけるエクサスケールシミュレーションにおける「In-Situ PBVR」の活用が期待されます。
【書籍情報】
雑誌名:Journal of Visualization
論文題目:Improvement of Interactive Remote In-Situ Visualization using SIMD-aware Function Parser and Asynchronous Data I/O
著者:Takuma Kawamura1, Yasuhiro Idomura1
所属:1日本原子力研究開発機構
DOI:10.1007/s12650-020-00652-z
【用語説明】
1) Particle-based Volume Rendering
京都大学で開発された3次元数値データ(ボリュームデータ)の可視化手法の一つ。データの数値と不透明度および色の関係を定義する関数に基づいてデータをランダムに抽出(モンテカルロサンプリング)することで粒子の集合を生成し、それらを画像面に投影することによって半透明な3次元可視化画像を生成する。
2) 富岳
「京」の後継機として2014年度から理研において開発が進められてきた世界最大(2020年6月時点)のCPU型スーパーコンピュータ。富士通製A64FXプロセッサを搭載し、513ペタフロップスの演算性能を有する。2021年度から供用開始予定。
3) エクサスケールシミュレーション
現行のペタフロップス(1秒間に1015回の浮動小数点演算を行う計算性能)規模の計算機の約1000倍となるエクサフロップス(1秒間に1018回の浮動小数点演算を行う計算性能)の計算性能を必要とする次世代の大規模シミュレーション。
4) ParaView Catalyst
米国でサンディア国立研究所、Kitware社等を中心に開発されているオープンソース汎用可視化アプリケーションParaViewのIn-Situ可視化フレームワーク。
5) 炉心溶融挙動
原子力発電所の過酷事故において、冷却材の喪失により高温になった核燃料と周囲の構造物が溶融し、その混合溶融物が原子炉格納容器内に落下、蓄積する挙動。
6) Oakforest-PACS
筑波大学と東京大学が共同で運営している「最先端共同HPC基盤施設(JCAHPC: Joint Center for Advanced High Performance Computing)」に2016年に設置されたCPU型スーパーコンピュータ。Intel製XeonPhi7250プロセッサを搭載し、25ペタフロップスの演算性能を有する。