請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/6016
完整後設資料紀錄
DC 欄位 | 值 | 語言 |
---|---|---|
dc.contributor.advisor | 廖世偉 | |
dc.contributor.author | Hung-Shun Chen | en |
dc.contributor.author | 陳泓瞬 | zh_TW |
dc.date.accessioned | 2021-05-16T16:19:27Z | - |
dc.date.available | 2018-08-20 | |
dc.date.available | 2021-05-16T16:19:27Z | - |
dc.date.copyright | 2013-08-20 | |
dc.date.issued | 2013 | |
dc.date.submitted | 2013-08-09 | |
dc.identifier.citation | [1] Aparapi. https://code.google.com/p/aparapi/.
[2] JavaCL. https://code.google.com/p/javacl/. [3] Jocl-java bindings for opencl. http://www.jocl.org/. [4] MattScarpino. https://http://www.openclblog.com/2013/03/ opencl-image-filtering-on-nexus-10.html/. [5] QualComm SDK. https://developer.qualcomm.com/discover/ mobile-platforms/android/. [6] Rahul Garg. https://bitbucket.org/codedivine/testcln10/src. [7] Android NDK Document, 2012. [8] P. Calvert. Parallelisation of java for graphics processors. Final-year dissertation at University of Cambridge Computer Laboratory. Available from http://www. cl. cam. ac. uk/ prc33, 2010. [9] S. Che, M. Boyer, J. Meng, D. Tarjan, J. W. Sheaffer, S.-H. Lee, and K. Skadron. Rodinia: A benchmark suite for heterogeneous computing. In Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on, pages 44–54. IEEE, 2009. [10] G. Dotzler, R. Veldema, and M. Klemm. Jcudamp: Openmp/java on cuda. In Proceedings of the 3rd International Workshop on Multicore Software Engineering, pages 10–17. ACM, 2010. [11] Google. Renderscript. http://developer.android.com/guide/ topics/renderscript/index.html. [12] K. Group. OpenCL. http://www.khronos.org/opencl/. [13] M. GSS. aopencl. https://code.google.com/p/aopencl/. [14] S. Lee, S.-J. Min, and R. Eigenmann. OpenMP to GPGPU: a compiler framework for automatic translation and optimization. In Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP ’09, pages 101–110, New York, NY, USA, 2009. ACM. [15] NVIDIA. CUDA Toolkit. http://developer.nvidia.com/ cuda-toolkit. [16] P. C. Pratt-Szeliga, J. W. Fawcett, and R. D. Welch. Rootbeer: Seamlessly using gpus from java. In High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), 2012 IEEE 14th International Conference on, pages 375–380. IEEE, 2012. [17] K. Skadron. Rodinia:Accelerating Compute-Intensive Applications with Accelerators. http://lava.cs.virginia.edu/Rodinia/. [18] R. Vallee-Rai, P. Co, E. Gagnon, L. Hendren, P. Lam, and V. Sundaresan. Soot: A java bytecode optimization framework. In CASCON First Decade High Impact Papers, pages 214–224. IBM Corp., 2010. [19] Y. Yan, M. Grossman, and V. Sarkar. Jcuda: A programmer-friendly interface for accelerating java programs with cuda. In Euro-Par 2009 Parallel Processing, pages 887–899. Springer, 2009. [20] C.-y. Yang, Y.-j.Wu, and S. Liao. O2render: An opencl-to-renderscript translator for porting across various gpus or cpus. In Embedded Systems for Real-time Multimedia (ESTIMedia), 2012 IEEE 10th Symposium on, pages 67–74. IEEE, 2012. | |
dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/6016 | - |
dc.description.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. | en |
dc.description.provenance | Made available in DSpace on 2021-05-16T16:19:27Z (GMT). No. of bitstreams: 1 ntu-102-R00922108-1.pdf: 2288858 bytes, checksum: 91c8017136a5d2d4628f15716afcef65 (MD5) Previous issue date: 2013 | en |
dc.description.tableofcontents | 口試委員會審定書i
Acknowledgments iii 致謝v 中文摘要vii Abstract ix 1 Introduction 1 1.1 Android-Aparapi: Higher-level than Renderscript . . . . . . . . . . . . . 1 1.2 Android-Aparapi’s Backend: Targeting OpenCL today . . . . . . . . . . 2 2 Parallel APIs: Aparapi and OpenCL 3 2.1 OpenCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Aparapi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Architecture of Android-Aparapi 7 3.1 Android-Aparapi Frontend on a PC or Workstation . . . . . . . . . . . . 7 3.2 Android-Aparapi Backend on an Android Device . . . . . . . . . . . . . 8 4 Boosting the API of Android-Aparapi 9 4.1 Optimizations in Android-Aparapi System . . . . . . . . . . . . . . . . . 10 5 Experimental Results 11 5.1 Android-Aparapi performance vs. original Aparapi performance . . . . . 12 5.2 JTP vs. GPU mode in Android-Aparapi . . . . . . . . . . . . . . . . . . 13 5.3 Android-Aparapi performance vs. original OpenCL performance on GPU 16 6 Related Work 19 7 Conclusion and Future Work 21 References 23 | |
dc.language.iso | en | |
dc.title | 基於Android平台實作高等計算架構 | zh_TW |
dc.title | Design and Implementation of High-Level Compute on Android
Systems | en |
dc.type | Thesis | |
dc.date.schoolyear | 101-2 | |
dc.description.degree | 碩士 | |
dc.contributor.oralexamcommittee | 徐慰中,黃維中,陳呈瑋 | |
dc.subject.keyword | Andriod,GPU,OpenCL,Aparapi,Rodinia, | zh_TW |
dc.relation.page | 24 | |
dc.rights.note | 同意授權(全球公開) | |
dc.date.accepted | 2013-08-09 | |
dc.contributor.author-college | 電機資訊學院 | zh_TW |
dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
顯示於系所單位: | 資訊工程學系 |
文件中的檔案:
檔案 | 大小 | 格式 | |
---|---|---|---|
ntu-102-1.pdf | 2.24 MB | Adobe PDF | 檢視/開啟 |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。