LeXInt: GPU-accelerated Exponential Integrators package

Pranab J Deka,Alexander Moriggl,Lukas Einkemmer
2024-10-22
Abstract:We present an open-source CUDA-based package that consists of a compilation of exponential integrators where the action of the matrix exponential or the $\varphi_l$ functions on a vector is approximated using the method of polynomial interpolation at Leja points. Using a couple of test examples on an NVIDIA A100 GPU, we show that one can achieve significant speedups using CUDA over the corresponding CPU code. LeXInt, written in a modular format, facilitates easy integration into any existing software package, and can be used for temporal integration of any differential equation.
Numerical Analysis,Instrumentation and Methods for Astrophysics,Mathematical Physics,Computational Physics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to develop an efficient, GPU - accelerated exponential integrator package (LeXInt) for the time integration of ordinary differential equations (ODEs) and partial differential equations (PDEs). Specifically, the research aims to: 1. **Improve computational efficiency**: By implementing exponential integrators on NVIDIA GPUs using CUDA technology, the computational speed is significantly increased, especially for simulation tasks that need to handle large - scale data and complex physical processes. 2. **Optimize memory usage**: Reduce memory footprint, especially when dealing with large - scale problems. Compared with the traditional Krylov subspace method, the Leja point interpolation method only needs to store one input and one output vector. 3. **Support multiple exponential integrators**: Provide various types of exponential integrators, such as Rosenbrock - Euler, EXPRB32, EXPRB43, etc., and the ϕ functions in these integrators are approximated by the Leja point interpolation method. 4. **Simplify integration and application**: Enable LeXInt to be easily integrated into existing software packages, especially those written in C++ or CUDA. ### Specific problem description This paper mainly focuses on how to effectively solve stiff problems, that is, problems involving fast - changing and slow - changing dynamic processes. Such problems usually have a wide range of time scales, making it difficult for traditional implicit or semi - implicit integrators to handle effectively. The advantage of exponential integrators is that they can choose larger time steps and can solve the linear part (usually stiff) exactly, so they are very suitable for handling such problems. ### Main contributions - **Propose a new CUDA implementation**: This is the first open - source CUDA - based exponential integrator package that can run efficiently on GPUs. - **Utilize the Leja point interpolation method**: Compared with the Krylov subspace method, the Leja point interpolation method performs better in many cases, especially in terms of algorithm simplicity and implementation. - **Optimize memory management**: Reduce memory footprint and improve performance on modern computer architectures such as GPUs. - **Provide a wide selection of exponential integrators**: Support multiple exponential integrators suitable for different types of problems. Through these improvements, LeXInt not only improves computational efficiency but also provides researchers with a powerful tool to solve complex differential equation problems.