The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview for the PTRAN analysis system for multiprocessing
Journal of Parallel and Distributed Computing - Special Issue on Languages, Compilers and environments for Parallel Programming
Vectorizing compilers: a test suite and results
Proceedings of the 1988 ACM/IEEE conference on Supercomputing
The programmer's apprentice
Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
Heterogeneous parallel programming in Jade
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Exploiting task and data parallelism on a multicomputer
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Digital image processing: principles and applications
Digital image processing: principles and applications
Fortran M: a language for modular parallel programming
Journal of Parallel and Distributed Computing
Symbolic array dataflow analysis for array privatization and program parallelization
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Exploiting SIMD parallelism in DSP and multimedia algorithms using the AltiVec technology
ICS '99 Proceedings of the 13th international conference on Supercomputing
Support of automatic parallelization with concept comprehension
Journal of Systems Architecture: the EUROMICRO Journal - Special issue on tools and environments for parallel program development
ZPL: A Machine Independent Programming Language for Parallel Computers
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
A Design Methodology for Data-Parallel Applications
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
A vectorizing compiler for multimedia extensions
International Journal of Parallel Programming - Special issue on instruction-level parallelism and parallelizing compilation, Part 1
Automatic intra-register vectorization for the Intel architecture
International Journal of Parallel Programming
Synthesis of Embedded Software from Synchronous Dataflow Specifications
Journal of VLSI Signal Processing Systems
IEEE Parallel & Distributed Technology: Systems & Technology
Two Program Comprehension Tools for Automatic Parallelization
IEEE Concurrency
Subword Parallelism with MAX-2
IEEE Micro
Recognizing a Program's Design: A Graph-Parsing Approach
IEEE Software
A SIMD Vectorizing Compiler for Digital Signal Processing Algorithms
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Polaris: Improving the Effectiveness of Parallelizing Compilers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
The visual instruction set (VIS) in UltraSPARC
COMPCON '95 Proceedings of the 40th IEEE Computer Society International Conference
SIMPil: an OE integrated SIMD architecture for focal plane processing applications
MPPOI '96 Proceedings of the 3rd Conference on Massively Parallel Processing Using Optical Interconnections
PAP Recognizer: A Tool for Automatic Recognition of Parallelizable Patterns
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Estimating Potential Parallelism for Platform Retargeting
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Extracting an Explicitly Data-Parallel Representation of Image-Processing Programs
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
The impact of grain size on the efficiency of embedded SIMD image processing architectures
Journal of Parallel and Distributed Computing
Pattern-Driven Automatic Parallelization
Scientific Programming
Multidimensional synchronous dataflow
IEEE Transactions on Signal Processing
IEEE Transactions on Computers
A parallel solution for high resolution histological image analysis
Computer Methods and Programs in Biomedicine
Hi-index | 0.00 |
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.