DocumentCode :
669770
Title :
Design and implementation of high-level compute on Android systems
Author :
Hung-Shuen Chen ; Jr-Yuan Chiou ; Cheng-Yan Yang ; Yi-jui Wu ; Wei-chung Hwang ; Hao-Chien Hung ; Shih-Wei Liao
Author_Institution :
Nat. Taiwan Univ., Taipei, Taiwan
fYear :
2013
fDate :
3-4 Oct. 2013
Firstpage :
96
Lastpage :
104
Abstract :
As Android devices come with various CPU and GPU cores, the demand for effective parallel computing across-the-board increases. In response, Google has released Renderscript to leverage parallel computing while maintaining portability. However, the adoption has been slow - We hardly see any Renderscript apps on Google Play. In the meantime, the proliferation of heterogeneous cores inside a single device calls for a higher-level, more developer-friendly parallel language. Since most Android developers already use Java, we develop the first Java-based compute system on Android called Android-Aparapi. Android-Aparapi facilitates programmers´ adoption of compute by obviating the need of learning a new language like Renderscript, thus the software can start catching up with the hardware trend of doubling the number of cores periodically. Furthermore, Android-Aparapi is a better defined API than the original Aparapi. We support comprehensive set of data types and their array forms in terms of Java objects. In addition, we propose innovative optimizations that effectively reduce the Java-Native Interface overheads. Finally, we develop an Android-Aparapi benchmark suite by extending Rodinia benchmark to Android. The Java´s Thread Pool version of the suite runs 3 times slower than the Android-Aparapi version. This demonstrate the effectiveness of our high-level compute system. Furthermore, we compare our Android-Aparapi version with the existing lower-level OpenCL version and show that the performance is comparable (Our performance is at 88% of OpenCL´s). In short, we achieve higher-level abstraction without sizable losing performance.
Keywords :
Android (operating system); Java; application program interfaces; API; Android systems; Android-Aparapi; Java objects; Java thread pool version; Java-based compute system; Rodinia benchmark; high-level compute system; innovative optimizations; lower-level OpenCL; renderscript; Androids; Arrays; Benchmark testing; Graphics processing units; Humanoid robots; Java; Kernel;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Embedded Systems for Real-time Multimedia (ESTIMedia), 2013 IEEE 11th Symposium on
Conference_Location :
Montreal, QC
Type :
conf
DOI :
10.1109/ESTIMedia.2013.6704508
Filename :
6704508
Link To Document :
بازگشت