We present a unified approach for building high-performance numerical linear algebra routines for large classes of dense and sparse matrices. As with the Standard Template Library [1], we separate algo- rithms from data structures using generic programming techniques. Such an approach does not hinder high performance, rather, writing porta- ble high-performance codes is enabled because the performance-critical code can be isolated from the algorithms and data structures. We ad- dress the performance portability problem for architecture-dependent algorithms such as matrix-matrix multiply. Recently, code generation systems, such as PHiPAC [2] and ATLAS [3], have allowed algorithms to be tuned to particular architectures. Our approach is to use template metaprograms [4] to directly express performance-critical, architecture- dependent, sections of code.
CITATION STYLE
Siek, J. G., & Lumsdaine, A. (1998). The matrix template library: A generic programming approach to high performance numerical linear algebra. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1505, pp. 59–70). Springer Verlag. https://doi.org/10.1007/3-540-49372-7_6
Mendeley helps you to discover research relevant for your work.