Expression Templates Revisited: A Performance Analysis of the Current ET Methodology
Klaus Iglberger, Georg Hager, Jan Treibig, Ulrich Ruede

TL;DR
This paper critically evaluates the performance of current Expression Templates (ET) frameworks in C++ linear algebra, revealing their limitations and proposing a new 'smart' ET approach that balances high performance with code elegance.
Contribution
The paper demonstrates the performance shortcomings of existing ET frameworks and introduces a novel 'smart' ET implementation that enhances efficiency while maintaining code readability.
Findings
Current ET frameworks fail to deliver high performance for dense and sparse linear algebra.
The proposed 'smart' ET approach improves performance without sacrificing code elegance.
The new ET method bridges the gap between high performance and maintainable code.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
