9-4 大規模シミュレーションを実行しながら可視化する技術を開発

−粒子ベースボリュームレンダリングによるIn–Situ可視化−

図9-7 In-Situ PBVRのフレームワーク構成

拡大図(351kB)

図9-7 In–Situ PBVRのフレームワーク構成

スパコン上のシミュレーションに結合された粒子計算プログラムが可視化用の粒子データを生成し、ストレージ上に出力します。制御プログラムが粒子データを集約し、ネットワークを介してユーザPCに転送します。ユーザPC上の描画プログラムは粒子データを画面に投影して可視化画像をビューワに表示します。ユーザは可視化画像を観察し、色、不透明度等の可視化パラメータを調整します。調整後の可視化パラメータは制御プログラムを介してストレージに出力されます。粒子計算プログラムはストレージ上の可視化パラメータを読み込み粒子生成に使用します。

 

図9-8 Oakforest-PACS上での性能

図9-8 Oakforest–PACS上での性能

問題規模を240 × 240 × 1920(約1億格子)に固定し、可視化用に約1000万粒子(約250 MB)を使用しました。横軸は演算器の数(コア数)、縦軸は1ステップの計算時間です。

 


スーパーコンピュータ(スパコン)は大量の演算器を結合した計算機で、演算器の間で計算データを通信しながら大規模なシミュレーションを実行し、計算結果としてデータを生成します。従来は、データをストレージに出力し、シミュレーションが終了してからデータの可視化解析を行っていました。しかしながら、このような入出力に必要なストレージの処理性能が近年のスパコン性能の飛躍的向上に追いつかず、巨大なデータ(〜ペタバイト)に対して従来の可視化手法を適用することが困難になってきました。このようなデータ入出力の問題を避けるため、シミュレーションと同時に可視化処理を実行し、巨大なデータの代わりに圧縮された可視化画像(〜メガバイト)を出力するIn–Situ可視化が重視されています。

しかしながら、従来のIn–Situ可視化には次の二つの課題があります。第一に、ポリゴンを描画する従来の可視化手法では、視点を変える度に多数の演算器で処理するポリゴンの前後関係を正しい順序で描画するために多数の演算器間の通信が発生します。この通信時間はしばしばシミュレーションの計算時間を上回り、シミュレーションを阻害します。第二に、従来のIn–Situ可視化では、事前に視点位置、色、不透明度等からなる可視化パラメータを設定する必要があるため、可視化パラメータの調整に多数のシミュレーションを繰り返す必要がありました。

これらの問題を解決するため、粒子ベースボリュームレンダリング(Particle–Based Volume Rendering:PBVR)という手法を利用して、新しいIn–Situ可視化フレームワーク「In–Situ PBVR」を開発しました(図 9-7)。PBVRはデータを可視化用の粒子データに変換(粒子生成)して描画する手法です。従来の可視化手法のポリゴンデータと比べて、PBVRにおける粒子データは順序の並べ替え、すなわち、演算器間の通信が不要であり、データサイズが極めて小さいという特徴があります。この特徴を生かして、スパコン上でシミュレーションを阻害しない粒子計算を実現し、さらに、視点に依存しない粒子データをユーザPC上で描画することで、対話的に視点位置を変更できるようになりました。これに加えて、ユーザPCで対話的に調整した可視化パラメータをスパコンのストレージを介して粒子計算に反映する仕組みを作り、シミュレーション実行時に対話的に可視化パラメータを調整できるIn–Situ可視化を実現しました。

In–Situ PBVRを原子炉圧力容器内部の熱流動シミュレーションに結合し、最先端スパコン「Oakforest–PACS」を使って処理性能を調査しました。図9-8の性能評価に示すとおり、粒子生成計算時間は演算器を約1500〜約10万まで増やしても加速し続け、シミュレーションの8〜28 %以内に抑えられました。粒子データはOakforest–PACSからインターネット経由で転送され、対話的な可視化を実現しました。

なお、本件に関連した研究において、第28期可視化情報学会論文賞を受賞しました。