Adaptive Code Refinement: A Compiler Technique and Extensions to Generate Self-Tuning Applications

Maxime Schmitt 1, 2 Philippe Helluy 3, 4 Cédric Bastoul 1, 2
2 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
4 TONUS - TOkamaks and NUmerical Simulations
IRMA - Institut de Recherche Mathématique Avancée, Inria Nancy - Grand Est
Abstract : Compiler high-level automatic optimization and parallelization techniques are well suited for some classes of simulation or signal processing applications, however they usually don't take into account domain-specific knowledge nor the possibility to change or to remove some computations to achieve " good enough " results. Differently, production simulation and signal processing codes have adaptive capabilities: they are designed to compute precise results only where it matters if the complete problem is not tractable or if computation time must be short. In this paper, we present a new way to provide adaptive capabilities to compute-intensive codes automatically. It relies on domain-specific knowledge provided through special pragmas by the programmer in the input code and on polyhedral compilation techniques to continuously regenerate at runtime a code that performs heavy computations only where it matters. We present experimental results on several applications where our strategy enables significant computation savings and speedup while maintaining a good precision, with a minimal effort from the programmer.
Complete list of metadatas

Cited literature [29 references]  Display  Hide  Download
Contributor : Cédric Bastoul <>
Submitted on : Monday, January 8, 2018 - 2:14:30 PM
Last modification on : Friday, November 30, 2018 - 5:38:02 PM
Long-term archiving on : Friday, May 4, 2018 - 10:32:41 AM


Files produced by the author(s)


  • HAL Id : hal-01655459, version 1


Maxime Schmitt, Philippe Helluy, Cédric Bastoul. Adaptive Code Refinement: A Compiler Technique and Extensions to Generate Self-Tuning Applications. HiPC 2017 - 24th International Conference on High Performance Computing, Data, and Analytics, Dec 2017, Jaipur, India. pp.1-10. ⟨hal-01655459⟩



Record views


Files downloads