• 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