JP2010122850A - Device and method for calculating matrix equation - Google Patents
Device and method for calculating matrix equation Download PDFInfo
- Publication number
- JP2010122850A JP2010122850A JP2008295135A JP2008295135A JP2010122850A JP 2010122850 A JP2010122850 A JP 2010122850A JP 2008295135 A JP2008295135 A JP 2008295135A JP 2008295135 A JP2008295135 A JP 2008295135A JP 2010122850 A JP2010122850 A JP 2010122850A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- calculation
- matrix equation
- equation
- large sparse
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
Description
この発明は、行列方程式計算装置および行列方程式計算方法に関し、例えば、電磁界解析、流体解析、構造解析などの数値シミュレーションにおいて最終的に解くべき方程式として現れる大型(大規模)疎行列方程式の計算に適用して好適なものである。 The present invention relates to a matrix equation calculation apparatus and a matrix equation calculation method, for example, for calculating a large (large-scale) sparse matrix equation that appears as an equation to be finally solved in a numerical simulation such as electromagnetic field analysis, fluid analysis, and structural analysis. It is suitable for application.
電磁界解析、流体解析、構造解析などにおける離散化された偏微分方程式を解くための科学技術計算は、多くの場合、最終的には、求めるべき未知数に関し行列方程式を解く問題に帰着する。また、これらの科学技術計算においては、多くの場合、解くべき行列方程式の行列は、次数が数千〜数千万と大規模で、かつ、その成分(要素)がほとんどゼロとなる疎行列、すなわち大型疎行列となる。実際、例えば、電磁界解析では、図10に示すように、静電場・静磁場、準静的場、高周波の場などの電磁場の種類ごとに解くべき行列方程式は異なり、一方、偏微分方程式の解法には、大別して、差分法(FDM)、有限要素法(FEM)、境界要素法(BEM)などの数値解析法があるため、これらの組合せにより非常に多くの計算方法が存在するものの、そのほとんどの計算方法は大型疎行列方程式を解く問題に帰着する。 In many cases, scientific and technical calculations for solving a discretized partial differential equation in electromagnetic field analysis, fluid analysis, structural analysis, etc. ultimately result in a problem of solving a matrix equation with respect to unknowns to be obtained. In these scientific and technical calculations, in many cases, the matrix of the matrix equation to be solved is a sparse matrix whose order is several thousand to several tens of millions, and whose components (elements) are almost zero, That is, a large sparse matrix. Actually, in the electromagnetic field analysis, for example, as shown in FIG. 10, the matrix equation to be solved is different for each type of electromagnetic field such as electrostatic field / static magnetic field, quasi-static field, high frequency field, etc. There are numerical methods such as the difference method (FDM), the finite element method (FEM), and the boundary element method (BEM), and there are a lot of calculation methods by combining these methods. Most of the calculation methods result in the problem of solving large sparse matrix equations.
これらの科学技術計算では、その計算規模が大きくなればなるほど全体の計算時間に対する行列方程式の計算時間の占める割合は大きくなり、しばしば95%以上にもなる。近年のスーパーコンピュータの性能向上、および、パーソナルコンピュータ(PC)レベルにおける高性能化に助長され、科学技術計算に対する要求もますます強くなり、取り扱うべき問題も大規模化している。とりわけ、短期間での製品開発が要求される産業応用の場では、ハイパフォーマンスコンピューティング(HPC)技術が非常に大きな解決課題となっている。このような背景から、科学技術計算の大部分を占める行列方程式の計算の高速化が、科学技術計算全体の最大の課題の1つとなっているといって過言でない。 In these science and technology calculations, the larger the calculation scale, the larger the ratio of the calculation time of the matrix equation to the total calculation time, often 95% or more. The demand for scientific and technological computations has become stronger and the problems to be handled have been increased in scale due to the recent improvement in performance of supercomputers and the enhancement of performance at the personal computer (PC) level. In particular, high performance computing (HPC) technology has become a very big issue in industrial applications where product development in a short period of time is required. Against this background, it is no exaggeration to say that speeding up the calculation of matrix equations, which account for the majority of scientific and technical calculations, is one of the biggest challenges of scientific and technical calculations overall.
一般に、行列方程式の解法は、原理的には未知数を1つずつ消去しながら解を求めていくLU分解法に代表されるような直接解法と、初期値を設定してそこから真の解に向かって繰返し近似解を更新し収束値を求めていく反復解法とに大別される。このうち反復解法は、共役傾斜法(CG法)などのように線形連立方程式を等価なN次元2次形式(Nは行列の次数)の極小値を求める問題に置き換える方法と、そのような問題の置き換えは行わず行列を対角成分と非対角成分とに分離し直接対角成分のみから近似解の更新を行う単純反復法とに分類される。さらに、線形連立方程式を等価なN次元2次形式の極小値を求める問題に置き換える方法には、対称行列を適用対象とするCG法をベースに、それを非対称行列に拡張した双共役傾斜法(BiCG法)や、反復計算を行う前に行列を前処理したり、各反復過程で最適な探索方向ベクトルを構成するなどして反復計算を安定化したり高速化したりする、ICCG法、CGS法、BiCG−Stab法、BiCG−Stab2法などの派生的な方法が多数提案されている。 In general, there are two methods for solving matrix equations. In principle, direct solutions such as the LU decomposition method, in which unknowns are deleted one by one and the solution is obtained, and initial values are set and a true solution is obtained. This is roughly divided into an iterative solution method in which the iterative approximate solution is updated and the convergence value is obtained. Among them, the iterative solution method is a method of replacing linear simultaneous equations with a problem of obtaining a minimum value of an equivalent N-dimensional quadratic form (N is the order of a matrix), such as a conjugate gradient method (CG method), and such a problem. The matrix is classified into a simple iterative method in which the matrix is separated into a diagonal component and a non-diagonal component, and the approximate solution is updated only from the diagonal component. Furthermore, the method of replacing the linear simultaneous equations with the problem of obtaining an equivalent N-dimensional quadratic local minimum value is based on the CG method that applies a symmetric matrix to the biconjugate gradient method that extends it to an asymmetric matrix ( BiCG method), pre-processing the matrix before performing the iterative calculation, or configuring the optimal search direction vector in each iteration process to stabilize or speed up the iterative calculation, ICCG method, CGS method, Many derivative methods such as the BiCG-Stab method and the BiCG-Stab2 method have been proposed.
従来、これらの方法のうち大型疎行列方程式の解法としては、上記の反復解法が有効であると考えられており、電磁界解析、流体解析、構造解析などの各種の数値シミュレーションに現れる大型疎行列方程式の計算にしばしば用いられている。 Conventionally, it is considered that the above iterative method is effective for solving large sparse matrix equations among these methods. Large sparse matrices appearing in various numerical simulations such as electromagnetic field analysis, fluid analysis, and structural analysis. Often used to calculate equations.
CG法などの行列方程式の反復解法においては、解くべき行列形式の線形(1次)連立方程式の近似解を次の手順で求める。まず、Nを未知数の数あるいは行列の次数として、解くべき線形連立方程式を、それと等価なN次元2次形式の極小値を求める問題に置き換える。そして、初期値として適当なN次元解ベクトルを設定し、この初期値(k=0)を出発点にして、CG法などのそれぞれの反復解法の方法にしたがって次の近似解(k=1)を求め、さらに、この近似解(k=1)からその次の近似解(k=2)を求めていき、このk番目の近似解から(k+1)番目の近似解を求める手続きを繰返す。そして、この繰返し計算を(k+1)番目の近似解があらかじめ設定された精度以内になるまで行い、この精度以内になったところ、すなわち解が収束したところで上記の反復計算を終了し、この収束した値を数値計算としての最終的な近似解とする。 In an iterative solution of a matrix equation such as the CG method, an approximate solution of a linear (primary) simultaneous equation in a matrix form to be solved is obtained by the following procedure. First, with N being the number of unknowns or the order of a matrix, the linear simultaneous equations to be solved are replaced with a problem of obtaining an equivalent N-dimensional quadratic minimum value. Then, an appropriate N-dimensional solution vector is set as an initial value. The initial value (k = 0) is used as a starting point, and the following approximate solution (k = 1) is determined according to each iterative method such as the CG method. Further, the next approximate solution (k = 2) is obtained from this approximate solution (k = 1), and the procedure for obtaining the (k + 1) th approximate solution from this kth approximate solution is repeated. Then, this iterative calculation is performed until the (k + 1) -th approximate solution is within the preset accuracy, and when it is within this accuracy, that is, when the solution has converged, the above iterative calculation is terminated and this converged Let the value be the final approximate solution as a numerical calculation.
上記の行列方程式の反復解法の高速化技術としては、PCクラスタ、あるいはさらに大規模なスーパーコンピュータなどの並列処理かつ高速なCPU上での走行が最も一般的に利用されているが、これらの計算機は比較的限られた研究機関でのみ利用が可能であったり、共同利用型であったりと、製品開発での使用などのだれもが手軽に利用できる一般の環境とはなっていない。 As a technique for speeding up the iterative solution of the matrix equation, running on a parallel processing and high-speed CPU such as a PC cluster or a larger supercomputer is most commonly used. It is not a general environment that anyone can use easily because it can be used only in relatively limited research institutes, or it can be used jointly.
これに対し、近年のFPGA、CPLDなどの書換え可能なLSIの出現およびその手軽な設計・利用環境、さらに、プリント回路基板設計・開発環境の充実化を背景に、科学技術計算のHPC技術の選択肢の一つとして、ターゲットをしぼり、計算方法に特化したアーキテクチャのハードウェアを構成することにより、安価に、かつ、身近なPCの環境で実現することができる専用計算機が新たに注目されつつある。 On the other hand, against the backdrop of the recent emergence of rewritable LSIs such as FPGA and CPLD and their easy design / use environment, as well as the enhancement of the printed circuit board design / development environment, HPC technology options for scientific calculation As one of them, a dedicated computer that can be realized at low cost and in a familiar PC environment by narrowing down the target and configuring hardware with an architecture specialized for the calculation method is newly attracting attention. .
現在、線形行列計算を行うための専用計算機(以下、行列計算専用計算機ともいう)には、密行列をターゲットとしたものとして、LU分解法を高速に処理すべく複雑なLU分解処理はホスト計算機に行わせ前進代入処理などの部分的な単純な処理を専用のハードウェアで行うタイプ、疎行列をターゲットとしたものとして、ハードウェア構成が比較的簡単な単純反復法の反復処理と収束判定処理とを直接ハードウェア化したタイプ、および、疎行列用のLU分解法あるいはCG法の演算のうち、ベクトルの内積演算あるいは行列とベクトルとの乗算の部分をハードウェア化したタイプなどがある(非特許文献1〜13参照。)。
At present, a dedicated computer for performing a linear matrix calculation (hereinafter also referred to as a matrix calculation dedicated computer) is targeted at a dense matrix, and a complicated LU decomposition process is performed in order to perform the LU decomposition method at high speed. A type that performs partial simple processing such as forward substitution processing with dedicated hardware, targeting a sparse matrix, and iterative processing and convergence determination processing of a simple iteration method with a relatively simple hardware configuration And a type in which the inner product operation of a vector or the multiplication of a matrix and a vector is implemented in hardware among the LU decomposition method or CG method for a sparse matrix (non- (See
行列方程式計算用の専用計算機においては、ソフトウェアプログラムベースの計算機で行う処理と全く同じことをハードウェア化することは困難である。このため、従来は、全体の処理の中でハードウェア化に適し、かつ、ハードウェア化により有効に高速化が図れる処理を適切に選び出してそれらを専用計算機で実行させ、ホスト計算機と連動しながら全体として処理を高速化する方法が採られてきた。 In a dedicated computer for matrix equation calculation, it is difficult to implement exactly the same processing as that performed by a software program-based computer. For this reason, conventionally, it is suitable for hardware processing in the overall processing and appropriately selects processing that can be effectively speeded up by hardware processing and executes them on a dedicated computer, while interlocking with the host computer A method for speeding up the processing as a whole has been adopted.
非特許文献4では、密行列をターゲットとしガウスの消去法のための専用計算機を提案している。とりわけ、ガウスの消去法の中で演算量のほとんどを占める前進消去の内積演算の部分をハードウェア化する方式について検討し、計算機のシステム構成を提案している。しかしながら、メモリ容量の制約から、1000次元以下の行列を対象としており、大規模な計算を行うにはさらなる検討が必要である。
Non-Patent
非特許文献5では、同じく密行列をターゲットとしたLU分解法の専用計算機について、LU分解法の計算ではデータ量(行列の次元)Nに対して、演算量がN2 、N1.5 とメモリアクセスがボトルネックになりづらい性質に着目して、LU分解法に現れる内積演算に特化し並列に高速処理することができる専用計算機の方式検討を行い、計算機のシステム構成を提案している。 In Non-Patent Document 5, for the LU decomposition method dedicated computer that also targets a dense matrix, the calculation amount is N 2 , N 1.5 and the memory access for the data amount (matrix dimension) N in the LU decomposition method calculation. Focusing on the property that is difficult to become a bottleneck, we are investigating the method of a dedicated computer capable of high-speed processing in parallel, specializing in the inner product operation appearing in the LU decomposition method, and proposing the system configuration of the computer.
また、非特許文献6では、同じく密行列をターゲットとしたLU分解法の専用計算機について、LU分解法の演算のうち行列のLU分解のための行列成分の四則演算処理のみをハードウェア化し、ピボット選択や前進代入・後退代入などの処理はホスト計算機で処理する方式について検討し、計算機のシステム構成を提案している。 Further, in Non-Patent Document 6, with regard to a dedicated computer for LU decomposition method, which also targets a dense matrix, only the four arithmetic operations of matrix components for LU decomposition of a matrix among the operations of LU decomposition method are hardwareized. We consider a method of processing by selection and forward substitution / backward substitution by a host computer, and propose a system configuration of the computer.
このとき、上記の密行列を対象とした専用計算機による行列計算の高速化の試みにおいては、必然的に大容量のメモリが必要となり、また、より高速計算を実現するためにはハードウェアが大規模となるため、高々、数千次元程度の行列サイズを取り扱うのが限界であり、科学技術計算にしばしば現れるより大規模な計算への適用は困難であるという問題があった。 At this time, in the attempt to speed up the matrix calculation by the dedicated computer for the above-described dense matrix, a large amount of memory is inevitably required, and a large amount of hardware is required to realize higher speed calculation. Due to the scale, it is limited to handle a matrix size of about several thousand dimensions at most, and there is a problem that it is difficult to apply to larger-scale calculations that often appear in scientific and technical calculations.
一方、非特許文献1〜3では、疎行列をターゲットとし疎行列用LU分解法のための専用計算機を提案している。疎行列性を利用し、行列の次元Nに比してはるかに少ない数の非ゼロ行列成分の分だけのローカルメモリを有する演算ユニットを用意し、1行分の加減算・乗除算を並列に行える構成とし、LU分解法の全ての処理を実行する方式について検討し、計算機のシステム構成を提案している。
On the other hand, Non-Patent
また、非特許文献7では、同じく疎行列をターゲットとしたLU分解法の専用計算機について、汎用の算術演算器を2つ用意し、かつ、メモリアクセスを2チャネルとした上でパイプライン処理が可能なハードウェアを小規模ながら実際のPCIインターフェース機能を有するFPGA評価キットに実装し、その動作確認まで行っている。 In Non-Patent Document 7, two general-purpose arithmetic operators are prepared for a dedicated LU decomposition method computer that also targets a sparse matrix, and pipeline processing is possible with two channels of memory access. A small hardware is mounted on an FPGA evaluation kit having an actual PCI interface function, but its operation is confirmed.
しかしながら、上記のLU分解法をハードウェア化する試みにおいては、ピボット選択も含めた複雑な行列のLU分解、そして、それに続く前進および後退代入の複数の処理が必要であり、CG法やBiCG法などの反復解法に比べて演算量の多い計算を余儀なくされるという問題があった。 However, in an attempt to make the above LU decomposition method hardware, LU decomposition of a complex matrix including pivot selection and subsequent multiple processes of forward and backward substitution are required. The CG method and the BiCG method There was a problem that it was necessary to perform calculations with a large amount of calculation compared to the iterative solution method.
非特許文献8では、ラプラス・ポアソン方程式に特化した専用計算機を提案している。この専用計算機では、ラプラス・ポアソン方程式の差分式に現れる大型疎行列の1行ごとの非ゼロ成分の数が高々5であり、かつ、同じ行に現れる行列成分が隣り合うグリッドのアドレスとなることを利用し、この構造に特化した単純反復法のハードウェア化が提案されている。しかし、全体のシステムとしてシンプルなアーキテクチャで実現することができることが判明したものの、やはり、単純反復法は解の収束が悪く、行列解法のHPC化としては必ずしも適切なものとはなっていなかった。
Non-Patent
非特許文献9では、大型疎行列をターゲットとしCG法のための専用計算機を提案している。とりわけ、CG法の中で行列と探索方向のベクトルとの乗算演算の部分のみをハードウェア化し、他の処理はホスト計算機で実行させ、ホスト計算機と専用計算機とを連動させながらCG法の計算を高速化する方式について検討し、計算機のシステム構成を提案している。 Non-Patent Document 9 proposes a dedicated computer for the CG method targeting a large sparse matrix. In particular, only the multiplication operation of the matrix and the search direction vector in the CG method is hardwareized, and other processing is executed by the host computer, and the calculation of the CG method is performed while the host computer and the dedicated computer are linked. We are investigating a method for speeding up and proposing a computer system configuration.
非特許文献10では、大型疎行列をターゲットとしたCG法の専用計算機について、FPGAへの実装を想定した場合の精度とハードウェアサイズ・計算速度のトレードオフについて検討し、パイプライン処理を併用した適切な演算方法を提案している。 In Non-Patent Document 10, we examined the trade-off between accuracy and hardware size / calculation speed when assuming implementation on FPGA for a dedicated computer of the CG method targeting a large sparse matrix, and used pipeline processing together Appropriate calculation methods are proposed.
非特許文献11では、大型疎行列をターゲットとしたCG法の専用計算機について、CG法の演算に現れる除算の効率的な計算方法について検討し、演算部分について、実際にFPGAに実装しながらその有効性を示している。
Non-Patent
非特許文献12では、大型疎行列をターゲットとしたCG法の専用計算機について、CG法の1回の反復計算のハードウェア化について検討し、小規模ながら実際にFPGAに実装しながらその実現可能性を示している。
Non-Patent
非特許文献13では、大型疎行列をターゲットとしたCG法の専用計算機について、商用のリコンフィギュレーション可能な計算機を用いて行列方程式計算のHPC化について検討し、CG法に特化したシステムを提案している。
以上のように、従来の行列計算専用計算機は、必ずしも科学技術計算にしばしば現れる大型疎行列には適していないLU分解法をハードウェア化するものや、あるいは大型疎行列に適したCG法のハードウェア化である場合も、CG法の演算に除算などの複雑な処理が含まれるために、演算方法を部分的にハードウェア化し、ホスト計算機と連動して動作させる構成のものである。これらの行列計算専用計算機は、いずれも、完全な専用計算機という形態ではなく、ホスト計算機とのデータのやり取りを生じるなど動作速度、大規模計算化などの点で必ずしも十分なものではなかった。また、CG法は基本的に対称行列が対象であるが、科学技術計算では非対称行列もよく現れるため、対称行列に特化した専用計算機では適用範囲が限られてしまうという問題もあった。 As described above, the conventional computer dedicated to matrix calculation is not necessarily suitable for a large sparse matrix that often appears in scientific and technical calculations, or it is a hardware of a CG method suitable for a large sparse matrix. Even in the case of hardware, since the calculation of the CG method includes complicated processing such as division, the calculation method is partially hardwareized and operated in conjunction with the host computer. None of these dedicated computers for matrix calculation are not necessarily a complete dedicated computer, and are not necessarily sufficient in terms of operation speed and large-scale calculation such as data exchange with the host computer. The CG method is basically intended for a symmetric matrix, but an asymmetric matrix often appears in scientific and technical calculations, so that there is a problem that the scope of application is limited in a dedicated computer specialized for a symmetric matrix.
そこで、この発明が解決しようとする課題は、電磁界解析、流体解析、構造解析などの各種の数値シミュレーションにおいて最終的に解くべき方程式として現れる大型疎行列方程式の計算を高速に行うことができ、しかもこの大型疎行列方程式の大型疎行列が対称行列である場合および非対称行列である場合の双方に適用することができる行列方程式計算装置および行列方程式計算方法を提供することである。 Therefore, the problem to be solved by the present invention is that high-speed calculation of large sparse matrix equations that appear as equations to be finally solved in various numerical simulations such as electromagnetic field analysis, fluid analysis, and structural analysis, In addition, the present invention provides a matrix equation calculation apparatus and a matrix equation calculation method that can be applied to both cases where the large sparse matrix of the large sparse matrix equation is a symmetric matrix and an asymmetric matrix.
上記課題を解決するために、第1の発明は、
対象となる大型疎行列方程式を反復解法により解く行列方程式計算装置であって、
上記大型疎行列方程式の大型疎行列の成分のうち、非ゼロの成分のみを1列ごとに格納する所定の個数のメモリを有するメモリ部と、
上記反復解法の演算の少なくとも一部をデータフロー形式で実行する1つまたは複数の演算部とを有し、
上記メモリ部から1行ごとの反復解法の演算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とするものである。
この行列方程式計算装置は、典型的には、パーソナルコンピュータなどからなるホスト計算機と接続され、このホスト計算機から必要なデータを取得するが、これに限定されるものではなく、必要に応じて、ホスト計算機の機能を持たせてもよい。
In order to solve the above problem, the first invention is:
A matrix equation calculator that solves a large sparse matrix equation of interest by an iterative method,
A memory unit having a predetermined number of memories for storing only non-zero components for each column among the components of the large sparse matrix of the large sparse matrix equation;
One or a plurality of calculation units that execute at least a part of the calculation of the iterative solution method in a data flow format,
The memory unit is configured to load data necessary for the calculation of the iterative solution for each row to the calculation unit at a time.
This matrix equation calculation apparatus is typically connected to a host computer such as a personal computer and obtains necessary data from the host computer, but is not limited to this. You may give the function of a computer.
第2の発明は、
対象となる大型疎行列方程式を反復解法により解く行列方程式計算方法であって、
上記大型疎行列方程式の大型疎行列の成分のうち、非ゼロの成分のみを1列ごとにメモリ部の所定の個数のメモリに格納するステップと、
上記メモリ部から1行ごとの反復解法の演算に必要なデータを1つまたは複数の演算部に一度にロードするステップと、
上記反復解法の演算の少なくとも一部を上記演算部でデータフロー形式で実行するステップとを有することを特徴とするものである。
The second invention is
A matrix equation calculation method for solving a target large sparse matrix equation by an iterative method,
Storing only non-zero components among the components of the large sparse matrix of the large sparse matrix equation in a predetermined number of memories in the memory unit for each column;
Loading data necessary for iterative solution operation for each row from the memory unit to one or more arithmetic units at a time;
And a step of executing at least a part of the calculation of the iterative solution in a data flow format by the calculation unit.
第1および第2の発明において、大型疎行列とは、電磁界解析、流体解析、構造解析などの数値シミュレーションにおいて最終的に解くべき行列方程式に現れる数千〜数百万あるいはそれ以上の次元であるがその成分のほとんどはゼロであり、非ゼロ成分は、1行あたり数個〜十数個であるような行列を意味する。大型疎行列は対称行列であっても非対象行列であってもよい。反復解法には、例えば、CG法、BiCG法、ICCG法、BiCG−Stab法、CGS法、BiCG−Stab2法などを用いることができる。 In the first and second inventions, the large sparse matrix means a dimension of several thousand to several million or more appearing in a matrix equation to be finally solved in numerical simulation such as electromagnetic field analysis, fluid analysis, and structural analysis. However, most of its components are zero, and a non-zero component means a matrix having several to a dozen or more components per row. The large sparse matrix may be a symmetric matrix or a non-target matrix. For the iterative solution method, for example, CG method, BiCG method, ICCG method, BiCG-Stab method, CGS method, BiCG-Stab2 method and the like can be used.
第1および第2の発明においては、大型疎行列の成分のうち、非ゼロの成分のみを1列ごとに格納する所定の個数(複数)(必要に応じて選ばれるが、例えば8あるいは16)のメモリを用いるが、これは次のような理由による。図1は大型疎行列方程式の1例を示す。図1に示すように、行列Aおよび非同次ベクトルbからなる大型疎行列方程式
好適には、行列方程式計算装置は、同じハードウェア回路の複数の演算部を有する。そして、これらの演算部の数だけ、行列の行数Nを分割し、それぞれの演算部が連動動作しながら並列処理を行う。こうすることで、行列方程式の計算を演算部の数だけスケーラブルに並列処理により高速化することができる。
好適には、反復解法の演算を可能な限りデータフロー形式で実行する。
Preferably, the matrix equation calculation apparatus includes a plurality of arithmetic units of the same hardware circuit. Then, the number of rows N of the matrix is divided by the number of these arithmetic units, and parallel processing is performed while the respective arithmetic units operate in conjunction with each other. By doing so, the calculation of the matrix equation can be speeded up by the parallel processing in a scalable manner by the number of operation units.
Preferably, iterative solution operations are performed in data flow form as much as possible.
さらに、好適には、対称行列を対象としたCG法専用計算機の場合は、偶数かつ複数の同じハードウェア回路の演算部を有する。そして、これらの演算部の2つをペアに連動させることにより、1つの非対称行列を対象としたBiCG法専用計算機としても機能させる。また、この演算部のペアの数だけ行列の行数を分割し、それぞれの演算部が連動動作しながら並列処理を行うようにしてもよい。こうすることで、1つの専用計算機を対称行列および非対称行列両方に適用することができ、対称行列モードの場合は非対称行列モードの場合の2倍の速度で動作する計算装置を実現することができる。 Further, preferably, the CG method dedicated computer for a symmetric matrix has an even number and a plurality of arithmetic units of the same hardware circuit. Then, by linking two of these arithmetic units in pairs, it is made to function as a BiCG method dedicated computer for one asymmetric matrix. Alternatively, the number of rows of the matrix may be divided by the number of pairs of the calculation units, and the parallel processing may be performed while each calculation unit operates in conjunction. In this way, one dedicated computer can be applied to both the symmetric matrix and the asymmetric matrix, and in the case of the symmetric matrix mode, it is possible to realize a computing device that operates at twice the speed of the asymmetric matrix mode. .
この発明によれば、行列方程式計算装置にOSなどのソフトウェア的な制約なしに、ハードウェア的に許される限り大容量のメモリを搭載可能となるため、大規模な計算を実行することができる。また、演算部におけるCG法などの反復解法のデータフローアーキテクチャ回路構成とメモリ部における行列の1列の非ゼロ成分ごとのメモリ構成とにより、スループットとしても、例えば、CG法やBiCG法では1回の反復計算を3N+2クロック(Nは行列の次数)で、BiCG−Stab法やCGS法では5Nクロックで処理することができ、計算方法の限界まで動作時間を最小化した高速な動作を実現することができる。
また、複数の演算部を有する構成とし並列動作させることにより、スケーラブルな並列処理で高速化を図ることができる。
さらに、CG法の演算部を2つ連動させることでBiCG法の演算部を実現することができるため、用途に適した効率的な計算を行うことができる。
さらに、複数の反復解法の演算部を用意し、これらの演算部に同じ行列計算を同時に行わせ、最も早く計算が完了した演算部の解をホスト計算機がアップロードすることにより、自動的に問題に最適な反復解法の方法を選択して行列方程式の計算を実行することができる。
According to the present invention, a large-capacity memory can be mounted in a matrix equation calculation apparatus as long as it is allowed by hardware without software restrictions such as an OS, so that a large-scale calculation can be executed. In addition, the throughput is one time in the CG method or BiCG method, for example, by the data flow architecture circuit configuration of the iterative solution such as the CG method in the arithmetic unit and the memory configuration for each non-zero component of one column of the matrix in the memory unit. Can be processed with 3N + 2 clocks (N is the order of the matrix) and with the BiCG-Stab method or CGS method with 5N clocks, and the high-speed operation can be realized with the operation time minimized to the limit of the calculation method. Can do.
In addition, by operating in parallel with a configuration having a plurality of arithmetic units, it is possible to achieve high speed with scalable parallel processing.
Furthermore, since the BiCG method computing unit can be realized by linking two CG method computing units, efficient calculation suitable for the application can be performed.
In addition, a plurality of iterative solution calculation units are prepared, the same matrix calculation is performed simultaneously by these calculation units, and the host computer uploads the solution of the calculation unit that completed the earliest calculation, which automatically becomes a problem. The calculation of the matrix equation can be performed by selecting the optimal iterative solution method.
以下、この発明の実施の形態について図面を参照しながら説明する。
まず、この発明の第1の実施の形態による行列方程式計算装置について説明する。
この行列方程式計算装置はCG法専用計算機により構成される。この行列方程式計算装置は、(1)式の行列方程式を(2−1)式、(2−2)式および(3)式に示すCG法により計算するものである。
Embodiments of the present invention will be described below with reference to the drawings.
First, a matrix equation calculation apparatus according to a first embodiment of the present invention will be described.
This matrix equation calculation device is constituted by a computer dedicated to the CG method. This matrix equation calculation device calculates the matrix equation of equation (1) by the CG method shown in equations (2-1), (2-2), and (3).
図2はこの行列方程式計算装置1の全体構成、図3はこの行列方程式計算装置1の各部の構成の詳細を示す。図2および図3に示すように、この行列方程式計算装置1は、大型疎行列Aの全成分の値を格納するメモリモジュール11と、(2−2)式のCG法の1回分の反復計算をデータフロー形式で3Nクロックで実行する演算モジュール12と、メモリモジュール11と演算モジュール12との間で、(3)式の大型疎行列Aとベクトルpk との乗算をクロック遅延のない組合せ回路で実行し、この結果の値Apk を演算モジュール12に提供する行列−ベクトル乗算回路13と、演算モジュール12で得られたk+1番目の反復解が収束しており最終的な解となっているかどうかを判定する収束判定部14とを有する。メモリモジュール11、行列−ベクトル乗算回路13、演算モジュール12および収束判定部14における一連のデータの流れの動作はマスターコントローラ15により制御される。
FIG. 2 shows the overall configuration of the matrix
メモリモジュール11は、大型疎行列Aを非ゼロ成分のみに圧縮したN×mのサイズの行列A’の成分を列ごとに格納するm個のメモリM1−1〜M1−mを有する。この大型疎行列Aの圧縮は具体的には次のように行う。例えば、各行ごとの非ゼロ成分の数のうち全N行の中で最大のものをmとしてN×mのサイズの行列を用意し、これに各行ごとに非ゼロ成分を左詰めで格納する。同時に、これらのメモリM1−1〜M1−mと全く同じサイズのメモリをもう1つずつ用意する(メモリM2−1〜M2−m)。これらのメモリM2−1〜M2−mには、対応するメモリM1−1〜M1−mの非ゼロ成分がもともとの大型疎行列Aのどの列に位置していたかを示すインデックスを格納する。これにより、通常、大型疎行列ではNが数千〜数千万に対しmは高々十数個であるため、大型疎行列Aの情報を失うことなく大幅にメモリ容量を節約することができる。メモリモジュール11をこのように構成することで、メモリ容量を大幅に節約することができ、かつ、一度に1行分の行列の非ゼロ成分全てに並列アクセスすることができるためスループットとしての計算性能に大きく影響する行列の成分が格納されたメモリM1−1〜M1−mへのアクセスは、最小限の1回にまで減らすことができる。
The
メモリモジュール11はさらに、CG法の反復計算実行時に一時的に値を格納しておくために、同じベクトルpk の値をm個別々に格納するためのメモリM3−0〜M3−m、ベクトルpk の更新値pk+1 を格納するためのメモリM3−0’、ベクトルxk を格納するためのメモリM4、ベクトルxk の更新値xk+1 を格納するためのメモリM4’、ベクトルrk を格納するためのメモリM5、ベクトルrk の更新値rk+1 を格納するためのメモリM5’、ベクトルqk を格納するためのメモリM6、ベクトルrk のノルムの2乗‖rk ‖2 =(rk ,rk )を格納するためのメモリM7、ノルムの2乗‖rk ‖2 の更新値‖rk+1 ‖2 =(rk+1 ,rk+1 )を格納するためのメモリM7’、行列の次数N、行ごとの非ゼロ成分の最大数m、非同次項ベクトルbのノルムの2乗‖b‖2 =(b,b)、相対残差の収束判定基準値ε、最大反復回数Km、各反復ステップの残差Rsなどの反復の収束条件を格納するためのメモリM8を有する。
The
上述のメモリM1−1〜M1−m、M2−1〜M2−m、M3−0〜M3−m、M3−0’、M4、M4’、M5、M5’、M6、M7、M7’、M8としては、それぞれ独立した個別のメモリを用いてもよいし、それらのうちの1つまたは2つ以上のメモリとして、独立した1つのメモリのメモリ領域を所定個数に分割したものを用い、これらのメモリ領域をメモリM1−1〜M1−m、M2−1〜M2−m、M3−0〜M3−m、M3−0’、M4、M4’、M5、M5’、M6、M7、M7’、M8のうちのいずれかに用いてもよい。これらのメモリM1−1〜M1−m、M2−1〜M2−m、M3−0〜M3−m、M3−0’、M4、M4’、M5、M5’、M6、M7、M7’、M8としては、例えば、SRAMまたはDRAMを用いることができる。 Memory M1-1 to M1-m, M2-1 to M2-m, M3-0 to M3-m, M3-0 ′, M4, M4 ′, M5, M5 ′, M6, M7, M7 ′, M8 Each of which may be an independent memory, or one or two or more of them may be obtained by dividing a memory area of one independent memory into a predetermined number. The memory areas are memories M1-1 to M1-m, M2-1 to M2-m, M3-0 to M3-m, M3-0 ′, M4, M4 ′, M5, M5 ′, M6, M7, M7 ′, It may be used for any of M8. These memories M1-1 to M1-m, M2-1 to M2-m, M3-0 to M3-m, M3-0 ′, M4, M4 ′, M5, M5 ′, M6, M7, M7 ′, M8 For example, SRAM or DRAM can be used.
行列−ベクトル乗算回路13は、上述のように列ごとにメモリM1−1〜M1−mに分割格納された大型疎行列Aの成分を、メモリM2−1〜M2−mを参照しつつ1行ごとに1行の全ての成分に並列に同時アクセスし、また、ベクトルpk を格納するメモリM3−1〜M3−mからそれぞれ(3)式の計算に必要な値のアドレスに同時アクセスし、データフロー形式で(3)式の計算を実行し、ベクトルqk を1クロックで1成分ずつ計算し、その結果を演算モジュール12に引き渡す。
The matrix-
演算モジュール12は、行列−ベクトル乗算回路13からのベクトルqk 、メモリM3−0のベクトルpk 、メモリM4のベクトルxk 、メモリM5のベクトルrk 、メモリM6のベクトルqk およびメモリM7の(rk ,rk )を用いて、(2−2)式(i)中のベクトルpk とベクトルqk (=Apk )との内積(pk ,qk )の計算を実行するための演算回路31、(2−2)式(i)中の除算(rk ,rk )/(pk ,qk )の計算を実行するための演算回路32、(2−2)式(ii)のベクトルxk+1 の計算を実行するための演算回路33、(2−2)式(iii)のベクトルrk+1 の計算を実行するための演算回路34、(2−2)式(v)中のベクトルrk+1 の2乗(rk+1 ,rk+1 )の計算を実行するための演算回路35、(2−2)式(iv)中の除算(rk+1 ,rk+1 )/(rk ,rk )の計算を実行するための演算回路36、(2−2)式(v)のベクトルpk+1 の計算を実行するための演算回路37を有する。
(2−2)式からわかるように、演算回路31、33、34、35、37の計算はそれぞれNクロックで、演算回路32、36の計算は1クロックで実行することができるが、演算モジュール12は全体として可能な限りこれらの計算を並列に実行することができるように構成されている。具体的には、演算回路31、32のN+1クロックの計算が完了した後は、演算回路33、34、35の計算は、演算回路34、35のデータフロー性を利用するとまとめてNクロックで実行することができるため、残りの演算回路36、37のN+1クロックの計算を合わせて全体で3N+2クロックで実行することができるように構成されている。 As can be seen from the equation (2-2), the calculation of the arithmetic circuits 31, 33, 34, 35, and 37 can be executed in N clocks, and the calculation of the arithmetic circuits 32 and 36 can be executed in one clock. 12 is configured so that these calculations can be executed in parallel as much as possible. Specifically, after the calculation of the N + 1 clocks of the arithmetic circuits 31 and 32 is completed, the calculation of the arithmetic circuits 33, 34, and 35 are collectively executed with N clocks using the data flow property of the arithmetic circuits 34 and 35. Therefore, the calculation of the N + 1 clocks of the remaining arithmetic circuits 36 and 37 can be combined and executed in a total of 3N + 2 clocks.
収束判別部14は、CG法の演算を実行する行列−ベクトル乗算回路13から演算モジュール12での1回分の反復計算で得られたk+1回目の残差ベクトルrk+1 から相対誤差を計算し、あらかじめ設定されたメモリM8内の相対残差の収束判定基準値ε内に収まり反復計算が収束しているかどうかを判別する。
The
マスターコントローラ15は、計算が収束していればxk+1 を最終的な近似解として計算を終了し、ホスト計算機(図示せず)に正常に収束値を得た旨を通知する。計算が収束していなければ、あらかじめ設定されたメモリM8内の最大反復回数Kmを超えた場合は、ホスト計算機に反復計算が収束しなかった旨を通知し、最大反復回数Kmを超えていない場合は、反復計算で得られたベクトルpk+1 、xk+1 、rk+1 および(rk+1 ,rk+1 )を次の反復計算に送り、再度、行列−ベクトル乗算回路13から演算モジュール12での反復計算の実行を指示する。
If the calculation has converged, the
図4は行列方程式計算装置1の使用形態を示す。行列方程式計算装置1はPCIインターフェース41によりホスト計算機42と接続されている。CG法の演算を実行する上で必要な値は、圧縮格納された大型疎行列A、反復計算の初期値となるベクトルp0 (=r0 )、x0 、非同次項の(b,b)、収束判定基準ε、最大反復回数Kmである。これらの値はホスト計算機42に格納され、計算開始指示の前に行列方程式計算装置1にダウンロードされてメモリモジュール11のメモリM3、M4、M5、M8に格納されるようになっている。ホスト計算機42は、これらの値を行列方程式計算装置1にダウンロードした後、行列方程式計算装置1に対し計算開始を指示する。行列方程式計算装置1は、(2−2)式の反復計算および収束判定を繰返し、最大反復回数Km以内で解が収束判定基準ε以下になれば、メモリM4’のベクトルxk+1 を近似解としてホスト計算機42に引渡し、最大反復回数Kmまで計算しても収束しなければ、計算は未収束として、これをホスト計算機42に通知する。
FIG. 4 shows how the matrix
図5A〜Eは行列方程式計算装置1の実装例を示す。図5AおよびBに示すように、この例では、1つの小プリント基板51上に、メモリモジュール11の2列分の圧縮行列の成分を格納するメモリ52と、この2列の行列と対応する探索ベクトルpk の成分との乗算を行う行列−ベクトル乗算回路13とが搭載される。図5CおよびDに示すように、この小プリント基板51が合計16個、サブプリント基板上53に接続される。図5Eに示すように、メインプリント基板上54に、演算モジュール12、収束判定部14およびマスターコントローラ15が搭載され、これにサブプリント基板53が接続される。こうして、CG法専用計算機としての行列方程式計算装置1が構成される。これらの搭載部品のほとんどは例えばFPGAまたはASICにより作製することができる。このように構成することにより、行列方程式計算装置1をある決められた列数m用に構成した場合でも、あらかじめ十分なソケットを用意しておけば、後に小プリント基板51を追加接続することにより、行列サイズの変更に対してフレキシビリティーを持たすことができる。
5A to 5E show implementation examples of the matrix
この第1の実施の形態によれば、次のような利点を得ることができる。すなわち、行列方程式計算装置1をCG法専用計算機により構成し、メモリモジュール11と演算モジュール12とを分離した構成としていることにより、数値シミュレーションに用いる大型疎行列に応じてメモリモジュール11を適切な構成のものに交換することができ、比較的複雑な構成を有する演算モジュール13は変更しないで、大型疎行列の変更に柔軟に対応することができ、フレキシビリティーが高い。また、メモリモジュール11は、行列の1列ごとにm個のメモリM1−1〜M1−mを設け、これらのメモリM1−1〜M1−mから(3)式の1行分の計算に必要なデータを1クロックで行列−ベクトル乗算回路13にロードし、(3)式の1行分の計算を並列的に実行するようにしていることにより、メモリモジュール11へのアクセス回数を最小限にすることができ、それによって高速動作化を図ることができ、行列方程式の計算を高速かつ短時間で行うことができる。また、この行列方程式計算装置1は実装や計算の大規模化が容易である。以上により、極めて実用性が高い高性能の行列方程式計算装置1を実現することができる。
この行列方程式計算装置1は、電磁界解析、流体解析、構造解析などの各種の数値シミュレーションで最終的に解くべき方程式として現れる大型疎行列方程式を解くのに適用して好適なものである。
According to the first embodiment, the following advantages can be obtained. That is, the matrix
The matrix
次に、この発明の第2の実施の形態による行列方程式計算装置について説明する。
この第2の実施の形態においては、メモリモジュール11へのアクセス回数の最小限化に加え、さらに、演算モジュール12における3N+2クロック分の計算をより高速化すべく、演算モジュール12を複数用意し、3N+2クロック分の計算をこれらの複数の演算モジュール12で並列に実行する方式が用いられる。演算モジュール12における3N+2クロックの計算はもともと全て並列処理してもよく、この部分の計算を複数の演算モジュール12で行うことにより、1つの演算モジュール12を用いた場合に比べ、演算モジュール12の台数分だけ、高速化を図ることができる。上記以外のことは第1の実施の形態と同様である。
この行列方程式計算装置1の実装は、図6に示すように、図5Eに示すものと同様なメインプリント基板54上にサブプリント基板53を複数搭載することにより簡単に行うことができる。
Next explained is a matrix equation calculation apparatus according to the second embodiment of the invention.
In the second embodiment, in addition to minimizing the number of accesses to the
As shown in FIG. 6, the matrix
この第2の実施の形態によれば、第1の実施の形態と同様な利点に加えて、動作速度のより一層の向上を図ることができ、行列方程式の計算をより高速に行うことができるという利点を得ることができる。 According to the second embodiment, in addition to the same advantages as the first embodiment, the operation speed can be further improved, and the matrix equation can be calculated at higher speed. The advantage that can be obtained.
次に、この発明の第3の実施の形態による行列方程式計算装置について説明する。
この第3の実施の形態においては、複数の演算モジュール3の並列処理による高速化に加え、さらに、CG法は大型疎行列が対称行列である場合のみに適用が限定されているのに対し、非対称行列である場合にも適用することができる機能を装備すべく、2つの演算モジュール12を連動動作させ、非対称行列にも適用することができるBiCG法マシンとして動作させる方式が用いられる。BiCG法はもともとCG法に転置行列に対するCG法の処理を追加したものであり、もう1つの演算モジュール12に転置行列を処理させることにより、2つの演算モジュール12をペアで連動動作させることによりBiCG法の動作を実現することができる。上記以外のことは第1の実施の形態と同様である。
この行列方程式計算装置1の実装は、図6に示すように、図5Eに示すものと同様なメインプリント基板54上にサブプリント基板53を複数搭載することにより簡単に行うことができる。
Next explained is a matrix equation calculation apparatus according to the third embodiment of the invention.
In the third embodiment, in addition to speeding up by parallel processing of a plurality of
As shown in FIG. 6, the matrix
次に、ハードウェア記述言語であるVHDL(VHSIC Hardware Description Language)により行列方程式計算装置1による大型疎行列計算の論理シミュレーションを行った結果について説明する。
図7はシミュレーションの例として使用したリニアモータの界磁部のモデルを、図8はその数値モデルを示す。このモデルは、3つの励磁コイル61〜63で励磁された静磁場が、鉄(μr =5000)からなる磁場遮蔽材料64によって外部にもれないよう遮蔽される現象に関するもので、系は軸対称性を持っており、図8の数値シミュレーションの解析領域は軸対称性を考慮して2次元の50×100グリッドサイズのものである。この磁場を記述する支配方程式は、与えられた電流密度ベクトルJ、透磁率μに対し、ベクトルポテンシャルAを未知数とし、
番目のグリッドでは、
FIG. 7 shows a model of the magnetic field portion of the linear motor used as an example of simulation, and FIG. 8 shows its numerical model. This model relates to a phenomenon in which a static magnetic field excited by three
In the second grid,
ここでは、簡単のため、軸対称2次元となるモデルを用いたが、基本的には3次元の場合も全く同様である。すなわち、例えば同じ図7の3次元モデルでは、グリッドサイズが100×100×100であるので、最終的に現れる大型疎行列は、1000000×1000000で、(4)式に対応する3次元の差分式では、係数は16個となるため、最終的には、1000000×16のサイズに圧縮された行列を解くことに帰着する。このため、この行列方程式計算装置1では、軸対称2次元の場合が、N=5000、m=5であったものが、3次元では、単に、N=1000000、m=16となるだけで、動作自体は全く同様である。
この第3の実施の形態によれば、第1の実施の形態と同様な利点に加えて、大型疎行列Aが非対称行列である場合にも行列方程式計算装置1を適用することができるという利点を得ることができる。
Here, for the sake of simplicity, an axisymmetric two-dimensional model is used, but basically the same applies to a three-dimensional model. That is, for example, in the same three-dimensional model of FIG. 7, the grid size is 100 × 100 × 100, so the large sparse matrix that finally appears is 1000000 × 1000000, and the three-dimensional difference equation corresponding to equation (4) Then, since there are 16 coefficients, the result is finally to solve a matrix compressed to a size of 1000000 × 16. For this reason, in this matrix
According to the third embodiment, in addition to the advantages similar to those of the first embodiment, the matrix
以上、この発明の実施の形態について具体的に説明したが、この発明は、上述の実施の形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。
例えば、上述の実施の形態において挙げた数値、回路構成、配置などはあくまでも例に過ぎず、必要に応じて、これらと異なる数値、回路構成、配置などを用いてもよい。また、行列方程式の解法には、CG法やBiCG法ではなく、ICCG法、BiCG−Stab法、CGS法、BiCG−Stab2法などの他の反復解法を採用し、演算モジュール12もこれらの行列方程式の解法用のもので構成してもよい。
Although the embodiment of the present invention has been specifically described above, the present invention is not limited to the above-described embodiment, and various modifications based on the technical idea of the present invention are possible.
For example, the numerical values, circuit configurations, arrangements, and the like given in the above-described embodiments are merely examples, and different numerical values, circuit configurations, arrangements, and the like may be used as necessary. The matrix equation is not solved by the CG method or BiCG method, but other iterative methods such as the ICCG method, BiCG-Stab method, CGS method, BiCG-Stab2 method are adopted, and the
1…行列方程式計算装置、11…メモリモジュール、12…演算モジュール、13…行列−ベクトル乗算回路、14…収束判定部、15…マスターコントローラ、42…ホスト計算機、51…プリント基板、53…サブプリント基板、54…メインプリント基板、M1−1〜M1−m、M2−1〜M2−m、M3−0〜M3−m、M3−0’、M4、M4’、M5、M5’、M6、M7、M7’、M8…メモリ
DESCRIPTION OF
Claims (8)
上記大型疎行列方程式の大型疎行列の成分のうち、非ゼロの成分のみを1列ごとに格納する所定の個数のメモリを有するメモリ部と、
上記反復解法の演算の少なくとも一部をデータフロー形式で実行する1つまたは複数の演算部とを有し、
上記メモリ部から1行ごとの反復解法の演算に必要なデータを上記演算部に一度にロードするように構成されていることを特徴とする行列方程式計算装置。 A matrix equation calculator that solves a large sparse matrix equation of interest by an iterative method,
A memory unit having a predetermined number of memories for storing only non-zero components for each column among the components of the large sparse matrix of the large sparse matrix equation;
One or a plurality of calculation units that execute at least a part of the calculation of the iterative solution method in a data flow format,
A matrix equation calculation apparatus configured to load data necessary for iterative solution operation for each row from the memory unit to the operation unit at a time.
上記大型疎行列方程式の大型疎行列の成分のうち、非ゼロの成分のみを1列ごとにメモリ部の所定の個数のメモリに格納するステップと、
上記メモリ部から1行ごとの反復解法の演算に必要なデータを1つまたは複数の演算部に一度にロードするステップと、
上記反復解法の演算の少なくとも一部を上記演算部でデータフロー形式で実行するステップとを有することを特徴とする行列方程式計算方法。 A matrix equation calculation method for solving a target large sparse matrix equation by an iterative method,
Storing only non-zero components among the components of the large sparse matrix of the large sparse matrix equation in a predetermined number of memories in the memory unit for each column;
Loading data necessary for iterative solution operation for each row from the memory unit to one or more arithmetic units at a time;
And a step of executing at least a part of the calculation of the iterative solving method in a data flow format by the calculation unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008295135A JP2010122850A (en) | 2008-11-19 | 2008-11-19 | Device and method for calculating matrix equation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008295135A JP2010122850A (en) | 2008-11-19 | 2008-11-19 | Device and method for calculating matrix equation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010122850A true JP2010122850A (en) | 2010-06-03 |
Family
ID=42324141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008295135A Pending JP2010122850A (en) | 2008-11-19 | 2008-11-19 | Device and method for calculating matrix equation |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010122850A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013127735A (en) * | 2011-12-19 | 2013-06-27 | Internatl Business Mach Corp <Ibm> | Method, program, and system for matrix storage for system identification |
JP2016526854A (en) * | 2013-07-12 | 2016-09-05 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Parallel processing of horizontal and vertical conversion |
JP2019109626A (en) * | 2017-12-15 | 2019-07-04 | 株式会社富士通アドバンストエンジニアリング | Sparse matrix vector product computing device and sparse matrix vector product computing method |
CN113076519A (en) * | 2021-04-21 | 2021-07-06 | 湖北九同方微电子有限公司 | Large matrix solving method based on ARM architecture |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6395568A (en) * | 1986-10-09 | 1988-04-26 | Nec Corp | Repetitive solution device for simultaneous simple equations |
JPH03265066A (en) * | 1990-03-15 | 1991-11-26 | Fujitsu Ltd | Determinant solving processing system |
JP2008181386A (en) * | 2007-01-25 | 2008-08-07 | Internatl Business Mach Corp <Ibm> | Technique for executing operation with multicore processor |
-
2008
- 2008-11-19 JP JP2008295135A patent/JP2010122850A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6395568A (en) * | 1986-10-09 | 1988-04-26 | Nec Corp | Repetitive solution device for simultaneous simple equations |
JPH03265066A (en) * | 1990-03-15 | 1991-11-26 | Fujitsu Ltd | Determinant solving processing system |
JP2008181386A (en) * | 2007-01-25 | 2008-08-07 | Internatl Business Mach Corp <Ibm> | Technique for executing operation with multicore processor |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013127735A (en) * | 2011-12-19 | 2013-06-27 | Internatl Business Mach Corp <Ibm> | Method, program, and system for matrix storage for system identification |
US9164960B2 (en) | 2011-12-19 | 2015-10-20 | International Business Machines Corporation | Matrix storage for system identification |
JP2016526854A (en) * | 2013-07-12 | 2016-09-05 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Parallel processing of horizontal and vertical conversion |
JP2019109626A (en) * | 2017-12-15 | 2019-07-04 | 株式会社富士通アドバンストエンジニアリング | Sparse matrix vector product computing device and sparse matrix vector product computing method |
CN113076519A (en) * | 2021-04-21 | 2021-07-06 | 湖北九同方微电子有限公司 | Large matrix solving method based on ARM architecture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sundararajan | High performance computing using FPGAs | |
Kampolis et al. | CFD-based analysis and two-level aerodynamic optimization on graphics processing units | |
Durbano et al. | Hardware implementation of a three-dimensional finite-difference time-domain algorithm | |
Grigoraş et al. | Optimising Sparse Matrix Vector multiplication for large scale FEM problems on FPGA | |
Raghavan et al. | A fast and scalable FPGA-based parallel processing architecture for K-means clustering for big data analysis | |
Fu et al. | Auto-NBA: Efficient and effective search over the joint space of networks, bitwidths, and accelerators | |
JP2010122850A (en) | Device and method for calculating matrix equation | |
Peng et al. | Precorrected-FFT method on graphics processing units | |
Mingas et al. | Population-based MCMC on multi-core CPUs, GPUs and FPGAs | |
EP2058740A1 (en) | High-speed calculation process method of combination equation based on finite element method and boundary element method | |
Emelyanov et al. | Analysis of impact of general-purpose graphics processor units in supersonic flow modeling | |
Pan et al. | Hierarchical interpolative decomposition multilevel fast multipole algorithm for dynamic electromagnetic simulations | |
Araki et al. | Dynamic load balancing with over decomposition in plasma plume simulations | |
CN112329204A (en) | Method for rapidly analyzing electromagnetic characteristic model of repetitive structure by considering carrier platform coupling | |
Arboleda et al. | Hardware architecture for particle swarm optimization using floating-point arithmetic | |
Zhao et al. | A new decomposition solver for complex electromagnetic problems [EM Programmer's Notebook] | |
Nagy et al. | Accelerating unstructured finite volume computations on field‐programmable gate arrays | |
Lian et al. | Parallel adaptive mesh-refining scheme on a three-dimensional unstructured tetrahedral mesh and its applications | |
Dziekonski et al. | GPU-accelerated finite element method | |
Kashkovsky | DSMC investigations of reentry vehicle aerothermodynamics on GPU | |
Boehmer et al. | Numerical simulation of electrical machines by means of a hybrid parallelisation using MPI and OpenMP for finite-element method | |
Wang et al. | SAM: A Scalable Accelerator for Number Theoretic Transform Using Multi-Dimensional Decomposition | |
Lin et al. | An Efficient GPU‐Based Out‐of‐Core LU Solver of Parallel Higher‐Order Method of Moments for Solving Airborne Array Problems | |
Woulfe et al. | A hybrid fixed-function and microprocessor solution for high-throughput broad-phase collision detection | |
Kanan et al. | Low‐Complexity Scalable Architectures for Parallel Computation of Similarity Measures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20111014 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130814 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140304 |