Armadillo: an Efficient Framework for Numerical Linear Algebra

A major challenge in the deployment of scientific software solutions is the adaptation of research prototypes to production-grade code. While high-level languages like MATLAB are useful for rapid prototyping, they lack the resource efficiency required for scalable production applications, necessitat...

Full description

Saved in:
Bibliographic Details
Published inProceedings (International Conference on Computer and Automation Engineering. Online) pp. 303 - 307
Main Authors Sanderson, Conrad, Curtin, Ryan
Format Conference Proceeding
LanguageEnglish
Published IEEE 20.03.2025
Subjects
Online AccessGet full text
ISSN2154-4360
DOI10.1109/ICCAE64891.2025.10980539

Cover

Loading…
More Information
Summary:A major challenge in the deployment of scientific software solutions is the adaptation of research prototypes to production-grade code. While high-level languages like MATLAB are useful for rapid prototyping, they lack the resource efficiency required for scalable production applications, necessitating translation into lower level languages like C++. Further, for machine learning and signal processing applications, the underlying linear algebra primitives, generally provided by the standard BLAS and LAPACK libraries, are unwieldy and difficult to use, requiring manual memory management and other tedium. To address this challenge, the Armadillo C++ linear algebra library provides an intuitive interface for writing linear algebra expressions that are easily compiled into efficient production-grade implementations. We describe the expression optimisations we have implemented in Armadillo, exploiting template metaprogramming. We demonstrate that these optimisations result in considerable efficiency gains on a variety of benchmark linear algebra expressions.
ISSN:2154-4360
DOI:10.1109/ICCAE64891.2025.10980539