Repository logo
 

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

Citation

Associated Publications