JP2006085619A - 帯係数行列を持つ連立1次方程式の解法プログラム - Google Patents
帯係数行列を持つ連立1次方程式の解法プログラム Download PDFInfo
- Publication number
- JP2006085619A JP2006085619A JP2004272173A JP2004272173A JP2006085619A JP 2006085619 A JP2006085619 A JP 2006085619A JP 2004272173 A JP2004272173 A JP 2004272173A JP 2004272173 A JP2004272173 A JP 2004272173A JP 2006085619 A JP2006085619 A JP 2006085619A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- band
- column
- procedure
- column block
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】 解法プログラムは、複数の列から構成される列ブロックを並列的にLU分解して作業領域に格納する手順1、1の結果に対して各列の左側での行の入替をキャンセルして圧縮モードの配列にコピーバックする手順2、1の結果に対応して帯行列の更新によって壊れる可能性のある部分を退避する手順3、1の結果を用いて帯行列を並列的に更新する手順4、4の結果上に3で退避した部分を戻す手順5を計算機に実行させる。
【選択図】図1
Description
G.H.Gorub,C.F.Van Loan:Matrix Computations,3rd Ed.The Johns Hopkins University Press,Baltimore and London (1996)
以下本実施形態におけるLU分解処理とソルバー処理とについてそれぞれフローチャートを用いてさらに詳細に説明する。図13は、帯行列のLU分解処理の詳細フローチャートである。同図において処理が開始されると、まずステップS1で行列の次数N、帯幅としての下バンド幅nh1、上バンド幅nh2、および帯行列が圧縮モードで格納された圧縮配列のデータが入力され、ステップS2でブロック幅nblks、および繰返し数loopが決定され、ステップS3でカウント数ncntの値が1とされる。ここで行列の次数Nが、例えば数十万であっても、ブロック幅nblksは例えば40とされ、このブロック幅nblksを用いて繰返し数が次式によって決定される。
すなわち繰返し数としては、単純に行列の次数Nをブロック幅nblksで割るのではなく、余りが出る場合を考えて、Nにnblks−1を加算してその結果をnblksで割ったものが繰返し数とされる。
前記帯行列内の複数の列から構成される列ブロックを並列的にLU分解し、作業領域に格納する手順と、
該LU分解結果に対して各列の左側でピポット選択の結果として行われていた行の入れ替えをキャンセルし、該キャンセル結果のデータを圧縮形式の帯行列格納配列領域にコピーバックする手順と、
前記列ブロックのLU分解結果に対応して、入れ替えの必要な行の長さの最大値と前記圧縮形式の帯行列格納配列領域の大きさとに対応して、帯行列の更新によって壊れる可能性のある部分のデータを退避する手順と、
前記作業領域に格納されている前記列ブロックのLU分解結果を用いて、前記帯行列を並列的に更新する手順と、
前記退避部分のデータを該帯行列更新結果上に戻す手順とを含む行列演算を計算機に実行させることを特徴とする帯係数行列を持つ連立方程式の解法プログラム。
(付記3) 前記帯行列のLU分解のための演算において、
前記帯行列の最も左上部の前記列ブロックに対応する前記行列演算の終了後に、該列ブロック最上部の対角部分に含まれる行と列とを前記帯行列から除外し、該除外後の行列の左上部の列ブロックに対応する前記行列演算を繰返し、最後に残った部分のLU分解を行うことを特徴とする付記2記載の帯係数行列を持つ連立方程式の解法プログラム。
該列ブロックの対角部分の下三角行列に対応する連立方程式を解く手順と、
該列ブロックの対角部分の下の行列を用いて行列ベクトル積の計算によってベクトルの更新を行う手順とを含む並列的行列演算をさらに計算機に実行させることを特徴とする付記3記載の帯係数行列を持つ連立方程式の解法プログラム。
前記帯行列の最も左上部の前記列ブロックに対応する前記並列的行列演算の終了後に、該列ブロック最上部の対角部分に含まれる行と列とを前記帯行列から除外して、該除外後の行列の左上部の列ブロックに対応する該並列的行列演算を繰返し、最後に残った対角ブロックの下三角行列に対する連立方程式の解を求めることを特徴とする付記4記載の帯係数行列を持つ連立方程式の解法プログラム。
前記キャンセル結果のデータがコピーバックされ、圧縮形式の配列領域に格納された帯行列に対して、各列の要素の行の位置を補正して補正後の行列の更新を行うことを特徴とする付記1記載の帯係数行列を持つ連立方程式の解法プログラム。
前記補正後の帯行列と前記列ブロックのLU分解結果とを用いて、該列ブロック内の対角行列に対応する行ブロックを並列的に更新する手順と、
該行ブロックの更新結果を用いて該列ブロックと行ブロックとに対応する行列を並列的に更新する手順とを備えることを特徴とする付記6記載の帯係数行列を持つ連立方程式の解法プログラム。
(付記9) 帯係数行列を持つ連立方程式の解法プログラムであって、
該帯係数行列のLU分解演算の終了後に、該帯係数行列の更新において行われた行入れ替えの情報を利用して、複数の列から構成される列ブロックの各列の左側で、ピボット選択に対応する行の入れ替えを行うとともに、該左側での行の入れ替えに対応して連立方程式における定数ベクトルの要素の内で該列ブロックに対応する要素の入れ替えを行う手順と、
該列ブロックの対角部分の下三角行列に対応する連立方程式を解く手順と、
該列ブロックの対角部分の下の行列を用いて、行列ベクトル積の計算によってベクトルの更新を行う手順とを含む並列的行列演算を計算機に実行させることを特徴とする帯係数行列を持つ連立方程式の解法プログラム。
11 メモリモジュール
12 相互結合網
13 2次キャッシュメモリ
Claims (5)
- 帯係数行列を持つ連立方程式の解法プログラムであって、
前記帯行列内の複数の列から構成される列ブロックを並列的にLU分解し、作業領域に格納する手順と、
該LU分解結果に対して各列の左側でピポット選択の結果として行われていた行の入れ替えをキャンセルし、該キャンセル結果のデータを圧縮形式の帯行列格納配列領域にコピーバックする手順と、
前記列ブロックのLU分解結果に対応して、入れ替えの必要な行の長さの最大値と前記圧縮形式の帯行列格納配列領域の大きさとに対応して、帯行列の更新によって壊れる可能性のある部分のデータを退避する手順と、
前記作業領域に格納されている前記列ブロックのLU分解結果を用いて、前記帯行列を並列的に更新する手順と、
前記退避部分のデータを該帯行列更新結果上に戻す手順とを含む行列演算を計算機に実行させることを特徴とする帯係数行列を持つ連立方程式の解法プログラム。 - 前記行列演算が、前記帯行列のLU分解のための演算であることを特徴とする請求項1記載の帯係数行列を持つ連立方程式の解法プログラム。
- 前記帯行列のLU分解のための演算において、
前記帯行列の最も左上部の前記列ブロックに対応する前記行列演算の終了後に、該列ブロック最上部の対角部分に含まれる行と列とを前記帯行列から除外し、該除外後の行列の左上部の列ブロックに対応する前記行列演算を繰返し、最後に残った部分のLU分解を行うことを特徴とする請求項2記載の帯係数行列を持つ連立方程式の解法プログラム。 - 前記最後に残った部分のLU分解の終了後に、前記帯行列の並列的更新において行われた行入れ替えの情報を利用して、複数の列から構成される列ブロックの各列の左側で、ピボット選択に対応する行の入れ替えを行うとともに、該左側の行の入れ替えに対応して連立方程式における定数ベクトルの要素の内で該列ブロックに対応する要素の入れ替えを行う手順と、
該列ブロックの対角部分の下三角行列に対応する連立方程式を解く手順と、
該列ブロックの対角部分の下の行列を用いて行列ベクトル積の計算によってベクトルの更新を行う手順とを含む並列的行列演算をさらに計算機に実行させることを特徴とする請求項3記載の帯係数行列を持つ連立方程式の解法プログラム。 - 帯係数行列を持つ連立方程式の解法プログラムであって、
該帯係数行列のLU分解演算の終了後に、該帯係数行列の更新において行われた行入れ替えの情報を利用して、複数の列から構成される列ブロックの各列の左側で、ピボット選択に対応する行の入れ替えを行うとともに、該左側での行の入れ替えに対応して連立方程式における定数ベクトルの要素の内で該列ブロックに対応する要素の入れ替えを行う手順と、
該列ブロックの対角部分の下三角行列に対応する連立方程式を解く手順と、
該列ブロックの対角部分の下の行列を用いて、行列ベクトル積の計算によってベクトルの更新を行う手順とを含む並列的行列演算を計算機に実行させることを特徴とする帯係数行列を持つ連立方程式の解法プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004272173A JP2006085619A (ja) | 2004-09-17 | 2004-09-17 | 帯係数行列を持つ連立1次方程式の解法プログラム |
US11/006,385 US7603402B2 (en) | 2004-09-17 | 2004-12-07 | Solution program recording media for simultaneous linear equations having band coefficient matrix |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004272173A JP2006085619A (ja) | 2004-09-17 | 2004-09-17 | 帯係数行列を持つ連立1次方程式の解法プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006085619A true JP2006085619A (ja) | 2006-03-30 |
Family
ID=36075270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004272173A Pending JP2006085619A (ja) | 2004-09-17 | 2004-09-17 | 帯係数行列を持つ連立1次方程式の解法プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7603402B2 (ja) |
JP (1) | JP2006085619A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013393B2 (en) | 2015-06-02 | 2018-07-03 | Fujitsu Limited | Parallel computer system, parallel computing method, and program storage medium |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7912889B1 (en) | 2006-06-16 | 2011-03-22 | Nvidia Corporation | Mapping the threads of a CTA to the elements of a tile for efficient matrix multiplication |
US7836118B1 (en) * | 2006-06-16 | 2010-11-16 | Nvidia Corporation | Hardware/software-based mapping of CTAs to matrix tiles for efficient matrix multiplication |
US7792895B1 (en) | 2006-06-16 | 2010-09-07 | Nvidia Corporation | Efficient matrix multiplication on a parallel processing device |
US20090292520A1 (en) | 2006-07-27 | 2009-11-26 | Drexel University | Solver for hardware based computing |
JP4942095B2 (ja) * | 2007-01-25 | 2012-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチコア・プロセッサにより演算を行う技術 |
US8533251B2 (en) * | 2008-05-23 | 2013-09-10 | International Business Machines Corporation | Optimized corner turns for local storage and bandwidth reduction |
US8250130B2 (en) * | 2008-05-30 | 2012-08-21 | International Business Machines Corporation | Reducing bandwidth requirements for matrix multiplication |
US9189458B1 (en) * | 2013-03-05 | 2015-11-17 | Xilinx, Inc. | Parameter estimation |
CN109635235B (zh) * | 2018-11-06 | 2020-09-25 | 海南大学 | 一种自共轭矩阵的三角部分存储装置和并行读取方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0748204B2 (ja) | 1988-07-08 | 1995-05-24 | 三菱電機株式会社 | 行列演算処理方法 |
CA2076293A1 (en) * | 1991-10-11 | 1993-04-12 | Prathima Agrawal | Multiprocessor computer for solving sets of equations |
JPH09153022A (ja) | 1995-11-29 | 1997-06-10 | Fujitsu Ltd | メモリ分散型クロスバー並列計算機システムにおける行列の圧縮入力装置および方法 |
US6182270B1 (en) * | 1996-12-04 | 2001-01-30 | Lucent Technologies Inc. | Low-displacement rank preconditioners for simplified non-linear analysis of circuits and other devices |
JP3137033B2 (ja) | 1997-05-27 | 2001-02-19 | 日本電気株式会社 | 不完全lu分解のフィルイン発生装置及びフィルイン発生方法 |
US6763519B1 (en) * | 1999-05-05 | 2004-07-13 | Sychron Inc. | Multiprogrammed multiprocessor system with lobally controlled communication and signature controlled scheduling |
JP3639206B2 (ja) | 2000-11-24 | 2005-04-20 | 富士通株式会社 | 共有メモリ型スカラ並列計算機における並列行列処理方法、及び記録媒体 |
US7218789B2 (en) * | 2000-12-01 | 2007-05-15 | Lizardtech, Inc. | Method for lossless encoding of image data by approximating linear transforms and preserving selected properties for image processing |
-
2004
- 2004-09-17 JP JP2004272173A patent/JP2006085619A/ja active Pending
- 2004-12-07 US US11/006,385 patent/US7603402B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013393B2 (en) | 2015-06-02 | 2018-07-03 | Fujitsu Limited | Parallel computer system, parallel computing method, and program storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20060064452A1 (en) | 2006-03-23 |
US7603402B2 (en) | 2009-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958288B2 (en) | Decoder for low-density parity-check codes | |
JP5466211B2 (ja) | 2次元マトリクス処理のためのレジスタ | |
EP1612948B1 (en) | Message-passing decoding of low-density parity-check (LDPC) codes using pipeline node processing | |
US10642622B2 (en) | Arithmetic processing device and control method of the arithmetic processing device | |
US20190339970A1 (en) | Arithmetic processing device for deep learning and control method of the arithmetic processing device for deep learning | |
JP5914045B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
EP4227886A1 (en) | Matrix operation method and apparatus for image data, device, and storage medium | |
US9600763B1 (en) | Information processing method, information processing device, and non-transitory recording medium for storing program | |
US20060002471A1 (en) | Motion estimation unit | |
KR100789859B1 (ko) | 이레귤러 저밀도 패리티 검사 부호 복호기 및 방법 | |
JPH06222918A (ja) | 複合オペランド内の多ビット要素を選択するためのマスク | |
JP2006085619A (ja) | 帯係数行列を持つ連立1次方程式の解法プログラム | |
CN108073549B (zh) | 卷积运算装置及方法 | |
US10402196B2 (en) | Multi-dimensional sliding window operation for a vector processor, including dividing a filter into a plurality of patterns for selecting data elements from a plurality of input registers and performing calculations in parallel using groups of the data elements and coefficients | |
CN113468469A (zh) | 由计算机执行的特征图的卷积处理方法、装置和电子设备 | |
JP3983193B2 (ja) | 行列処理方法及び装置 | |
CN112862725A (zh) | 用于计算的方法、计算设备和计算机可读存储介质 | |
US7502909B2 (en) | Memory address generation with non-harmonic indexing | |
CN113626759A (zh) | 使用低位宽点积引擎对高位宽数求和 | |
JP7251354B2 (ja) | 情報処理装置、情報処理プログラム、及び情報処理方法 | |
WO2016181978A1 (ja) | 行列作用装置、行列作用方法、およびプログラム | |
CN101989350A (zh) | 图像增强方法、图像增强装置及图像处理电路 | |
JP3983188B2 (ja) | 共有メモリ型スカラ並列計算機用逆行列の並列処理方法 | |
JP2005216124A (ja) | 行列演算装置 | |
KR102382336B1 (ko) | 3중 대각행렬식 연산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061025 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090421 |