CN117290653A - Matrix solving method and system based on EDA system - Google Patents

Matrix solving method and system based on EDA system Download PDF

Info

Publication number
CN117290653A
CN117290653A CN202311575290.8A CN202311575290A CN117290653A CN 117290653 A CN117290653 A CN 117290653A CN 202311575290 A CN202311575290 A CN 202311575290A CN 117290653 A CN117290653 A CN 117290653A
Authority
CN
China
Prior art keywords
matrix
algorithm
column
solving
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.)
Granted
Application number
CN202311575290.8A
Other languages
Chinese (zh)
Other versions
CN117290653B (en
Inventor
苏立群
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.)
Julin Technology Shanghai Co ltd
Original Assignee
Julin Technology Shanghai Co 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 Julin Technology Shanghai Co ltd filed Critical Julin Technology Shanghai Co ltd
Priority to CN202311575290.8A priority Critical patent/CN117290653B/en
Publication of CN117290653A publication Critical patent/CN117290653A/en
Application granted granted Critical
Publication of CN117290653B publication Critical patent/CN117290653B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Complex Calculations (AREA)

Abstract

The invention provides a matrix solving method and a matrix solving system based on an EDA system, wherein the method comprises the following steps: acquiring a sparse matrix of a linear equation set based on an EDA system in an iterative solving process; performing row exchange on the sparse matrix through a MaxMatch algorithm to obtain a first matrix; performing column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm; converting the filling value of the second matrix into a graph structure, and performing maximum cluster segmentation on the graph structure; column exchange is carried out on the second matrix based on the maximum cluster segmentation result, and a third matrix is obtained; and decomposing the third matrix based on the supernode technology to obtain a L, U matrix. According to the scheme, the Fill-In during large-scale sparse matrix decomposition can be reduced, the redundant non-zero element mode can be reduced, and the system memory breakdown is avoided.

Description

Matrix solving method and system based on EDA system
Technical Field
The invention relates to the technical field of EDA circuits, in particular to a matrix solving method and system based on an EDA system.
Background
In the electromagnetic field calculation process of the EDA circuit, the matrix solving problem ax=b is often not separated, and the matrices are huge in scale and quite sparse. The largest characteristic of solving the large-scale sparse matrix is that a non-zero element mode in the matrix is analyzed, namely, the value of an element in the matrix is not zero, so that only a non-zero item of the element in the matrix is needed to be calculated, the situation that the shape is as 0*a =0 is greatly reduced is calculated, and the sparse matrix is more efficiently and rapidly solved.
However, how to efficiently and rapidly estimate the non-zero element mode in the matrix in the existing sparse matrix solving process, and the problem that the system memory collapses due to the non-zero element mode with a large amount of redundancy caused by square increase of the matrix size becomes a urgent need to be solved in large-scale sparse matrix solving.
Disclosure of Invention
The invention aims to provide a matrix solving method and system based on an EDA system, which solve the problems that in the existing sparse matrix solving process, a non-zero element mode is easy to underestimate, and a system memory is easy to collapse due to a large number of redundant non-zero element modes caused by square growth of matrix scale.
The technical scheme provided by the invention is as follows:
the invention provides a matrix solving method based on an EDA system, which comprises the following steps:
acquiring a sparse matrix corresponding to a linear equation set based on an EDA system in an iterative solving process;
performing row exchange on the sparse matrix through a MaxMatch algorithm to obtain a first matrix;
performing column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm;
converting the filling value of the second matrix into a graph structure, and performing maximum cluster segmentation on the graph structure;
column exchange is carried out on the second matrix based on the maximum cluster segmentation result, and a third matrix is obtained;
and decomposing the third matrix based on the supernode technology to obtain a L, U matrix.
In some embodiments, the performing row exchange on the sparse matrix by using a MaxMatch algorithm to obtain a first matrix specifically includes the steps of:
and performing row exchange on the sparse matrix through a MaxMatch algorithm, and changing zero elements on diagonal lines of the sparse matrix into non-zero elements to obtain the first matrix with the diagonal lines being non-zero values.
In some embodiments, the column switching of the first matrix by the AMD algorithm to obtain a second matrix specifically includes the steps of:
and circularly calculating the number of filling values of each column of the first matrix, and sequentially placing columns with less filling values on the left side of the matrix by using an AMD algorithm to obtain the second matrix with reduced number of filling values.
In some embodiments, the maximum cluster segmentation for the graph structure specifically includes the steps of:
performing maximum cluster segmentation on the graph structure through an ND algorithm to obtain a column switching matrix with each cluster of the matrix adjacent;
and performing column exchange on the second matrix based on the maximum cluster segmentation result to obtain a third matrix, wherein the method specifically comprises the following steps:
the second matrix is rearranged into the third matrix by the column switching matrix.
In some embodiments, the non-zero element patterns of nodes in each clique of the third matrix are identical, forming supernodes;
the decomposing the third matrix based on the supernode technology specifically comprises the following steps:
and gradually decomposing the third matrix by taking the supernode as a unit to obtain a L, U matrix.
In addition, the invention also provides a matrix solving system based on the EDA system, which comprises the following components:
the acquisition module is used for acquiring a sparse matrix corresponding to the linear equation set based on the EDA system in the iterative solving process;
the row switching module is used for carrying out row switching on the sparse matrix through a MaxMatch algorithm to obtain a first matrix;
the first column exchange module is used for carrying out column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm;
the conversion segmentation module is used for converting the filling value of the second matrix into a graph structure and carrying out maximum cluster segmentation on the graph structure;
a second column switching module, configured to perform column switching on the second matrix based on the result of the maximum clique segmentation, to obtain a third matrix;
and the decomposition module is used for decomposing the third matrix based on the supernode technology to obtain a L, U matrix.
In some embodiments, the line switching module performs line switching on the sparse matrix through a maxmach algorithm, and changes zero elements on diagonal lines of the sparse matrix into non-zero elements, so as to obtain the first matrix with diagonal lines being non-zero values.
In some embodiments, the first column switching module circularly calculates the number of filling values of each column of the first matrix, and sequentially places columns with less filling values on the left side of the matrix by using an AMD algorithm to obtain the second matrix with reduced filling values.
In some embodiments, the conversion segmentation module performs maximum cluster segmentation on the graph structure through an ND algorithm to obtain a column switching matrix with each cluster of the matrix adjacent;
the second column switching module rearranges the second matrix into the third matrix through the column switching matrix.
In some embodiments, the non-zero element patterns of nodes in each clique of the third matrix are identical, forming supernodes; and the decomposition module takes the supernode as a unit to gradually decompose the third matrix to obtain a L, U matrix.
According to the matrix solving method and system based on the EDA system, provided by the invention, the Fill-In during large-scale sparse matrix decomposition can be reduced, the redundant non-zero element mode can be reduced, the breakdown of a system memory is avoided, and the calculation efficiency is higher and more stable.
Drawings
The above features, technical features, advantages and implementation modes of the present invention will be further described in the following description of preferred embodiments with reference to the accompanying drawings in a clear and understandable manner.
FIG. 1 is a schematic overall flow diagram of an embodiment of the present invention;
fig. 2 is a schematic diagram of a system structure according to an embodiment of the present invention.
Reference numerals in the drawings: 1-an acquisition module; 2-row switching modules; 3-a first column switching module; a 4-conversion segmentation module; 5-a second column switching module; and 6-decomposing the module.
Detailed Description
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following description will explain the specific embodiments of the present invention with reference to the accompanying drawings. It is evident that the drawings in the following description are only examples of the invention, from which other drawings and other embodiments can be obtained by a person skilled in the art without inventive effort.
For the sake of simplicity of the drawing, the parts relevant to the present invention are shown only schematically in the figures, which do not represent the actual structure thereof as a product. Additionally, in order to simplify the drawing for ease of understanding, components having the same structure or function in some of the drawings are shown schematically with only one of them, or only one of them is labeled. Herein, "a" means not only "only this one" but also "more than one" case.
In the electromagnetic field calculation process of the EDA circuit, the problem of solving the matrix is often not separated, namely solving ax=b, and the matrixes are huge in scale and quite sparse. The largest feature of solving a large-scale sparse matrix is to analyze the non-zero element pattern of the matrix, i.e. the values of elements in the matrix that are not zero. Only the term with non-zero elements in the matrix is calculated, the situation that 0*a =0 is calculated can be greatly reduced, and the sparse matrix can be more efficiently and quickly solved.
In sparse matrix solution, a direct solution method is adopted, and a LU decomposition algorithm of left-look is utilized to calculate a non-zero element mode of a new column from left to right by taking the column as a basic unit. The non-zero-element pattern computation is ultimately classified into a data structure called an Elimination Tree, each node of which is in one-to-one correspondence with a column of the original matrix. The child nodes of the elimination tree represent the dependency of the parent node non-zero element pattern on it, i.e. the non-zero element pattern of each column depends on the non-zero element pattern of its child columns. The higher the level of the cancelation tree, the more non-zero element patterns are brought into the parent node through the child nodes, and generally, one will use some Fill-Reduce technique to Reduce the level of the cancelation tree through column swapping, thereby reducing the occurrence of Fill-in. Besides the reduction of filling in by Fill-Reduce, the wider the elimination tree structure is, the less the dependency relationship between the father node and the child node is, because the nodes between the same layer of the elimination tree are independent of each other, different nodes in the same layer can be simultaneously calculated, and the calculation efficiency is greatly improved.
In sparse matrix solution algorithms, supernode techniques may also be utilized. The non-zero pattern between adjacent columns can be considered as a supernode if the non-zero pattern is exactly the same below the diagonal, and the dependency of the nodes can be completely replaced by the supernode. Thus the left-look algorithm changes from decomposition by column to decomposition by supernode. The non-zero meta-pattern of each parent supernode is affected by its child supernodes, and the number of supernodes and the number of nodes they contain significantly affects the computational efficiency. The larger the supernode, i.e., the more nodes it contains, the higher the efficiency of invoking the dense matrix solver; the fewer the number of supernodes, the fewer the number of iterative computations needed, and the more significant the acceleration.
The Fill-Reduce algorithm has two classes, one Approximate Minimum Degree (AMD) and the other Nested-Dissection (ND). AMD uses greedy ideas to sort nodes according to the minimum non-zero element mode of the current Fill-in, so that the overall Fill-in is reduced. The ND algorithm converts the dependence among the columns of the matrix into a graph structure and divides the graph structure according to the maximum groups, the ND algorithm and the supernode technology complement each other, the dependence among the nodes is divided in the group form through ND division, and the same divided group has the same non-zero element mode, so that the number of the nodes contained in the average supernode is increased, and the matrix LU decomposition efficiency is improved.
When using ND algorithm, it is necessary to restore the non-zero element pattern after LU decomposition in a symmetric matrix manner as much as possible, so that the clique segmentation is a globally optimal solution. There are two types of methods conventionally used, one is a+a ' (' stands for matrix transposition) and one is a×a '. The two methods have advantages and disadvantages, A+A' can conveniently obtain a symmetrical matrix, but the symmetrical matrix is underestimated for the nonzero element mode after LU decomposition, and therefore, the column exchange of the obtained ND algorithm is not an optimal solution; while a' does not underestimate the LU decomposed non-zero-element pattern, for larger-scale matrix computation, matrix multiplication results in a large number of redundant non-zero-element patterns, even well beyond the amount of data that can be accommodated by the memory of existing computer systems. How to estimate the non-zero element mode of LU decomposition by using the most efficient algorithm, which neither underestimates the non-zero element mode nor crashes the memory because of square growth of matrix size, is the key of accelerating computation by large-scale sparse matrix solution.
In one embodiment, referring to fig. 1 of the specification, the present invention provides a matrix solving method based on an EDA system, comprising the steps of:
s1, acquiring a sparse matrix corresponding to a linear equation set based on an EDA system in an iterative solving process;
in the process of solving the linear equation set related to the EDA system, for example, when solving the linear equation set used in the processes of circuit simulation, electromagnetic field simulation and the like based on EDA software, iterative computation is usually needed, a larger sparse matrix is generated, and the sparse matrix is solved. In other embodiments, the solution may be used for sparse matrix solutions in other fields, which is not limited herein.
S2, performing row exchange on the sparse matrix through a MaxMatch algorithm to obtain a first matrix;
the MaxMatch algorithm is an algorithm based on a greedy strategy, and belongs to one of the match algorithms. The diagonal elements of the original sparse matrix a_raw may have non-zero or extremely small values, so that in the LU decomposition process, the principal elements of the new columns are not zero or too small, and before the matrix solution, row and column pairing is first required by adopting the match algorithm, i.e. it is ensured that the elements on the diagonal are not zero. The most commonly used method is the MaxMatch algorithm, and the MaxMatch algorithm can be used for obtaining the maximum value of the product of diagonal elements of the whole matrix through line exchange.
S3, performing column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm;
the scheme uses an AMD algorithm for the first column exchange, and although the AMD algorithm is not an optimal Fill-Reduce algorithm, the AMD algorithm is stable enough to Reduce Fill-in matrix solving more efficiently.
S4, converting the filling value of the second matrix into a graph structure, and performing maximum cluster segmentation on the graph structure;
and filling the elements in the second matrix and the elements of the filling values calculated in the step S3 into the second matrix. Each storage value in the second matrix represents the topological relation of the graph structure, and the matrix graph structure P corresponding to the second matrix is obtained.
Preferably, the graph structure is stored in a column-compressed manner.
S5, performing row-column exchange on the second matrix based on the maximum cluster segmentation result to obtain a third matrix;
and performing new column exchange on the second matrix A through the maximum cluster segmentation result to obtain a Fill-Reduce algorithm which can be accelerated by the supernode technology.
Preferably, the non-zero element patterns of nodes in each clique of the third matrix are identical, thereby forming supernodes.
And S6, decomposing the third matrix based on the supernode technology to obtain a L, U matrix.
Preferably, the third matrix is decomposed stepwise by taking the supernode as a unit, so as to obtain a L, U matrix, and then the subsequent solution of ax=b is performed, so as to calculate electromagnetic field data in the EDA circuit.
In the solving process of the sparse matrix, the quantity of Fill-in occupies most of time expenditure in the solving calculation of the sparse matrix, and when a good Fill-Reduce column exchange acts on the matrix to be decomposed, the time of depth search is reduced in multiple; the matrix without Fill-Reduce will grow more Fill-in as the decomposition process proceeds, and the column decomposition of the last columns even becomes the computation of a dense matrix.
The method and the device can ensure that the Fill-in is kept at a stable lower level in the calculation process, reduce zero elements in the decomposition process as much as possible, and ensure that the memory in the calculation process is not wasted. In the traditional ND algorithm, if a large-scale sparse matrix A with the scale of 10 ten thousand, 10 ten thousand and the number of non-zero elements of 9 ten thousand is directly used as the input of the ND algorithm, the full-in of the matrix is not obviously reduced, and if A is used as the input of the ND algorithm, the number of the non-zero elements of the input matrix is 90 hundred million, and the memory limit is far exceeded. The embodiment can achieve the same Fill-In scale as an AMD algorithm, and the number of non-zero elements is only 470 ten thousand, so that the purposes of reducing Fill-In large-scale sparse matrix decomposition, reducing redundant non-zero element modes and avoiding system memory breakdown are achieved.
In one embodiment, based on the foregoing embodiment, performing row exchange on the sparse matrix by using a MaxMatch algorithm to obtain a first matrix, and specifically includes the steps of:
and performing row exchange on the sparse matrix through a MaxMatch algorithm, and changing zero elements on diagonal lines of the sparse matrix into non-zero elements to obtain a first matrix with diagonal lines of non-zero values.
Column exchange is carried out on the first matrix through an AMD algorithm to obtain a second matrix, and the method specifically comprises the following steps:
and circularly calculating the number of filling values of each column of the first matrix, sequentially placing columns with small filling values on the left side of the matrix by using an AMD greedy algorithm, and placing the column with the smallest current filling value on the leftmost side to obtain a second matrix with reduced filling value number.
The maximum cluster segmentation is carried out on the graph structure, and the method specifically comprises the following steps:
and (3) carrying out maximum cluster segmentation on the graph structure through an ND algorithm to obtain a column switching matrix with each cluster adjacent to the matrix, ensuring that the maximum cluster number of the graph structure of the matrix is as small as possible and the maximum cluster size is as large as possible, wherein the graph segmentation reduces the filling value introduced in the matrix solving process as much as possible.
Performing row-column exchange on the second matrix based on the maximum cluster segmentation result to obtain a third matrix, wherein the method specifically comprises the following steps:
the second matrix is rearranged into a third matrix by a column switching matrix.
In one embodiment, referring to fig. 2 of the specification, the present invention further provides a matrix solving system based on an EDA system, including: the system comprises an acquisition module 1, a row switching module 2, a first column switching module 3, a conversion segmentation module 4, a second column switching module 5 and a decomposition module 6.
The acquisition module 1 is used for acquiring a sparse matrix corresponding to the linear equation set based on the EDA system in the iterative solving process.
In the process of solving the linear equation set related to the EDA system, for example, when solving the linear equation set used in the processes of circuit simulation, electromagnetic field simulation and the like based on EDA software, iterative computation is usually needed, a larger sparse matrix is generated, and the sparse matrix is solved. In other embodiments, the solution may be used for sparse matrix solutions in other fields, which is not limited herein.
The row switching module 2 is used for performing row switching on the sparse matrix through a MaxMatch algorithm to obtain a first matrix.
The diagonal elements of the original sparse matrix a_raw may have non-zero or extremely small values, so that in the LU decomposition process, the principal elements of the new columns are not zero or too small, and before the matrix solution, row and column pairing is first required by adopting the match algorithm, i.e. it is ensured that the elements on the diagonal are not zero. The most commonly used method is the MaxMatch algorithm, and the MaxMatch algorithm can be used for obtaining the maximum value of the product of diagonal elements of the whole matrix through line exchange.
The first column exchange module 3 is configured to perform column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and record a matrix filling value in the AMD algorithm.
The scheme uses an AMD algorithm for the first column exchange, and although the AMD algorithm is not an optimal Fill-Reduce algorithm, the AMD algorithm is stable enough to Reduce Fill-in matrix solving more efficiently.
The conversion and segmentation module 4 is used for converting the filling value of the second matrix into a graph structure and performing maximum cluster segmentation on the graph structure.
And filling the elements in the second matrix and the elements of the filling values calculated in the step S3 into the second matrix. Each storage value in the second matrix represents the topological relation of the graph structure, and the matrix graph structure P corresponding to the second matrix is obtained.
Preferably, the graph structure is stored in a column-compressed manner.
The second column exchange module 5 is configured to perform column exchange on the second matrix based on the result of the maximum cluster segmentation, so as to obtain a third matrix.
The scheme combines an AMD algorithm, an ND algorithm and a supernode technology, so that not only is the Fill-in during matrix solving reduced, but also the average number of nodes contained in supernodes is increased, and the matrix LU decomposition efficiency is improved.
And performing new column exchange on the second matrix A through the maximum cluster segmentation result to obtain a Fill-Reduce algorithm which can be accelerated by the supernode technology.
Preferably, the non-zero element patterns of nodes in each clique of the third matrix are identical, forming supernodes.
The decomposition module 6 is configured to decompose the third matrix based on the supernode technology to obtain a L, U matrix.
Preferably, the decomposition module 6 uses supernodes as units, and performs stepwise decomposition on the third matrix to obtain a L, U matrix, so as to perform subsequent solution of ax=b, and further calculate electromagnetic field data in the EDA circuit.
In the solving process of the sparse matrix, the quantity of Fill-in occupies most of time expenditure in the solving calculation of the sparse matrix, and when a good Fill-Reduce column exchange acts on the matrix to be decomposed, the time of depth search is reduced in multiple; the matrix without Fill-Reduce will grow more Fill-in as the decomposition process proceeds, and the column decomposition of the last columns even becomes the computation of a dense matrix.
The method and the device can ensure that the Fill-in is kept at a stable lower level in the calculation process, reduce zero elements in the decomposition process as much as possible, and ensure that the memory in the calculation process is not wasted. In the traditional ND algorithm, if a large-scale sparse matrix A with the scale of 10 ten thousand, 10 ten thousand and the number of non-zero elements of 9 ten thousand is directly used as the input of the ND algorithm, the full-in of the matrix is not obviously reduced, and if A is used as the input of the ND algorithm, the number of the non-zero elements of the input matrix is 90 hundred million, and the memory limit is far exceeded. The embodiment can achieve the same Fill-In scale as an AMD algorithm, and the number of non-zero elements is only 470 ten thousand, so that the purposes of reducing Fill-In large-scale sparse matrix decomposition, reducing redundant non-zero element modes and avoiding system memory breakdown are achieved.
In an embodiment, based on the foregoing embodiment, the row switching module 2 performs row switching on the sparse matrix through a MaxMatch algorithm, and changes zero elements on diagonal lines of the sparse matrix into non-zero elements, so as to obtain the first matrix with diagonal lines all being non-zero values.
The first column switching module 3 circularly calculates the filling value number of each column of the first matrix, and sequentially places the columns with small filling values on the left side of the matrix by using an AMD algorithm to obtain the second matrix with reduced filling value number.
The conversion segmentation module 4 performs maximum cluster segmentation on the graph structure through an ND algorithm to obtain a column switching matrix with each cluster of the matrix adjacent, so that the maximum cluster number of the graph structure of the matrix is ensured to be as small as possible, the scale of the maximum cluster is as large as possible, and the filling value introduced in the matrix solving process is reduced as much as possible by the graph segmentation.
The second column switching module 5 rearranges the second matrix into the third matrix through the column switching matrix.
It should be noted that the above embodiments can be freely combined as needed. The foregoing is merely a preferred embodiment of the present invention and it should be noted that modifications and adaptations to those skilled in the art may be made without departing from the principles of the present invention, which are intended to be comprehended within the scope of the present invention.

Claims (10)

1. An EDA system based matrix solving method, comprising the steps of:
acquiring a sparse matrix corresponding to a linear equation set based on an EDA system in an iterative solving process;
performing row exchange on the sparse matrix through a MaxMatch algorithm to obtain a first matrix;
performing column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm;
converting the filling value of the second matrix into a graph structure, and performing maximum cluster segmentation on the graph structure;
column exchange is carried out on the second matrix based on the maximum cluster segmentation result, and a third matrix is obtained;
and decomposing the third matrix based on the supernode technology to obtain a L, U matrix.
2. The method for solving the matrix based on the EDA system according to claim 1, wherein the step of performing row switching on the sparse matrix by using a MaxMatch algorithm to obtain a first matrix comprises the following steps:
and performing row exchange on the sparse matrix through a MaxMatch algorithm, and changing zero elements on diagonal lines of the sparse matrix into non-zero elements to obtain the first matrix with the diagonal lines being non-zero values.
3. The method for solving the matrix based on the EDA system according to claim 1, wherein the column-exchanging the first matrix by the AMD algorithm to obtain the second matrix comprises the steps of:
and circularly calculating the number of filling values of each column of the first matrix, and sequentially placing columns with less filling values on the left side of the matrix by using an AMD algorithm to obtain the second matrix with reduced number of filling values.
4. The method of claim 1, wherein the maximum clique segmentation of the graph structure comprises the steps of:
performing maximum cluster segmentation on the graph structure through an ND algorithm to obtain a column switching matrix with each cluster of the matrix adjacent;
and performing column exchange on the second matrix based on the maximum cluster segmentation result to obtain a third matrix, wherein the method specifically comprises the following steps:
the second matrix is rearranged into the third matrix by the column switching matrix.
5. The EDA system based matrix solving method of claim 1, wherein the non-zero element patterns of nodes in each clique of the third matrix are completely identical to form supernodes;
the decomposing the third matrix based on the supernode technology specifically comprises the following steps:
and gradually decomposing the third matrix by taking the supernode as a unit to obtain a L, U matrix.
6. An EDA system based matrix solving system comprising:
the acquisition module is used for acquiring a sparse matrix corresponding to the linear equation set based on the EDA system in the iterative solving process;
the row switching module is used for carrying out row switching on the sparse matrix through a MaxMatch algorithm to obtain a first matrix;
the first column exchange module is used for carrying out column exchange on the first matrix through an AMD algorithm to obtain a second matrix, and recording matrix filling values in the AMD algorithm;
the conversion segmentation module is used for converting the filling value of the second matrix into a graph structure and carrying out maximum cluster segmentation on the graph structure;
the second column exchange module is used for carrying out column exchange on the second matrix based on the maximum cluster segmentation result to obtain a third matrix;
and the decomposition module is used for decomposing the third matrix based on the supernode technology to obtain a L, U matrix.
7. The EDA system based matrix solving system of claim 6, wherein the row switching module performs row switching on the sparse matrix by using a maxmach algorithm to change zero elements on diagonal lines of the sparse matrix into non-zero elements, so as to obtain the first matrix with diagonal lines being all non-zero values.
8. The EDA system based matrix solving system of claim 6, wherein the first column switch module is configured to circularly calculate a number of fill values for each column of the first matrix, and sequentially place columns with fewer fill values on a left side of the matrix using an AMD algorithm to obtain the second matrix with a reduced number of fill values.
9. The EDA system based matrix solving system of claim 6, wherein the transformation splitting module performs a maximum clique splitting on the graph structure by an ND algorithm to obtain a column switching matrix with each clique of the matrix adjacent;
the second column switching module rearranges the second matrix into the third matrix through the column switching matrix.
10. The EDA system based matrix solving system of claim 6, wherein the non-zero element patterns of nodes in each clique of the third matrix are identical to form supernodes; and the decomposition module takes the supernode as a unit to gradually decompose the third matrix to obtain a L, U matrix.
CN202311575290.8A 2023-11-24 2023-11-24 Matrix solving method and system based on EDA system Active CN117290653B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311575290.8A CN117290653B (en) 2023-11-24 2023-11-24 Matrix solving method and system based on EDA system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311575290.8A CN117290653B (en) 2023-11-24 2023-11-24 Matrix solving method and system based on EDA system

Publications (2)

Publication Number Publication Date
CN117290653A true CN117290653A (en) 2023-12-26
CN117290653B CN117290653B (en) 2024-02-20

Family

ID=89253851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311575290.8A Active CN117290653B (en) 2023-11-24 2023-11-24 Matrix solving method and system based on EDA system

Country Status (1)

Country Link
CN (1) CN117290653B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02273867A (en) * 1989-04-14 1990-11-08 Sharp Corp Matrix arithmetic unit
CN102142052A (en) * 2011-03-28 2011-08-03 清华大学 Quick LU factorization method for circuit sparse matrix in circuit simulation
JP2013246791A (en) * 2012-05-29 2013-12-09 Central Research Institute Of Electric Power Industry Arithmetic processing system for simultaneous linear equation
CN104317776A (en) * 2014-09-24 2015-01-28 南昌大学 Sparse matrix technology-based method for solving node impedance matrix of electric power system
US20150042672A1 (en) * 2013-08-08 2015-02-12 Nvidia Corporation Parallel multicolor incomplete lu factorization preconditioning processor and method of use thereof
CN107689795A (en) * 2017-07-10 2018-02-13 广东顺德中山大学卡内基梅隆大学国际联合研究院 A kind of how regional electrical control method perceived based on Real Time Compression
CN111062610A (en) * 2019-12-16 2020-04-24 国电南瑞科技股份有限公司 Power system state estimation method and system based on information matrix sparse solution
CN114090250A (en) * 2021-11-22 2022-02-25 厦门大学 EDA hardware acceleration method and system based on Banyan network and multi-FPGA structure
CN116150553A (en) * 2023-03-01 2023-05-23 北京科技大学 Sparse AMG optimization method for CPU+DCU heterogeneous mixed architecture

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02273867A (en) * 1989-04-14 1990-11-08 Sharp Corp Matrix arithmetic unit
CN102142052A (en) * 2011-03-28 2011-08-03 清华大学 Quick LU factorization method for circuit sparse matrix in circuit simulation
JP2013246791A (en) * 2012-05-29 2013-12-09 Central Research Institute Of Electric Power Industry Arithmetic processing system for simultaneous linear equation
US20150042672A1 (en) * 2013-08-08 2015-02-12 Nvidia Corporation Parallel multicolor incomplete lu factorization preconditioning processor and method of use thereof
CN104317776A (en) * 2014-09-24 2015-01-28 南昌大学 Sparse matrix technology-based method for solving node impedance matrix of electric power system
CN107689795A (en) * 2017-07-10 2018-02-13 广东顺德中山大学卡内基梅隆大学国际联合研究院 A kind of how regional electrical control method perceived based on Real Time Compression
CN111062610A (en) * 2019-12-16 2020-04-24 国电南瑞科技股份有限公司 Power system state estimation method and system based on information matrix sparse solution
CN114090250A (en) * 2021-11-22 2022-02-25 厦门大学 EDA hardware acceleration method and system based on Banyan network and multi-FPGA structure
CN116150553A (en) * 2023-03-01 2023-05-23 北京科技大学 Sparse AMG optimization method for CPU+DCU heterogeneous mixed architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁日新;陈超泉;: "基于EDA的嵌入式系统软硬件划分方法", 微计算机信息, no. 26, pages 8 - 9 *

Also Published As

Publication number Publication date
CN117290653B (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN111062610B (en) Power system state estimation method and system based on information matrix sparse solution
CN111814973B (en) Memory computing system suitable for neural ordinary differential equation network computing
CN101192833A (en) A device and method for low-density checksum LDPC parallel coding
US20230068450A1 (en) Method and apparatus for processing sparse data
CN115544947B (en) Large-scale integrated circuit layout optimization method based on genetic algorithm
Aggarwal et al. A new method for system reliability evaluation
CN117290653B (en) Matrix solving method and system based on EDA system
CN116032845A (en) Data center network overhead management method and system
CN116707546A (en) Hardware implementation method and device for quasi-cyclic LDPC decoding
CN114819127A (en) Backpressure index type combined computing unit based on FPGA
CN112966456B (en) Circuit design method and system for improving quantum computing efficiency
CN117077607B (en) Large-scale linear circuit simulation method, system, circuit simulator and storage medium
Simecek et al. Tree-based space efficient formats for storing the structure of sparse matrices
CN110807479A (en) Neural network convolution calculation acceleration method based on Kmeans algorithm
CN114826278B (en) Graph data compression method based on Boolean matrix decomposition
CN116805155B (en) LSTM network processing method, device, equipment and readable storage medium
CN117255026A (en) Performance data summarizing method and device, electronic equipment and storage medium
CN113312312B (en) Distributed index method and system for efficiently querying stream data based on LSM
CN112685399B (en) Identification database duplicate removal method and system for MES system
CN109062865B (en) Lazy layering-based method and system for solving lower triangular equation set of power system
CN118193914A (en) LU decomposition method, device, equipment and storage medium for distributed platform
CN105897278A (en) Information processing method and storage device
CN117521305A (en) Availability estimation method and equipment for multistage processing equipment serial system
CN117808101A (en) Neural network reasoning method, system and storage medium based on FPGA
CN106411324A (en) Information processing method and storage device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant