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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- Bergman, J. 2010. Energy Efficient Graphics: Making the Rendring Process Power Aware. Ph.D. thesis, Uppsala University.Google Scholar
- 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 ScholarDigital Library
- Bradski, G. 2000. The OpenCV Library. Dr. Dobb’s Journal of Software Tools.Google Scholar
- Burges, C. J. 1998. A tutorial on support vector machines for pattern recognition. Data Mining and Knowledge Discovery 2, 2, 121--167. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- Halstead, M. H. 1977. Elements of Software Science (Operating and Programming Systems Series). Elsevier Science Inc. Google ScholarDigital Library
- 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 Scholar
- Intel. 2013a. Intel SK for OpenCL Applications 2013. Retreived November 26, 2013 from http://software.intel.com/en-us/vcsource/tools/opencl-sdk.Google Scholar
- Intel. 2013b. OpenCL Optimization Guide. Retrieved November 26, 2013 from http://software.intel.com/sites/products/documentation/ioclsdk/2013/OG/index.htm.Google Scholar
- 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 ScholarDigital Library
- Jones, M. and Viola, P. 2003. Fast Multi-View Face Detection. Technical Report TR-20003-96 3. Mitsubishi Electronic Research Lab.Google Scholar
- 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 ScholarDigital Library
- Kumar, R., Tullsen, D. M., Jouppi, N. P., and Ranganathan, P. 2005. Heterogeneous chip multiprocessors. Computer 38, 11. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Maji, S. and Malik, J. 2009. Object detection using a max-margin hough transform. In Computer Vision and Pattern Recognition. IEEE, 1038--1045.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Mudge, T. 2001. Power: A first-class architectural design constraint. Computer 34, 4, 52--58. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Prisacariu, V. and Reid, I. 2009. FastHog—A Real-Time GPU Implementation of Hog. Technical Report 2310, 09. University of Oxford.Google Scholar
- 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 Scholar
- Reinders, J. 2007. Intel Threading Building Blocks, 1st ed. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Weyuker, E. J. 1988. Evaluating software complexity measures. IEEE Transactions on Software Engineering 14, 9, 1357--1365. Google ScholarDigital Library
- 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 Scholar
- Zhang, C. and Zhang, Z. 2010. A Survey of Recent Advances in Face Detection. Technical Report MSR-TR-2010-66.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Easy, fast, and energy-efficient object detection on heterogeneous on-chip architectures
Recommendations
Adaptive optimization for OpenCL programs on embedded heterogeneous systems
LCTES 2017: Proceedings of the 18th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded SystemsHeterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such ...
Dynamic Partitioning-based JPEG Decompression on Heterogeneous Multicore Architectures
PMAM'14: Proceedings of Programming Models and Applications on Multicores and ManycoresWith the emergence of social networks and improvements in computational photography, billions of JPEG images are shared and viewed on a daily basis. Desktops, tablets and smartphones constitute the vast majority of hardware platforms used for displaying ...
Adaptive optimization for OpenCL programs on embedded heterogeneous systems
LCTES '17Heterogeneous multi-core architectures consisting of CPUs and GPUs are commonplace in today’s embedded systems. These architectures offer potential for energy efficient computing if the application task is mapped to the right core. Realizing such ...
Comments