Detection of linear algebra operations in polyhedral programs
Date
2016
Authors
Iooss, Guillaume, author
Rajopadhye, Sanjay, advisor
Alias, Christophe, advisor
Darte, Alain, advisor
Clauss, Philippe, committee member
Sankaranarayanan, Sriram, committee member
Thomassé, Stephan, committee member
Chitsaz, Hamid, committee member
Mueller, Jennifer, committee member
Journal Title
Journal ISSN
Volume Title
Abstract
Writing a code which uses an architecture at its full capability has become an increasingly difficult problem over the last years. For some key operations, a dedicated accelerator or a finely tuned implementation exists and delivers the best performance. Thus, when compiling a code, identifying these operations and issuing calls to their high-performance implementation is attractive. In this dissertation, we focus on the problem of detection of these operations. We propose a framework which detects linear algebra subcomputations within a polyhedral program. The main idea of this framework is to partition the computation in order to isolate different subcomputations in a regular manner, then we consider each portion of the computation and try to recognize it as a combination of linear algebra operations. We perform the partitioning of the computation by using a program transformation called monoparametric tiling. This transformation partitions the computation into blocks, whose shape is some homothetic scaling of a fixed-size partitioning. We show that the tiled program remains polyhedral while allowing a limited amount of parametrization: a single size parameter. This is an improvement compared to the previous work on tiling, that forced us to choose between these two properties. Then, in order to recognize computations, we introduce a template recognition algorithm. This template recognition algorithm is built on a state-of-the-art program equivalence algorithm. We also propose several extensions in order to manage some semantic properties. Finally, we combine these two previous contributions into a framework which detects linear algebra subcomputations. A part of this framework is a library of template, based on the BLAS specification. We demonstrate our framework on several applications.
Description
Text in English; abstract in English and French; Appendix A: Summary of PhD work in French.
Rights Access
Subject
high-performance library
program recognition
tiling
polyhedral model
BLAS
template matching