
Code Transformation Impact on Compiler-based Optimization: A Case Study in the CMSSW
Author(s) -
Teerit Ploensin,
Krerk Piromsopa,
N. Srimanobhas
Publication year - 2021
Publication title -
journal of physics. conference series
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.21
H-Index - 85
eISSN - 1742-6596
pISSN - 1742-6588
DOI - 10.1088/1742-6596/1936/1/012023
Subject(s) - loop unrolling , loop optimization , compiler , computer science , optimizing compiler , loop (graph theory) , parallel computing , loop fusion , loop fission , program optimization , loop tiling , interprocedural optimization , set (abstract data type) , code (set theory) , speedup , transformation (genetics) , programming language , mathematics , biochemistry , chemistry , combinatorics , gene
In this paper, we study the benefit of applying loop transformations to a part of module in the CMS software. Particularly, we focus at the effect of loop transformations in term of performance improvement from the optimization process of compilers. Loop optimizations have been considered at low-level phase, such as loop unrolling using compiler directive. For high-level code transformations such as index set splitting and loop reordering, we adopt the polyhedral model to simplify the transformations. In this study, our loop optimization has been evaluated quantitatively. We study the impact on loops execution speed up and its instruction executed. Our observation shows that high-level loop optimizations can reduce both execution time and the number of instruction. This behavior suggested that simple loop transformations can trigger other optimizations. Moreover, we not only improve the overall performance, but also reduce the number of instruction. The results show that loop optimizations yield the speed up between 1.5 and 1.7.