Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Advanced compiler design and implementation
Advanced compiler design and implementation
Task selection for a multiscalar processor
MICRO 31 Proceedings of the 31st annual ACM/IEEE international symposium on Microarchitecture
Software environment for a multiprocessor DSP
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Which pointer analysis should I use?
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Viper: A Multiprocessor SOC for Advanced Set-Top Box and Digital TV Systems
IEEE Design & Test
Design of multi-tasking coprocessor control for Eclipse
Proceedings of the tenth international symposium on Hardware/software codesign
The Jrpm system for dynamically parallelizing Java programs
Proceedings of the 30th annual international symposium on Computer architecture
Run-Time Support for the Automatic Parallelization of Java Programs
The Journal of Supercomputing
Function Outlining and Partial Inlining
SBAC-PAD '05 Proceedings of the 17th International Symposium on Computer Architecture on High Performance Computing
Hi-index | 0.00 |
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.