Multimedia Tools and Applications

, Volume 51, Issue 2, pp 801–818 | Cite as

Parallel programming for multimedia applications

  • Hari Kalva
  • Aleksandar Colic
  • Adriana Garcia
  • Borko Furht
Article

Abstract

Computing capabilities are continuing to increase with the availability of multi core and many core processors. The wide availability of multi core processors has made parallel programming possible for end user applications running on desktops, workstations, and mobile devices. While parallel hardware has become common, software that exploits parallel capabilities is just beginning to take hold. Multimedia applications, with their data parallel nature and large computing requirements will benefit significantly from parallel programming. In this paper an overview of parallel programming is presented and languages and tools for parallel programming such as OpenMP and CUDA are introduced within the scope of multimedia applications.

Keywords

Parallel programming OpenMP CUDA SIMD Multimedia programming 

References

  1. 1.
    Asanovi’c K et al (2009) A view of the parallel computing landscape. Commun ACM 52(10):56–67CrossRefGoogle Scholar
  2. 2.
    Borkar S (2007) Thousand core chips—a technology perspective. Proc. ACM/IEEE 44th Design Automation Conf (DAC). ACM Press, pp 746–749Google Scholar
  3. 3.
    Bulic P, Gustin V (2003) An extended ANSI C for processors with a multimedia extension. Int J Parallel Program 31(2):107–136MATHCrossRefGoogle Scholar
  4. 4.
    Chantry D (2009) Mapping applications to the Cloud. Microsoft Corporation—Platform Architecture Team. Online at: http://msdn.microsoft.com/en-us/library/dd430340.aspx
  5. 5.
    Chapman B, Jost G, van der Pas R (2007) Using OpenMP: portable shared memory parallel programming. MIT, OctoberGoogle Scholar
  6. 6.
    Chen S, Schlosser SW (2008) Map-Reduce Meets Wider Varieties of Applications, IRP-TR-08-05, Technical Report, Intel Research Pittsburgh. Online at: http://www.pittsburgh.intel-research.net/~chensm/papers/IRP-TR-08-05.pdf
  7. 7.
    Colic A, Kalva H, Furht B (2010) Exploring NVIDA-CUDA for Video Coding. Proceedings of the first annual ACM SIGMM conference on Multimedia systems, pp 13–22Google Scholar
  8. 8.
    Conner J (2009) Customizing Input File Formats for Image Processing in Hadoop. Arizona State University. Online at: http://hpc.asu.edu/node/97
  9. 9.
    Conte G (2000) The long winding road to high-performance image processing with MMX/SSE. Proceedings of the Fifth IEEE International Workshop on Computer Architectures for Machine Perception, pp 249–258Google Scholar
  10. 10.
    Dean J, Ghemawat S (2004) MapReduce: Simplified Data Processing on Large Clusters. In Proceedings of OSDI ’04: 6th Symposium on Operating System Design and Implemention, San Francisco, CA. Online at: http://labs.google.com/papers/mapreduce.html
  11. 11.
    Diefendorff K et al (2000) AltiVec extension to PowerPC accelerates media processing. IEEE Micro 20(2):85–95CrossRefGoogle Scholar
  12. 12.
    Ferretti M (2000) Multi-media extensions in super-pipelined micro-architectures. A new case for SIMD processing? Proceedings of the Fifth IEEE International Workshop on Computer Architectures for Machine Perception, pp 249–258Google Scholar
  13. 13.
    Garcia A Kalva H, Furht B (2010) Exploring A Study of Transcoding on Cloud Environments for Video Content Delivery. Proceedings of the Workshop on Mobile Cloud Media Computing, ACM MultimediaGoogle Scholar
  14. 14.
  15. 15.
    Kirk DB, Hwu WW (2010) Programming massively parallel processors—a hands on approach. Morgan KaufmannGoogle Scholar
  16. 16.
    Krall A, Lelait S (2000) Compilation techniques for multimedia processors. Int J Parallel Program 28(4):347–361CrossRefGoogle Scholar
  17. 17.
    Lee RB (1996) Subword parallelism with MAX-2. IEEE Micro 16(4):51–59CrossRefGoogle Scholar
  18. 18.
    Lee JB, Kalva H (2009) The VC-I and H.264 video compression standards: for broadband video service. SpringerGoogle Scholar
  19. 19.
    Leupers, R (1999) Compiler Optimizations for Media Processors. In J-Y Roger, B Stanford-Smith, PT Kidd (eds) Business and Work in the Information Society: New Technologies and Applications, IOS Press, ISBN 90-5199-491-5Google Scholar
  20. 20.
    Luebke D, et al. (2004) Gpgpu: general purpose computation on graphics hardware. Proceedings of the conference on SIGGRAPH 2004 course notes (New York, NY, USA): ACM Press, p 33Google Scholar
  21. 21.
  22. 22.
    New York Times (2007) Self-service, Prorated Super Computing Fun! Online at: http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super-computing-fun/
  23. 23.
    Peleg A, Weiser U (1996) MMX technology extension to the Intel architecture. IEEE Micro 16(4):42–50CrossRefGoogle Scholar
  24. 24.
    Trease H, Fraser D, Farber R, Elbert S Using transaction based parallel computing to solve image processing and computational physics problems. Online at: http://www.cca08.org/papers/Poster31-Harold-Trease.pdf
  25. 25.
    Tremblay M et al (1996) VIS speeds new media processing. IEEE Micro 16(4):10–20CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Hari Kalva
    • 1
  • Aleksandar Colic
    • 1
  • Adriana Garcia
    • 1
  • Borko Furht
    • 1
  1. 1.Department of Computer & Electrical engineering and Computer ScienceFlorida Atlantic UniversityBoca RatonUSA

Personalised recommendations