| 研究生: |
金育涵 Chin, Yu-Han |
|---|---|
| 論文名稱: |
電子系統層級之除錯系統設計與例外處理程序架構實現於CASLab-GPU Debug System for ESL Design and Trap Handler Architecture on CASLAB-GPU |
| 指導教授: |
陳中和
Chen, Chung-Ho |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2018 |
| 畢業學年度: | 106 |
| 語文別: | 中文 |
| 論文頁數: | 78 |
| 中文關鍵詞: | 虛擬平台 、協同模擬 、繪圖處理器 、除錯器 、硬體除錯 |
| 外文關鍵詞: | Virtual Platform, Co-simualtion, GPGPU Simulation, Hardware Debugging, GDB |
| 相關次數: | 點閱:179 下載:13 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
現今晶片系統設計,隨著技術與製程提升變得日益複雜、開發耗時,而提出了ESL設計方案。在開發階段進行軟硬體協同模擬,讓開發者在初期平台上測試軟體,與硬體架構設計並行處理,提高效率。然而不論是軟、硬體開發者,在測試與驗證的過程中,若平台上沒有一個良好的除錯環境協助開發,將拖延開發時程,違背ESL設計理念。因此在開發前期的模擬平台上實現一個有效率的除錯系統是必要的。
除錯系統可分為兩塊子系統,一個是軟體除錯工具,另一個是硬體支援除錯功能。過去的除錯系統設計,多半於軟硬體協同模擬平台,針對功能、架構完整的CPU硬體進行建置;但若是開發階段中的繪圖處理器(GPU)架構上設置除錯系統,將面對兩個問題。第一為過去的除錯系統是針對CPU設計,不論是軟體除錯工具或硬體除錯模組,皆無法直接移植、沿用;第二個挑戰是在硬體架構尚未定案的平台上,同時開發、驗證硬體除錯模組,將面臨設計效率不佳,以及難以驗證其除錯功能。
本論文針對上述兩個問題提出了改良與新的解決方案,首先是軟體除錯工具,以GDB擴展功能,採用遠端除錯模式支援GPU除錯。其次是提出了利用SystemC內核模擬機制,以軟體技術取代硬體除錯模組實作,加速在ESL設計初期建置除錯系統。最後是在GPU硬體架構中,同步開發硬體除錯模組,使GPU具備執行例外狀況程序的能力,並在開發後期能銜接初期的除錯系統方案,讓GPU模擬平台在前後期開發,都能具備一套有效率的除錯系統。
Electronic System Level (ESL) design let developers fulfill hardware co-simulated with software in early design stage of SoC platform. In order to have an efficient design with testing, building a debug system on simulation platform is necessary. It can be divided into software tools and hardware support, two parts for debugging. However, for developing a GPU platform, these kinds of virtual platform prototype have no compatible debugging tools and the GPU hardware doesn’t have the mechanism to support software debug functions as well.
Accordingly, we propose a novel design in SystemC simulation platform to improve the problem as described above. For software debugging tools, we use remote debugging functions of GDB and extend them to support GPU hardware. For GPU hardware debugging support, we present two different trade-off soultions which are the debug system for ESL design and the trap handler architecture for GPU. The former achieves a hardware halted mechanism by using SystemC simulation kernel features while the latter is a real hardware architecture design to support debug system. The following are results of our debug system on CASLab-GPU simulation plaform. First, supporting the GDB remote debugging is needed. Then, the debug functions are satisfied with both software and hardware GPU developers by developing an efficient, low-cost hardware design in debug system for the early design stage. Finally, a trap handler architecture at warp-level context switch on CASLab-GPU is developed.
In conclusion, we use an innovative way to build the debug system including the software tools ad hardware modules design for CASLab-GPU and CPU co-simulation platform.
[1] O.Russakovsky et al., “ImageNet Large Scale Visual Recognition Challenge,” Int. J. Comput. Vis., vol. 115, no. 3, pp. 211–252, 2015.
[2] A.Krizhevsky, I.Sutskever, andG. E.Hinton, “ImageNet Classification with Deep Convolutional Neural Networks,” Adv. Neural Inf. Process. Syst., pp. 1–9, 2012.
[3] C.Szegedy et al., “Going Deeper with Convolutions,” pp. 1–9, 2014.
[4] K.He, X.Zhang, S.Ren, andJ.Sun, “Deep Residual Learning for Image Recognition,” 2016 IEEE Conf. Comput. Vis. Pattern Recognit., pp. 770–778, 2016.
[5] J.Hu, L.Shen, andG.Sun, “Squeeze-and-Excitation Networks,” pp. 1–11, 2017.
[6] J. X.Chen, “The Evolution of Computing: AlphaGo,” Comput. Sci. Eng., vol. 18, no. 4, pp. 4–7, 2016.
[7] H.Hubert andD.Rath, “Open On-Chip Debugger,” 2006.
[8] S.Lee, “An Instruction Set Simulator with GDB Support and its Full System Simulation Virtual Platform,” no. July, 2010.
[9] R.Stallman, R.Pesch, andS.Shebs, Debugging with gdb, vol. 1, no. April. 2002.
[10] “embecosm-howto-rsp-server-ean4-issue-2 @ www.embecosm.com.” [Online]. Available: https://www.embecosm.com/appnotes/ean4/embecosm-howto-rsp-server-ean4-issue-2.html.
[11] G.Gerfin andV.Venkataraman, “Debugging Experience with CUDA-GDB and CUDA-MEMCHECK,” 2012.
[12] “676419 @ software.intel.com.” [Online]. Available: https://software.intel.com/en-us/node/676419.
[13] A.Gerstlauer, C.Haubelt, A. D.Pimentel, T. P.Stefanov, D. D.Gajski, andJ.Teich, “Electronic system-level synthesis methodologies,” IEEE Trans. Comput. Des. Integr. Circuits Syst., vol. 28, no. 10, pp. 1517–1530, 2009.
[14] J.Aynsley, “OSCI TLM-2.0 language reference manual,” Open Syst. Initiat. (OSCI), Tech. Rep, no. July, p. 194, 2009.
[15] A.Bakhoda, G. L.Yuan, W. W. L.Fung, H.Wong, andT. M.Aamodt, “Analyzing CUDA workloads using a detailed GPU simulator,” ISPASS 2009 - Int. Symp. Perform. Anal. Syst. Softw., pp. 163–174, 2009.
[16] M.Abadi et al., “TensorFlow: A System for Large-Scale Machine Learning TensorFlow: A system for large-scale machine learning,” 12th USENIX Symp. Oper. Syst. Des. Implement. (OSDI ’16), pp. 265–284, 2016.
[17] “index @ www.hsafoundation.com.” [Online]. Available: http://www.hsafoundation.com/.
[18] C.-M.Yang, “An Efficient ESL Co-Simulation Platform using Shared-Memory Communication Scheme,” 2011.
[19] M.Tan, “A minimal GDB stub for embedded remote debugging,” 2002.
[20] S.-C.Hsu, “應用於智慧工業之可攜式虛擬處理器系統,” 2017.
[21] D. C.Black, System C: From the Ground Up, vol. 53, no. 9. 2013.
[22] I.Tanasic, I.Gelado, M.Jorda, E.Ayguade, andN.Navarro, “Efficient exception handling support for GPUs,” in Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture - MICRO-50 ’17, 2017.
[23] “Index @ Docs.Nvidia.Com.” [Online]. Available: http://docs.nvidia.com/gameworks/index.html#developertools/desktop/analysis/report/cudaexperiments/kernellevel/achievedoccupancy.htm?Highlight=occupancy.