🤖 AI Summary
This work proposes a task-based red-black Gauss–Seidel parallel framework to overcome the limitations of traditional multicolor Gauss–Seidel methods, which suffer from global synchronization overhead and load imbalance that hinder efficient scalability. By employing fine-grained task scheduling, the proposed approach eliminates the global synchronization bottleneck and enables partial temporal overlap of updates across different color sets. This not only substantially alleviates synchronization costs and load imbalance but also extends naturally to unstructured grids and wide-stencil multicolor schemes. In solving the 2D Poisson equation, the method achieves performance comparable to conventional divide-and-conquer parallel strategies while demonstrating superior robustness and scalability in the presence of hardware heterogeneity.
📝 Abstract
Gauss-Seidel is a well-established iterative method for the solution of linear systems, and multicoloring has been widely used to increase parallelism in iterative solution techniques. Implementing multi-color Gauss-Seidel with conventional divide-and-conquer parallelization strategies, however, may be inefficient due to global synchronization requirements and load imbalances. Task-based programming models can mitigate these issues by enabling fine-grained parallelism, removing global barriers and allowing updates of different colors to partially overlap in time. In this work, we implement the red-black Gauss-Seidel method using two task-based programming models and compare them with a classical divide-and-conquer parallel implementation to evaluate the impact of fine-grained parallelism on execution efficiency. The red-black scheme serves as a representative example, as task-based approaches naturally extend to more general multi-color schemes arising from unstructured grids and wider stencils. Using the solve of the 2D Poisson equation as benchmark, our results show that task-based implementations can achieve performance comparable to conventional divide-and-conquer parallelization while providing greater resilience to hardware-level asynchronicity.