Abstract
With the recent advances in the programmability and performance of mobile Graphics Processing Units (GPUs), General-Purpose Graphics Processing Unit (GPGPU) technologies have become available even in mobile devices such as smartphones and tablets. Among the available GPGPU technologies for mobile devices, Open Computing Language (OpenCL) and RenderScript are used to accelerate applications in various fields such as computer graphics, image processing/recognition, and computer vision. For example, these technologies are used for detecting collisions and edges, processing data from a camera, recognizing an object in an image, processing the images stored on a device, and accelerating the drawing of an image when live wallpaper is used in Android-based devices. These technologies increase the processing speed as well as reduce the power consumption of mobile devices. In addition to these general applications, they have great potential for use in the optimizing algorithms of scientific fields. This paper describes GPGPU technologies for mobile devices, compares their similarities and differences, and compares their performance for further research purposes. To the best of our knowledge, this paper is the first work that compares and analyzes available GPGPU technologies for mobile devices.
Similar content being viewed by others
References
Bray T (2011) Introducing RenderScript. http://android-developers.blogspot.kr/2011/02/introducing-renderscript.html. Accessed 27 May 2015
Chang SM, Chang HH, Yen SH, Shih TK (2013) Panoramic human structure maintenance based on invariant features of video frames. Human-centric Computing and Information Sciences 3. doi: 10.1186/2192-1962-3-14
Cheng KT, Wang YC (2011) Using mobile GPU for general-purpose computing—a case study of face recognition on smartphones. Proceedings of International Symposium on VLSI Design, Automation, and Test (VLSI-DAT) 1 –4. doi: 10.1109/VDAT.2011.5783575
Ehringer D (2010) The Dalvik Virtual Machine Architecture. http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf. Accessed 27 May 2015
Ghimire D, Lee J (2013) A robust face detection method based on skin color and edges. J Inf Process Syst 9:141–156. doi:10.3745/JIPS.2013.9.1.141
Goswami K, Hong GS, Kim BG (2013) A novel mesh-based moving object detection technique in video sequence. J Converg 4:20–24
Hines S (2011) Android RenderScript. LLVM Developers’ Meeting. http://llvm.org/devmtg/2011-11/. Accessed 27 May 2015
HoneyComb. http://developer.android.com/about/versions/android-3.0-highlights.html. Accessed 27 May 2015
Hsueh HY, Chen CN, Huang KF (2013) Generating metadata from web documents: a systematic approach. Human-centric computing and information sciences 3. doi:10.1186/2192-1962-3-7
International Organization for Standardization (1999) ISO/IEC 9899:1999 Programming Languages—C. http://www.dii.uchile.cl/~daespino/files/Iso_C_1999_definition.pdf. Accessed 27 May 2015
Kemp R, Palmer N, Kielmann T, Bal H, Aarts B, Ghuloum A (2013) Using RenderScript and RCUDA for compute intensive tasks on mobile devices: a case Study. Proceedings of 1st European Workshop on Mobile Engineering (ME) 305–318
Khronos Group. http://www.khronos.org. Accessed 27 May 2015
Malkawi1 M, Murad O (2013) Artificial neuro fuzzy logic system for detecting human emotions. Human-centric Computing and Information Sciences 3. doi:10.1186/2192-1962-3-3
Manh H, Lee G (2013) Small object segmentation based on visual saliency in natural images. J Inf Process Syst 9:592–601. doi:10.3745/JIPS.2013.9.4.592
Munshi A (2009) The OpenCL specification version: 1.0. https://www.khronos.org/registry/cl/specs/opencl-1.0.pdf. Accessed 27 May 2015
Munshi A, Leech J (2010) OpenGLES common profile specification version 2.0.25 (Full Specification). http://www.khronos.org/registry/gles/. Accessed 27 May 2015
Package android.renderscript. http://developer.android.com/reference/android/renderscript/package-summary.html. Accessed 27 May 2015
Runtime API Reference. http://developer.android.com/guide/topics/renderscript/reference.html. Accessed 27 May 2015
Udayan JD, Kim H, Lee J, Kim JI (2013) Fractal based method on hardware acceleration for natural environments. J Converg 4:6–12
Verma OP, Jain V, Gumber R (2013) Simple fuzzy rule based edge detection. J Inf Process Syst 9:575–591. doi:10.3745/JIPS.2013.9.4.575
Wang G, Xiong Y, Yun J, Cavallaro JR (2013) Accelerating computer vision algorithms using OpenCL framework on the mobile GPU-a case study. Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP) 2629–2633. doi: 10.1109/ICASSP.2013.6638132
Yang X, Peng G, Cai Z, Zeng K (2013) Occluded and low resolution face detection with hierarchical deformable model. J Converg 4:11–14
Yang CY, Wu YJ, Liao S (2012) O2render: An OpenCL-to-RenderScript translator for porting across various GPUs or CPUs. Proceedings of Embedded Systems for Real-time Multimedia (ESTIMedia) 67–74. doi: 10.1109/ESTIMedia.2012.6507031
Zhang X, Kim YJ (2014) Scalable collision detection using p-partition fronts on many-core processors. IEEE Trans Vis Comput Graph 20:447–456. doi:10.1109/TVCG.2013.239
Acknowledgments
This work was supported by NRF in Korea (2015R1C1A1A01051839). Seok-Kyoo Kim is the corresponding author.
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Kim, S., Kim, SK. Comparison of OpenCL and RenderScript for mobile devices. Multimed Tools Appl 75, 14161–14179 (2016). https://doi.org/10.1007/s11042-016-3244-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-016-3244-2