Automatic task generation for the multi-level computing architecture

  • Authors:
  • Kirk Stewart;Tarek S. Abdelrahman

  • Affiliations:
  • University of Toronto, Toronto, Ontario, Canada;University of Toronto, Toronto, Ontario, Canada

  • Venue:
  • PDCS '07 Proceedings of the 19th IASTED International Conference on Parallel and Distributed Computing and Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Multi-Level Computing Architecture (MLCA) is a novel Parallel Programmable Systems-on-a-chip (PP-SoC) for multimedia applications, which promises to address the programmability challenge for PP-SoCs. The MLCA programming model requires that coarse-grain units of computation, or tasks, be identified and extracted out of sequential code. This paper describes an approach to automatically generating tasks from sequential programs to target the MLCA. The approach uses a new compiler pragma called Split to describe task boundaries in a sequential program. A compiler heuristic is developed to place this pragma in the program, effectively marking task boundaries. The compiler is then used to generate task code, ensuring correct control and data flow on the MLCA. Experimental evaluation of this approach, implemented in a prototype compiler and using realistic multimedia applications, shows that the approach is effective in extracting tasks out of sequential programs and that it results in MLCA programs whose performance is comparable to that of manually task--generated code.