Abstract
To retarget sequential image processing algorithm written in sequential languages (e.g. C) to processors with multimedia extensions and multimedia-specific embedded microprocessors is an open issue. Image processing algorithms are inherently with sub-word parallelism (SWP) But current compilers are not able to exploit it by locating SWP within a basic block. This paper proposes a program representation and pattern-matching approach for generating an explicit SWP specification from sequential source code. The representation is based on an extension of the multidimensional synchronous dataflow (MDSDF) model of computation. For both the compiler and source programs should not be user-modified, we extend compiler’s functionality by adding a specialized pattern-library. After data-flow and control-flow analysis with pattern matching, the generated SWFG (Sub-Word Flow Graph) can be used as an intermediate representation for the next step of compiler for SWP instruction selection and code generation.
Sponsored by National Natural Science Foundation of China under Grant NO.60173040.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Diefendorff, K., Dubey, P.K.: How multimedia workloads will change processor design. Computer 30(9), 43–45 (1997)
Sreraman, N., Govindarajan, R.: A vectorizing compiler for multimedia extensions. Int. J. Parallel Program 28(4), 363–400 (2000)
Krall, A., Lelait, S.: Compilation techniques for multimedia processors. Int. J. Parallel Program 28(4), 347–361 (2000)
Cheong, G., Lam, M.: An optimizer for multimedia instruction sets (1997)
Larsen, S., Amarasinghe, S.: Exploiting superword level parallelism with multimedia instruction sets. In: PLDI 2000. Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, pp. 145–156. ACM Press, New York (2000)
Boekhold, M., Karkowski, I., Corporaal, H.: Transforming and parallelizing ANSI C programs using pattern recognition. In: Sloot, P.M.A., Hoekstra, A.G., Bubak, M., Hertzberger, B. (eds.) High-Performance Computing and Networking. LNCS, vol. 1593, p. 673. Springer, Heidelberg (1999)
Martino, B.D., Iannello, G.: Pap recognizer: A tool for automatic recognition of parallelizable patterns. In: WPC 1996. Proceedings of the 4th International Workshop on Program Comprehension, Washington, DC, USA, p. 164. IEEE Computer Society Press, Los Alamitos (1996)
Martino, B.D., Kesler, C.W.: Two program comprehension tools for automatic parallelization. IEEE Concurrency 8(1), 37–47 (2000)
Ferrante, J., Ottenstein, K.J., Warren, J.D.: The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9(3), 319–349 (1987)
Murthy, P., Lee, E.: Multidimensional synchronous dataflow. IEEE Transactions on Signal Processing 50(7), 2064+ (2002)
Bhattacharyya, S.S., Murthy, P.K., Lee, E.A.: Synthesis of embedded software from synchronous dataflow specifications. J. VLSI Signal Process. Syst. 21(2), 151–166 (1999)
Leupers, R.: Code selection for media processors with simd instructions. In: DATE 2000. Proceedings of the conference on Design, automation and test in Europe, pp. 4–8. ACM Press, New York (2000)
Corporaal, H.: Transport Triggered Architectures. Design and Evaluation. PhD thesis (1995)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tang, W., Wang, S., Wu, D., Kuang, W. (2007). A SWP Specification for Sequential Image Processing Algorithms. In: Choi, L., Paek, Y., Cho, S. (eds) Advances in Computer Systems Architecture. ACSAC 2007. Lecture Notes in Computer Science, vol 4697. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74309-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-74309-5_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74308-8
Online ISBN: 978-3-540-74309-5
eBook Packages: Computer ScienceComputer Science (R0)