学位論文要旨



No 117744
著者(漢字) 山田,知典
著者(英字)
著者(カナ) ヤマダ,トモノリ
標題(和) 有限要素法の完全並列化
標題(洋)
報告番号 117744
報告番号 甲17744
学位授与日 2003.03.12
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第5377号
研究科 工学系研究科
専攻 システム量子工学専攻
論文審査委員 主査: 東京大学 教授 矢川,元基
 東京大学 教授 吉村,忍
 東京大学 助教授 奥田,洋司
 東京大学 助教授 越塚,誠一
 東京大学 助教授 鈴木,克幸
内容要旨 要旨を表示する

 計算機技術の発展に伴い、計算機援用工学に対する要求も急速に高まりつつある。ノイマン型計算機から並列計算機への移行に重点を置く近年の計算機技術の改革は、これまで熟成されてきたノイマン型計算機上でのアルゴリズムからより並列計算機に適した、独立性が高く同時実行の可能なアルゴリズムヘの転換を要求している。複雑形状の連続体挙動を比較的容易に、かつ精度よく解析できることから広く用いられてきた有限要素法もその例外ではなく、解析精度やより複雑な形状の解析への要求が高まるのにつれて、必要となるメモリ量や計算時間の問題からそのアルゴリズムの並列化に対する適応が不可欠となっている。

 有限要素法はその処理の独立性、あるいは性格の違いから有限要素モデルを作成するプレプロセス、有限要素モデルを入力データとして解析を行うメインプロセス、解析結果を表示するポストプロセスに別れて多くの研究が行われてきた。計算のスケーラビリティーから、大規模解析を行う場合にはメインプロセスにおいて計算時間をもっとも必要とするため、その並列化に多くの研究者が時間を費やし十分な成果が得られてきておる。また、ポストプロセスは画像処理部分を強く計算機に依存するものの、その処理の特性から並列化しやすい状況がある。しかし、プレプロセスは依然として、並列計算に適さない逐次的なアルゴリズムが主流である。

 すなわち有限要素法の並列化におけるボトルネックはプレプロセス、いわゆる有限要素モデルを作成するメッシュジェネレーションプロセスである。これは、アドバンシングフロント法やドローネー法など、従来のメッシュジェネレーション技術の中核にあった手法がその逐次的なアルゴリズムから並列環境に十分適応できないためである。これらの手法も、解析形状をいくつかの部分領域に分割してやり、その各々の部分領域ごとに独立に計算を行うことで並列化することは可能であるが、各部分領域間での整合性の確保を行うさいに逐次的なプロセスを行う必要があり、いまだ実用的ではない。また,容易に並列化可能な手法としては、四分木八分木法や、ボクセルメッシュといったアプローチもあるが、節点密度場の反映や解析形状境界部分の表現といった点で問題があると考えられる。

 このため本論文ではプレプロセスとして解析領域をプロセッサー数に分割するのではなく、より多くのバケットと呼ばれる格子状の部分空間領域に分け、各バケットごとで独立に要素生成を行うバケットベース有限要素生成技術を提案し、有限要素法におけるメインプロセスだけでなくプレプロセスも並列化することにより、効率のよい大規模解析を行う環境を整えることを目的とする。また、メインプロセスにおいても高速化を測るため収束性を向上させた前処理アルゴリズムを提案する。

バケットベース要素生成手法

 通常、要素生成プロセスを並列化する場合、解析領域を空間的に分割し、各プロセッサーがそれぞれ担当する部分領域に対して要素生成を行うために各部分領域間での有限要素の整合性を取る必要がある。この整合性を確保するためのプロセスの存在が要素生成プロセスの並列化に対する適応性を低下させる主要な原因となっている。実際に、節点を格子状に発生させ要素を生成するグリッドベースの要素生成手法では比較的簡単にこの部分領域間の整合性を確保することが出来るため並列環境に実装することは容易であるが、節点密度を自由に変化させることが難しいため生成される要素モデルのクオリティーに対して制限が課されることとなる。実際、四分木八分木法では隣接する要素の大きさを二倍ずつにしか設定できず、またボクセル法では密度の概念が存在せず全領域を一定の大きさの要素により分割してしまう。このため、本バケットベース要素生成手法ではグリッドベース要素生成手法の利点である部分領域間の整合性確保の容易さを保ちながら、節点密度場をより自由に表現することを可能とすることを目的とした。

 具体的には、大規模解析を目標とし、十分なバケット数のもとに、各バケットごとに一定の密度を設定し、バケット境界部分での整合性を簡単なマッピングアルゴリズムによって一意に決定することにより、並列計算および節点密度表現可能なアルゴリズムを開発した。2次元における適応例を図1に示す。このとき隣接するバケット間での節点密度差が大きい場合には歪んだ要素が生成されてしまうことがわかる。このため、実装する場合には隣接バケット間の節点密度差は2倍以下することとした。原子炉圧力容器の15万節点程度の中規模有限要素モデルを図2に、16プロセッサーによる並列要素生成の結果得られた150万節点程度のコーヒーカップの領域分割モデルおよび大規模有限要素モデルを図3、4に示す。このときバケット分割数は約3万とした。また、このコーヒーカップモデルをSR2201上の64プロセッサーを用いて並列要素生成を行った場合にはキャッシュメモリの効果もあり100%以上の並列効率を得ることが出来た。

有限要素法における並列大規模連立一次方程式解法

 すでに述べたように並列環境における大規模連立一次方程式の求解プロセスは有限要素法解析の計算時間の大半を占めるため様々な研究がなされてきた。すでに、直接法は必要となるメモリ量、計算時間、並列計算との相性の問題から反復解法に対して解を必ず求められると言う点を除けばメリットはなく、反復解法の中でも前処理付き共役勾配法が広く用いられるようになってきている。前処理手法の中でも不完全コレスキー分解と対角スケーリング前処理はインプレメントの容易さから中心的に用いられており、またその収束性だけでなく実際に解を求められるまでにかかる計算時間で評価されている。並列計算との相性で考えると、対角スケーリングは1反復計算あたりにかかる処理時間および並列化効率から不完全コレスキー分解ほどの収束性の改善を得られないものの、実際に解を得るまでの処理時間は高速であるという結果も得られている。

 対角スケーリングアルゴリズムでは解くべき全体剛性行列の対角成分がすべて1になるようにスケーリングを行うのであるが、本論文で提案するノルム対角スケーリングでは全体剛性行列における各行および列のユーグリッドノルムの絶対値が1となるようにスケーリングを行う。本スケーリングを行うことにより、共役勾配法の1反復計算ステップの計算時間および並列効率を維持したまま、3次元構造弾性問題において問題にも依存するものの15%程度の収束性の向上を得ることが出来た。

結論

 本論文において提唱したバケットベース要素生成手法とノルムスケーリング前処理付き共役勾配法による並列ソルバーにより有限要素法解析プロセス全体の並列化を行った。

 従来、大規模有限要素法解析を行う場合にボトルネックとなっていたプレプロセス、すなわち有限要素生成プロセスの並列化をバケットベース要素生成手法を提案し、並列環境に実装することにより解決した。バケットベース要素生成手法は解析形状をまず複数のバケットに分割し、各バケットごとに独立に要素生成を行うことにより部分領域間での要素の整合性を満たすことの出来る、十分な並列性を備えたアルゴリズムである。実際に並列環境において要素生成を行いその有効性を確認した。

 また、メインプロセスでは共役勾配法の前処理としてマトリクスの各行のノルムに着目したノルムスケーリングを行うことにより、従来の対角スケーリングより収束性が良く、かつ、高速に収束解を得ることが出来ることを示した。

 最終的にこれらの手法を統合することにより、有限要素解析プロセス全体を並列環境において効率よく解析を行うことが可能となった。

図1二次元要素分割図

図2原子炉圧力容器の要素分割図

図3コーヒーカップの領域分割図

図4コーヒーカップの要素分割図

審査要旨 要旨を表示する

 構造、流体、熱伝導などの物理現象の有効な数値シミュレーション手法として有限要素法が広く用いられるようになりつつある。コンピュータ技術の発展に従って、現在では大規模かつ複雑な有限要素解析が可能になってきた。また、近年の計算機技術における大きな発展の一つに並列計算機が挙げられる。複数の計算機を一つの目的のために協調して処理を行う並列計算においては計算機処理能力を格段に上昇させることが可能であるが、計算アルゴリズム自身の並列計算への適応性が問題となる。有限要素法のアルゴリズムも並列計算に対して対応が進められてきたが、未だ過渡期であり、大規模な連立一次方程式を解くソルバー部分以外は十分な並列化がなされていない。このため、大規模複雑な有限要素解析においては、有限要素モデル作成に費やす時間が全解析行程のかなりを占めているといった状況となっている。

 本論文では、有限要素法において連立一次方程式のソルバー部分だけでなく要素生成についても並列化を行うことにより、解析者からのインタラクティブな入力を必要としない有限要素法解析プロセス全体を並列化することを目的としている。要素生成部分の並列化を行うためにバケットベース要素生成手法と名付けた新たな自動要素生成アルゴリズムの提案を行い、実際に並列環境に実装することにより、本アルゴリズムが高い並列効率で並列計算可能であることを示している。また、連立一次方程式ソルバー部分においても新しいスケーリングアルゴリズムを用いた並列共役勾配法ソルバーを実装することにより高い並列性と収束性の向上を達成している。両部分を同一の並列環境で実装することによりさまざまなオーバーヘッドの軽減に成功している。本論文は全体で6つの章から構成されている。

 第1章では本研究の背景として現在の有限要素法の並列化の現状を述べ、解析者からのインタラクティブな入力を必要としない全解析プロセスを並列化する必要があることを述べている。

 第2章は、並列計算を行う上で必要となる基本的な知識として、並列計算の評価手法や現在の計算機アーキテクチャについてまとめたものである。

 第3章では、有限要素プロセスの並列化を行うために、基本的な有限要素生成アルゴリズムについて述べ、並列化の問題点を明確にしている。その解決案としてバケットベース要素生成手法を提案し、2次元および3次元のアルゴリズム、並列環境への実装方法を述べている。

 第4章では、大規模連立一次方程式のソルバー部分の並列化について述べており、従来スケーリング前処理の主流として用いられている対角項のみに着目した対角スケーリング前処理に対して、マトリクスの各行列ノルムに着目を行ったノルムスケーリング前処理アルゴリズムを提案している。

 第5章において、提案したバケットベース要素生成手法を実際に計算機上に実装し、単一プロセッサでの要素生成時間、並列計算における並列効率の数値例を示し、本手法が有効であることを示している。また、連立一次方程式ソルバー部分においても数値例を用いて、十分な並列効率、対角スケーリング前処理に対する本ノルムスケーリング前処理の収束性の向上を示している。この両部分を同一環境で並列化することにより一千万自由度程度の解析を従来に比べ解析者の負荷を軽減し、容易に実行できることを示している。

 第6章では結論をまとめている。

 以上を要約すれば、本論文は実用レベルの大規模複雑な有限要素解析を実行するにあたり、解析者からのインタラクティブな入力を必要としない有限要素生成部分と連立一次方程式ソルバー部分を、新たに提案されたアルゴリズムを用いながら並列化することにより計算時間と解析者の労力の削減を行ったものであり、計算力学および計算機援用工学の発展に寄与するところが大きい。よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク