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

被引:0
|
作者
Bertholon, Guillaume [1 ]
Chargueraud, Arthur
Koehler, Thomas
Bytyqi, Begatim
Rouhling, Damien
机构
[1] INRIA, Strasbourg, France
关键词
High performance code; Source-to-source optimization; Separation logic;
D O I
10.1145/3652588.3663320
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 generalpurpose C code. The programmer develops a script describing a series of code transformations. The framework provides continuous feedback in the form of human-readable diff s 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.
引用
收藏
页码:26 / 34
页数:9
相关论文
共 50 条
  • [41] Practical Statistical Static Timing Analysis with Current Source Models
    Sinha, Debjit
    Zolotov, Vladimir
    Raghunathan, Sheshashayee K.
    Wood, Michael H.
    Kalafala, Kerim
    [J]. 2016 ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2016,
  • [42] Poster: Recommending Unnecessary Source Code Based on Static Analysis
    Haas, Roman
    Niedermayr, Rainer
    Roehm, Tobias
    Apel, Sven
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 274 - 275
  • [43] Source Code Analysis for Static Prediction of Dynamic Memory Usage
    Kim, Sangwho
    Ryou, Jaecheol
    [J]. 2019 INTERNATIONAL CONFERENCE ON PLATFORM TECHNOLOGY AND SERVICE (PLATCON), 2019, : 46 - 49
  • [44] Open Source Web Application Security: A Static Analysis Approach
    Alenezi, Mamdouh
    Javed, Yasir
    [J]. 2016 INTERNATIONAL CONFERENCE ON ENGINEERING & MIS (ICEMIS), 2016,
  • [45] Enhancing Source Code Representations for Deep Learning with Static Analysis
    Guan, Xueting
    Treude, Christoph
    [J]. PROCEEDINGS 2024 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC 2024, 2024, : 64 - 68
  • [46] BPEL Conformance in Open Source Engines: The Case of Static Analysis
    Harrer, Simon
    Preissnger, Christian
    Wirtz, Guido
    [J]. 2014 IEEE 7TH INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED COMPUTING AND APPLICATIONS (SOCA), 2014, : 33 - 40
  • [47] Open source web application security: A static analysis approach
    College of Computer and Information Sciences, Prince Sultan University, Riyadh
    11586, Saudi Arabia
    [J]. Proc. - Int. Conf. Eng. MIS, ICEMIS,
  • [48] Static Analysis of Corpus of Source Codes of Python']Python Applications
    Kapustin, D. A.
    Shvyrov, V. V.
    Shulika, T. I.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2023, 49 (04) : 302 - 309
  • [49] Towards Modeling the User-perceived Quality of Source Code using Static Analysis Metrics
    Dimaridou, Valasia
    Kyprianidis, Alexandros-Charalampos
    Papamichail, Michail
    Diamantopoulos, Themistoklis
    Symeonidis, Andreas
    [J]. ICSOFT: PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES, 2017, : 73 - 84
  • [50] Assessing the User-Perceived Quality of Source Code Components Using Static Analysis Metrics
    Dimaridou, Valasia
    Kyprianidis, Alexandros-Charalampos
    Papamichail, Michail
    Diamantopoulos, Themistoklis
    Symeonidis, Andreas
    [J]. SOFTWARE TECHNOLOGIES ( ICSOFT 2017), 2018, 868 : 3 - 27