Automatic Task Generation for the Multi-Level Computing Architecture

K. Stewart and T.S. Abdelrahman (Canada)


Parallel embedded systems; automatic task generation; paral lelizing compilers; code generation.


The Multi-Level Computing Architecture (MLCA) is a novel Parallel Programmable Systems-on-a-chip (PP-SoC) for mul timedia applications, which promises to address the pro grammability challenge for PP-SoCs. The MLCA program ming 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 ap proach uses a new compiler pragma called Split to describe task boundaries in a sequential program. A compiler heuris tic is developed to place this pragma in the program, effec tively 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, imple mented 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 manu ally task–generated code.

Important Links:

Go Back