Skip to main content

A Preliminary Study on the Vectorization of Multimedia Applications for Multimedia Extensions

  • Conference paper
Book cover Languages and Compilers for Parallel Computing (LCPC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2958))

Abstract

In 1994, the first multimedia extension, MAX-1, was introduced to general-purpose processors by HP. Almost ten years have passed, the present means of accessing the computing power of multimedia extensions are still limited to mostly assembly programming, intrinsic functions, and the use of system libraries. Because of the similarities between multimedia extensions and vector processors, it is believed that traditional vectorization can be used to compile for multimedia extensions. Can traditional vectorization effectively vectorize multimedia applications for multimedia extensions? If not, what additional techniques are needed? To answer these two questions, we conducted a code study on the Berkeley Multimedia Workload. Through this, we identified several new challenges arise in vectorizing for multimedia extensions and proposed some solutions to these challenges.

This work is supported by the National Science Foundation under Grant CCR01-21401ITR. This work is not necessarily representative of the positions or policies of the Government.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Diefendorff, K., Dubey, P.: How Multimedia Workloads Will Change Processor Design. IEEE Computer 30, 43–45 (1997)

    Article  Google Scholar 

  2. Slingerland, N., Smith, A.: Design and characterization of the Berkeley multimedia workload. Multimedia Systems 8, 315–327 (2002)

    Article  Google Scholar 

  3. Lee, C., Potkonjak, M., Mangione-Smith, W.: MediaBench: A Tool for Evaluating and Synthesizing Multimedia and Communications Systems. In: Proceedings of Micro 1997, pp. 330–335 (1997)

    Google Scholar 

  4. Free Software Foundation: Using the GNU Compiler Collection (GCC), Boston, MA (2002)

    Google Scholar 

  5. Patterson, D., Hennessy, J.: Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, San Mateo (1996)

    MATH  Google Scholar 

  6. Allen, R., Kennedy, K.: Automatic translation of FORTRAN programs to vector form. ACM Transactions on Programming Languages and Systems (TOPLAS) 9, 491–542 (1987)

    Article  MATH  Google Scholar 

  7. Kuck, D., et al.: Measurements of Parallelism in ordinary FORTRAN programs. IEEE Computer 7, 37–46 (1974)

    Article  Google Scholar 

  8. Padua, D., Wolfe, M.: Advanced Compiler Optimizations for Supercomputers. ACM Communication 29, 1184–1201 (1986)

    Article  Google Scholar 

  9. Cheong, G., Lam, M.: An Optimizer for Multimedia Instruction Sets. Second SUIF Compiler Workshop, Stanford (1997)

    Google Scholar 

  10. Konda, V., Lauer, H., Muroi, K., Tanaka, K., Tsubota, H., Xu, E., Wilson, C.: A SIMDizing C Compiler for the Mitsubishi Electric Neuro4 Processor Array. In: First SUIF Compiler Workshop, Stanford (1996)

    Google Scholar 

  11. Sreraman, N., Govindarajan, R.: A Vectorizing Compiler for Multimedia Extensions. International Journal of Parallel Programming 28, 363–400 (2000)

    Article  Google Scholar 

  12. Krall, A., Lelait, S.: Compilation Techniques for Multimedia Processors. International Journal of Parallel Programming 18, 347–361 (2000)

    Article  Google Scholar 

  13. Bik, A., Girkar, M., Grey, P., Tian, X.: Automatic Intra-Register Vectorization for the Intel? Architecture. International Journal of Parallel Programming 30, 65–98 (2002)

    Article  MATH  Google Scholar 

  14. Fisher, R., Dietz, H.: Compiling for SIMD within a Register. In: 1998 Workshop on Languages and Compilers for Parallel Computing. University of North Carolina at Chapel Hill, North Carolina (1998)

    Google Scholar 

  15. Larsen, S., Amarasinghe, S.: Exploiting Superword Level Parallelism with Multimedia Instruction Sets. In: Proceeding of the SIGPLAN Conference on Programming Language Design and Implementation, Vancouver, B. C (2000)

    Google Scholar 

  16. Callahan, D., Dongarra, J., Levine, D.: Vectorizing Compilers: A Test Suite and Results. In: Proceedings of the 1988 ACM/IEEE conference on Supercomputing, Orlando, Florida (1988)

    Google Scholar 

  17. Kohn, L., Maturana, G., Tremblay, M., Prabhu, A., Zyner, G.: The Visual Instruction Set (VIS) in UltraSPARC. In: Proc. of Compcon 1995, San Francisco, California (1995)

    Google Scholar 

  18. Lee, R., McMahan, L.: Mapping of Application Software to the Multimedia Instructions of General Purpose Microprocessors. In: IS&T/SPIE Symp. on Electric Imaging: Science and Technology, San Jose, California (1997)

    Google Scholar 

  19. Carlson, D., Castelino, R., Mueller, R.: Multimedia Extensions for a 550-MHz RISC Microprocessor. IEEE Journal of Solid-State Circuits 32, 1618–1624 (1997)

    Article  Google Scholar 

  20. MIPS Technologies, Inc.: MIPS Extension for Digital Media with 3D. White Paper (1997)

    Google Scholar 

  21. Intel Corporation.: IA32 Intel Architecture Software Developer’s Manual with Preliminary Intel Pentium 4 Processor Information Volume 1: Basic Architecture

    Google Scholar 

  22. Oberman, S., Favor, S., Weber, F.: AMD 3DNow! Technology: Architecture and Implementations. IEEE Micro 19, 37–48 (1999)

    Article  Google Scholar 

  23. Intel Corporation.: Intel Architecture Optimization Reference Manual

    Google Scholar 

  24. Fuller, S.: Motorola’s AltiVec Technology. White Paper (1998)

    Google Scholar 

  25. Blume, W., Eigenmann, R.: The Range Test: A Dependence Test for Symbolic, Non-linear Expressions. In: Proceedings of Supercomputing 1994, Washington D. C., pp. 528–537 (1994)

    Google Scholar 

  26. Wu, P., Cohen, A., Hoeflinger, J., Padua, D.: Monotonic Evolution: An Alternative to Induction Variable Substitution for Dependence Analysis. In: Proceedings of the 15th International Conference on Supercomputing, Sorrento, Italy (2001)

    Google Scholar 

  27. Bik, A., Girkar, M., Grey, P., Tian, X.: Automatic Detection of Saturation and Clipping Idioms. In: Pugh, B., Tseng, C.-W. (eds.) LCPC 2002. LNCS, vol. 2481, pp. 61–74. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  28. Larsen, S., Witchel, E., Amarasinghe, S.: Increasing and Detecting Memory Address Congruence. In: Proceedings of 11th International Conference on Parallel Architectures and Compilation Techniques (PACT), Charlottesville, VA (2002)

    Google Scholar 

  29. International Standard Organization: Programming Languages - C. ISO/IEC 9899 (1999)

    Google Scholar 

  30. Crescent Bay Software Corp., http://www.psrv.com/vast_altivec.html

  31. The Portland Group Compiler Technology, http://www.pgroup.com/products/

  32. Codeplay Software Limited, http://www.codeplay.com/vectorc/features.html

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ren, G., Wu, P., Padua, D. (2004). A Preliminary Study on the Vectorization of Multimedia Applications for Multimedia Extensions. In: Rauchwerger, L. (eds) Languages and Compilers for Parallel Computing. LCPC 2003. Lecture Notes in Computer Science, vol 2958. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24644-2_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24644-2_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21199-0

  • Online ISBN: 978-3-540-24644-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics