簡易檢索 / 詳目顯示

研究生: 蕭睿
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.

    Chapter 1 Introduction 1 Chapter 2 Background 4 Chapter 3 Related Work 8 3.1 HSA Emulator: HSAemu 8 3.2 HSAemu Framework 8 3.3 HSAemu compilation framework 8 3.4 LLVM 9 3.5 Libclc 10 Chapter4 Designs and Implementations 11 4.1 Generic Address Space 11 4.2 Nested Parallelism 15 4.3 C11 Atomics 18 4.4 Pipes 19 4.5 Others 20 Chapter 5 Experiment and Result 21 5.1 Benchmarks 21 5.2 Experimental Results 23 Chapter 6 Conclusion and Future Work 25 REFERENCE 26

    [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/

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE