Performance optimization by dynamic code transformation
Paper in proceedings, 2011

Even parts of a program that are sequential or just inherently difficult to parallelize can be optimized for ILP. For instance, eliminating loop overheads and potential pipeline stalls from control flow can alleviate performance bottle-necks. Unfortunately, static compilation is limited in the extent to which it can identify opportunities to apply such optimizations. Generating code dynamically at run time, however, create much more efficient applications by usin information not available at compile time. We demonstrate our approach on a sparse-matrix PET scan code by aggressive unrolling loops and specializing code via dynamic code generation. We leverage task-level parallelism by having an auxiliary processor core concurrently generate code and feed it to the core executing the application. Our approach to fast code generation leverages patching and concatenating prepared code skeletons. © 2011 Authors.

performance optimization

dynamic code generation

Author

Josef Weidendorfer

Technical University of Munich

Tilman Küstner

Technical University of Munich

Sally A McKee

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

8th ACM International Conference on Computing Frontiers, CF'11; Ischia; 3 May 2011 through 5 May 2011

Subject Categories

Computer and Information Science

DOI

10.1145/2016604.2016614

ISBN

978-145030698-0

More information

Latest update

3/16/2018