Title :
Exploring the performance potential of Itanium® processors with ILP-based scheduling
Author :
Winkel, Sebastian
Author_Institution :
Compiler Res. Group, Saarlandes Univ., Saarbrucken, Germany
Abstract :
HP and Intel´s Itanium processor family (IPF) is considered as one of the most challenging processor architectures to generate code for. During global instruction scheduling, the compiler must balance the use of strongly interdependent techniques like code motion, speculation and predication. A too conservative application of these features can lead to empty execution slots, contrary to the EPIC philosophy. But overuse can cause resource shortage which spoils the benefit. We tackle this problem using integer linear programming (ILP), a proven standard optimization method. Our ILP model comprises global, partial-ready code motion with automated generation of compensation code as well as vital IPF features like control/data speculation and predication. The ILP approach can-with some restrictions-resolve the interdependences between these decisions and deliver the global optimum. This promises a speedup for compute-intensive applications as well as some theoretically funded insights into the potential of the architecture. Experiments with several hot functions from the SPEC benchmarks show substantial improvements: our postpass optimizer reduces the schedule lengths produced by Intel´s compiler by about 20-40%. The resulting speedup of these routines is 16% on average.
Keywords :
instruction sets; integer programming; linear programming; program compilers; scheduling; Itanium processor family; SPEC benchmarks; code generation; code motion; code predication; code speculation; compiler; integer linear programming; optimization method; postpass optimizer; processor architecture; Processor scheduling;
Conference_Titel :
Code Generation and Optimization, 2004. CGO 2004. International Symposium on
Print_ISBN :
0-7695-2102-9
DOI :
10.1109/CGO.2004.1281674