京都大学
工学研究科
情報工学専攻
富田研究室
超高速体感型シミュレーションシステムの研究
日本学術振興会 科学研究費補助金
基盤研究S
の補助を受け,
本年度から平成20年度までの 5年間の研究プロジェクト
をスタートした. 本研究は, シミュレーション対象モデルの構造
や境界条件を外部からのインタラクションにより実時間で変化させるとともに,
シミュレーション結果を実時間で視覚,触覚にフィードバックする,世界的に
みても挑戦的なシミュレーション技術の開発を目標としており, 以下のような
研究テーマを掲げている.
- 超高速シミュレーション・サーバ・アーキテクチャの研究
-
- 並列数値計算,3次元ボリュームデータの可視化,データベースを一元的に扱い,
従来システムで問題となっているI/Oボトルネックのない超並列システム
- 実行時再構成可能なシミュレーション・アクセラレータ
- 実時間触覚フィードバックと実時間可視化を伴うシミュレーション結果
呈示システムの研究
-
- 大規模シミュレーションから得られる多くの情報を人間の視覚・聴覚の
みならず触覚として実時間で体感できる統合型シミュレーション呈示システム
- 詳細度(LOD:Level of Detail)制御や注目領域(ROI:Region of Interest)抽出技術
を活用した投機実行方式やデータ再利用方式に基づく, シミュレーション速度の
大幅向上とユーザインタフェースにおける応答時間短縮
- マルチスケールシミュレーション技術を応用した遅延隠蔽手法の研究
-
- 計算科学的手法に基づく数値シミュレーションの高速化を目的として,
LOD制御に基づきROI領域以外の計算をデータベース検索に基づく
機能シミュレーションで代用する複合シミュレーション技術
- マルチグリッド法における粗メッシュの計算を, ユーザインタフェース側の
クライアント端末でも同時計算することにより, ユーザの介入にともなう
双方向の遅延を隠蔽する応答特性改善手法
本プロジェクトでは,
医療情報学分野の研究者にも共同研究者として参画して
いただき, 今後社会的ニーズの極めて高い医療情報処理という応用分野も視野
に入れたシステム開発を行っていく.
具体的には 本年度は以下の研究を行なった.
実時間可視化に関する研究
汎用グラフィクスカード(GPU)を用いた並列ボリュームレンダリング
大規模構造格子データのボリュームレンダリングを汎用グラフィクスハードウェア
を用いて並列処理するシステムについて研究を行なった.
昨年度構築した汎用グラフィックスカード(GeForceFX5950Ultra, ビデオメモリ256MB)
を登載した4台のPCからなるシステムを8台構成に拡充するとともに透視投影の実装や
αチャネルボリュームデータと依存テクスチャとして実装したLUT(伝達関数表)を
用いたデータ量削減法の検討を行なった. さらに, GPUが生成した部分画像の重複度
を考慮し並列合成するアルゴリズムの実装を行なった.
大規模非構造格子データの並列ボリュームレンダリング
我々は, 分散メモリ型並列計算機において, 非構造格子データを生成する数値シミュレーションと, その結果の可視化の両方を行なうシステムにおける可視化処理の負荷不均衡を指摘し, 問題を解決するための動的負荷分散方式の提案を行なった. また非構造格子ボリュームデータの代表的なレンダリング手法の一つであるCell Projection法に対して, Early Ray Termination(ERT)技術を適用して高速化を行なうERT-table法という新しいアルゴリズムを提案した. 昨年度このアルゴリズムに基づく並列ボリュームレンダリングシステムのプロトタイプ実装を行なったが, 逐次処理部分の最適化が不十分であった. そこで, 本年度は Shirley \& Tuchman が提案した投影パターンの分類法に基づくCell Projectionフェーズでの無駄な探索の省略や, レンダリング処理中のリスト操作の最適化等を行なうことで, 逐次処理の場合において約8倍の性能改善ができた.
専用ハードウェアを用いた並列ボリュームレンダリング
我々は, 汎用グラフィックスハードウェアが重要視していない並列処理機能と3次元メモリ 機能を強化し, 大規模構造格子ボリュームデータの実時間可視化を支援する 専用ハードウェアVisA(Visualization Accelerator)のプロトタイプボード VisA Pro を開発している. 本年度は, 単体のVisA Proボードで, SSRAMをボリュームメモリと見做した簡易版のボリュームレンダリング回路を実装するとともにPCIi/fを実装しボリュームレンダリング処理に必要な一連の動作が確認可能なプロトタイプ環境の構築を行なった.
シミュレーションに関する研究
AMRC法を用いた服飾シミュレーションの高速化
仮想布操作において, 布の形状と力覚を同時に提示するためには,
布の形状と 力の両方を, 実際の布における両者の関係を満たす形で
シミュレーションする 必要がある. 現実の布における形状と力の
関係を計測する手法として KES(Kawabata's Evaluation Method for Fabric)
があるが, 布は履歴特性を もっているため、得られるデータは特定
の操作履歴に置ける形状と力の間の 一方向的な関係を記述したもの
となる. そこで, 我々は KESデータに基づき, かつ, 履歴特性を考慮
しながら, 布の形状と力を同時にシミュレーションする ための布モデル
を提案した. 次に, このモデルに基づいた服飾シミュレータを
Adaptive Mesh Refinement and Coarsening(AMRC)法を用いて実装する
ことで, シミュレーションの高速化が図れることを示した. さらに,
AMRCの並列実装に おいて問題となる負荷の不均衡に対して ActiveList法と
呼ぶ負荷分散手法を 提案し, SMP型並列計算機(富士通製Primepower
HPC2500, 96CPU)上にOpenMPを 用いて実装した結果, 極めて良好なスケラー
ビリティを得ることができた.
格子ボルツマン法による流体計算のGraphics Processor Unit(GPU)への実装
インタラクティブシミュレーション環境構築の一環として, 数値流体計算分野で
近年注目を集めている格子ボルツマン法を用いて円柱回りの流れのシミュレー
ションとその実時間可視化を行なうシステムを構築し, さらに, 格子ボルツマン法
に基づくシミュレーション自体をGPUのプログラマブルシェーダを用いて実装した.
WindowsXP環境化で Pentium4(3GHz, 512KBCache)と比較して, GeForceFX 5950の
場合約3倍, GeForce6800Ultraの場合約10倍の速度向上が得られた. しかしながら,
CPU と GPUの演算精度が必ずしも一致しないため, 時間とともに誤算の蓄積が顕著に
なる現象が確認された. 格子ボルツマン法のアルゴリズム自体を誤差の蓄積が少ない
計算法に変えることで誤差蓄積を改善することはできたが, 完全になくすことはで
きなかった. また, ハプティクス・デバイスを用いてシミュレーション対象の境界
条件をインタラクティブに変更する方法やシミュレーション結果(圧力分布等)の
触覚による提示法の検討に着手した.
最終更新日時:
revolver@lab3.kuis.kyoto-u.ac.jp