Performance optimization by dynamic code transformation
Paper i proceeding, 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

Författare

Josef Weidendorfer

Technische Universität München

Tilman Küstner

Technische Universität München

Sally A McKee

Chalmers, Data- och informationsteknik, Datorteknik

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

Ämneskategorier

Data- och informationsvetenskap

DOI

10.1145/2016604.2016614

ISBN

978-145030698-0