JPH11242664A - 連立一次方程式の解を計算する計算装置 - Google Patents

連立一次方程式の解を計算する計算装置

Info

Publication number
JPH11242664A
JPH11242664A JP4367398A JP4367398A JPH11242664A JP H11242664 A JPH11242664 A JP H11242664A JP 4367398 A JP4367398 A JP 4367398A JP 4367398 A JP4367398 A JP 4367398A JP H11242664 A JPH11242664 A JP H11242664A
Authority
JP
Japan
Prior art keywords
solution
solutions
triangular decomposition
performance evaluation
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4367398A
Other languages
English (en)
Inventor
Shinichi Tanaka
慎一 田中
Nobuhiro Iogi
伸洋 五百木
Naomi Arai
直美 荒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4367398A priority Critical patent/JPH11242664A/ja
Publication of JPH11242664A publication Critical patent/JPH11242664A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 経験的、専門的な高度な知識を必要とするこ
となく、構造解析等で現れた連立一次方程式を最速に解
く解法を容易に選択する。 【解決手段】 複数の三角分解解法による処理を実行可
能な三角分解処理部113と、各三角分解解法に対応す
る性能評価テーブル201とを備え、入力された係数行
列の情報から複数の前処理解法のそれぞれの前処理を前
記三角分解解法毎に実行して、各三角分解解法毎の演算
量を1または複数のプロセッサにより算出し、求めた演
算量と性能評価テーブルから計算時間を推定し、求解時
間の最も短い解法を三角分解処理の解法として選択し、
求解後、前記計算時間の推定値と実測値とが異なる場合
に性能評価テーブルを更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、連立一次方程式の
解を計算する計算装置に係り、特に、疎行列を係数行列
とする連立一次方程式解くために使用して好適な連立一
次方程式の解を計算する計算装置に関する。
【0002】
【従来の技術】一般に、構造解析等で現れる連立一次方
程式の係数行列は疎行列となる。疎行列を係数行列とす
る連立一次方程式の求解を行う方法に関する従来技術と
して、小国 力編著「行列計算ソフトウェア−WS,ス
ーパーコン,並列計算機」(丸善)等に記載された方法
が知られている。疎行列を係数行列とする連立一次方程
式の求解方法としては、前記文献に記載されているよう
に、スカイライン法をはじめとし多くの解法が存在す
る。そして、高速に求解する必要がある場合、解く問題
にあった解法の選択が重要であるが、この選択は、経験
的、専門的に高度な知識を必要とするものである。
【0003】
【発明が解決しようとする課題】構造解析で現れる疎行
列を係数行列とする連立一次方程式を、計算装置を用い
て直接解法により求解する場合、処理部は、演算量を小
さく抑えるための前処理部と、行列を分解する三角分解
処理部と、代入計算により解を求める前進消去後退代入
処理部との3つの処理部に分割することができる。そし
て、前処理部は、係数行列の平均帯幅を最小化する方式
や、ゼロ要素であった要素が計算過程で非ゼロ要素とな
るFill-in数を最小化する方式を使用することができ
る。また、三角分解処理部は、スカイライン法(縁取り
法)やゼロ要素との演算を行わないマルチフロンタル法
に代表される疎行列直接解法を使用することができる。
【0004】前述した前処理部及び三角分解処理部の数
種の解法の中から入力された問題に最適な解法を選択す
ることは、処理に携わる者に、経験的、専門的に高度な
知識を要求することになり、前述の従来技術による方法
は、常に最速に求解することができるとは限らないとい
う問題点を有している。
【0005】本発明の目的は、前記従来技術の問題点を
解決し、経験的、専門的な高度な知識を要することな
く、前処理部及び三角分解処理部の数種の解法の中から
入力された問題に最適な解法を選択し、問題を最速に求
解することのできる連立一次方程式の解を計算する計算
装置を提供することにある。
【0006】
【課題を解決するための手段】本発明によれば前記目的
は、疎行列を係数行列とする連立一次方程式の解を計算
する計算装置において、複数の三角分解解法による処理
を実行可能な三角分解処理部と、各三角分解解法に対応
する性能評価テーブルとを備え、入力された係数行列の
情報に対して複数の前処理解法のそれぞれ処理を前記三
角分解解法毎に実行したときの各三角分解解法毎の演算
量を1または複数のプロセッサにより算出し、求めた演
算量と性能評価テーブルの情報とから計算時間を推定
し、求解時間の最も短い解法を三角分解処理の解法とし
て選択することにより達成される。
【0007】また、前記目的は、求解後、前記計算時間
の推定値と実測値とが異なる場合に性能評価テーブルを
更新することにより達成される。
【0008】
【発明の実施の形態】以下、本発明による連立一次方程
式の解を計算する計算装置の一実施形態を図面により詳
細に説明する。
【0009】図1は入力された係数行列から前処理部を
各種実行し求解時間をシミュレートし、最適な解法を選
択して連立一次方程式の解を計算する計算装置の一実施
形態の処理動作を説明するフローチャート、図2は前処
理解法を逐次あるいは並列に実行し、三角分解処理部の
求解時間を予測する処理を説明するフローチャート、図
3は前処理部で選択可能な解法例の一覧を示す図、図4
は三角分解処理部で選択可能な解法例の一覧を示す図、
図5は三角分解処理解法の性能評価テーブルを説明する
図、図6は係数行列の形状及びその入力書式を説明する
図である。図1、図5において、112は複数の解法を
有する前処理部、113は、複数の解法を有する三角分
解処理部、201は性能評価テーブルである。
【0010】本発明の一実施形態による計算装置につい
て説明する前に、まず、図3〜図6を参照して、前処理
部で選択可能な解法例、三角分解処理装置で選択可能な
解法例、三角分解処理解法の性能評価テーブル、係数行
列の形状及びその入力書式について説明する。
【0011】図3には、前処理部で選択可能な解法例と
して、係数行列の平均帯幅を最小化する方式、ゼロ要素
であった要素が計算過程で非ゼロ要素となるFill-in数
を最小化する方式等の合わせて5つ解法を例としてあげ
ている。本発明の一実施形態においては、これらの何れ
の解放も選択することができる。
【0012】また、三角分解処理装置で選択可能な解法
例として、図4には、スカイライン法(縁取り法)と、
ゼロ要素との演算を行わない疎行列直接解法の1つであ
るマルチフロンタル法との2つの解法を例としてあげて
いる。本発明の一実施形態においては、これらの何れの
解放も選択することができる。
【0013】また、図5に示す性能評価テーブル201
は、図4に記載した各三角分解処理解法の性能評価テー
ブルであり、解法名202と、各解放の性能値204と
を三角分解処理部の主処理のループ長203毎に格納し
て構成されている。なお、ここでは、3重ループで構成
される主処理部分の最内側の繰り返し回数をループ長と
している。各性能値204は、ループ長203における
1秒あたりの浮動小数点実行回数MFLOPS値により
表わされている。
【0014】図6には本発明の実施形態で取り扱う係数
行列の形状及びその入力書式が示されており、図6
(a)に示す行列301は、次元数9の対称行列の上三
角部分の非ゼロ要素の位置関係を黒丸302で示したも
のである。計算のためにこのような行列を入力する場
合、図6(b)に示すような1次元配列IA303と、
図6(c)に示すような1次元配列NS305を作成す
る。1次元配列IA303は、行列301で対角要素を
含む非ゼロ要素を行方向に304で示すような列番号を
格納して作成したものである。また、1次元配列NS3
05は、配列IAで対角要素の列番号304のインデッ
クスを格納したものである。この1次元配列NS305
は、行列の次元数Nより1だけ大きく、(N+1)の位
置には、307として示すように非ゼロ要素の全要素数
+1の値が格納される。
【0015】次に、図1に示すフローを参照して、入力
された係数行列から前処理部を各種実行し求解時間をシ
ミュレートし、最適な解法を選択して連立一次方程式の
解を計算する本発明の一実施形態による計算装置の処理
動作を説明する。
【0016】(1)まず、図5により説明した様式で、
三角分解処理部の主処理の平均ループ長をしきい値とし
た各解法毎の性能評価テーブル201を作成する。各解
法毎の性能は、予め図示しない外部記憶装置に格納して
おいたテスト用データで検証済の性能評価結果から読み
込む(ステップ101)。
【0017】(2)次に、図6(b)、図6(c)に説
明した様式で、連立一次方程式の係数行列の非ゼロ要素
の一次元配列IA及びNSを入力する(ステップ10
2)。
【0018】(3)図3に記載した各前処理解法を、逐
次あるいは並列(処理装置が複数備えられる場合)に実
行し、三角分解処理部の求解時間を予測し、三角分解処
理部で使用する解法を決定する(ステップ103)。
【0019】このステップ103の処理は、装置内に有
する複数の解法による処理を実行可能な前処理部112
による複数の前処理解法の節点番号の振り直しを行っ
て、各解法による前処理を行うステップ104と、図4
に記載の各三角分解解法の演算量を算出するステップ1
05と、変換後の係数行列から図4に記載の各三角分解
解法における主処理の平均ループ長を算出し、ステップ
101で設定した性能評価テーブル201を参照して、
演算性能を取り出し、ステップ105で算出した演算量
を演算性能で割ることにより三角分解処理部の求解予測
時間を算出するステップ106と、ステップ106で予
測した求解時間が最も短い解法を採用して、それを解法
として決定するステップ107から構成される。なお、
このステップ103の処理の詳細は図2により後述す
る。
【0020】(4)装置内に有する複数の解法による処
理を実行可能な三角分解処理部113からステップ10
7で選択した解法を使用する三角分解処理を選択して三
角分解処理を行う(ステップ108)。
【0021】(5)ステップ108で三角分解された係
数行列と連立一次方程式の右辺ベクトルから代入計算を
行い解を求める(ステップ109)。
【0022】(6)ステップ106で予測した求解時間
とステップ108を実行した実測した求解時間とが一致
するか否かをチェックし、差がない場合処理を終了する
(ステップ110)。
【0023】(7)ステップ110で、予測した求解時
間とステップ108を実行した実測した求解時間とが不
一致の場合、実測した求解時間と演算量とから演算性能
を算出し、解いた問題における三角分解処理部の主処理
のループ長から、性能評価テーブル201を修正する。
この修正結果は外部記憶装置に書き込まれる(ステップ
111)。
【0024】次に、図2に示すフローを参照して、前述
したステップ104〜ステップ107で構成されるステ
ップ103の処理の詳細を説明する。
【0025】(1)入力された係数行列に対して、図4
に示す三角分解解法のそれぞれ(I=1,…,2)を使
用して、前処理を施すことなく計算を行った場合の各三
角分解解法の演算量FLOP(I)を算出する(ステッ
プ601)。
【0026】(2)図4に示す三角分解解法のそれぞれ
解法に対して採用する前処理解法の選択肢を格納する配
列MTHD(I)を0に初期化する(ステップ60
2)。
【0027】(3)ループカウンタIMTHDの初期値
を1に設定し、以後のステップ604〜608の処理
を、図3に示した前処理の解法の数MTHDMAX回だ
け繰り返す指示を行う(ステップ603)。
【0028】(4)実行するプロセッサが複数の場合、
各前処理を実行するプロセッサを決定する。すなわち、
プロセッサ数をNPUとし、自プロセッサの論理番号を
MEとしたとき、(IMTHD−1)をNPUで割った
ときの剰余がMEである場合、論理番号MEを持つプロ
セッサが、IMTHDの持つ値の番号を持つ前処理を自
プロセッサで処理することとする。例えば、実行するプ
ロセッサの数NPUが2で、前処理の解法総数MTHD
MAXが5の場合、解法1,3,5はプロセッサ論理番
号0で、解法2,4はプロセッサ論理番号1でそれぞれ
並列に処理される。また、実行するプロセッサの数NP
Uが1の時、前処理は、1つのプロセッサにより逐次処
理される(ステップ604)。
【0029】(5)ループカウンタIMTHDで指定さ
れた前処理を実行する。本例では図3で示した前処理の
項番=IMTHDと仮定している(ステップ605)。
【0030】(6)前処理解法IMTHDを実行し得ら
れた前処理後の各三角分解処理の演算量を求め、AFF
LOP(I)に格納する(ステップ606)。
【0031】(7)ステップ601で先に求めた演算量
FLOP(I)とステップ606で求めた演算量AFF
LOP(I)との大小を比較する(ステップ607)。
【0032】(8)ステップ607の比較でAFFLO
P(I)が小さいと判定された場合、配列MTHD
(I)にIMTHDを設定し、FLOP(I)にAFF
LOP(I)を設定する。また、変換後の節点情報をA
FNUM(I)として格納する(ステップ608)。
【0033】(9)実行するプロセッサの数NPUと1
との大小を比較する(ステップ609)。
【0034】(10)ステップ609で、NPUが1より
大きいと判定された場合、プロセッサ間でFLOP
(I)の値の大小の比較を行い、最小のFLOP(I)
を求めて、その時の選択解法をMTHD(I)とする。
ここまでの処理により、三角分解解法毎の最適な前処理
解法を決定することができる(ステップ610)。
【0035】(11)ステップ610で選択した前処理M
THD(I)を適用後の節点情報AFNUM(I)から
係数行列を変換し、三角分解解法毎の三角分解処理部の
主処理の平均ループ長LOOP(I)を計算し、図5に
示す性能評価テーブル201を参照して、性能値PF
(I)を得る(ステップ611)。
【0036】(12)三角分解処理部の求解予測時間を、
FLOP(I)をPF(I)で割ることにより求める。
求解予測時間が最小となるIを、三角分解処理選択解法
MTHD2に設定する(ステップ612)。
【0037】(13)ステップ612で設定した、三角分
解処理解法MTHD2の前処理解法MTHD1としてM
THD(MTHD2)を設定する(ステップ613)。
【0038】前述したステップ601〜ステップ613
の処理により、前処理部の解法としてMTHD1に格納
した番号に対応する解法、三角分解処理部の解法として
MTHD2に格納した番号に対応する解法が、入力され
た係数行列に対して最適な解法として選択されることに
なる。
【0039】なお、前述したステップ603〜605が
図1のステップ104に相当し、ステップ606〜61
0が図1のステップ105に相当し、また、ステップ6
11〜613が図1のステップ106、107に相当す
る。
【0040】前述した図1、図2の処理は、プログラム
としてHD,DAT,FD,CD−ROM等の記録媒体
に格納しておくことができる。
【0041】
【発明の効果】以上説明したように本発明によれば、経
験的、専門的な高度な知識を必要とすることなく、構造
解析等で現れた連立一次方程式を最速に解く解法を容易
に選択することができる。これにより、従来問題毎に試
行錯誤により選択していた連立一次方程式求解装置の各
処理部の解法選択作業をなくすことができ、構造解析に
かかる全体の時間を削減し、性能の向上を図ることがで
きる。
【図面の簡単な説明】
【図1】入力された係数行列から前処理部を各種実行し
求解時間をシミュレートし、最適な解法を選択して連立
一次方程式の解を計算する計算装置の一実施形態の処理
動作を説明するフローチャートである。
【図2】前処理解法を逐次あるいは並列に実行し、三角
分解処理部の求解時間を予測する処理を説明するフロー
チャートである。
【図3】前処理部で選択可能な解法例の一覧を示す図で
ある。
【図4】三角分解処理部で選択可能な解法例の一覧を示
す図である。
【図5】三角分解処理解法の性能評価テーブルを説明す
る図である。
【図6】係数行列の形状及びその入力書式を説明する図
である。
【符号の説明】
112 複数の解法を有する前処理装置 113 複数の解法を有する三角分解処理装置 201 性能評価テーブル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 疎行列を係数行列とする連立一次方程式
    の解を計算する計算装置において、複数の三角分解解法
    による処理を実行可能な三角分解処理部と、各三角分解
    解法に対応する性能評価テーブルとを備え、入力された
    係数行列の情報に対して複数の前処理解法のそれぞれを
    前記三角分解解法毎に実行したときの各三角分解解法毎
    の演算量を1または複数のプロセッサにより算出し、求
    めた演算量と性能評価テーブルの情報とから計算時間を
    推定し、求解時間の最も短い解法を三角分解処理の解法
    として選択することを特徴とする連立一次方程式の解を
    計算する計算装置。
  2. 【請求項2】 疎行列を係数行列とする連立一次方程式
    の解を計算する計算装置において、複数の三角分解解法
    による処理を実行可能な三角分解処理部と、各三角分解
    解法に対応する性能評価テーブルとを備え、入力された
    係数行列の情報に対して複数の前処理解法のそれぞれを
    前記三角分解解法毎に実行したときの各三角分解解法毎
    の演算量を1または複数のプロセッサにより算出し、求
    めた演算量と性能評価テーブルの情報とから計算時間を
    推定し、求解時間の最も短い解法を三角分解処理の解法
    として選択し、求解後、前記計算時間の推定値と実測値
    とが異なる場合に性能評価テーブルを更新することを特
    徴とする連立一次方程式の解を計算する計算装置。
  3. 【請求項3】 請求項1または2記載の機能を実現する
    プログラムを格納した記録媒体。
JP4367398A 1998-02-25 1998-02-25 連立一次方程式の解を計算する計算装置 Pending JPH11242664A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4367398A JPH11242664A (ja) 1998-02-25 1998-02-25 連立一次方程式の解を計算する計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4367398A JPH11242664A (ja) 1998-02-25 1998-02-25 連立一次方程式の解を計算する計算装置

Publications (1)

Publication Number Publication Date
JPH11242664A true JPH11242664A (ja) 1999-09-07

Family

ID=12670370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4367398A Pending JPH11242664A (ja) 1998-02-25 1998-02-25 連立一次方程式の解を計算する計算装置

Country Status (1)

Country Link
JP (1) JPH11242664A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279836A (ja) * 2006-04-03 2007-10-25 Univ Of Tsukuba 数値計算アルゴリズム性能表示装置および数値計算アルゴリズム性能表示方法
US7856466B2 (en) 2004-12-15 2010-12-21 Canon Kabushiki Kaisha Information processing apparatus and method for solving simultaneous linear equations
JP2019133301A (ja) * 2018-01-30 2019-08-08 株式会社竹中工務店 収斂計算支援装置、収斂計算支援方法、及び収斂計算支援プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856466B2 (en) 2004-12-15 2010-12-21 Canon Kabushiki Kaisha Information processing apparatus and method for solving simultaneous linear equations
JP2007279836A (ja) * 2006-04-03 2007-10-25 Univ Of Tsukuba 数値計算アルゴリズム性能表示装置および数値計算アルゴリズム性能表示方法
JP4576535B2 (ja) * 2006-04-03 2010-11-10 国立大学法人 筑波大学 収束求解アルゴリズム性能表示装置および収束求解アルゴリズム性能表示方法
JP2019133301A (ja) * 2018-01-30 2019-08-08 株式会社竹中工務店 収斂計算支援装置、収斂計算支援方法、及び収斂計算支援プログラム

Similar Documents

Publication Publication Date Title
Varki Response time analysis of parallel computer and storage systems
US20070198252A1 (en) Optimum design management apparatus, optimum design calculation system, optimum design management method, and optimum design management program
JP3827941B2 (ja) 連立一次方程式求解方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US20100122237A1 (en) Systems and Methods For Improved Parallel ILU Factorization in Distributed Sparse Linear Systems
US8286141B2 (en) Instruction-trace generation program, instruction-trace generating device, and instruction-trace generating method
JPH11242664A (ja) 連立一次方程式の解を計算する計算装置
US20070005674A1 (en) Single-channel convolution in a vector processing computer system
US9367937B2 (en) Apparatus and method for effective graph clustering of probabilistic graphs
US20120109929A1 (en) Technique for efficient partial crawling of interactive client-server applications in a parallel, distributed environment
CN111027688A (zh) 一种基于fpga的神经网络计算器生成方法及装置
US7693694B2 (en) Shape simulation method, program and apparatus
JP4996623B2 (ja) 検出装置、プログラムおよび検出方法
JP3682680B2 (ja) 要素データ形成方法及び要素データ形成装置
JP2004078338A (ja) コンピュータ性能評価方法及び装置
JP2910676B2 (ja) 負荷均等化装置
JP2010283703A (ja) 対地間トラヒック推定方法、対地間トラヒック推定装置およびプログラム
CN116306046B (zh) 一种确定燃烧仿真中组分浓度的方法及装置
JP2006031178A (ja) 負荷テスト実施装置、負荷テスト実施方法、負荷テスト実施プログラム
US11313694B2 (en) Method and apparatus for recommending travel way
JPH05165397A (ja) スケジューリング装置
JP2005242580A (ja) パラメータ推定方法、データ予測方法、パラメータ推定装置、データ予測装置、及びコンピュータプログラム
KR101893661B1 (ko) 정수문자집합에 대한 문자열의 δ-근사주기와 γ-근사주기 계산 방법
JP2005121663A (ja) 混合物の成分濃度推定方法及び装置
JP2004102831A (ja) パラメータ推定方法、データ予測方法、パラメータ推定装置、データ予測装置、コンピュータプログラム、及び記録媒体
JP3568790B2 (ja) トランザクション発生装置およびトランザクション発生プログラムを記録したコンピュータ読み取り可能な記録媒体