zbMATH — the first resource for mathematics

Batch matrix exponentiation. (English) Zbl 1317.65113
Kindratenko, Volodymyr (ed.), Numerical computations with GPUs. Cham: Springer (ISBN 978-3-319-06547-2/hbk; 978-3-319-06548-9/ebook). 45-67 (2014).
Summary: Matrix-matrix multiplication can be considered a linchpin of applied numerical dense linear algebra as the performance of many common dense linear algebra packages is closely tied to the performance of matrix-matrix multiplication. Batch matrix-matrix multiplication, the matrix-matrix multiplication of a large number of relatively small matrices, is a developing area within dense linear algebra and is relevant to various application areas such as phylogenetics, finite element modeling, image processing, fluid dynamics, and hydrodynamics. Using batch matrix-matrix multiplication as the foundation, we have developed an optimized batch matrix exponentiation algorithm in CUDA that outperforms cublasXgemmBatched for small square matrices. After introducing the original motivation for our problem, matrix exponentiation from the phylogenetics domain, we discuss our algorithm in the context of both cublasXgemmBatched, and two alternative GPU methods for the numerical computation of matrix exponentiation: Lagrange interpolation, and Newton interpolation. All comparisons are done on both the Fermi and the Kepler architectures.
For the entire collection see [Zbl 1294.65005].
65F30 Other matrix algorithms (MSC2010)
65F60 Numerical computation of matrix exponential and similar matrix functions
65Y10 Numerical algorithms for specific classes of architectures
65Y20 Complexity and performance of numerical algorithms
65D05 Numerical interpolation
Full Text: DOI