Content area

Abstract

While polyhedral optimization appeared in mainstream compilers during the past decade, its profitability in scenarios outside its classic domain of linear-algebra programs has remained in question. Recent implementations, such as the LLVM plugin Polly, produce promising speedups, but the restriction to affine loop programs with control flow known at compile time continues to be a limiting factor. PolyJIT combines polyhedral optimization with multi-versioning at run time, at which one has access to knowledge enabling polyhedral optimization, which is not available at compile time. By means of a fully-fledged implementation of a light-weight just-in-time compiler and a series of experiments on a selection of real-world and benchmark programs, we demonstrate that the consideration of run-time knowledge helps in tackling compile-time violations of affinity and, consequently, offers new opportunities of optimization at run time.

Details

Title
PolyJIT: Polyhedral Optimization Just in Time
Author
Simbürger, Andreas 1   VIAFID ORCID Logo  ; Apel, Sven 1 ; Größlinger, Armin 1 ; Lengauer, Christian 1 

 University of Passau, Passau, Germany 
Pages
874-906
Publication year
2019
Publication date
Dec 2019
Publisher
Springer Nature B.V.
ISSN
08857458
e-ISSN
15737640
Source type
Scholarly Journal
Language of publication
English
ProQuest document ID
2097845738
Copyright
International Journal of Parallel Programming is a copyright of Springer, (2018). All Rights Reserved.