Bandicoot: A Templated C++ Library for GPU Linear Algebra

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Curtin, Ryan R., Edel, Marcus, Sanderson, Conrad
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866911167605112832
author Curtin, Ryan R.
Edel, Marcus
Sanderson, Conrad
author_facet Curtin, Ryan R.
Edel, Marcus
Sanderson, Conrad
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2508_11385
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Bandicoot: A Templated C++ Library for GPU Linear Algebra
Curtin, Ryan R.
Edel, Marcus
Sanderson, Conrad
Mathematical Software
65Y05, 65F45, 15-04
G.1.3; G.4; I.3.1; I.3.6
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.
title Bandicoot: A Templated C++ Library for GPU Linear Algebra
topic Mathematical Software
65Y05, 65F45, 15-04
G.1.3; G.4; I.3.1; I.3.6
url https://arxiv.org/abs/2508.11385