2025/08/15 by Curtin, Ryan R., Edel, Marcus, Sanderson, Conrad · 1 citation
#15-04 #65F45 #65Y05 #FOS: Computer and information sciences #G.1.3 #G.4 #I.3.1 #I.3.6 #Mathematical Software (cs.MS)
paper · doi:10.48550/arxiv.2508.11385
We introduce the Bandicoot C++ library for linear algebra and scientific computing on GPUs, overviewing its user interface and performance characteristics, as well as the technical details of its internal design. Bandicoot is the GPU-enabled counterpart to the well-known Armadillo C++ linear algebra library, aiming to allow users to take advantage of GPU-accelerated computation for their existing codebases without significant changes. Exploiting similar internal template meta-programming techniques that Armadillo uses, Bandicoot is able to provide compile-time optimisation of mathematical expressions within user code, leading to more efficient execution. Empirical evaluations show that Bandicoot can provide significant speedups over Armadillo-based CPU-only computation. Bandicoot is available at https://coot.sourceforge.io and is distributed as open-source software under the permissive Apache 2.0 license.