2011/04/09 by Klaus Iglberger, Georg Hager, Jan Treibig +2 · 1 voice · 3 citations
Computer Science · #Logic, programming, and type systems #Parallel Computing and Optimization Techniques #Software System Performance and Reliability #cs.PF #cs.PL
paper · pdf · doi:10.1137/110830125
published as SIAM Journal on Scientific Computing 34(2), C42-C69 (2012) · 16 pages, 7 figures
arxiv created 2011/04/09 · arxiv published 2011/04/09 · openalex publication_date 2012/01/01 · arxiv updated 2012/08/15 · openalex created_date 2016/06/24 · openalex updated_date 2026/07/28
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.