研究生: |
蕭睿 Hsiao, Jui |
---|---|
論文名稱: |
基於HSA之OpenCL 2.0編譯框架 An OpenCL 2.0 Compilation Framework for HSA |
指導教授: |
鍾葉青
Chung, Yeh-Ching |
口試委員: |
徐慰中
金仲達 洪士灝 陳添福 鍾葉青 |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2015 |
畢業學年度: | 103 |
語文別: | 英文 |
論文頁數: | 27 |
中文關鍵詞: | 模擬器 、異質系統架構 |
外文關鍵詞: | HSAemu |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
HSAemu Framework為符合HSA foundation所訂定之HSA架構下之模擬器,而支持此模擬器的編譯工具鏈為HSAemu Compilation Framework。 OpenCL為對應此類異質運算架構下的函式庫,提供相應的API來撰寫異質運算的程式。
OpenCL 2.0提供了更多的語言特性來發揮異質運算的優勢,其中包括:Shared Virtual Memory、Generic Address Space、Nested Parallelism、C11 Atomics、Pipe等等嶄新功能。
而現行僅HSAemu Framework在模擬器層級提供了OpenCL 2.0中Shared Virtual Memory此特性,現行版本的HSAemu Compilation Framework僅對OpenCL 1.2版提供支援。故舊版的HSAemu和對應的編譯工具僅能執行OpenCL 1.2版的異質運算程式。
此篇論文的主要目的為,提出一基於HSA架構且符合OpenCL 2.0特性的編譯框架,並與HSAemu Framework整合使用提供一可執行OpenCL 2.0程式的模擬框架。此篇的目標OpenCL 2.0特性分別為 Generic Address Space、Nested Parallelism、C11 Atomics、Pipe和其餘與之整合性使用之功能。
HSAemu Framework is an emulation framework, which is compliant with HSA
defined by HSA Foundation. The complier toolchain supporting HSAemu Framework
is HSAemu Compilation Framework. To use HSAemu Framework and HSAemu
Compilation Framework, users can write an OpenCL program and execute it. OpenCL
is a library, which provides APIs to control the heterogeneous device.
OpenCL 2.0 provides many new features for the heterogeneous computing, which
can bring many benefits. The features are Shared Virtual Memory, Generic Address
Space, Nested Parallelism, C11 Atomics and Pipes.
The original version HSAemu Framework only provides Shared Virtual Memory in
the hardware level, and the HSAemu Compilation Framework only supports OpenCL
1.2. In other words, the original version of HSAemu Framework and the compilation
toolchain only support OpenCL 1.2 programs.
In this paper, we focus on implementing an OpenCL 2.0 Compilation Framework
based on HSAemu compilation Framework. After cooperating with HSAemu
Framework, we can provide an emulation framework which is not only able to execute
OpenCL 2.0 programs and also HSA compliant. The main OpenCL 2.0 features we
focus on are Generic Address Space, Nested Parallelism, C11 Atomics and Pipe.
[1] OpenCL, https://www.khronos.org/opencl/
[2] HSA Foundation, http://www.hsafoundation.com/
[3] Jiun-Hung Ding, Bai-Cheng Jeng, Shih-Hao Hung, Wei-Chung Hsu and Yeh-Ching Chung, "HSAemu – A Full System Emulator for HSA Platforms", Proceedings of ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES + ISSS), Aritcle 26, Octerber 2014.
[4] Jiun-Hung Ding, Po-Chun Chang, Wei-Chung Hsu and Yeh-Ching Chung, "PQEMU: A Parallel System Emulator Based on QEMU," IEEE 17th International Conference on Parallel and Distributed Systems(ICPADS), Tainan, Taiwan, December 2011, pp.276-283.
[5] HSA Programmer Reference Manual Specification 1.0, 6 Mar 2015.
[6] HSA Runtime Specification 1.0, 6 Feb 2015.
[7] HSA Platform System Architecture Specification 1.0, 23 Jan 2015
[8] Zhoudong Guo and Yeh-Ching Chung, "HSA emulator design based on QEMU," June 2013.
[9] Chung-Min Kao and Yeh-Ching Chung, "The LLVM based GPU Compiler in Heterogeneous System Architecture Emu-lator: HTranslator," July 2013.
[10] Bai-Cheng Jeng and Yeh-Ching Chung, "HSAemu Framework," July 2014.
[11] Kuo-Min Lin and Yeh-Ching Chung, "A Compilation Framework for HSA," July 2014.
[12] The LLVM Compiler Infrastructure, http://llvm.org/
[13] libclc, http://libclc.llvm.org/
[14] Adam Lake (Intel) and Robert Ioffe (Intel), "The Generic Address Space in OpenCL™ 2.0," 6 February 2015. https://software.intel.com/en-us/articles/the-generic-address-space-in-opencl-20
[15] AMD, "APP SDK – A Complete Development Platform," http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/