GPU acceleration of splitting schemes applied to differential matrix equations

From MaRDI portal
Publication:2287871



Abstract: We consider differential Lyapunov and Riccati equations, and generalized versions thereof. Such equations arise in many different areas and are especially important within the field of optimal control. In order to approximate their solution, one may use several different kinds of numerical methods. Of these, splitting schemes are often a very competitive choice. In this article, we investigate the use of graphical processing units (GPUs) to parallelize such schemes and thereby further increase their effectiveness. According to our numerical experiments, large speed-ups are often observed for sufficiently large matrices. We also provide a comparison between different splitting strategies, demonstrating that splitting the equations into a moderate number of subproblems is generally optimal.


The present work discusses a a parallel GPU implementation of splitting schemes for matrix differential Lyapunov and Riccati type-equations of the general form \(\dot{P} = A^{\mathsf{T}}P + PA + Q + G(P)\). A comparison of different variants of splitting schemes (Lie and Strang splitting) based on Leja point interpolation for the computation of matrix exponential actions is provided. In this schemes, the original problem is divided into simpler sub-problems \(\dot{P} = F_1(P)\) and \(\dot{P} = F_2(P)\), which are then solved separately, in sequential fashion. To enable an efficient computation for a large-scale setting, it is assumed that \(P\) exhibits low-rank structure. The considered methods are implemented in MATLAB, exploiting its built-in GPU support via NVIDIA's CUDA library. The present work only considers the autonomous case; consequently, one can avoid costly re-computations that would arise for time-dependence. Four different numerical examples are considered for testing the proposed methodology. For two of these examples, experimental convergence results against the solutions obtained by the Matlab routine \texttt{ode15s} are reported. For the remaining two examples, the problem size is increased, and self-convergence results are provided (i.e., the convergence against a solution computed with the same method at a finer resolution level). The work concludes with a performance analysis by comparing the GPU implementation against the CPU version. The speedup is between \(3\times\) and \(10\times\) (depending on the matrix size).



Cites work



Describes a project that uses

Uses Software






This page was built for publication: GPU acceleration of splitting schemes applied to differential matrix equations

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2287871)