Parallel time integration using Batched BLAS (Basic Linear Algebra Subprograms) routines - Herb, Konstantin; Welter, Pol (Computer physics communications, 2022)
We present an approach for integrating the time evolution of quantum systems. We leverage the computation power of graphics processing units (GPUs) to perform the integration of all time steps in parallel. The performance boost is especially prominent for small to medium-sized quantum systems. The devised algorithm can largely be implemented using the recently-specified batched versions of the BLAS routines, and can therefore be easily ported to a variety of platforms. Our PARAllelized Matrix Exponentiation for Numerical Time evolution (PARAMENT) implementation runs on CUDA-enabled graphics processing units. Program Title: PARAMENT CPC Library link to program files:https://doi.org/10.17632/zy5v4xs89d.1 Developer's repository link:https://github.com/parament-integrator/parament Licensing provisions: Apache 2.0 Programming language: C / CUDA / Python Nature of problem: Time-integration of the Schrödinger equation with a time-dependent Hamiltonian for quantum systems with a small Hilbert space but many time-steps. Solution method: A 4th order Magnus integrator, highly parallelized on a GPU, implemented using a small subset of BLAS functions for improved portability.