← Back to Patent Explorer
US5301342A Expired / Lapsed US ⏱️ 0.0 years remaining

Parallel processing computer for solving dense systems of linear equations by factoring rows, columns, and diagonal, inverting the diagonal, forward eliminating, and back substituting

Assignee: Intel Corp
•
Filing: 1990-12-20
•
Granted: 1994-04-05
•
Expires: 2010-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A parallel processing computer system for solving a system of linear equations having coefficients residing in a first matrix and right-hand sides of the linear equations residing in a first vector. The first matrix is divided into a plurality of ND row disk sections, a plurality of ND column disk sections and ND diagonal disk sections. Each of these sections, in a preferred embodiment, are known as disk sections, and are stored on non-volatile media such as magnetic and/or optical disks. Further, the equations are defined by the first vector, the first vector comprising ND sections. Each of the plurality of j row sections and j column sections is factored. Then, the j diagonal section is factored and inverted. In a preferred embodiment, the inversion uses a Gauss-Jordan technique. These steps are repeated for all values of j that range between 1 and ND. Then, forward elimination is performed for all sections in the first vector using the first matrix, and back substitution is performed for all sections in the first vector using the first matrix.

Inventors

  • 👤 David S. Scott

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 16:52
CPC Classifications
G; G06; G06F; G06F17/00; G06F17/10; G06F17/11; G06F17/12

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 430 words
A method for computing, in a parallel processing system, a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium; the parallel processing system comprising a plurality of compute nodes coupled in parallel, each of the plurality of compute nodes comprising a processor, a memory, and a non-volatile storage medium, a plurality of means for communicating between each of the plurality of compute nodes in the parallel processing system, means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of compute nodes, and means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of compute nodes; said method, performed by the plurality of compute nodes cooperating, through communications with neighboring ones of said plurality of compute nodes on the plurality of communicating means, comprising the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring compute nodes while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of compute nodes; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of compute nodes and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; and generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of compute nodes and multiplying said results of said back substitution by said results of said inversion.
Claim 2
Independent Claim 430 words
A method for computing, in a parallel processing system, a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium; the parallel processing system comprising a plurality of compute nodes coupled in parallel, each of the plurality of compute nodes comprising a processor, a memory, and a non-volatile storage medium, a plurality of means for communicating between each of the plurality of compute nodes in the parallel processing system, means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of compute nodes, and means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of compute nodes; said method, performed by the plurality of compute nodes cooperating, through communications with neighboring ones of said plurality of compute nodes on the plurality of communicating means, comprising the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring compute nodes while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of compute nodes; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of compute nodes and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; and generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of compute nodes and multiplying said results of said back substitution by said results of said inversion.
Claim 3
Dependent Claim 37 words
The method of claim 1 wherein each of said plurality of compute nodes factors a plurality of elements in each of the plurality of j row sections, plurality of j column sections and said j diagonal section.
Claim 4
Dependent Claim 14 words
The method of claim 2 wherein the non-volatile storage medium comprises a magnetic disk.
Claim 5
Dependent Claim 14 words
The method of claim 2 wherein the non-volatile storage medium comprises an optical disk.
Claim 6
Independent Claim 442 words
A method for computing, in a parallel processing system, a solution to a system of linear equations, coefficients of the linear equations being represented in a first matrix and right-hand sides of the linear equations being represented in a first vector, said first matrix and said first vector being stored as electromagnetic impulses on a non-volatile medium; the parallel processing system comprising a plurality of compute nodes coupled in parallel, each of the plurality of compute nodes comprising a processor, a memory, and a non-volatile storage medium, a plurality of means for communicating between each of the plurality of compute nodes in the parallel processing system, means for partitioning the first matrix into ND rows, ND columns, and ND diagonal disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of compute nodes, and means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of compute nodes; said method, performed by the plurality of compute nodes cooperating, through communications with neighboring ones of said plurality of compute nodes on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring compute nodes while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of compute nodes; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of compute nodes and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; and generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of compute nodes and multiplying said results of said back substitution by said results of said inversion.
Claim 7
Independent Claim 442 words
A method for computing, in a parallel processing system, a solution to a system of linear equations, coefficients of the linear equations being represented in a first matrix and right-hand sides of the linear equations being represented in a first vector, said first matrix and said first vector being stored as electromagnetic impulses on a non-volatile medium; the parallel processing system comprising a plurality of compute nodes coupled in parallel, each of the plurality of compute nodes comprising a processor, a memory, and a non-volatile storage medium, a plurality of means for communicating between each of the plurality of compute nodes in the parallel processing system, means for partitioning the first matrix into ND rows, ND columns, and ND diagonal disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of compute nodes, and means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of compute nodes; said method, performed by the plurality of compute nodes cooperating, through communications with neighboring ones of said plurality of compute nodes on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring compute nodes while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of compute nodes; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of compute nodes and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of compute nodes; and generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of compute nodes and multiplying said results of said back substitution by said results of said inversion.
Claim 8
Dependent Claim 34 words
The method of claim 5 wherein each of said plurality of compute nodes factors a portion of the j row, a portion of the j column and a portion of the j diagonal section.
Claim 9
Dependent Claim 14 words
The method of claim 6 wherein the non-volatile storage medium comprises a magnetic disk.
Claim 10
Dependent Claim 14 words
The method of claim 6 wherein the non-volatile storage medium comprises an optical disk.
Claim 11
Dependent Claim 422 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.
Claim 12
Dependent Claim 422 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.
Claim 13
Dependent Claim 422 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a column, then a row, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.
Claim 14
Dependent Claim 422 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as electromagnetic impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as electromagnetic impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a column, then a row, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as electromagnetic impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as electromagnetic impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.
Claim 15
Dependent Claim 429 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as magneto optical impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as magneto optical impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as magneto optical impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.
Claim 16
Dependent Claim 429 words
A parallel processing system for computing a solution to a system of linear equations, coefficients of the linear equations being represented in a matrix and right-hand sides of the linear equations being represented in a vector, said matrix and said vector being stored as magneto optical impulses on a non-volatile medium, comprising: a plurality of computing units coupled in parallel, each of the plurality of computing units comprising a processor, a memory, and a non-volatile storage medium; a plurality of means for communicating between each of the plurality of computing units in the parallel processing system; means for partitioning the matrix into ND disk sections and storing said ND disk sections as magneto optical impulses on each of the non-volatile storage medium of the plurality of computing units; means for partitioning each of the ND disk sections into a plurality of node sections, each of the node sections being respectively assigned to each of the plurality of computing units; wherein the plurality of computing units cooperating, through communications with neighboring ones of said plurality of computing units on the plurality of communicating means, to perform the steps of: factoring respectively assigned node sections of first a row, then a column, and then a diagonal of each of the ND disk sections, and communicating results of said factoring to neighboring computing units while storing said results as magneto optical impulses onto the non-volatile storage medium of each of the plurality of computing units; inverting the factored diagonal of each of the ND disk sections stored on each of the non-volatile storage medium of the plurality of computing units and storing results of said inversion as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; forward eliminating each of the factored ND disk sections stored as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units and storing results of said forward elimination as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; and back substituting each of the forward eliminated ND disk sections and storing results of said back substitution as magneto optical impulses on the non-volatile storage medium of each of the plurality of computing units; means for generating said solution to said system of linear equations by sequentially fetching the results of said back substitution and the results of said inversion from the non-volatile storage medium of each of the plurality of computing units and multiplying said results of said back substitution by said results of said inversion.

References Cited (Backward Citations)

US4787057A Cited
US4914615A Cited
US5136538A Cited
US4947480A Cited
US5163015A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-04-04 1997-10-04 1998-04-05 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-04-04 2001-10-04 2002-04-05 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-04-04 2005-10-04 2006-04-05 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag