GPGPU による 生体軟組織の実時間変形・破壊シミュレーション 佐瀬 一弥 [email protected] 北海道大学 大学院情報科学研究科 博士課程後期 Tumor Aspirator 脳腫瘍摘出シミュレーション(約 10 [FPS], 節点数 9184, 四面体要素数 34050) 0 有限要素法ベースの力覚作用可能な脳外科手術シミュレータの実 現を目指す.課題は膨大な計算量を実時間で処理することである. 1 2 0 0 1 1 n j E(e, 1) = n 0 1 2 2 アプローチ: 生体組織を等方性弾性体と仮定.四面体要素を用いた共回転系定式 化による非線形有限要素法を採用し,それに適した GPGPU 実装を 開発する. Methods ( 佐瀬 他,GPGPUを活用した実時間脳腫瘍摘出シミュレーション , ロボティクス・メカトロニクス講演会2014予稿集,富山,2014. ) E(e,3) E(e,1) E(e,2) E(e,0) E(e,3) E(e,1) 0 1 2 3 0 1 2 Nnode 3 E(e,2) E(e,0) Ke K (E(e, 0), E(e, 1)) += Ke(0,1) K 剛性行列の組み立て(1 マスは 3×3 の部分行列) 疎行列形式ではコストの高いランダムアクセスを避けたい. そこで,縮約配列を用いる.下記①-③を一度行い,計算ループでは ④を実行する.( Cecka, et al., GPU Computing Gem, 2012) ① 全総和元行列 (Ke) 一次元化. Element data ( ② 総和先行列 (K) 格納先 *1 を確保. ③ 非ゼロエントリごとに 総和元インデックスのリスト (縮約配列)を作成. ④ 非ゼロエントリ / スレッドで右 図の処理を並列実行. ) ① Read ② Sum Reduction array = K (csrValues) 縮約配列 *1 CSR 形式の場合,非ゼロ要素配列,列オフセット配列,行インデックス配列 Conclusion ③ Write + 3 E(e, 3) = i, E(e, 1) = j 0 1 2 3 0 1 2 Global matrix 3 E(e, 2) = n Element stiffness matrices of tetras which share node n E(e, 1) = i, E(e, 0) = j Element stiffness matrices of tetras which share an edge (i, j), (i > j) 剛性行列の対称性を考慮した縮約配列の作成 剛性行列の対称行列となるため, 行列成分の半分のみを計算する (上図). 全体のフローチャートを右図に 示す. 共回転系定式化による有限要素 法では,初期配置における Ke に 現配置における回転 Re を作用さ せた行列を作成し,その総和に より全体剛性行列を得る. 破壊表現のためには削除する要 素の Re を零行列として GPU に 送信する. 連立一次方程式の求解には共役 勾配 (CG) 法を用いた. ボトルネックのひとつは剛性行列の組み立てである. 剛性行列 K は要素剛性行列 Ke の総和により得る. K:3 Nnode × 3 Nnode 疎行列 , Ke:12 × 12 密行列(×Ntetra) 2 3 i 1 3 n 3 0 1 2 2 3 脳外科手術シミュレータ 0 3 Host (CPU) Device (GPU) Precomputing Reduction array Ke Calc. R Re Re Ke ReT K(CSR) Reduction Apply boundary condition Solve Av = b A, b v Other func.. フローチャート Results 最上部の図に示すシミュレーション において,CPU のみの場合,と GPU を併用した場合の結果を右図 に示す.GPU を用いることで 43 [ms] 削減することができた. + コンピュータ構成 160 Time per flame [ms] Introduction 120 80 148 105 40 0 ・Intel Core i7-3960X CPU GPU 4.8 [GHz](Over-clocked), 6 cores 1 ステップあたりの計算時間 ・NVIDIA Tesla K20c, 2496 cores, 706MHz ・OpenMP および CUDA を利用. 縮約配列を用いた剛性行列組み立て,および,CG 法による連立方程式の求解を GPGPU 実装することに より,約 10000 節点を持つ有限要素モデルに対し 1 ステップ 100 [ms] のほぼ実時間計算を実現した.
© Copyright 2024 ExpyDoc