Title :
High performance smart expression template math libraries
Author :
Iglberger, Klaus ; Hager, Georg ; Treibig, J. ; Rüde, Ulrich
Author_Institution :
Central Inst. for Sci. Comput., Univ. Erlangen-Nuremberg, Erlangen, Germany
Abstract :
Performance is of utmost importance for linear algebra libraries since they usually are the core of numerical and simulation packages and use most of the available compute time and resources. However, especially in large scale simulation frameworks the readability and ease of use of mathematical expressions is essential for a continuous maintenance, modification, and extension of the software framework. Based on these requirements, in the last decade C++ Expression Templates have gained a reputation as a suitable means to combine an elegant, domain-specific, and intuitive user interface with “HPC-grade” performance. Unfortunately, many of the available ET-based frameworks fall short of the expectation to deliver high performance, adding to the general mistrust towards C++ math libraries. In this paper we present performance results for Smart Expression Template libraries, demonstrating that by proper combination of high-level C++ code and low-level compute kernels both requirements, an elegant interface and high performance, can be achieved.
Keywords :
C++ language; libraries; linear algebra; mathematics computing; simulation; software maintenance; software packages; user interfaces; C++ expression templates; C++ math libraries; HPC-grade performance; intuitive user interface; large scale simulation; linear algebra libraries; numerical packages; simulation packages; smart expression template; software framework; software maintenance; software modification; Benchmark testing; Kernel; Libraries; Optimization; Standards; Syntactics; Vectors;
Conference_Titel :
High Performance Computing and Simulation (HPCS), 2012 International Conference on
Conference_Location :
Madrid
Print_ISBN :
978-1-4673-2359-8
DOI :
10.1109/HPCSim.2012.6266939