System, method and computer program product for dense/sparse linear system solver accelerator
AssigneeInternational Business Machines Corporation
InventorsDamir Anthony Jamsek, Maysam Mir Ahmadi
Life of this patent
Estimating the term…
Abstract
A linear system solving method, system, and computer program product, include calculating a matrix factorization for a matrix in a pair of matrices, in a form of a lower, a diagonal, an upper (LDU) decomposition, solving a first expression for a first value using a substitution module to create a first result, dividing the first result by values stored in the diagonal of the matrix to obtain a second result, and solving a second expression for a second value where a processing of the diagonal is skipped by using the second result.
Claims16
A computer-implemented linear system solving method that interacts with a cloud computing environment server, the method comprising:
- calculating, via a cloud on-demand self-service that communicates with the cloud computing environment server, a matrix factorization for a matrix in a pair of matrices, in a form of a lower, a diagonal, and an upper (LDU) decomposition by interacting directly with a system memory through a Coherent Accelerator Processor Interface (CAPI) interface;
- first solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a first expression for a first value calculated from using the first expression using a substitution module based on the LDU decomposition to create a first result;
- dividing, via the cloud on-demand self-service that communicates with the cloud computing environment server, the first result by values stored in the diagonal of the matrix to obtain a second result;
- second solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a second expression for a second value calculated from using the second expression where a processing of the diagonal is skipped by using the second result;
- and
- determining, via the cloud on-demand self-service that communicates with the cloud computing environment server, a solution set for the pair of matrices in the linear system using the second expression,
- wherein the calculating proceeds to calculate a second matrix factorization for a second matrix while the first solving, the dividing, and the second solving are working with the matrix on the system memory, and
- wherein the first solving and the second solving are performed using a same substitution module,
- further comprising streaming the solution from the cloud to a device,
- wherein the cloud computing environment server comprises a cloud computing model of a service delivery comprising two or more clouds of a private cloud, a community cloud, and a public cloud that remain unique entities but are bound together by technology that enables data and application portability that results in load-balancing between the two or more clouds.
A computer program product for linear system solving that interacts with a cloud computing environment server, the computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform:
- calculating, via a cloud on-demand self-service that communicates with the cloud computing environment server, a matrix factorization for a matrix in a pair of matrices, in a form of a lower, a diagonal, and an upper (LDU) decomposition by interacting directly with a system memory through a Coherent Accelerator Processor Interface (CAPI) interface;
- first solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a first expression for a first value calculated from using the first expression using a substitution module based on the LDU decomposition to create a first result;
- dividing, via the cloud on-demand self-service that communicates with the cloud computing environment server, the first result by values stored in the diagonal of the matrix to obtain a second result;
- second solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a second expression for a second value calculated from using the second expression where a processing of the diagonal is skipped by using the second result;
- and
- determining, via the cloud on-demand self-service that communicates with the cloud computing environment server, a solution set for the pair of matrices in the linear system using the second expression,
- wherein the calculating proceeds to calculate a second matrix factorization for a second matrix while the first solving, the dividing, and the second solving are working with the matrix on the system memory, and
- wherein the first solving and the second solving are performed using a same substitution module,
- further comprising streaming the solution from the cloud to a device,
- wherein the cloud computing environment server comprises a cloud computing model of a service delivery comprising two or more clouds of a private cloud, a community cloud, and a public cloud that remain unique entities but are bound together by technology that enables data and application portability that results in load-balancing between the two or more clouds.
The computer program product claim of 10, wherein, in the first solving, the first expression is Ly=b and is solved for the first value of b using the substitution module to create the result, and
- wherein the substitution module performs a forward substitution using a same module as used in the LDU decomposition to calculate a third expression of
- b
- i
- -
- ∑
- k
- =
- 0
- i
- =
- 1
-
-
- L
- i
-
- k
-
- x
- k
- .
The computer program product claim of 12, wherein the second solving solves the second expression of
- Ux
- =
- y
- D
- for the second value of y, and
- wherein, in a forward transformation (FTRAN) in the second solving, “y1=b1” is set as “L11=1”, then “y2=b2−y1L21” and continuing for each element of y using
- y
- i
- =
- b
- i
- -
- ∑
- k
- =
- 0
- i
- =
- 1
-
- L
- ik
-
- y
- k
- until a last element is reached.
The computer program product claim of 10, wherein the first solving solves the first expression of Ly=b for the first value y, and
- wherein the second solving solves the second expression of Ux=(y/D) for the second value of x.
A linear system solving system, said system comprising:
- a processor;
- and
- a memory, the memory storing instructions to cause the processor to perform:
- calculating, via a cloud on-demand self-service that communicates with the cloud computing environment server, a matrix factorization for a matrix in a pair of matrices, in a form of a lower, a diagonal, and an upper (LDU) decomposition by interacting directly with a system memory through a Coherent Accelerator Processor Interface (CAPI) interface;
- first solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a first expression for a first value calculated from using the first expression using a substitution module based on the LDU decomposition to create a first result;
- dividing, via the cloud on-demand self-service that communicates with the cloud computing environment server, the first result by values stored in the diagonal of the matrix to obtain a second result;
- second solving, via the cloud on-demand self-service that communicates with the cloud computing environment server, a second expression for a second value calculated from using the second expression where a processing of the diagonal is skipped by using the second result;
- and
- determining, via the cloud on-demand self-service that communicates with the cloud computing environment server, a solution set for the pair of matrices in the linear system using the second expression,
- wherein the calculating proceeds to calculate a second matrix factorization for a second matrix while the first solving, the dividing, and the second solving are working with the matrix on the system memory, and
- wherein the first solving and the second solving are performed using a same substitution module,
- further comprising streaming the solution from the cloud to a device,
- wherein the cloud computing environment server comprises a cloud computing model of a service delivery comprising two or more clouds of a private cloud, a community cloud, and a public cloud that remain unique entities but are bound together by technology that enables data and application portability that results in load-balancing between the two or more clouds.
Dependencies are inferred from the claim text.