Conference Papers Year : 2024

Interactive Source-to-Source Optimizations Validated using Static Resource Analysis

Abstract

Developments in hardware have delivered formidable computing power. Yet, the increased hardware complexity has made it a real challenge to develop software that exploits the hardware to its full potential. Numerous approaches have been explored to help programmers turn naive code into high-performance code, finely tuned for the targeted hardware. However, these approaches have inherent limitations, and it remains common practice for programmers seeking maximal performance to follow the tedious and error-prone route of writing optimized code by hand. This paper presents OptiTrust, an interactive source-to-source optimization framework that operates on general-purpose C code. The programmer develops a script describing a series of code transformations. The framework provides continuous feedback in the form of human-readable diffs over conventional C code. OptiTrust supports advanced code transformations, including transformations exploited by the state-of-the-art DSL tools Halide and TVM, and transformations beyond the reach of existing tools. OptiTrust also supports user-defined transformations, as well as defining complex transformations by composition of simpler transformations. Crucially, to check the validity of code transformations, OptiTrust leverages a static resource analysis in a simplified form of Separation Logic. Starting from user-provided annotations on functions and loops, our analysis deduces precise resource usage throughout the code.
Fichier principal
Vignette du fichier
main-embedded.pdf (169.96 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-04604636 , version 1 (07-06-2024)

Licence

Copyright

Identifiers

Cite

Guillaume Bertholon, Arthur Charguéraud, Thomas Koehler, Begatim Bytyqi, Damien Rouhling. Interactive Source-to-Source Optimizations Validated using Static Resource Analysis. SOAP 2024 - Workshop - PLDI 2024, Jun 2024, Copenhagen, Denmark. ⟨10.1145/3652588.3663320⟩. ⟨hal-04604636⟩
62 View
56 Download

Altmetric

Share

More