Expression Templates Revisited: A Performance Analysis of the Current ET Methodology
arXiv:1104.1729 · doi:10.1137/110830125
Abstract
In the last decade, Expression Templates (ET) have gained a reputation as an efficient performance optimization tool for C++ codes. This reputation builds on several ET-based linear algebra frameworks focused on combining both elegant and high-performance C++ code. However, on closer examination the assumption that ETs are a performance optimization technique cannot be maintained. In this paper we demonstrate and explain the inability of current ET-based frameworks to deliver high performance for dense and sparse linear algebra operations, and introduce a new "smart" ET implementation that truly allows the combination of high performance code with the elegance and maintainability of a domain-specific language.
16 pages, 7 figures
Cited by in corpus (19)
- Practical Sparse Matrices in C++ with Hybrid Storage and Template-Based Expression Optimisation
- The LifeV library: engineering mathematics beyond the proof of concept
- An asynchronous and task-based implementation of Peridynamics utilizing HPX -- the C++ standard library for parallelism and concurrency
- Asynchronous Execution of Python Code on Task Based Runtime Systems
- Best practices for HPM-assisted performance engineering on modern multicore processors
- Yet Another Tensor Toolbox for discontinuous Galerkin methods and other applications
- The Linear Algebra Mapping Problem. Current state of linear algebra languages and libraries
- Learning to play the Chess Variant Crazyhouse above World Champion Level with Deep Neural Networks and Human Data
- Large scale simulation of pressure induced phase-field fracture propagation using Utopia
- The Generalized Matrix Chain Algorithm
- Eigen-AD: Algorithmic Differentiation of the Eigen Library
- Particle-based and Meshless Methods with Aboria
- Worldtube excision method for intermediate-mass-ratio inspirals: scalar-field model in 3+1 dimensions
- Automatic Generation of Efficient Linear Algebra Programs
- Scheduling optimization of parallel linear algebra algorithms using Supervised Learning
- Worldtube excision method for intermediate-mass-ratio inspirals: self-consistent evolution in a scalar-charge model
- Relieving scale disparity in binary black hole simulations
- FDBB: Fluid Dynamics Building Blocks
- Model-guided Performance Analysis of the Sparse Matrix-Matrix Multiplication