Abstract
Gauss-Seidel (GS) relaxation is often employed as a preconditioner for a Krylov solver or as a smoother for Algebraic Multigrid (AMG). However, the requisite sparse triangular solve is difficult to parallelize on many-core architectures such as graphics processing units (GPUs). In the present study, the performance of the sequential GS relaxation based on a triangular solve is compared with two-stage variants, replacing the direct triangular solve with a fixed number of inner Jacobi-Richardson (JR) iterations. When a small number of inner iterations is sufficient to maintain the Krylov convergence rate, the two-stage GS (GS2) often outperforms the sequential algorithm on many-core architectures. The GS2 algorithm is also compared with JR. When they perform the same number of ops for SpMV (e.g. three JR sweeps compared to two GS sweeps with one inner JR sweep), the GS2 iterations, and the Krylov solver preconditioned with GS2, may converge faster than the JR iterations. Moreover, for some problems (e.g. elasticity), it was found that JR may diverge with a damping factor of one, whereas two-stage GS may improve the convergence with more inner iterations. Finally, to study the performance of the two-stage smoother and preconditioner for a practical problem, these were applied to incompressible uid ow simulations on GPUs.
Original language | American English |
---|---|
Number of pages | 26 |
State | Published - 2022 |
Event | 2021 SIAM Annual Meeting - Duration: 19 Jul 2021 → 23 Jul 2021 |
Conference
Conference | 2021 SIAM Annual Meeting |
---|---|
Period | 19/07/21 → 23/07/21 |
NREL Publication Number
- NREL/CP-2C00-80263
Keywords
- algebraic multigrid
- AMG
- Gauss-Seidel
- krylov
- preconditioners
- smoothers