Abstract
There is a trend towards using accelerators to increase performance and energy efficiency of general-purpose processors. Adoption of accelerators, however, depends on the availability of tools to facilitate programming these devices. In this paper, we present techniques for automatically partitioning programs for execution on accelerators. We call the off-loaded code regions sub-algorithms, which are parts of the program that are loosely connected to the remainder of the program. We present three heuristics for automatically identifying sub-algorithms based on control flow and data flow properties. Analysis of SPECint and MiBench benchmarks shows that on average 12 sub-algorithms are identified (up to 54), covering the full execution time for 27 out of 30 benchmarks. We show that these sub-algorithms are suitable for off-loading them to accelerators by manually implementing sub-algorithms for 2 SPECint benchmarks on the Cell processor. Copyright 2009 ACM.
Author supplied keywords
Cite
CITATION STYLE
Rul, S., Vandierendonck, H., & De Bosschere, K. (2009). Towards automatic program partitioning. In Proceedings of the 6th ACM Conference on Computing Frontiers, CF 2009 (pp. 89–98). https://doi.org/10.1145/1531743.1531759
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.