skip to main content
research-article
Free Access

Easy, fast, and energy-efficient object detection on heterogeneous on-chip architectures

Published:01 December 2013Publication History
Skip Abstract Section

Abstract

We optimize a visual object detection application (that uses Vision Video Library kernels) and show that OpenCL is a unified programming paradigm that can provide high performance when running on the Ivy Bridge heterogeneous on-chip architecture. We evaluate different mapping techniques and show that running each kernel where it fits the best and using software pipelining can provide 1.91 times higher performance and 42% better energy efficiency. We also show how to trade accuracy for energy at runtime. Overall, our application can perform accurate object detection at 40 frames per second (fps) in an energy-efficient manner.

References

  1. Allusse, Y., Horain, P., Agarwal, A., and Saipriyadarshan, C. 2008. GpuCV: A GPU-accelerated framework for image processing and computer vision. In Advances in Visual Computing. Lecture Notes in Computer Science Series, vol. 5359. Springer, Berlin, 430--439. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Augonnet, C., Thibault, S., Namyst, R., and Wacrenier, P. 2011. StarPU: A unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput. Pract. Exper. 23, 2, 187--198. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Babenko, P. and Shah, M. 2008. MinGPU: A minimum GPU library for computer vision. Journal of Real-Time Image Processing 3, 4, 255--268.Google ScholarGoogle ScholarCross RefCross Ref
  4. Beleznai, C., Schreiber, D., and Rauter, M. 2011. Pedestrian detection using GPU-accelerated multiple cue computation. In Proceedings of the Computer Vision and Pattern Recognition Workshops (CVPRW’11). 58--65.Google ScholarGoogle Scholar
  5. Bergman, J. 2010. Energy Efficient Graphics: Making the Rendring Process Power Aware. Ph.D. thesis, Uppsala University.Google ScholarGoogle Scholar
  6. Bik, A. J. C., Tian, X., and Girkar, M. B. 2006. Multimedia vectorization of floating-point min/max reductions. Concurrency and Computation: Practice and Experience 18, 9, 997--1007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Bradski, G. 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools.Google ScholarGoogle Scholar
  8. Burges, C. J. 1998. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery 2, 2, 121--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cao, T., Blackburn, S. M., Gao, T., and McKinley, K. S. 2012. The yin and yang of power and performance for asymmetric hardware and managed software. In Proceedings of the International Symposium on Computer Architecture (ISCA’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Corbal, J., Espasa, R., and Valero, M. 2001. On the efficiency of reductions in μ-SIMD media extensions. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’01). 83--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Daga, M., Aji, A., and Feng, W.-C. 2011. On the efficacy of a fused CPU+GPU processor (or APU) for parallel computing. In Proceedings of the Symposium on Application Accelerators in High-Performance Computing (SAAHPC’11). 141--149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Damaraju, S., George, V., Jahagirdar, S., Khondker, T., Milstrey, R., Sarkar, S., Siers, S., Stolero, I., and Subbiah, A. 2012. A 22nm ia multi-CPU and GPU system-on-chip. In Proceedings of the IEEE International Solid-State Circuits Conference. 56--57.Google ScholarGoogle Scholar
  13. David, H., Gorbatov, E., Hanebutte, U. R., Khanna, R., and Le, C. 2010. RAPL: Memory power estimation and capping. In Proceedings of the International Symposium on Low Power Electronics and Design (ISPLED’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dikmen, M., Hoiem, D., and Huang, T. S. 2012. A data driven method for feature transformation. In Computer Vision and Pattern Recognition (CVPR’12). IEEE, 3314--3321. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dikmen, M., Ning, H., Lin, D. J., Cao, L., Le, V., Tsai, S.-F., Lin, K.-H., Li, Z., Yang, J., Huang, T. S., et al. 2008. Surveillance event detection. In Proceedings of the TrecVID Video Evaluation Workshop.Google ScholarGoogle Scholar
  16. Doerksen, M., Thulasiraman, P., and Thulasiram, R. 2012. Optimizing option pricing algorithms and profiling power consumption on VLIW APU architecture. Proc of the 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications (ISPA’12). 71--78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Dollar, P., Wojek, C., Schiele, B., and Perona, P. 2012. Pedestrian detection: An evaluation of the state of the art. IEEE Transactions on Pattern Analysis and Machine Intelligence 34, 4, 743--761. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Dreslinski, R., Wieckowski, M., Blaauw, D., Sylvester, D., and Mudge, T. 2010. Near-threshold computing: Reclaiming Moore’s law through energy efficient integrated circuits. Proceedings of the IEEE 98, 2, 253--266.Google ScholarGoogle ScholarCross RefCross Ref
  19. Felzenszwalb, P. F., Girshick, R. B., McAllester, D., and Ramanan, D. 2010. Object detection with discriminatively trained part based models. IEEE Transactions on Pattern Analysis and Machine Intelligence 32, 9, 1627--1645. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Foley, D., Bansal, P., Cherepacha, D., Wasmuth, R., Gunasekar, A., Gutta, S., and Naini, A. 2012. A low-power integrated x86-64 and graphics processor for mobile computing devices. IEEE Journal of Solid-State Circuits 47, 1, 220--231.Google ScholarGoogle ScholarCross RefCross Ref
  21. Fung, J. and Mann, S. 2008. Using graphics devices in reverse: Gpu-based image processing and computer vision. In Proceedings of the IEEE International Conference on Multimedia and Expo (ICME’08). 9--12.Google ScholarGoogle Scholar
  22. González, C. H. and Fraguela, B. B. 2010. A generic algorithm template for divide-and-conquer in multicore systems. In Proceedings of the Conference on High Performance Computing and Communications (HPCC’10). IEEE, 79--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Halstead, M. H. 1977. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Intel. 2011. Avoiding AVX-SSE Transition Penalties. Retrieved November 26, 2013 from http://software.intel.com/en-us/articles/avoiding-avx-sse-transition-penalties.Google ScholarGoogle Scholar
  25. Intel. 2013a. Intel SK for OpenCL Applications 2013. Retreived November 26, 2013 from http://software.intel.com/en-us/vcsource/tools/opencl-sdk.Google ScholarGoogle Scholar
  26. Intel. 2013b. OpenCL Optimization Guide. Retrieved November 26, 2013 from http://software.intel.com/sites/products/documentation/ioclsdk/2013/OG/index.htm.Google ScholarGoogle Scholar
  27. Jiménez, V. J., Vilanova, L., Gelado, I., Gil, M., Fursin, G., and Navarro, N. 2009. Predictive runtime code scheduling for heterogeneous architectures. In Proceedings of the International Conference on High Performance Embedded Architectures and Compilers (HiPEAC’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Jones, M. and Viola, P. 2003. Fast Multi-View Face Detection. Technical Report TR-20003-96 3. Mitsubishi Electronic Research Lab.Google ScholarGoogle Scholar
  29. Kong, S. G., Heo, J., Abidi, B. R., Paik, J., and Abidi, M. A. 2005. Recent advances in visual and infrared face recognition a review. Computer Vision and Image Understanding 97, 1, 103--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kumar, R., Tullsen, D. M., Jouppi, N. P., and Ranganathan, P. 2005. Heterogeneous chip multiprocessors. Computer 38, 11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Lee, V. W., Kim, C., Chhugani, J., Deisher, M., Kim, D., Nguyen, A. D., Satish, N., Smelyanskiy, M., Chennupaty, S., Hammarlund, P., Singhal, R., and Dubey, P. 2010. Debunking the 100x GPU vs. CPU myth: An evaluation of throughput computing on CPU and GPU. In Proceedings of the International Symposium on Computer Architecture (ISCA’10). 451--460. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Lindholm, E., Nickolls, J., Oberman, S., and Montrym, J. March-April 2008. NVIDIA Tesla: A unified graphics and computing architecture. IEEE Micro 28, 2, 39--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Liu, C., Li, J., Huang, W., Rubio, J., Speight, E., and Lin, X. 2012. Power-efficient time-sensitive mapping in heterogeneous systems. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Luk, C.-K., Hong, S., and Kim, H. 2009. Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In Proceedings of the IEEE/ACM International Symposium on Microarchitecture (MICRO’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Ma, K., Li, X., Chen, W., Zhang, C., and Wang, X. 2012. GreenGPU: A holistic approach to energy efficiency in GPU-CPU heterogeneous architectures. In Proceedings of the International Conference on Parallel Processing (ICPP’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Ma, T. and Latecki, L. J. 2011. From partial shape matching through local deformation to robust global shape similarity for object detection. In Proceedings of the Conference on Computer Vision and Pattern Recognition (CVPR’11). IEEE, 1441--1448. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Maji, S. and Malik, J. 2009. Object detection using a max-margin hough transform. In Computer Vision and Pattern Recognition. IEEE, 1038--1045.Google ScholarGoogle Scholar
  38. Maleki, S., Gao, Y., Garzarán, M. J., Wong, T., and Padua, D. A. 2011. An evaluation of vectorizing compilers. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT’11). 372--382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Mistry, P., Gregg, C., Rubin, N., Kaeli, D., and Hazelwood, K. 2011. Analyzing program flow within a many-kernel openCL application. In Proceedings of the 4th Workshop on General Purpose Processing on Graphics Processing Units (GPGPU’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Mudge, T. 2001. Power: A first-class architectural design constraint. Computer 34, 4, 52--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. NVIDIA. 2011. Bringing High-End Graphics to Handheld Devices. Retrieved November 26, 2013 from http://www.nvidia.com/content/PDF/tegra_white_papers/Bringing_High-End_Graphics_to_Handheld_Devices.pdf.Google ScholarGoogle Scholar
  42. Planas, J., Badia, R. M., Ayguade, E., and Labarta, J. 2013. Self-adaptive OMPSS tasks in heterogeneous environments. In Proceedings of the IEEE International Parallel & Distributed Processing Symposium (IPDPS’’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Prisacariu, V. and Reid, I. 2009. FastHog—A Real-Time GPU Implementation of Hog. Technical Report 2310, 09. University of Oxford.Google ScholarGoogle Scholar
  44. Rattanatranurak, A., Kittitornkun, S., and Tongsima, S. 2012. Optimizing and multithreading snphap on a multi-core apu with opencl. In Proceedings of International Joint Conference on Computer Science and Software Engineering (JCSSE’12). 174--179.Google ScholarGoogle Scholar
  45. Reinders, J. 2007. Intel Threading Building Blocks, 1st ed. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Ren, G., Wu, P., and Padua, D. 2006. Optimizing data permutations for SIMD devices. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’06). 118--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Rotem, E., Naveh, A., Rajwan, D., Ananthakrishnan, A., and Weissmann, E. March-April 2012. Power-management architecture of the Intel microarchitecture code-named sandy bridge. IEEE Micro 32, 2, 20--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Sharrab, Y. and Sarhan, N. 2012. Accuracy and power consumption tradeoffs in video rate adaptation for computer vision applications. In Proceedings of the International Conference on Multimedia and Expo (ICME’12). 410--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Spafford, K., Meredith, J., Lee, S., Li, D., Roth, P., and Vetter, J. 2012. The tradeoffs of fused memory hierarchies in heterogeneous computing architectures. In Proceedings of the Conference on Computing Frontiers (CF’12). 103--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Talla, D., John, L., and Burger, D. Aug. 2003. Bottlenecks in multimedia processing with SIMD style extensions and architectural enhancements. IEEE Transaction on Computers 52, 8, 1015--1031. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Thoman, P., Kofler, K., Studt, H., Thomson, J., and Fahringer, T. 2011. Automatic openCL device characterization: Guiding optimized kernel design. In Euro-Par 2011. 438--452. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Weyuker, E. J. 1988. Evaluating software complexity measures. IEEE Transactions on Software Engineering 14, 9, 1357--1365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Yang, M., Ji, S., Xu, W., Wang, J., Lv, F., Yu, K., Gong, Y., Dikmen, M., Lin, D. J., and Huang, T. S. 2009. Detecting human actions in surveillance videos. In Proceedings of the TrecVID Video Evaluation Workshop.Google ScholarGoogle Scholar
  54. Zhang, C. and Zhang, Z. 2010. A Survey of Recent Advances in Face Detection. Technical Report MSR-TR-2010-66.Google ScholarGoogle Scholar
  55. Zhang, L. and Nevatia, R. 2008. Efficient scan-window based object detection using gpgpu. In Proceedings of the Computer Vision and Pattern Recognition Workshops (CVPRW’08). 1--7.Google ScholarGoogle Scholar
  56. Zhang, Y., Hu, Y., Li, B., and Peng, L. 2011. Performance and power analysis of ATI GPU: A statistical approach. In Proceedings of the IEEE International Conference on Networking, Architecture and Storage (NAS’11). 149--158. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Easy, fast, and energy-efficient object detection on heterogeneous on-chip architectures

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Architecture and Code Optimization
            ACM Transactions on Architecture and Code Optimization  Volume 10, Issue 4
            December 2013
            1046 pages
            ISSN:1544-3566
            EISSN:1544-3973
            DOI:10.1145/2541228
            Issue’s Table of Contents

            Copyright © 2013 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 December 2013
            • Accepted: 1 November 2013
            • Revised: 1 September 2013
            • Received: 1 June 2013
            Published in taco Volume 10, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader