Parallel Matrix Re-factorization via ILU0 Embedding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for solving sparse linear systems on parallel processors, such as GPUs, are not well-suited to take advantage of the parallel architecture, leading to inefficiencies in factorization processes.
Innovation Solution
A system and method for re-factorizing a square matrix into lower and upper triangular matrices using incomplete-LU factorization with zero fill-in (ILU0) on a parallel processor, where an intermediate matrix is generated by embedding a permuted form of the input matrix in a zeroed-out sparsity pattern of previous LU factorization results, and parallel threads are used to apply ILU0, optimizing fill-in minimization and pivoting strategies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional LU factorization is used on parallel processors, then the factorization can be performed, but the processing time is excessively long (hours)
Solution Approach 1:
The patent performs reordering to minimize fill-in and pivoting strategy as the input matrix before the factorization process. This preliminary action optimizes the matrix structure in advance, enabling much faster re-factorization by utilizing the pre-computed reordering information and maintaining the same sparsity pattern across linear systems.
Solution Approach 2:
The patent changes the approach from full LU factorization to incomplete-LU factorization with zero fill-in (ILU0). This parameter change in the factorization method allows the system to achieve the same sparsity pattern maintenance while dramatically reducing computational time from hours to tens of seconds on modern SIMD processors.
2Reliability
If complete LU factorization is performed, then accurate factorization is achieved, but the process is not well-suited for parallel architecture
Solution Approach 1:
The patent segments the factorization process into two distinct phases: (1) a one-time LU factorization of a previous matrix to establish the sparsity pattern, and (2) rapid re-factorization using ILU0 on the intermediate matrix. This segmentation allows the computationally intensive part to be done once while subsequent re-factorizations benefit from the pre-established pattern, making the process well-suited for parallel architecture.
Solution Approach 2:
The patent creates an intermediate matrix by embedding the permuted form of the input matrix in a zeroed-out sparsity pattern copied from previous LU factorization results. This copying of the sparsity pattern allows the system to maintain the same structural properties while working with a simplified representation that is more efficient for parallel processing.
3Adaptability or versatility
If re-factorization is performed without utilizing previous factorization results, then flexibility is maintained, but the process takes hours
Solution Approach 1:
The patent performs reordering to minimize fill-in and pivoting strategy as the input matrix before the factorization process. This preliminary action optimizes the matrix structure in advance, enabling much faster re-factorization by utilizing the pre-computed reordering information and maintaining the same sparsity pattern across linear systems.
Solution Approach 2:
The patent introduces an intermediate matrix as a mediator between the input matrix and the final factorization results. This intermediate matrix, created by embedding the permuted input matrix in the zeroed-out sparsity pattern of previous LU factorization, serves as a bridge that enables rapid re-factorization while maintaining flexibility and adaptability.
Data Source
AI summary
A system and method for re-factorizing a square input matrix on a parallel processor. In one embodiment, the system includes: (1) a matrix generator operable to generate an intermediate matrix by embedding a permuted form of the input matrix in a zeroed-out sparsity pattern of a combination of lower and upper triangular matrices resulting from a prior LU factorization of a previous matrix having a same sparsity pattern, reordering to minimize fill-in and pivoting strategy as the input matrix and (2) a re-factorizer associated with the matrix generator and operable to use parallel threads to apply an incomplete-LU factorization with zero fill-in on the intermediate matrix.


