Bandicoot: A Templated C++ Library for GPU Linear Algebra
Fuente:
arXiv
Saved in:
| Main Authors: | , , |
|---|---|
| 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 |