SMS-AMG-SMPの特長 |
■共有メモリ環境での並列処理に対応
■マトリクス計算部分を置き換えるだけで手軽に高速
■ポアソン方程式をSMS-AMG V3よりも高速に求解
|
SMS-AMG-SMPとは |
Super Matrix Solver-AMG(SMS-AMG)は、最高速の反復法として知られているAMG(Algebraic Multigrid)法を当社技術で更に高速・安定化した、疎行列向けの反復法ソルバです。SMS-AMG-SMPでは、このSMS-AMGを並列化に適したアルゴリズムに変更し、OpenMPを用いて共有メモリ型の並列計算を可能にしました。マルチコアPC環境において、環境変数を設定するのみで手軽に並列計算を実施することができます。
Version1は、SMS-AMGが最も得意としている、流体解析や熱伝導解析で現れる「ポアソン方程式」に限定することで処理の簡素化を行い、「ポアソン方程式」に関してはSMS-AMG Version3よりも高速に求解可能にいたしました。
【注】SMS-AMG V3で解が得られていた問題であっても、Verson1では解が得られない可能性があります。
|
SMS-AMG-SMPの概略仕様 |
項目 |
内容 |
備考 |
対象とする解析分野 |
流体解析、熱伝導解析 |
|
対象とする係数行列 |
一般二次元疎行列 |
ポアソン方程式を差分法などで離散化して得られる連立一次方程式の係数行列 |
対角に0要素のある問題 |
計算不可 |
|
問題規模の制限 |
なし |
利用可能なメモリ量による |
要素のデータ型 |
実数(倍精度) |
複素数は対象外 |
問題の対称性 |
非対称問題も計算可能 |
|
入力データ |
係数行列、右辺定ベクトル、収束判定条件、最大反復回数、その他 |
|
出力データ |
解ベクトル、達成相対残差、実反復回数 |
|
エラーメッセージ |
戻り値としてワーニング、エラーメッセージを返す。
(計算情報、システム情報など) |
|
提供方式 |
DLL形式(WINDOWS)、スタティックライブラリー形式(Linux) |
ソースコードは開示しません |
付属資料 |
説明書(データフォーマット/パラメータ/組込手順などの説明資料)、サンプルデータ、SMS-AMG-SMP組込用サンプルプログラム
(C,C++,FORTRAN) |
|
|
SMS-AMG-SMPの性能例 |
SMS-AMG-SMPは並列数を上げることで、非常に高速なマトリクスソルバであるSMS-AMGよりも高速に計算することが可能です。
|
78万元の問題を解いた場合の例 |
![](img/sms-amg-smp_300t.png)
|
110万元の問題を解いた場合の例 |
![](img/sms-amg-smp_1.1m.png) |
※連立一次方程式を、 前処理付BiCGSTAB、SMS-AMG、 SMS-AMG-SMP、を用いて計算した結果です。
いずれもテスト環境および収束判定条件は以下の通り。
[テスト環境]CPU:Intel Xeon Silver 4216、OS:Cent OS Linux 7.9(64ビット)、Memory:512GB
[収束判定条件]L2ノルム相対残差 10-9
※前処理付-BiCGSTABは、連立一次方程式の古典的な反復解法であるBiCG法のアルゴリズムに前処理(本コードはBlock緩和法前処理)を加えて改良したもので、非対称行列を解くことができ、流体解析などの分野で利用されている解法です。 |
稼働環境 |