Premium
Compositional approach applied to loop specialization
Author(s) -
Djoudi L.,
Acquaviva J.T.,
Barthou D.
Publication year - 2009
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.1337
Subject(s) - computer science , compiler , code (set theory) , spec# , overhead (engineering) , optimizing compiler , loop optimization , parallel computing , range (aeronautics) , loop (graph theory) , interval (graph theory) , for loop , selection (genetic algorithm) , scheme (mathematics) , algorithm , programming language , mathematics , set (abstract data type) , mathematical analysis , materials science , combinatorics , artificial intelligence , composite material
An optimizing compiler cannot generate one best code pattern for all input data. There is no ‘one optimization fits all’ inputs. To attain high performance for a large range of inputs, it is therefore desirable to resort to some kind of specialization. Data specialization significantly improves the performance delivered by the compiler‐generated codes. Specialization is, however, limited by code expansion and introduces a time overhead for the selection of the appropriate version. We propose a new method to specialize the code at the assembly level for loop structures. Our specialization scheme focuses on different ranges of loop trip count and combines all these versions into a code that switches smoothly from one to the other while the iteration count increases. Hence, the resulting code achieves the same level of performance than each version on its specific iteration interval. We illustrate the benefit of our method on the SPEC benchmarks with detailed experimental results. Copyright © 2008 John Wiley & Sons, Ltd.