Skip to main content
Log in

Case study: stereo vision experiments with multi-core software API on embedded MPSoC environments

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Markov random field models provide a robust formulation of low-level vision problems. Among all these problems, stereo vision remains the most investigated field. The belief propagation (BP) method provides accurate result in stereo vision problems. However, the algorithm remains slow for practical use. This paper describes a case study on the parallelization of belief propagation for stereo matching using the “Multi-core Software APIs” (MSA) on embedded MPSoC environments. MSA is a library-based middleware providing an asynchronous remote procedure call (RPC) mechanism. It supplies a function-offloading programming model to hide the underlying interprocessor communication and configuration detail from programmers. Furthermore, MSA provides a set of stream-specific APIs for supporting a streaming-function remoting mechanism on heterogeneous multi-core architectures. Our experiments shows that the BP method for stereo matching can be adapted from a single core program to a multi-core one for embedded MPSoC environments rapidly.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Butenhof DR (1997) Programming with POSIX threads. Addison-Wesley, Reading

    Google Scholar 

  2. Chang DCW (2006) PAC digital signal processor. In: Proceedings of fall microprocessor forum

    Google Scholar 

  3. Kuan C-B, Lee JK (2010) Simd intrinsic supports for vliw dsp processors with distributed register files. In: CPC’10: the 15th workshop on compilers for parallel computing

    Google Scholar 

  4. Chrysanthakopoulos G, Singh S (2005) An asynchronous messaging library for c#. In: Synchronization and concurrency in object-oriented languages (SCOOL)

    Google Scholar 

  5. Dean J, Ghemawat S (2004) Mapreduce: simplified data processing on large clusters. In: OSDI’04: proceedings of the 6th conference on symposium on operating systems design & implementation. USENIX Association, Berkeley, p 10

    Google Scholar 

  6. Felzenszwalb PF, Huttenlocher DP (2006) Efficient belief propagation for early vision. Int J Comput Vis 70:41–54. http://portal.acm.org/citation.cfm?id=1138215.1138220

    Article  Google Scholar 

  7. Hsieh KY, Liu YC, Wu PW, Chang SW, Lee JK (2008) Enabling streaming remoting on embedded dual-core processors. In: Parallel processing, 2008, ICPP ’08, 37th International Conference on, pp 35–42

    Chapter  Google Scholar 

  8. Kuchen H (2002) A skeleton library. In: Euro-Par ’02: proceedings of the 8th international Euro-par conference on parallel processing. Springer, London, pp 620–629

    Google Scholar 

  9. Lai C, Hsieh K, Lai S, Lee J (2008) Parallelization of belief propagation method on embedded multicore processors for stereo vision. In: IEEE/ACM/IFIP workshop on embedded systems for real-time multimedia, ESTImedia 2008, pp 39–44

    Google Scholar 

  10. Lin YC, Tang CL, Wu CJ, Hung MY, You YP, Moo YC, Chen SY, Lee JK (2005) Compiler supports and optimizations for PAC VLIW DSP processors. In: Proceedings of the 18th international workshop on languages and compilers for parallel computing

    Google Scholar 

  11. Matsuzaki K, Iwasaki H (2006) A library of constructive skeletons for sequential style of parallel programming. In: InfoScale’ 06: proceedings of the 1st international conference on scalable information systems. ACM international conference proceeding series, vol 152. ACM Press, New York, p 13

    Chapter  Google Scholar 

  12. McCool MD, Wadleigh K, Henderson B, Lin HY (2006) Performance evaluation of gpus using the rapidmind development platform. In: SC ’06: proceedings of the 2006 ACM/IEEE conference on supercomputing. ACM Press, New York, p 181

    Chapter  Google Scholar 

  13. Murray AB, Cole M, Gilmore S, Hillston J (2005) Flexible skeletal programming with eskel. In: 11th intl Euro-par: parallel and distributed computing, Lisbon. LNCS, vol 3648. Springer, Berlin, pp 761–770

    Google Scholar 

  14. Qualcomm: The snapdragon platform (2010) http://www.qctconnect.com/products/snapdragon.html

  15. Reid AD, Flautner K, Evans EG, Lin Y (2008) Soc-c: efficient programming abstractions for heterogeneous multicore systems on chip. In: CASES ’08: proceedings of the 2008 international conference on compilers, architectures and synthesis for embedded systems. ACM Press, New York, pp 95–104

    Chapter  Google Scholar 

  16. Reinders J (2007) Intel threading building blocks. O’Reilly, Sebastopol

    Google Scholar 

  17. Sun J, Zheng N, Shum H (2003) Stereo matching using belief propagation. IEEE Trans Pattern Anal Mach Intell 25(7):787–800

    Article  Google Scholar 

  18. Thies W, Karczmarek M, Amarasinghe S (2002) Streamit: a language for streaming applications. In: Horspool RN (ed) Compiler construction. Lecture notes in computer science, vol 2304. Springer, Berlin/Heidelberg. Chap. 14, pp 49–84

    Chapter  Google Scholar 

  19. Texas Instruments Omap™ 4 mobile applications platform (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jia-Jhe Li.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Li, JJ., Chen, CK., Wu, TY. et al. Case study: stereo vision experiments with multi-core software API on embedded MPSoC environments. J Supercomput 61, 103–117 (2012). https://doi.org/10.1007/s11227-011-0650-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0650-0

Keywords

Navigation