Scaled ILU Smoothers for Navier-Stokes Pressure Projection

Stephen Thomas, Arielle Carr, Paul Mullowney, Katarzyna Swirydowicz, Marcus Day

Research output: Contribution to journalArticlepeer-review

Abstract

Incomplete LU (ILU) smoothers are effective in the algebraic multigrid (AMG) V-cycle for reducing high-frequency components of the error. However, the requisite direct triangular solves are comparatively slow on GPUs. Previous work has demonstrated the advantages of Jacobi iteration as an alternative to direct solution of these systems. Depending on the threshold and fill-level parameters chosen, the factors can be highly nonnormal and Jacobi is unlikely to converge in a low number of iterations. We demonstrate that row scaling can reduce the departure from normality, allowing us to replace the inherently sequential solve with a rapidly converging Richardson iteration. There are several advantages beyond the lower compute time. Scaling is performed locally for a diagonal block of the global matrix because it is applied directly to the factor. Further, an ILUT Schur complement smoother maintains a constant GMRES iteration count as the number of MPI ranks increases, and thus parallel strong-scaling is improved. Our algorithms have been incorporated into hypre, and we demonstrate improved time to solution for linear systems arising in the Nalu-Wind and PeleLM pressure solvers. For large problem sizes, GMRES+AMG executes at least five times faster when using iterative triangular solves compared with direct solves on massively parallel GPUs.
Original languageAmerican English
Pages (from-to)537-560
Number of pages24
JournalInternational Journal for Numerical Methods in Fluids
Volume96
Issue number4
DOIs
StatePublished - 2024

NREL Publication Number

  • NREL/JA-2C00-90371

Keywords

  • algebraic multigrid
  • GPU acceleration
  • ILU smoother
  • iterative triangular solvers

Fingerprint

Dive into the research topics of 'Scaled ILU Smoothers for Navier-Stokes Pressure Projection'. Together they form a unique fingerprint.

Cite this