JPH03265066A - Determinant solving processing system - Google Patents

Determinant solving processing system

Info

Publication number
JPH03265066A
JPH03265066A JP6475990A JP6475990A JPH03265066A JP H03265066 A JPH03265066 A JP H03265066A JP 6475990 A JP6475990 A JP 6475990A JP 6475990 A JP6475990 A JP 6475990A JP H03265066 A JPH03265066 A JP H03265066A
Authority
JP
Japan
Prior art keywords
processor
elements
processors
row
equation
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
JP6475990A
Other languages
Japanese (ja)
Inventor
Hiroyuki Sato
弘幸 佐藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6475990A priority Critical patent/JPH03265066A/en
Publication of JPH03265066A publication Critical patent/JPH03265066A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To efficiently execute the parallel processing by executing the processing in parallel by plural sets of processors to which elements in positions being at intervals by a line unit are allocated, respectively. CONSTITUTION:To a processor 2-0, elements of, for instance, a line 1, a line 4, a line 7 and a line 10 in a matrix are allocated, and to a processor 2-1, elements of a line 2, a line 5, a line 8 and a line 11 are allocated, and to a processor 2-2, a line 3, a line 6, a line 9 and a line 12 are allocated. The operation is executed in such a form as the processor 2-0 executes an erasure with regard to an element (c) first, the processor 2-1 executes an erasure with regard to an element (a), and the processor 2-2 executes an erasure with regard to an element (b)... As a result, each processor executes a calculation by using the element allocated first, and it will suffice that data related to a prescribed number of elements is only received from other processor in accordance with necessity.

Description

【発明の詳細な説明】 〔概 要〕 帯行列を係数マトリクスとする連一次方程式の形に集約
される計算を効率よく実行する行列式解法処理方式に関
し。
[Detailed Description of the Invention] [Summary] This invention relates to a determinant solution processing method that efficiently executes calculations that are summarized in the form of a series of linear equations using a band matrix as a coefficient matrix.

例えば夫々のプロセッサがメモリを分散して保持する形
の分散メモリ型の並列プロセッサ・システムにおいて、
効率よく並行処理を可能にすることを目的とし。
For example, in a distributed memory parallel processor system where each processor stores memory in a distributed manner,
The purpose is to enable efficient parallel processing.

複数のプロセッサに夫々、マトリクスの行方向の飛び飛
びの位置のエレメント、あるいは行・列2方向の飛び飛
びの位置のエレメントを割り付けて処理を実行せしめる
ようにし、必要に応じて他プロセツサと交信するように
構成する。
Elements at discrete positions in the row direction of the matrix, or elements at discrete positions in the row/column direction of the matrix are assigned to multiple processors to execute processing, and the processors communicate with other processors as necessary. Configure.

〔産業上の利用分野〕[Industrial application field]

本発明は1行列式解法処理力式、特に帯行列を係数マト
リクスとする連一次方程式の形に集約される計算を効率
よく実行する行列式解法処理方式に関する。
The present invention relates to a 1-determinant solution processing power equation, and particularly to a determinant solution processing method that efficiently executes calculations that are summarized in the form of a series of linear equations using a banded matrix as a coefficient matrix.

連一次方程式は、工学分野の技術計算や、科学技術計算
に頻繁に現れ、応用分野はきわめて広い、なかでも、係
数行列が帯状になる問題は、偏微分方程式の解法や構造
計算等にしばしば使用されている。ことに、近年は大規
模な連一次方程式を高速に解く需要が高まっているが、
一般に疎な係数マトリクスをもつ連一次方程式は、ベク
トル計算機や並列計算機による高速化が困難である。
Systems of linear equations frequently appear in technical calculations in the engineering field and in scientific and technical calculations, and have a wide range of applications.In particular, problems in which the coefficient matrix is band-shaped are often used in solving partial differential equations, structural calculations, etc. has been done. In particular, in recent years there has been an increasing demand for rapidly solving large-scale systems of linear equations.
In general, it is difficult to speed up a series of linear equations with a sparse coefficient matrix using a vector computer or a parallel computer.

る。Ru.

(従来の技術〕 一般に連一次方程式は、直接法または反復法と呼ばれる
アルゴリズムで解かれる。直接法は係数マトリクスの掃
き出し計算またはこれと等価な方法で、また反復法は初
期値を与えて反復計算をさせて解に収束させる方法であ
る。それぞれ、利点や欠点があり9問題毎に適した方法
が採用される。
(Prior art) Generally, a set of linear equations is solved by an algorithm called a direct method or an iterative method.The direct method is a coefficient matrix sweep calculation or an equivalent method, and the iterative method is an iterative calculation using initial values. Each method has advantages and disadvantages, and a method suitable for each of the nine problems is adopted.

直接法が反復法に比べ解の精度が高(、解法も比較的単
純なため、精度を要求される問題を初めしばしば使用さ
れる。直接法の計算には、従来から逐次計算機が用いら
れてきたが、最近ではベクトル計算機も使用されている
The direct method has higher solution accuracy than the iterative method (and the solution method is relatively simple, so it is often used for problems that require precision. Sequential computers have traditionally been used to calculate the direct method. However, recently vector calculators have also been used.

近年、ますます大規模な連一次方程式を高速に解くこと
が要求されているが、直接法は、掃き出し計算の手順が
基本的に逐次的であり、並列化が困難であることから、
並列計算機によって高速化を図ることが困難であった。
In recent years, there has been a need to solve increasingly large-scale linear equations at high speed, but the direct method is difficult to parallelize because the sweep calculation procedure is basically sequential.
It was difficult to increase the speed using parallel computers.

特殊な形の係数マトリクスを持つ連一次方程式では、幾
つか並列解法アルゴリズムが存在する。
Several parallel solving algorithms exist for a set of linear equations with a special type of coefficient matrix.

三重対角行列の並列解法として、Hang(1)の方法
がある。この方法では、係数マトリクスをブロックに分
割し、並列に係数の消去計算を行うのが特徴である。
As a parallel solution method for tridiagonal matrices, there is the method of Hang (1). This method is characterized by dividing the coefficient matrix into blocks and performing coefficient elimination calculations in parallel.

(1) H,HJang:A parallel  m
ethod fortridaiagonal  eq
uations、  ^CM Trans、Math。
(1) H, HJang: A parallel m
ethod fortridaiagonal eq.
ations, ^CM Trans, Math.

Softw、  Vol、7.  No、2.  pp
、170−183当該方法を採用して、複数のプロセッ
サによって並列的に計算せしめるに当っては、第1θ図
に示す如くエレメントを複数台(図示の場合には4台)
のプロセッサに割り付けて処理を行うようにされる。
Softw, Vol. 7. No, 2. pp
, 170-183 When this method is adopted and calculation is performed in parallel by multiple processors, multiple elements (four in the illustrated case) are used as shown in Fig. 1θ.
is assigned to the processor for processing.

第10図は従来の場合のエレメントの割り付は態様を示
す0図中のA、  bは方程式におけるAとbとに対応
し、PEIないしPE4は夫々プロセッサを表している
FIG. 10 shows the arrangement of elements in the conventional case. A and b in FIG. 10 correspond to A and b in the equation, and PEI to PE4 represent processors, respectively.

第11図および第12図は−angの方法を説明する説
明図を示す。なお第12図(A)(B)(C)(D)は
まとまって1つのフローチャートを示している。
FIG. 11 and FIG. 12 show explanatory diagrams for explaining the -ang method. Note that FIGS. 12(A), (B), (C), and (D) collectively show one flowchart.

令弟11図に示す如く1次元数12で帯幅3を与えられ
る帯行列を係数マトリクスとする連一次方程式が与えら
れ、これを解くものとすると。
As shown in Figure 11, we are given a series of linear equations whose coefficient matrix is a band matrix with a one-dimensional number of 12 and a band width of 3, and this is to be solved.

第12図(A)(B)(C)(D)に示す如き処理フロ
ーにしたがって、係数を消去して第12図(D)に示す
マトリクス(4−5)の形を求めてゆくようにされる。
According to the processing flow shown in Fig. 12 (A), (B), (C), and (D), the coefficients are deleted to obtain the shape of the matrix (4-5) shown in Fig. 12 (D). be done.

A、(処理a) 令弟12図(A)図示のマトリクス(4−1)を3台の
プロセッサにて処理を行うものとするときマトリクス(
4−1)に示す点線の如く、各エレメントを夫々のプロ
セッサに割り付ける。
A. (Processing a) When the matrix (4-1) shown in Figure 12 (A) is processed by three processors, the matrix (
As shown by the dotted line in 4-1), each element is allocated to each processor.

B、(処理す、1ないしす、3) 3台のプロセッサのうちの、第1のプロセッサはエレメ
ントe !l eS+ e aを消去し、第2のプロセ
ッサはエレメントe*+ey+esを消去し、第3のプ
ロセッサはエレメントelll+  ell+  el
!を消去するようにする。即ち、第1のプロセッサは(
2行)−(1行)xe、/a。
B, (Processing, 1 to 3) Among the three processors, the first processor is element e! l eS+ e a, the second processor erases the element e*+ey+es, and the third processor erases the element ell+ ell+ el
! to be erased. That is, the first processor (
2nd line) - (1st line) xe, /a.

なる処理を実行してエレメントe!を消去し、第2のプ
ロセッサは (6行)−(5行)×e6/dB なる処理を実行してエレメントe、を消去し、第3のプ
ロセッサは (10行)−(9行) X e +o/ d gなる処
理を実行してエレメントe、。を消去するし。
Execute the process to create element e! , the second processor executes the process (6 lines) - (5 lines) x e6/dB and erases the element e, and the third processor executes (10 lines) - (9 lines) Execute the process e+o/dg to create element e. and delete it.

・・・・・・てゆく。・・・・・・・・・.

第12図(B)に示すマトリクス(4−2)はエレメン
トe t+ 62+ 641 e &1 e 71 e
 l+ e Ill+  e Il+e1□が消去され
た状態を示している。なおマトリクス(4−2)におい
てエレメントg S+ g &+・・・が現れたのは、
上記消去処理の影響で現れたものである。
The matrix (4-2) shown in FIG. 12(B) has elements e t+ 62+ 641 e &1 e 71 e
l+ e Ill+ e Il+e1□ shows the erased state. In addition, the element g S+ g &+... appeared in the matrix (4-2) because
This appears due to the effect of the above erasing process.

C,(処理c、1ないしC13) 次いで第12図(B)図示の如く、エレメントf t+
 f 、、f 111+  r l+ r S+ f 
1.f 4+ f sを消去して。
C, (processing c, 1 to C13) Next, as shown in FIG. 12(B), element f t+
f ,,f 111+ r l+ r S+ f
1. Erase f 4 + f s.

マトリクス(4−3)が得られる。A matrix (4-3) is obtained.

D、(処理d、1ないしd、2) 次いで第12図(C)図示の如く、エレメントes+g
約gff+gl+e!+glll+  g+++  g
llを消去してマトリクス(4−4)が得られる。
D, (processing d, 1 to d, 2) Then, as shown in FIG. 12(C), element es+g
About gff+gl+e! +gllll+ g+++ g
By eliminating ll, matrix (4-4) is obtained.

E、(処理e、1ないしC13) 次いで第12図(C)ないし第12図(D)図示の如く
、エレメント11s+ hw+ h 10.  r I
I+  hahs+h*+ht+t+++hz+f:+
を消去してマトリクス(4−5)が得られる。
E, (processing e, 1 to C13) Next, as shown in FIGS. 12(C) to 12(D), elements 11s+ hw+ h 10. r I
I+ hahs+h*+ht+t+++hz+f:+
By erasing , matrix (4-5) is obtained.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

第12図(A)ないしくD)に示した如き形で処理が行
われるが、第12図(A)ないしくD)図示の場合には
1次の如き問題が存在している。
Processing is performed as shown in FIGS. 12(A) to 12D), but in the case shown in FIGS. 12(A) to 12D), a first-order problem exists.

即ち、処理(b、1)、 (b、2)、 (b、3)、
 (c、1)。
That is, processing (b, 1), (b, 2), (b, 3),
(c, 1).

(c、2)、 (c、3)までの処理に関しては、3台
のプロセッサが並行処理を行うことができるが、マトリ
クス(4−3)から(4−5)に至る処理に関しては。
Regarding the processing up to (c, 2) and (c, 3), three processors can perform parallel processing, but regarding the processing from matrix (4-3) to (4-5).

各プロセンサ内での処理が終了した上で他のプロセッサ
内での処理に進む形となり、処理が逐次処理になってし
まう。
After the processing within each processor is completed, processing proceeds to the other processors, resulting in sequential processing.

複数のプロセッサが、共有メモリをアクセスしつつ処理
を進めている場合には、データの割り付けを変更するな
どによって並列処理が可能となるが1分散メモリ型のシ
ステムの場合にはデータを切り換えるための通信コスト
が増大してしまい効率的ではない。
When multiple processors are processing while accessing shared memory, parallel processing is possible by changing the data allocation, but in the case of a distributed memory system, it is necessary to change the data allocation. This increases communication costs and is not efficient.

本発明は9例えば夫々のプロセッサがメモリを分散して
保持する形の分散メモリ型の並列プロセッサ・システム
において、効率よく並列処理を可能にすることを目的と
している。
An object of the present invention is to enable efficient parallel processing in a distributed memory type parallel processor system in which each processor holds memory in a distributed manner, for example.

〔謀脛を解決するための手段〕[Means to resolve the conspiracy]

第1図は本発明の原理構成図を示す0図中の符号1はホ
スト・プロセッサ、2−1は夫hプロセッサ(エレメン
ト・プロセッサ)、3は通信ネットワーク、A、bは夫
々連一次方程式の既知数を表している。
FIG. 1 shows a diagram of the principle configuration of the present invention. In the diagram, 1 is a host processor, 2-1 is a husband processor (element processor), 3 is a communication network, and A and b are respective linear equations. Represents a known quantity.

プロセッサ2−0にはマトリクスにおける例えば行19
行49行71行10のエレメントが割り付けられ、プロ
セッサ2−1にはマトリクスにおける例えば行22行5
9行82行11のエレメントが割り付けられ、プロセッ
サ2−2にはマトリクスにおける例えば行31行63行
91行12が割り付けられる。即ち5本発明の場合には
、飛び飛びの位置のエレメントが割り付けられる。
Processor 2-0 has row 19 in the matrix, for example.
The elements in row 49, row 71, row 10 are allocated to the processor 2-1, and the element in row 22, row 5 in the matrix is allocated to the processor 2-1.
Elements of 9 rows, 82 rows, and 11 are allocated, and for example, rows 31, 63, 91, and 12 in the matrix are allocated to the processor 2-2. That is, in the case of the present invention, elements at discrete positions are allocated.

〔作 用〕[For production]

本発明の場合には、第1図図示の例で言えば。 In the case of the present invention, let us take the example shown in FIG.

最初に図示Cで示すエレメントについてプロセッサ2−
0が消去を行い9図示aで示すエレメントについてプロ
セッサ2−1が消去を行い2図示すで示すエレメントに
ついてプロセッサ2−2が消去を行う・・・・・・よう
な形で演算が行われてゆく。
First, regarding the element indicated by C in the diagram, the processor 2-
0 performs the deletion, 9 the processor 2-1 performs deletion on the element indicated by a, and the processor 2-2 performs deletion on the element indicated by 2 in the diagram. go.

この結果、各プロセッサは最初に割り付けられたエレメ
ントを用いて計算を行い、必要に応じて他プロセツサか
ら所定個数のエレメントについてのデータを受信するだ
けで足りることとなる。
As a result, each processor only needs to perform calculations using the initially allocated elements and receive data regarding a predetermined number of elements from other processors as necessary.

〔実施例〕〔Example〕

第2図(A)ないし第2図(0)は本発明の場合の処理
過程を説明する説明図を示す0図示の場合には9次元数
20でかつ帯幅5のマトリクスが存在している場合を表
している。
FIGS. 2(A) to 2(0) are explanatory diagrams for explaining the processing steps in the case of the present invention. In the case shown in FIG. 0, there is a matrix with nine dimensions and 20 and a band width of 5 represents the case.

そして1図中のO印は非ゼロ値をもつエレメント・印は
ピボット・エレメント(他のエレメントを消去せしめる
ために用いられるエレメント)。
The O mark in Figure 1 is an element with a non-zero value, and the mark is a pivot element (an element used to erase other elements).

Δ印はフィルイン・エレメント(消去過程で発生した「
非ゼロ値をもつエレメント」)、・印は消去されたエレ
メント、Pはピボット行、Eは消去される行、PNOは
プロセッサ番号を表している。
The Δ mark is a fill-in element (“
"Elements with non-zero values"), * indicates an erased element, P is a pivot row, E is a row to be erased, and PNO represents a processor number.

(1)第2図(A)・・・・・・図示PNOで示す如く
4台のプロセッサに対して、夫々のプロセッサに対して
飛び飛びの行位置のエレメントが割り付けられる。
(1) FIG. 2(A)... As shown by PNO in the figure, elements at discrete row positions are allocated to each of the four processors.

(2)  第2図(B)・・・・・・4台のプロセッサ
が並列的に夫々ピボット行のデータを受信した上で、ピ
ボット・エレメントを用いて図示の・印で示したエレメ
ントを消去する。
(2) Figure 2 (B)... Four processors receive the data of the respective pivot rows in parallel, and then use the pivot elements to erase the elements indicated by the mark in the figure. do.

(3)第2図(C)ないし第2図(0)・・・・・・4
台のプロセッサが夫々図示のピボット行のデータを受信
した上で、夫々・印で示したピボット・エレメントを用
いて・印で示したエレメントを消去する。これによって
、第 2図(0)に示す如く、エレメントの消去処理が
行われたマトリクスを得ることができる。
(3) Figure 2 (C) to Figure 2 (0)...4
Each of the processors receives the data of the illustrated pivot row, and then erases the element indicated by the symbol , using the pivot element indicated by the symbol . As a result, a matrix in which elements have been deleted can be obtained as shown in FIG. 2(0).

第3図(A)ないし第3図(F)は具体的な処理例を示
す0図示の場合には簡単のため1次元数12でかつ帯幅
3の場合を示している。
3(A) to 3(F) show specific processing examples. In the case of 0, the number of one dimensions is 12 and the band width is 3 for simplicity.

第3図(A)は3台のプロセッサに対してエレメントを
割り付けた状況を表している。
FIG. 3(A) shows a situation in which elements are allocated to three processors.

一般には、プロセッサの台数をPとすれば。Generally, if the number of processors is P.

K (=0.1.2.・・・、P−1)番目のプロセッ
サにはに+PXj (但しj =O,l、 2.・・・) で与えられる行のエレメントを割り付けるようにする。
The elements of the row given by +PXj (where j = O, l, 2..) are allocated to the K (=0.1.2...., P-1)th processor.

第3図(B)は第3図(A)と同じマトリクスを示し、
第3図(B)図示の状態の下で。
FIG. 3(B) shows the same matrix as FIG. 3(A),
FIG. 3(B) Under the condition shown.

(e++es、eqの消去) プロセッサOは、0行を、プロセッサlに送る。プロセ
ッサlは、0行の係数からe、を消去する。
(Erase of e++es, eq) Processor O sends row 0 to processor l. Processor l deletes e from the coefficients in row 0.

プロセッサ1は、4行を、プロセッサ2に送る。プロセ
ッサ2は、4行の係数からe、を消去する。
Processor 1 sends 4 rows to processor 2. Processor 2 deletes e from the coefficients in the 4th row.

プロセッサ2は、8行を、プロセッサOに送る、プロセ
ッサ0は、8行の係数からe、を消去する。
Processor 2 sends row 8 to processor O. Processor 0 deletes e from the coefficients of row 8.

(e!+e&+e+。の消去) プロセッサ1は、1行を、プロセッサ2に送る。プロセ
ッサ2は、1行の係数からe2を消去する。
(Erasure of e!+e&+e+.) Processor 1 sends one line to processor 2. Processor 2 deletes e2 from the coefficients in one row.

プロセッサ2は、5行を、プロセッサOに送る。プロセ
ッサ0は、5行の係数からe、を消去する。
Processor 2 sends 5 rows to processor O. Processor 0 deletes e from the coefficients in row 5.

プロセッサOは、9行を、プロセッサlに送る。プロセ
ッサ1は、9行の係数から81゜を消去する。
Processor O sends 9 rows to processor l. Processor 1 deletes 81° from the coefficients in row 9.

(es+et+e++の消去) プロセッサ2は、2行を、プロセッサ0に送る。プロセ
ッサOは、2行の係数からe、を消去する。
(Delete es+et+e++) Processor 2 sends two lines to processor 0. Processor O deletes e from the coefficients in the second row.

プロセッサ0は、6行を、プロセッサlに送る。プロセ
ッサlは、6行の係数からe、を消去する。
Processor 0 sends 6 rows to processor l. Processor l deletes e from the coefficients in row 6.

プロセッサlは、  10行を、プロセッサ2に送る。Processor l sends 10 lines to processor 2.

プロセッサ2は、  10行の係数からe。Processor 2 calculates e from the coefficients in row 10.

を消去する。Erase.

という各処理が行われ、第3図(C)図示の状態となる
0次いで。
These processes are performed, resulting in the state shown in FIG. 3(C).

(fw、fs、fwの消去) プロセッサ2は、2行を、プロセッサlに送る。プロセ
ッサ1は、2行の係数から【Iを消去する。
(Deleting fw, fs, fw) Processor 2 sends two lines to processor l. Processor 1 deletes [I from the coefficients in the second row.

プロセッサ0は、6行を、プロセッサ2に送る。プロセ
ッサ2は、6行の係数からrsを消去する。
Processor 0 sends 6 rows to processor 2. Processor 2 deletes rs from the coefficients in row 6.

プロセッサ1は、10行を、プロセッサ0に送る。プロ
セッサ0は、10行の係数からf。
Processor 1 sends 10 rows to processor 0. Processor 0 processes f from the coefficients in row 10.

を消去する。Erase.

(fl、[4,flの消去) プロセッサ1は、1行を、プロセッサ0に送る。プロセ
ッサ0は、1行の係数からfoを消去する。
(Delete fl, [4, fl) Processor 1 sends one line to processor 0. Processor 0 deletes fo from the coefficients of one row.

プロセッサ2は、5行を、プロセッサlに送る。プロセ
ッサ1は、5行の係数からf4を消去する。
Processor 2 sends 5 rows to processor l. Processor 1 deletes f4 from the coefficients in row 5.

プロセッサ0は、9行を、プロセッサ2に送る。プロセ
ッサ2は、9行の係数からf、を消去する。
Processor 0 sends 9 rows to processor 2. Processor 2 deletes f from the coefficients in row 9.

(f、、f?の消去) プロセッサ1は、4行を、プロセッサOに送る。プロセ
ッサ0は、4行の係数からf、を消去する。
(Erasure of f, , f?) Processor 1 sends 4 lines to processor O. Processor 0 deletes f from the coefficients in the 4th row.

プロセッサ2は、8行を、プロセッサ1に送る。プロセ
ッサ1は、8行の係数からr、を消去する。
Processor 2 sends 8 rows to Processor 1. Processor 1 deletes r from the coefficients in row 8.

という各処理が行われ、第3図(D)図示の状態となる
0次いで。
These processes are performed, resulting in the state shown in FIG. 3(D).

(e 4+ g St g 61 g ?の消去)プロ
セッサOは、3行を、プロセッサ0とプロセッサlに送
る。
(Erasure of e 4+ g St g 61 g ?) Processor O sends 3 rows to processor 0 and processor l.

プロセッサ1は、3行の係数から84を消去する。Processor 1 deletes 84 from the coefficients in row 3.

プロセッサ2は、3行の係数からgsを消去する。Processor 2 deletes gs from the coefficients in the third row.

プロセッサOは、3行の係数からg、を消去する。Processor O deletes g from the coefficients in row 3.

プロセッサ1は、3行の係数からg、を消去する。Processor 1 deletes g from the coefficients in the third row.

(ei+gw+g+。+ g++の消去)プロセッサl
は 7行を、プロセッサ2とプロセッサ0に送る。
(Elimination of ei+gw+g+.+g++) Processor l
sends 7 lines to processor 2 and processor 0.

プロセッサ2は、7行の係数からe、を消去する。Processor 2 deletes e from the coefficients in row 7.

プロセッサOは、7行の係数からg、を消去する。Processor O deletes g from the coefficients in row 7.

プロセッサlは、7行の係数からg+oを消去する。Processor l deletes g+o from the coefficients in row 7.

プロセッサ2は、7行の係数からg++を消去する。Processor 2 deletes g++ from the coefficients in row 7.

という各処理が行われ、第3図(E)図示の状態となる
0次いで。
These processes are performed, resulting in the state shown in FIG. 3(E).

(1+。、  hw、ha、Iltの消去)プロセッサ
2は、  11行を、プロセッサ1とプロセッサOに送
る。
(Erasure of 1+., hw, ha, Ilt) Processor 2 sends row 11 to Processor 1 and Processor O.

プロセッサ1は、11行の係数からfil+を消去する
Processor 1 deletes fil+ from the coefficients in row 11.

プロセッサ0は、11行の係数からり、を消去する。Processor 0 erases , from the 11th row of coefficients.

プロセッサ2は、11行の係数からhlを消去する。Processor 2 deletes hl from the 11th row of coefficients.

プロセッサlは、11行の係数からり、を消去する。Processor l erases , from the 11 rows of coefficients.

(fいり、、h、、h、の消去) プロセッサ1は、7行を、プロセッサOとプロセッサ2
に送る。
(Delete f, , h, , h) Processor 1 deletes 7 lines from processor O and processor 2.
send to

プロセッサOは、7行の係数からf、を消去する。Processor O deletes f from the coefficients in row 7.

プロセッサ2は、7行の係数からり、を消去する。Processor 2 erases , from the 7th row of coefficients.

プロセッサ1は、7行の係数からり、を消去する。Processor 1 erases , from the coefficients in the 7th row.

プロセッサOは、7行の係数からり、を消去する。Processor O erases , from the 7th row of coefficients.

(fz、bt、haの消去) プロセッサOは、3行を、プロセッサ2とプロセッサ1
に送る。
(Delete fz, bt, ha) Processor O deletes 3 lines from processor 2 and processor 1.
send to

プロセッサ2は、3行の係数からf、を消去する。Processor 2 deletes f from the coefficients in the third row.

プロセッサ1は、3行の係数からhlを消去する。Processor 1 deletes hl from the coefficients in the third row.

プロセッサOは、3行の係数からhoを消去する。Processor O deletes ho from the coefficients in row 3.

という各処理が行われ、第3図(F)図示のように対角
化されたものとなる。そして解は1次式で求める。
These processes are performed, resulting in a diagonalized image as shown in FIG. 3(F). The solution is then found using a linear equation.

xt=bt/d+ これを、それぞれの行を担当しているプロセッサで計算
する。
xt=bt/d+ This is calculated by the processor in charge of each row.

上記の如くして、帯行列を係数マトリクスとする連一次
方程式についての解を、複数のプロセッサが効率よく並
列的に処理を実行しつつ、求めることが明らかにされた
。この行列式解法処理方式を利用することによって2例
えば偏微分方程式を差分法を用いて解く場合に適用する
ことができる。この場合には、上記第2図ないし第3図
を参照して説明した解法を更に発展させたものが用いら
れることとなる。
As described above, it has been revealed that a solution to a series of linear equations whose coefficient matrix is a banded matrix can be obtained while a plurality of processors efficiently execute processing in parallel. By using this determinant solution processing method, it can be applied to, for example, solving partial differential equations using the difference method. In this case, a further developed version of the solution method explained with reference to FIGS. 2 and 3 above will be used.

以下、並列プロセッサを用いたAD+ (Alternate Direction I+*p
licit)法による解法について説明する。
Below, AD+ (Alternate Direction I+*p) using parallel processors
The solution method using the (Licit) method will be explained.

まず二次元のラプラスの方程式を例に、ADI法の原理
を説明する。
First, the principle of the ADI method will be explained using a two-dimensional Laplace's equation as an example.

ラプラスの方程式は。Laplace's equation is.

a’ x      f3” y で与えられ、これを境界条件を与えて解く、境界上の値
を例えば0とする。
It is given by a' x f3'' y, which is solved by giving a boundary condition, and the value on the boundary is set to 0, for example.

u(x、y)=O,(x、y)  C(Cは境界を表す
)−00式の差分をとり、差分方程式に直す、中心差分
をui、 Jにとれば。
u (x, y) = O, (x, y) C (C represents the boundary) - Take the difference of the equation 00 and convert it into a difference equation.If you take the central difference as ui, J.

ui−、++j”2u!+J+LIi*l+j”ui+
J−1−2ui+j+Lli、J+1”0−・−・・・
−■ これを変形して。
ui−, ++j”2u!+J+LIi*l+j”ui+
J-1-2ui+j+Lli, J+1"0-...
−■ Transform this.

ui、J 8(ul−1+ j +ui山J +uム+
 J−1+u、、 34+)・−・−・−・■ ADI法は、0式を次の2ステツプに分けて解く。
ui, J 8 (ul-1+ j +ui mountain J +uum+
J-1+u,, 34+)・−・−・−・■ The ADI method solves equation 0 by dividing it into the following two steps.

ステップ1: ui+、k″”” =(ui−++ jk″”” +u
t+++j ’″I/1+ul+7−+ ” +Ll+
+J−+ ’ ) −一一−−−−■ステップ2; ui、 j ”’ −(ui−1j ””” +Lli
*I+ J ”””+ui+ j−1”’ +ut+ 
j*1 ”’)−”−’−””−〇ステップ1およびス
テップ2をすべて格子点上の値U、1、の変化が十分小
さくなるまで繰り返す。
Step 1: ui+, k″”” = (ui−++ jk″”” +u
t+++j '''I/1+ul+7-+ '' +Ll+
+J-+') -11----■Step 2; ui, j "' -(ui-1j """ +Lli
*I+ J """+ui+ j-1"' +ut+
j*1 "')-"-'-""-〇 Steps 1 and 2 are all repeated until the change in the value U, 1 on the grid point becomes sufficiently small.

■式、■式の未知数項を左辺へ、定数項を右辺に移項し
1両辺を4倍すれば、それぞれ0式と0式になる(添字
には省略する)。
If we move the unknown term of the expressions ■ and ■ to the left side, the constant term to the right side, and multiply both sides by 4, we get the 0 expression and the 0 expression, respectively (the subscripts are omitted).

−ui−++j + 4u+、J−ui+1.j =a
t+j   ”’−’−”−■〔但しくai、J =u
!、j−1 +ui−j’l ) )−11−j−+ 
+ 4ui、j−ui+j41−bi+j   ’−”
””””■〔但しくbt、 j =ur−i−j +u
l+1+ j ) )0式から、添字j毎にi方向に連
立させた3重対角行列を係数とする連一次方程式を解く
必要がある。同様に0式から添字i毎にj方向に連立さ
せて解くこととなる。
-ui-++j + 4u+, J-ui+1. j = a
t+j "'-'-"-■ [However, ai, J = u
! , j-1 +ui-j'l ) )-11-j-+
+ 4ui, j-ui+j41-bi+j '-"
””””■ [However, bt, j = ur-i-j +u
l+1+ j )) From the equation 0, it is necessary to solve a system of linear equations whose coefficients are tridiagonal matrices that are simultaneously arranged in the i direction for each subscript j. Similarly, equation 0 is solved simultaneously in the j direction for each subscript i.

なお0式や0式において示したkは計算の繰り返し回数
を表しており9例えば ui+j−1 は格子点上の値ui+J−1における繰り返し計算での
に回目の計算によって得られた値を表している。
Note that k shown in formula 0 and formula 0 represents the number of repetitions of calculation.9For example, ui + j-1 represents the value obtained by the second calculation in the repeated calculation at the value ui + J-1 on the grid point. There is.

また 0遍、 ke1/! は格子点上の値LIi+ Jにおける繰り返し計算での
に回目の計算につづ<(k+1)回目の計算についての
ステップ1において得られた値を表しており。
0en again, ke1/! represents the value obtained in step 1 for <(k+1)th calculation following the second calculation in repeated calculations at the value LIi+J on the grid point.

u!+J’4 は同じくに回目の計算につづ<(k+1)回目の計算に
ついてのステップ2において得られた値、即ち。
u! +J'4 is the value obtained in step 2 for <(k+1)th calculation following the calculation of the second time, ie.

(k + 1)回目の計算において得られた値を表して
いる。
It represents the value obtained in the (k + 1)th calculation.

第4図(A)(B)は計算格子領域の分割の態様を示し
ている。
FIGS. 4(A) and 4(B) show how the calculation grid area is divided.

第4図(A)の場合には0式に示す方程式を解く場合に
プロセッサPEOないしPE3によって分担せしめる態
様が示され、第4図(B)の場合には0式に示す方程式
を解く場合にプロセッサPEOないしPE3によって分
担せしめる態様が示されている。
In the case of FIG. 4(A), a mode is shown in which processors PEO to PE3 are responsible for solving the equation shown in equation 0, and in the case of FIG. 4(B), when solving the equation shown in equation 0, A mode in which the processing is shared by processors PEO to PE3 is shown.

第4図(A)(B)図示の夫々の分割態様の場合には、
第10図を参照して説明した従来の場合に対応している
In the case of each division mode shown in FIGS. 4(A) and (B),
This corresponds to the conventional case described with reference to FIG.

この点を考慮することによって、第2図などを参照して
説明した飛び飛びの割り付は態様を利用することが考え
られる。
By taking this point into consideration, it is possible to utilize the pattern of discrete allocation described with reference to FIG. 2 and the like.

第5図(A)(B)は夫々飛び飛びの割り付けを行う態
様を示す。
FIGS. 5(A) and 5(B) each show a mode in which allocation is performed intermittently.

例えば第5図(A)図示の如く割り付けることによって
、上記0式に対応する処理を行うことができる。また第
5図(B)図示の如く割り付けることによって、上記0
式に対応する処理を行うことができる。
For example, by allocating as shown in FIG. 5(A), processing corresponding to the above equation 0 can be performed. In addition, by allocating as shown in FIG. 5(B), the above 0
Processing corresponding to the expression can be performed.

第6図は2次元飛び飛びの割り付けの一実施例を示す0
図示の場合には次元数16のマトリクスに対して、16
個のプロセッサ(00)、 (01)、 (02)。
FIG. 6 shows an example of two-dimensional discontinuous allocation.
In the case shown, for a matrix with 16 dimensions, 16
processors (00), (01), (02).

・・・、 (30)、 (31)、 (32)、 (3
3)を割り付けた例を示している。
..., (30), (31), (32), (3
3) is shown.

第5図(A)(B)の如く飛び飛びの割り付けを行う態
様を考慮して、第5図(A)(B)におけるプロセッサ
PEiとプロセッサPEjとに割り付けられる同じ位置
関係にあるエレメントをまとめて、1つのプロセッサに
割り付ける形をとると、第5図(A)(B)図示の場合
には9台のプロセッサに割り付けることが可能となる。
Considering the manner in which allocation is performed intermittently as shown in FIGS. 5(A) and 5(B), elements with the same positional relationship that are allocated to processor PEi and processor PEj in FIGS. 5(A) and 5(B) are grouped together. , if it is allocated to one processor, it becomes possible to allocate it to nine processors in the case shown in FIGS. 5(A) and 5(B).

第6図は、この考え方を次元数16のマトリクスに発展
させた場合を表している。
FIG. 6 shows a case in which this idea is developed into a matrix with 16 dimensions.

以下、上記0式と0式とを解く処理について説明する。The process of solving the above equations 0 and 0 will be described below.

プロセッサの台数をPXP台、格子点の数をN×N、1
台のプロセッサの担当する格子点の数をMXM (但し
M=N/P)とする。各プロセッサが担当する格子点の
データを uu (i、j) (但しi、j =0.1. −、 
 M −1)とし、隣接する格子点データの作業域とし
て。
The number of processors is PXP, the number of grid points is N×N, 1
Let the number of grid points handled by one processor be MXM (where M=N/P). The data of the grid points handled by each processor are uu (i, j) (where i, j = 0.1. -,
M-1) as the working area of adjacent grid point data.

us (i+j) up (IIJ) aa (i+j) (但しIIJ =Or 1+  ・・・、M−1)を用
意しておくことにする。
We will prepare us (i+j) up (IIJ) aa (i+j) (where IIJ = Or 1+ . . . , M-1).

ステップl:0式を解く処理 すべてのプロセッサ(k、1)は、担当する格子点デー
タug(*、*)をプロセッサ(k、(1+1)%P)
に転送する。ここで、i%jは整数iを整数jで割った
剰余である。
Step l: Processing to solve the 0 equation All processors (k, 1) process the grid point data ug (*, *) that they are responsible for using the processor (k, (1+1)%P)
Transfer to. Here, i%j is the remainder when integer i is divided by integer j.

すべてのプロセッサ(k、1)は、送られてきたデータ
をus(掌、傘)に格納する。
All processors (k, 1) store the sent data in us (palm, umbrella).

すべてのプロセッサ(k、1)は、担当する格子点デー
タtill(III)をプロセッサ(k、 (1−1)
%P)に転送する。
All the processors (k, 1) transfer the grid point data till (III) to the processor (k, (1-1))
%P).

すべてのプロセッサ(k、1)は、送られてきたデータ
をUρ(率、*)に格納する。
All processors (k, 1) store the sent data in Uρ(rate, *).

すべてのプロセッサ(k、1)は2次の計算を行う。All processors (k, 1) perform quadratic calculations.

a(i、j)= u+s(i、j)+  up(i、j
)(i、j=o、  1. 2.・・・、  M−1)
これで、■式の右辺a(i、j)が求められた0行iに
ついての連一次方程式は、第7図の様になっている。
a(i,j)=u+s(i,j)+up(i,j
) (i, j=o, 1. 2...., M-1)
Now, the system of linear equations for row 0 i, for which the right-hand side a(i, j) of equation (2) has been found, is as shown in FIG.

この連一次方程式を第2図などを参照して説明した解法
によって解く。右辺のAi、j は、横方向の一連のプ
ロセッサ(k、1) (k= 0.1.2.・・・M−
1)でAt、jをjについてサイクリックに担当してい
るので上記の並列解法がそのまま適用できる。
This series of linear equations is solved by the solution method explained with reference to FIG. 2 and the like. Ai,j on the right side is a horizontal series of processors (k, 1) (k= 0.1.2...M-
In 1), At,j is handled cyclically with respect to j, so the above parallel solution method can be applied as is.

求めた解はLILI(*、*)に格納する。The obtained solution is stored in LILI (*, *).

ステップ2:0式を解く処理 すべてのプロセッサ(k、1)は、担当する格子点デー
タuu(牢+傘)をプロセッサ((k + 1)%P、
1)に転送する。
Step 2: Processing to solve equation 0 All processors (k, 1) convert the lattice point data uu (prison + umbrella) in charge to processor ((k + 1)%P,
Transfer to 1).

すべてのプロセッサ(k、1)は、送られてきたデータ
を1eft(傘、寧)に格納する。
All processors (k, 1) store the sent data in 1ef.

すべてのプロセッサ(k、1)は、担当する格子点デー
タuu(傘+*)をブロモ・ンサ((k−1)%P、1
)に転送する。
All processors (k, 1) store the lattice point data uu (umbrella+*) in charge of Bromo Nsa ((k-1)%P, 1
).

すべてのプロセッサ(k、1)は、送られてきたデータ
をright(*、*)に格納する。
All processors (k, 1) store the sent data in right(*, *).

すべてのプロセッサ(k、1)は9次の計算を行う。All processors (k, 1) perform 9th order calculations.

a(i、j)=left(i、j) + right(
i、j)(+、j= 0+ 1+ 2.・・・、 M−
1)これで、0式の右辺a(i、j)が求められた0列
jについての連一次方程式は、第8図の様になっている
a(i,j)=left(i,j)+right(
i, j) (+, j= 0+ 1+ 2...., M-
1) Now, the continuous linear equations for the 0 column j, for which the right side a(i, j) of the 0 equation has been found, are as shown in FIG.

この連一次方程式を同様に解く、右辺のAi、j は、
縦方向の一連のプロセッサ(k、1) (1= O。
Solving this series of linear equations in the same way, Ai,j on the right side is,
Vertical series of processors (k, 1) (1=O.

1.2.・・・、 M−1)でA i 、 jをiにつ
いてサイクリックに担当しているので上記の並列解法が
そのまま適用できる。
1.2. ..., M-1) handles A i , j cyclically with respect to i, so the above parallel solution method can be applied as is.

求めた解はuu(”+”)に格納する。The obtained solution is stored in uu ("+").

第9図は16台のプロセッサが動作する並列プロセッサ
・システムの一例を示す。図中の箱はプロセッサを表し
、また箱内の(00)、 (01)、・・・(33)は
夫々プロセッサのナンバを示している。またプロセッサ
間の線は通信結を表している。
FIG. 9 shows an example of a parallel processor system in which 16 processors operate. The boxes in the figure represent processors, and (00), (01), . . . (33) within the boxes indicate the processor numbers, respectively. Also, lines between processors represent communication connections.

〔発明の効果〕〔Effect of the invention〕

以上説明した如く1本発明によれば1例えば1台のプロ
セッサによる一連の処理を待って他のプロセッサが計算
可能となる如き状態が生しることがない、またプロセッ
サ間の交信データ量もそれ程大とならない利点をそなえ
ている。
As explained above, according to the present invention, there is no situation where, for example, one processor is waiting for a series of processing to be performed before another processor can perform calculations, and the amount of data exchanged between processors is also small. It has some great advantages.

図中、lはホスト・プロセッサ、2−1は夫々プロセッ
サ、3は通信ネットワークを表す。
In the figure, l represents a host processor, 2-1 each processor, and 3 a communication network.

Claims (2)

【特許請求の範囲】[Claims] (1)帯行列を係数マトリクスとする連立一次方程式 A_x=b……………………(1) 即ち、 ▲数式、化学式、表等があります▼……(2) 〔但し○印はa_i_jを表す かつ同一行内のエレメントの個数は任意〕 におけるエレメントを複数台のプロセッサに割り当てて
並列的に処理を実行する帯行列係数連立一次方程式並列
解法処理方式において、 上記方程式(2)におけるエレメントを行単位で飛び飛
びの位置のエレメントを夫々割り付けられたプロセッサ
(2−i)をもうけ、 当該プロセッサ(2−i)が複数台並行して自己に割り
付けられたエレメントについて処理を実行するよう構成
され、 かつ各プロセッサ(2−i)が他プロセッサからピボッ
ト行に関するエレメントを必要に応じて受信し、係数マ
トリクスの消去計算を実行するようにした ことを特徴とする行列式解法処理方式。
(1) Simultaneous linear equations A_x=b……………………(1) That is, ▲There are mathematical formulas, chemical formulas, tables, etc.▼……(2) [However, ○ marks are a_i_j and the number of elements in the same row is arbitrary] In the banded matrix coefficient simultaneous linear equation parallel solution processing method in which the elements in the equation (2) are assigned to multiple processors and processed in parallel, the elements in equation (2) above are A processor (2-i) is provided to which elements are assigned at discrete positions in units, and a plurality of processors (2-i) are configured to execute processing on the elements assigned to themselves in parallel, and A determinant solving processing method characterized in that each processor (2-i) receives elements related to pivot rows from other processors as necessary and executes a coefficient matrix elimination calculation.
(2)偏微分方程式を差分法で解くオルタネート・ディ
レクション・インプリシット法を実行するオルタネート
・ディレクション・インプリシット法処理方式において
、 上記オルタネート・ディレクション・インプリシット法
による解法を、帯行列を係数マトリクスとする連立一次
方程式 A_x=b……………………(1) 即ち、 ▲数式、化学式、表等があります▼……(2) 〔但し○印はa_i_jを表す かつ同一行内のエレメントの個数は任意〕 に対応する計算に集約せしめると共に、 上記方程式(2)における行方向に飛び飛びの位置であ
ってかつ列方向に飛び飛びの位置にある複数のエレメン
トを夫々割り付けられたプロセッサ(2−ij)をそな
え、 当該プロセッサ(2−ij)が複数台並行して自己に割
り付けられたエレメントについて処理を実行するよう構
成され、 かつ各プロセッサ(2−ij)が他プロセッサからピボ
ット行に関するエレメントを必要に応じて受信し、係数
マトリクスの消去計算を実行するようにした ことを特徴とする行列式解法処理方式。
(2) In an alternate direction implicit method processing method that executes an alternate direction implicit method to solve a partial differential equation using a difference method, the solution method using the above alternate direction implicit method is performed using a band matrix as a coefficient matrix. Simultaneous linear equations A_x=b……………………(1) That is, ▲There are mathematical formulas, chemical formulas, tables, etc.▼……(2) [However, the ○ mark represents a_i_j and the number of elements in the same line. is arbitrary], and processors (2-ij) to which a plurality of elements located at discrete positions in the row direction and at discrete positions in the column direction in equation (2) above are respectively allocated. A plurality of processors (2-ij) are configured to execute processing on elements assigned to themselves in parallel, and each processor (2-ij) receives elements related to the pivot row from other processors. 1. A determinant solving processing method, characterized in that a coefficient matrix is received according to the request and an elimination calculation of a coefficient matrix is executed.
JP6475990A 1990-03-15 1990-03-15 Determinant solving processing system Pending JPH03265066A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6475990A JPH03265066A (en) 1990-03-15 1990-03-15 Determinant solving processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6475990A JPH03265066A (en) 1990-03-15 1990-03-15 Determinant solving processing system

Publications (1)

Publication Number Publication Date
JPH03265066A true JPH03265066A (en) 1991-11-26

Family

ID=13267428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6475990A Pending JPH03265066A (en) 1990-03-15 1990-03-15 Determinant solving processing system

Country Status (1)

Country Link
JP (1) JPH03265066A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122850A (en) * 2008-11-19 2010-06-03 Muroran Institute Of Technology Device and method for calculating matrix equation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122850A (en) * 2008-11-19 2010-06-03 Muroran Institute Of Technology Device and method for calculating matrix equation

Similar Documents

Publication Publication Date Title
CN108874745B (en) Native tensor processor and tensor-compressed segmentation
Starius Composite mesh difference methods for elliptic boundary value problems
Cannataro et al. A parallel cellular automata environment on multicomputers for computational science
Jones et al. Computational results for parallel unstructured mesh computations
CN107885700A (en) Multi-core implementation method for large-scale matrix convolution
Neuts Computational uses of the method of phases in the theory of queues
CN110764934A (en) Parallel communication method, device and system for numerical model and storage medium
Williams et al. s-step Krylov subspace methods as bottom solvers for geometric multigrid
Bonneux et al. Coefficients of Wronskian hermite polynomials
Fujisawa et al. Parallel computing of high‐speed compressible flows using a node‐based finite‐element method
JPH03265066A (en) Determinant solving processing system
O’Leary Ordering schemes for parallel processing of certain mesh problems
US10013393B2 (en) Parallel computer system, parallel computing method, and program storage medium
Khimich et al. Numerical study of the stability of composite materials on computers of hybrid architecture
Gessel Counting paths in Young's lattice
Remmel Consecutive up-down patterns in up-down permutations
Hoshino et al. Load follow simulation of three-dimensional boiling water reactor core by PACS-32 parallel microprocessor system
Meza et al. Domain decomposition algorithms for linear hyperbolic equations
Rice Software Parts for Elliptic PPE Software
JPH02306365A (en) Neuro-computer and load distributing system
Da Cunha et al. Parallel preconditioned Conjugate-Gradients methods on transputer networks
Calahan Complexity of vectorized solution of two-dimensional finite element grids
Kaveh et al. Efficient finite element analysis using graph-theoretical force method; hexahedron elements
Kaveh et al. Plate bending finite element analysis by the force method using ant colony optimization
Vidwans et al. Unified parallel algorithm for grid adaptation on a multiple-instruction multiple-data architecture