京都大学 大学院 情報学研究科 通信情報システム専攻
コンピュータ工学講座 計算機アーキテクチャ分野 (富田研究室)

リアルタイム可視化システムの開発

我々がこれまで開発してきたReVolver/C40を含め,既存の可視化システムは,医療機器やシミュレーションなどで得られたデータの解析を対象としており,一つのデータに対して複数回可視化を行うことを目的としたシステムであった.近年では,可視化システムにはこれまでの目的に加え,時間変化するデータを一定間隔で可視化する機能(リアルタイム可視化)が切望されている.
我々は,そのような実時間インタラクティブシミュレーション環境の実現にむけて,シミュレーション可視化,そして両者の連携について研究を行っている.4096^3規模のデータを,SHD規格相当のスクリーン(2048^2)に,秒間30枚のフレームレートで出力する可視化システムを構築することを当面の目標としている.
本年度は,以下の研究を行った.

シミュレーション

実時間インタラクティブ・シミュレーションのための動的精度制御手法
対話的シミュレーション環境における数値シミュレーションの精度を 実時間操作の頻度に応じて動的に制御することで実時間応答性を改善する サーバ・クライアント型のシミュレーションモデルを提案した. 時間微分項の存在しない方程式に対しては, 段階的に精度を上げることにより 精度制御を行うシミュレーションモデルを提案した. 一方, 時間微分項の存在 する方程式に対しては, 時間精度が高いが空間精度の低いシミュレーションと 時間精度が低いが空間精度の高いシミュレーションを同時実行しシミュレーション 結果を相補的に使用することで, 実時間性を保証するシミュレーション・モデル を提案した.
服飾シミュレータの高速化
仮想布操作において, 布の形状と力覚を同時に提示するためには, 布の形状と 力の両方を, 実際の布における両者の関係を満たす形でシミュレーションする 必要がある. 現実の布における形状と力の関係を計測する手法として KES(Kawabata's Evaluation Method for Fabric)があるが, 布は履歴特性を もっているため、得られるデータは特定の操作履歴に置ける形状と力の間の 一方向的な関係を記述したものとなる. そこで, 我々は KESデータに基づき, かつ, 履歴特性を考慮しながら, 布の形状と力を同時にシミュレーションする ための布モデルを提案した. 次に, このモデルに基づいた服飾シミュレータを Adaptive Mesh Refinement and Coarsening(AMRC)法を用いて実装することで, シミュレーションの高速化が図れることを示した. さらに, AMRCの並列実装に おいて問題となる負荷の不均衡に対して ActiveList法と呼ぶ負荷分散手法を 提案し, SMP型並列計算機(富士通製Primepower HPC2500, 96CPU)上にOpenMPを 用いて実装した結果, 極めて良好なスケラービリティを得ることができた.

可視化

大規模非構造格子データの並列可視化における動的負荷分散

分散メモリ型並列計算機において,非構造格子データを生成する 数値シミュレーションと,その結果の可視化の両方を行うシステム における負荷の不均衡を指摘し,問題を解決するための動的負荷分散 方式の提案を行った.また, 非構造格子ボリューム・データの代表的な レンダリング手法の一つであるCell Projection法に対して, Early Ray Termination(ERT)技術を適用して高速化を行う ERT-table法 という新しいアルゴリズムを提案した. 評価の結果,307,565の要素から 成る非構造格子データを,8台のPCクラスタ(Pentium4 3GHz, GbE) を用い, 300^2のスクリーン解像度でレンダリングした結果,動的負荷分散 ならびにERT-table法を適用することで最大4.32倍の性能向上を達成した.

汎用グラフィクスハードウェアを用いた並列ボリュームレンダリング

大規模構造格子データのボリュームレンダリングを汎用グラフィクスハード ウェアを用いて並列処理するシステムの構築を行なった. さらにオクトリー構造を 利用した均質領域のデータ圧縮と不可視ボリュームデータ削減を併用することで, 汎用グラフィックスカード(Radeon9700Pro, ビデオメモリ128MB)を登載した4台の PCで512×512×1024のボリュームデータを5FPS以上の速度で実時間可視化する ことができた. また, 汎用グラフィックスカード(GeForceFX5950Ultra, ビデオメモリ256MB)を登載した4台のPCで適応的サンプリングを応用した ボリュームデータ圧縮を行なうシステムを構築したところ, 同じボリュームデータ に対して, 22FPS以上の描画速度を達成できた.

専用ハードウェアを用いた並列ボリュームレンダリング

汎用グラフィックスハードウェアが重要視していない並列処理機能と3次元メモリ 機能を強化し, 大規模構造格子ボリュームデータの実時間可視化を支援する 専用ハードウェアVisA(Visualization Accelerator)のプロトタイプボード VisA Pro を開発した. VisA Proカードは600万ゲートの大規模FPGA, Dual Link の DVI-D入出力インタフェースならびに高速大容量のDDR-SDRAMを2系統搭載し, 高いメモリバンド幅を要求する並列画像処理向けの多目的PCIカードである. ボリュームレンダリング向け専用アクセラレータとして使用する場合, ボリュームデータ格納用のメモリとしては2系統の合計で最大メモリ容量1GB, 最大メモリバンド幅5.4GB/sを達成するとともに, ピクセル単位の細粒度並列 処理に耐え得る低レイテンシかつ高速(理論最大転送速度は双方向で2GB/s)な 通信リンクを実現する. また, VoxelプリフェッチバッファやVoxel値から 色情報(RGBa)の16並列同時検索を行なう高速LUTをFPGA内の On-chip分散メモリ を活用して実装することで, VisA Proカード1枚で16段のピクセル値計算を 133MHzで実行可能である. 現在, VisA Proカードを使った予備実験を行なって おり, Single Link DVI-D入出力インタフェースを用いて 500MB/s (双方向で1GB/s) の実効速度を得ている.

視点移動速度に応じた詳細度制御を行なう実時間ボリュームレンダリング処理

実時間での描画が困難な大規模ボリュームデータの可視化において, 視点移動に実時間で追従するための詳細度制御に関する研究を行った. 具体的には, 汎用グラフィクスカードを用いたテクスチャベース・ ボリュームレンダリングにおいて,ボリュームデータのリサンプリング率を 制御する詳細度制御, ならびに 多解像度ボリュームデータ(Multiresolution Volume Data)を利用した 詳細度制御を実装し,それぞれについて描画速度, 出力画像の画質等を 評価した.また,視点移動速度に応じた精度制御手法についても評価を 行った. その結果, 両者を併用することで従来困難であった自然な視点 追従が可能であることが確認できた.

汎用グラフィックスカードを用いた数値計算

アクティブレンダリングシステムを実現する手段の一つとして, 汎用グラフィックカード上で簡易シミュレーションを行ないつつ, リアルタイムに結果を可視化するシステムの基礎研究を行った. 近年のハイエンド汎用グラフィクスカードは, 制限付きながらも 浮動小数点演算が可能である. そこで, 汎用グラフィックスカード (NVIDIA GeForceFX5900Ultra, 256MB)をベクトル処理アクセラレータ と見做し, Livermore Fortran Kernelに現れる代表的な反復パターン を抽出しその実装方法を検討した.その結果, 24個のカーネルのうち 23個の実装を行うことができた. また, 簡易シミュレーションの一例 として, 2次元ポアソン方程式のヤコビ法による反復解法を 汎用グラフィックスカード上に実装し,CPUを用いて反復解法を実装 した場合との実行速度を比較した. グラフィックスカードのビデオメモリ上で計算可能なサイズの問題に 対しては, 収束判定を除いた部分に関しては,32ビット単精度浮動小 数点の精度で,3GHz動作のPentium 4より高速に実行可能であることが分った.

[I18N checked]

ご意見・ご感想はこちらへ。 revolver@lab3.kuis.kyoto-u.ac.jp
$Id: VV.html,v 1.6 2004/02/18 12:44:44 moris Exp $