Title
Scalable Hierarchical Polyhedral Compilation
Abstract
Computers across the board, from embedded to future exascale computers, are consistently designed with deeper memory hierarchies. While this opens up exciting opportunities for improving software performance and energy efficiency, it also makes it increasingly difficult to efficiently exploit the hardware. Advanced compilation techniques are a possible solution to this difficult problem and, among them, the polyhedral compilation technology provides a pathway for performing advanced automatic parallelization and code transformations. However, the polyhedral model is also known for its poor scalability with respect to the number of dimensions in the polyhedra that are used for representing programs. Although current compilers can cope with such limitation when targeting shallow hierarchies, polyhedral optimizations often become intractable as soon as deeper hardware hierarchies are considered. We address this problem by introducing two new operators for polyhedral compilers: focalisation and defocalisation. When applied in the compilation flow, the new operators reduce the dimensionality of polyhedra, which drastically simplifies the mathematical problems solved during the compilation. We prove that the presented operators preserve the original program semantics, allowing them to be safely used in compilers. We implemented the operators in a production compiler, which drastically improved its performance and scalability when targeting deep hierarchies.
Year
DOI
Venue
2016
10.1109/ICPP.2016.56
2016 45th International Conference on Parallel Processing (ICPP)
Keywords
Field
DocType
polyhedral model,tiling,memory hierarchy
Memory hierarchy,Computer science,Parallel computing,Compiler,Software performance testing,Frameworks supporting the polyhedral model,Operator (computer programming),Polytope model,Automatic parallelization,Distributed computing,Scalability
Conference
ISSN
ISBN
Citations 
0190-3918
978-1-5090-2824-5
4
PageRank 
References 
Authors
0.42
19
6