Linear Equation Solver via Block Coloring Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for solving linear equations with sparse characteristics, such as the conjugate gradient method, face challenges in parallelization due to dependency relationships, leading to poor convergence and limited parallelism, especially when applying techniques like coloring or block coloring.
Innovation Solution
A calculation program that divides a problem matrix into regions and applies block coloring to allocate the same color to subproblem matrices with no dependency relationships, allowing for parallel processing within each region while improving convergence through sequential processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential processing is used to maintain convergence, then convergence is improved, but parallelism deteriorates
Solution Approach 1:
The problem matrix is divided into multiple subproblem matrices through region division and block coloring. Each subproblem matrix corresponds to a specific color group and can be processed independently in parallel while maintaining the convergence properties of sequential processing within each subproblem.
Solution Approach 2:
The solution transitions from a single sequential processing dimension to a multi-dimensional parallel processing structure. By introducing the color dimension for parallelism and the region dimension for organization, the system achieves both parallelism and convergence simultaneously through hierarchical processing.
2Productivity
If parallel processing is increased to improve productivity, then parallelism is improved, but convergence deteriorates
Solution Approach 1:
The iteration process is segmented into multiple color groups where each group contains subproblems that can be processed in parallel. This segmentation allows parallel processing within color groups while maintaining sequential dependency between color groups, thus preserving convergence.
Solution Approach 2:
The processing structure is made dynamic by allowing flexible configuration of region division and block sizes. This enables optimization of the balance between parallelism and convergence based on specific problem characteristics and hardware capabilities.
3Productivity
If the problem matrix is divided into finer regions to increase parallelism, then parallelism is improved, but device complexity increases
Solution Approach 1:
The problem matrix is divided into regions and subregions using systematic block coloring methods. This structured segmentation provides a regular pattern that simplifies memory access and data management compared to arbitrary fine-grained division, reducing the complexity overhead.
Solution Approach 2:
The hierarchy of problem matrix → regions → subproblem matrices creates a nested structure where each level contains smaller instances of the same structure. This self-similar nesting simplifies the overall system design by reusing the same processing patterns at different scales.
Data Source
AI summary
A non-transitory computer-readable recording medium stores a calculation program. The calculation program causes a computer to execute a process comprising: dividing a problem matrix that corresponds to a linear equation, which has a plurality of vertices that corresponds to a plurality of variables of the linear equation, into a plurality of regions; executing, for the plurality of regions, processing of dividing one region of the problem matrix into a plurality of subproblem matrices by applying block coloring to the one region, and allocating a same color to subproblem matrices that have no dependency relationship of each other among the plurality of subproblem matrices; and calculating solutions of the plurality of variables of the linear equation by executing an iteration method for each of the subproblem matrices to which the same color is allocated.


