DocumentCode
1245757
Title
Retargeting sequential image-processing programs for data parallel execution
Author
Baumstark, Lewis B., Jr. ; Wills, Linda M.
Author_Institution
Dept. of Comput. Sci., State Univ. of West Georgia, Carollton, GA, USA
Volume
31
Issue
2
fYear
2005
Firstpage
116
Lastpage
136
Abstract
New compact, low-power implementation technologies for processors and imaging arrays can enable a new generation of portable video products. However, software compatibility with large bodies of existing applications written in C prevents more efficient, higher performance data parallel architectures from being used in these embedded products. If this software could be automatically retargeted explicitly for data parallel execution, product designers could incorporate these architectures into embedded products. The key challenge is exposing the parallelism that is inherent in these applications but that is obscured by artifacts imposed by sequential programming languages. This paper presents a recognition-based approach for automatically extracting a data parallel program model from sequential image processing code and retargeting it to data parallel execution mechanisms. The explicitly parallel model presented, called multidimensional data flow (MDDF), captures a model of how operations on data regions (e.g., rows, columns, and tiled blocks) are composed and interact. To extract an MDDF model, a partial recognition technique is used that focuses on identifying array access patterns in loops, transforming only those program elements that hinder parallelization, while leaving the core algorithmic computations intact. The paper presents results of retargeting a set of production programs to a representative data parallel processor array to demonstrate the capacity to extract parallelism using this technique. The retargeted applications yield a potential execution throughput limited only by the number of processing elements, exceeding thousands of instructions per cycle in massively parallel implementations.
Keywords
data flow computing; imaging; parallel architectures; parallel programming; systems re-engineering; video signal processing; data parallel architecture; data parallel execution; data parallel program model; imaging array; multidimensional data flow; parallel processor array; portable video product; sequential image-processing program; sequential programming language; Application software; Computer architecture; Computer languages; Data mining; Embedded software; Image recognition; Parallel architectures; Parallel processing; Product design; Software performance; Index Terms- Reengineering; SIMD processors; data-level parallelization; explicitly parallel program representation; program recognition.;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2005.26
Filename
1401928
Link To Document