Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

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

Published: 01 December 2013 Publication History

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.
[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.
[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.
[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.
[5]
Bergman, J. 2010. Energy Efficient Graphics: Making the Rendring Process Power Aware. Ph.D. thesis, Uppsala University.
[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.
[7]
Bradski, G. 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools.
[8]
Burges, C. J. 1998. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery 2, 2, 121--167.
[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).
[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.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[23]
Halstead, M. H. 1977. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc.
[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.
[25]
Intel. 2013a. Intel SK for OpenCL Applications 2013. Retreived November 26, 2013 from http://software.intel.com/en-us/vcsource/tools/opencl-sdk.
[26]
Intel. 2013b. OpenCL Optimization Guide. Retrieved November 26, 2013 from http://software.intel.com/sites/products/documentation/ioclsdk/2013/OG/index.htm.
[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).
[28]
Jones, M. and Viola, P. 2003. Fast Multi-View Face Detection. Technical Report TR-20003-96 3. Mitsubishi Electronic Research Lab.
[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.
[30]
Kumar, R., Tullsen, D. M., Jouppi, N. P., and Ranganathan, P. 2005. Heterogeneous chip multiprocessors. Computer 38, 11.
[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.
[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.
[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).
[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).
[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).
[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.
[37]
Maji, S. and Malik, J. 2009. Object detection using a max-margin hough transform. In Computer Vision and Pattern Recognition. IEEE, 1038--1045.
[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.
[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).
[40]
Mudge, T. 2001. Power: A first-class architectural design constraint. Computer 34, 4, 52--58.
[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.
[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).
[43]
Prisacariu, V. and Reid, I. 2009. FastHog—A Real-Time GPU Implementation of Hog. Technical Report 2310, 09. University of Oxford.
[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.
[45]
Reinders, J. 2007. Intel Threading Building Blocks, 1st ed.
[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.
[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.
[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.
[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.
[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.
[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.
[52]
Weyuker, E. J. 1988. Evaluating software complexity measures. IEEE Transactions on Software Engineering 14, 9, 1357--1365.
[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.
[54]
Zhang, C. and Zhang, Z. 2010. A Survey of Recent Advances in Face Detection. Technical Report MSR-TR-2010-66.
[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.
[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.

Cited By

View all
  • (2016)A black-box approach to energy-aware scheduling on integrated CPU-GPU systemsProceedings of the 2016 International Symposium on Code Generation and Optimization10.1145/2854038.2854052(70-81)Online publication date: 29-Feb-2016
  • (2016)Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip ProcessorsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2015.243280927:4(1099-1115)Online publication date: 1-Apr-2016
  • (2016)High Performance Video Processing in Cloud Data Centres2016 IEEE Symposium on Service-Oriented System Engineering (SOSE)10.1109/SOSE.2016.56(152-161)Online publication date: Mar-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 01 December 2013
Accepted: 01 November 2013
Revised: 01 September 2013
Received: 01 June 2013
Published in TACO Volume 10, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Energy efficiency
  2. OpenCL
  3. SIMD
  4. heterogeneous on-chip architectures
  5. portable (mobile) devices

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)5
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)A black-box approach to energy-aware scheduling on integrated CPU-GPU systemsProceedings of the 2016 International Symposium on Code Generation and Optimization10.1145/2854038.2854052(70-81)Online publication date: 29-Feb-2016
  • (2016)Mapping Streaming Applications on Commodity Multi-CPU and GPU On-Chip ProcessorsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2015.243280927:4(1099-1115)Online publication date: 1-Apr-2016
  • (2016)High Performance Video Processing in Cloud Data Centres2016 IEEE Symposium on Service-Oriented System Engineering (SOSE)10.1109/SOSE.2016.56(152-161)Online publication date: Mar-2016
  • (2015)A Two-Level Task Scheduler on Multiple DSP System for OpenCLAdvances in Mechanical Engineering10.1155/2014/7548356(754835)Online publication date: 14-Feb-2015
  • (2015)Calculation of dense trajectory descriptors on a heterogeneous embedded architectureJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2015.09.00361:10(659-667)Online publication date: 1-Nov-2015
  • (2014)Evaluation of a Feature Tracking Vision Application on a Heterogeneous ChipProceedings of the 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing10.1109/SBAC-PAD.2014.45(246-253)Online publication date: 22-Oct-2014

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media