| 研究生: |
朱玉婷 Chu, Yu Ting |
|---|---|
| 論文名稱: |
設計與實踐CASLAB-GPU平台之除錯器 Design of Debugger Framework for CASLab-GPU Platform |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2021 |
| 畢業學年度: | 109 |
| 語文別: | 中文 |
| 論文頁數: | 71 |
| 中文關鍵詞: | 編譯器 、除錯器 、ESL設計 、通用繪圖處理器 |
| 外文關鍵詞: | Compiler, Debugger, ESL Design, GPGPU |
| 相關次數: | 點閱:150 下載:7 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
隨著科技與製程技術不斷的進步,電腦與通訊等產品功能的急速提昇及多元化、可攜性與輕巧化的需求及面對產品上市時程(time-to-market)與生命週期短,系統晶片面臨了許多架構設計與開發上的挑戰。由上述趨勢可知,對於開發人員來說開發週期被大幅的縮減,為有效解決此問題並加速開發流程,提出了電子系統層級設計技術(Electronic System Level, ESL)作為設計與驗證的方法。傳統的晶片系統開發流程,軟體部分的開發必須等待硬體設計完成才能進行整合,此設計流程除了會造成開發上時程被拉長外,整合上也會因為軟硬體分別開發而產生不少問題。ESL方案的設計概念是在硬體開發初期,提供能讓軟體開發者進行軟硬體模擬的平台,以加快晶片設計的開發流程。本實驗室採用ESL方案自行設計通用型繪圖處理器,目標為適用於終端之高效能及低功耗加速處理器。
為加速開發流程,完善開發者在開發過程中使用的開發工具也是至關重要的,本論文針對本實驗室全系統模擬虛擬平台設計除錯系統。其設計可分為兩塊子系統,一個是軟體除錯工具設計,另一個是硬體模組支援除錯。
在本論文的ESL系統中,以QEMU虛擬機模擬開源指令架構RISC-V CPU,在虛擬機中移植客制化的除錯器,使其可針對運行在本實驗室以SystemC高階硬體描述語言開發的通用型繪圖處理器CASLab GPU上的平行程式進行除錯。於全模擬平台上支援除錯系統,能使目前仍在開發階段的CASLab GPU更有效率地進行除錯及後續開發。
With the dramatic increase in the complexity of electronic ICs, rapidly evolving technologies, and ever-changing markets, development times are becoming shorter and shorter. This paper describes the implementation of the debug system on the CASLab GPU-SIM full system simulation platform. The debug system and automatic development tools were introduced to ease the time-consuming work of developers and increase productivity in the CASLab-GPU development of hardware and software co-design environment.
To build the co-debugging system between the host CPU and the target GPU in our platform, the customized debugger and various debugging functions are integrated into the debugging environment. The design can be divided into two subsystems; one is the software debugging tool and the other is the hardware module that supports debugging. Supporting the debugging system on the full system simulation platform enables more efficient development of the CASLab GPU.
[1] RISC-V Foundation, “RISC-V: The Free and Open RISC Instruction Set Architecture”, [Online]. Available: https://riscv.org/
[2] HSA Foundation. “Heterogeneous System Architecture,” [Online]. Available: http://www.hsafoundation.com/.
[3] Khronos OpenCL Working Group, “The OpenCL Specification,” [Online]. Available: https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
[4] Dun-Jie Chen, “LLVM-based OpenCL Compiler for CASLab-GPU,” the thesis for Master of Science. National Cheng Kung University, Tainan, Taiwan. 2019.
[5] “The Linux Kernel Archives” [Online]. Available: https://www.kernel.org/
[6] Bellard, F.. “QEMU, a Fast and Portable Dynamic Translator,” USENIX Annual Technical Conference, FREENIX Track (2005).
[7] Sheng-Yang Hung, “Virtual Platform Design of Acceleration based on RISC-V Architecture with CASLab-GPU,” the thesis for Master of Science. National Cheng Kung University, Tainan, Taiwan. 2021.
[8] Yu-Hsiang Wang, “CASLAB-GPU Verification on FPGA and Optimization of Warp Scheduling and Memory Subsystem,” the thesis for Master of Science. National Cheng Kung University, Tainan, Taiwan. 2021.
[9] SystemC, [Online]. Available:https://www.accellera.org/downloads/standards/systemc
[10] Bakhoda, Ali, et al. “Analyzing CUDA workloads using a detailed GPU simulator,” 2009 IEEE International Symposium on Performance Analysis of Systems and Software. IEEE, 2009.
[11] NVIDIA: Compute Unified Device Architecture (CUDA) Toolkit,version 3.2. [Online]. Available: http://developer.nvidia.com/object/cuda_3_2_downloads.html
[12] NVIDIA Corporation. [n.d.].CUDA-GDB: The NVIDIA CUDA debugger for Linuxand QNX targets [Online]. Available: https://docs.nvidia.com/cuda/cuda-gdb
[13] The GDB developer community. [n.d.].GDB: The GNU Project Debugger [Online]. Available: https://www.gnu.org/software/gdb/
[14] ARM Debugger User Guide [Online]. Available: https://developer.arm.com/documentation/dui0446/v/controlling-execution/working-with-breakpoints-and-watchpoints
[15] Barış Aktemur, Markus Metzger, Natalia Saiapova, and Mihails Strasuns. 2020. Debugging SYCL Programs on Heterogeneous Intel® Architectures. In Proceedings of the International Workshop on OpenCL (IWOCL '20). Association for Computing Machinery, New York, NY, USA, Article 13, 1–10. DOI: https://doi.org/10.1145/3388333.3388646
[16] Peter B. Kessler. 1990. Fast breakpoints: design and implementation. SIGPLAN Not. 25, 6 (Jun. 1990), 78–84. DOI: https://doi.org/10.1145/93548.93555
[17] A. Vasudevan and R. Yerraballi, "Stealth breakpoints," 21st Annual Computer Security Applications Conference (ACSAC'05), 2005, pp. 10 pp.-392, doi: 10.1109/CSAC.2005.52.
[18] Deng Z , Zhang X , Xu D . SPIDER: stealthy binary program instrumentation and debugging via hardware virtualization [C] Computer Security Applications Conference. ACM, 2013.
[19] David Wilkins, Hardware Assisted Breakpoints inthe Linux Kernel for LEON SPARC