SuperLU — CAE用語解説
SuperLU
FEMソルバーの設定で「SuperLU」って選択肢があるんですけど、これは何をするソフトなんですか?
SuperLUは疎行列(スパースマトリクス)に特化したLU分解ソルバーだよ。FEMやCFDで組み立てた大規模な連立方程式 Ax = b を直接法で解くためのオープンソースライブラリ。UC BerkeleyのXiaoye Sherry Li教授が開発していて、Code_AsterやCalculiXなど多くのオープンソースCAEコードで採用されているんだ。
定義
「スーパーノード」って何ですか?普通のLU分解と何が違うんですか?
スーパーノードは「同じ非ゼロパターンを持つ列のグループ」のこと。通常のLU分解は列ごとにスカラー演算するけど、スーパーノード型はグループ単位でBLAS3(ブロック行列演算)を使えるから、CPUキャッシュの利用効率が格段に上がる。これがSuperLUの名前の由来で、密行列のLU分解に近い計算効率が疎行列でも得られるのが強みだ。
CAEにおける位置づけ
MUMPSやPARDISOとの違いは何ですか?
いい質問。MUMPSはマルチフロンタル法ベースでMPI並列に強い。PARDISOはIntel MKLに含まれていて共有メモリ並列が高速。SuperLUはシリアル版(SuperLU)、スレッド並列版(SuperLU_MT)、分散並列版(SuperLU_DIST)の3種類があって、非対称行列に特に強い。CFDの非対称係数行列ではSuperLUやMUMPSが主に使われるよ。
直接法ソルバーって反復法と比べてメモリが多く必要ですよね?
そう。LU分解過程でフィルイン(元のゼロだった位置に非ゼロが出現)が起きるから、元の行列の数倍のメモリが必要。50万自由度の3D問題でメモリ16GBくらい使うこともある。ただし直接法は反復法と違って「必ず解が得られる」安心感があるから、収束に問題がある非線形問題や悪条件な問題では頼りになるんだ。
関連用語
SuperLUの関連概念を教えてください。
非対称行列に強いのは知りませんでした。CFDの計算で直接法を使う場面も出てきそうですね。
小~中規模の問題や、反復法が収束しない厄介な問題では直接法が救世主になることがあるよ。PETScからSuperLUを呼び出す設定も簡単だから、選択肢として持っておくといい。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
Project NovaSolver — CAE実務の課題に向き合う研究開発
「SuperLUをもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。
進捗通知を受け取る →関連トピック
なった
詳しく
報告