A Batched GPU Methodology for Numerical Solutions of Partial Differential Equations
In this paper we present a methodology for data accesses when solving batches of Tridiagonal and Pentadiagonal matrices that all share the same left-hand-side (LHS) matrix. The intended application is to the numerical solution of Partial Differential Equations via the finite-difference method, although the methodology is applicable more broadly. By only storing one copy of this matrix, a significant reduction in storage overheads is obtained, together with a corresponding decrease in compute time. Taken together, these two performance enhancements lead to an overall more efficient implementation over the current state of the art algorithms cuThomasBatch and cuPentBatch, allowing for a greater number of systems to be solved on a single GPU. We demonstrate the methodology in the case of the Diffusion Equation, Hyperdiffusion Equation, and the Cahn–Hilliard Equation, all in one spatial dimension. In this last example, we demonstrate how the method can be used to perform 2^20 independent simulations of phase separation in one dimension. In this way, we build up a robust statistical description of the coarsening phenomenon which is the defining behavior of phase separation. We anticipate that the method will be of further use in other similar contexts requiring statistical simulation of physical systems.
READ FULL TEXT