loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Seventh Annual Workshop on Interaction between Compilers and Computer Architectures (INTERACT'03)
Procedure Cloning and Integration for Converting Parallelism from Coarse to Fine Grain
Anaheim, California
February 08-February 08
ISBN: 0-7695-1889-3
Won So, NC State University
Alex Dean, NC State University
This paper introduces a method for improving program run-time performance by gathering work in an application and executing it efficiently in an integrated thread. Our methods extend whole-program optimization by expanding the scope of the compiler through a combination of software thread integration and procedure cloning. In each experiment we integrate a frequently executed procedure with itself twice or thrice, creating two clones. Then, based on profile data we select at compile time the fastest version (original or clone) and modify call sites as needed.
We demonstrate our technique by cloning and integrating three procedures from cjpeg and djpeg at the C source code level, compiling with four compilers for the Itanium EPIC architecture and measuring the performance with the on-chip performance measurement units. For cjpeg, which is not significantly constrained by the i-cache, we find integration consistently improves code generated by all compilers but one, with a mean program speedup of 11.9%.
Citation:
Won So, Alex Dean, "Procedure Cloning and Integration for Converting Parallelism from Coarse to Fine Grain," interact, pp.27, Seventh Annual Workshop on Interaction between Compilers and Computer Architectures (INTERACT'03), 2003
Usage of this product signifies your acceptance of the Terms of Use.