Representation-transparent matrix algorithms with scalable performance

Peter Gottschling, David S. Wise, Michael D. Adams
2007 Proceedings of the 21st annual international conference on Supercomputing - ICS '07  
Positive results from new object-oriented tools for scientific programming are reported. Using template classes, abstractions of matrix representations are available that subsume conventional row-major, column-major, either Z-or I-Morton-order, as well as block-wise combinations of these. Moreover, the design of the Matrix Template Library (MTL) has been independently extended to provide recursators, to support block-recursive algorithms, supplementing MTL's iterators. Data types modeling both
more » ... oncepts enable the programmer to implement both iterative and recursive algorithms (or even both) on all of the aforementioned matrix representations at once for a wide family of important scientific operations. We illustrate the unrestricted applicability of our matrixrecursator on matrix multiplication. The same generic blockrecursive function, unaltered, is instantiated on different triplets of matrix types. Within a base block, either a library multiplication or a user-provided, platform-specific code provides excellent performance. We achieve 77% of peak-performance using hand-tuned base cases without explicit prefetching. This excellent performance becomes available over a wide family of matrix representations from a single program. The techniques generalize to other applications in linear algebra.
doi:10.1145/1274971.1274989 dblp:conf/ics/GottschlingWA07 fatcat:yvrisgsebzbvlijic4lqqh7km4