Scheduling image processing program activities on Instruction Level Parallel RISC through program transformations
The success of image processing (IP) applications implemented on Instruction Level Parallel (ILP) RISC systems relies on the efficient utilization of the CPU resources. While in general it is the compiler that organizes the machine code in such a way to maximize the hardware resource utilization it was recently shown that in the case of IP programs compilers do not actually produce efficient machine code. Therefore special coding schemes (based for example on loop unrolling) must be adopted to help compilers to produce efficient code. This paper investigates some of these special coding schemes. More specifically it describes the effects of different loop unrolling schemes and introduces a new source program transformation based on the dynamic scheduling of the program iterations which, under some hypotheses, is shown to be more efficient than unrolling. A case study on the implementation of the Hough Transform is presented to validate the results of this paper.
KeywordsImage Processing RISC processors program transformations loop unrolling
Unable to display preview. Download preview PDF.
- [AAN95]A. Nicolau A. Aiken and S. Novack. “Resource-Constrained Software Pipelining”. “IEEE Transaction on Parallel and Distributed Systems”, 6(12):1248–1271, 1995.Google Scholar
- [Ban88]U. Banerjee. ”Dependence Analysis for Supercomputing”. Kluwer Academic Publishers, Boston/Dordrecht/London, 1988.Google Scholar
- [BB82]D.H Ballard and C.M. Brown. ”Computer Vision”. Prentice-Hall, Englewood Cliffs, New Jersey 07632, 1982.Google Scholar
- [Dow88]K. Dowd. ”High Performance Computing”. O'Reily & Associates, Inc, Sebastopol, Ca 95472, 1988.Google Scholar
- [HP90]J.L. Hennesy and D.A. Patterson. ”Computer Architecture: A Quantitative Approach”. Morgan Kaufmann Publishers, Inc., San Mateo, Ca 94403, 1990.Google Scholar
- [PBZ96]M. Maresca P. Baglietto, M. Migliardi and N. Zingirian. “Image Processing on High Performace RISC System”. “Proceeding of the IEEE”, 84(7):917–930, 1996.Google Scholar
- [Pol88]G. Polychronopoulos. ”Parallel Programming And compilers”. Kluwer Academic Publishers, Boston/Dordrecht/London, 1988.Google Scholar
- [WT92]M. Wolfe and CW Tseng. “ The power test for data dependence”. “IEEE Transaction on Parallel and Distribuited Systems”, 3(5):591–601, 1992.Google Scholar
- [ZLZ90]P. Yew Z. Li and C. Zhu. “An efficient data dependence analysis for paralelizing compilers”. “IEEE Transaction on Parallel and Distribuited Systems”, 1(1):26–34, 1990.Google Scholar
- [ZM97]N. Zingirian and M. Maresca. “Scheduling Image Prcoessing Activities on Instruction Level Parallel RISC Systems Through Program Transformations”. “Report TR SM-IMP/DIST/11”, February 1997.Google Scholar