Bandicoot: C++ Library for GPU Linear Algebra and Scientific Computing

Ryan R. Curtin,Marcus Edel,Conrad Sanderson
2023-08-06
Abstract:This report provides an introduction to 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. Adapting the same internal template meta-programming techniques that Armadillo uses, Bandicoot is able to provide compile-time optimisation of mathematical expressions within user code. The library is ready for production use and is available at <a class="link-external link-https" href="https://coot.sourceforge.io" rel="external noopener nofollow">this https URL</a>. Bandicoot is distributed under the Apache 2.0 License.
Mathematical Software
What problem does this paper attempt to address?