研究生: |
王崇滕 Wang, Chong-Teng |
---|---|
論文名稱: |
RISC-V向量擴展指令集在Gem5的模擬及驗證 Gem5 Simulation and Verification for RISC-V Vector Extension |
指導教授: |
李政崑
Lee, Jenq-Kuen |
口試委員: |
黃冠寰
Hwang, Gwan-Hwan 張峯銘 Chang, Feng-Ming |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2024 |
畢業學年度: | 112 |
語文別: | 英文 |
論文頁數: | 41 |
中文關鍵詞: | RISC-V 、向量擴展指令集 、RVV intrinsic 、gem5模擬器 、半精度浮 點數 |
外文關鍵詞: | RISC-V, Vector extension, RVV intrinsic, The gem5 Simulator, FP16 |
相關次數: | 點閱:47 下載:4 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本研究探討並驗證了RISC-V向量擴充指令集(RVV)在gem5模擬器上的實作。gem5是一個用於電腦系統架構研究的平台。與其他模擬器不同,gem5提供cycle-level的模擬,這對於精確模擬RVV指令至關重要,特別是對於機器學習或雲端運算等高資料級平行性工作負載而言。本研究的主要貢獻在於提出了gem5上RVV指令的修正方案,並實作了Zvfh和Zvfhmin,這是支援FP16標準的向量擴充指令集。
實作的驗證使用了遵循RISC-V Compatibility Framework(RISCOF)測試格式規範的RISC-V架構測試。除此之外,本研究還包括在gem5上開發超長指令字(VLIW)架構,以同時利用指令級和資料級平行性的優勢。
提出的修正方案已經修正了gem5上的995條RVV指令,每條指令都有不同的LMUL和SEW設定。
This thesis discusses and verifies the implementation of the RISC-V Vector Extension (RVV) on the gem5 simulator, a platform for computer-system architecture research. Unlike other simulators, gem5 offers cycle-level simulation, crucial for accurately simulating RVV instructions, especially for high data-level parallelism workloads like machine learning or cloud computing. The thesis’s main contributions are the proposed fixes for the RVV instructions on gem5 and the implementation of Zvfh and Zvfhmin, which are standard vector extension with FP16 support. The implementation’s verification uses RISC-V architectural tests following the RISC-V Compatibility Framework (RISCOF) Test Format Spec. The thesis also includes developing a Very Long Instruction Word (VLIW) architecture on gem5 to leverage both instruction-level and data-level parallelism benefits. The proposed fixes have corrected 995 RVV instructions on gem5, each with different LMUL and SEW settings.
[1] J. Lowe-Power, A. M. Ahmad, A. Akram, M. Alian, R. Amslinger,
M. Andreozzi, A. Armejach, N. Asmussen, B. Beckmann, S. Bharadwaj,
G. Black, G. Bloom, B. R. Bruce, D. R. Carvalho, J. Castrillon, L. Chen,
N. Derumigny, S. Diestelhorst, W. Elsasser, C. Escuin, M. Fariborz,
A. Farmahini-Farahani, P. Fotouhi, R. Gambord, J. Gandhi, D. Gope,
T. Grass, A. Gutierrez, B. Hanindhito, A. Hansson, S. Haria, A. Harris,
T. Hayes, A. Herrera, M. Horsnell, S. A. R. Jafri, R. Jagtap, H. Jang,
R. Jeyapaul, T. M. Jones, M. Jung, S. Kannoth, H. Khaleghzadeh,
Y. Kodama, T. Krishna, T. Marinelli, C. Menard, A. Mondelli,
M. Moreto, T. Mück, O. Naji, K. Nathella, H. Nguyen, N. Nikoleris,
L. E. Olson, M. Orr, B. Pham, P. Prieto, T. Reddy, A. Roelke,
M. Samani, A. Sandberg, J. Setoain, B. Shingarov, M. D. Sinclair,
T. Ta, R. Thakur, G. Travaglini, M. Upton, N. Vaish, I. Vougioukas,
W. Wang, Z. Wang, N. Wehn, C. Weis, D. A. Wood, H. Yoon, and
Éder F. Zulian, “The gem5 simulator: Version 20.0+,” 2020. [Online].
Available: https://arxiv.org/abs/2007.03152
[2] L. Wang, R.-W. Tsai, S.-C. Wang, K.-C. Chen, P.-H. Wang, H.-Y.
Cheng, Y.-C. Lee, S.-J. Shu, C.-C. Yang, M.-Y. Hsu, L.-C. Kan, C.
L. Lee, T.-C. Yu, R.-D. Peng, C.-L. Yang, Y.-S. Hwang, J.-K. Lee, S.-L.Tsao, and M. Ouhyoung, “Analyzing opencl 2.0 workloads using a het
erogeneous cpu-gpu simulator,” in 2017 IEEE International Symposium
on Performance Analysis of Systems and Software (ISPASS), 2017, pp.
127–128.
[3] RISC-V Foundation, Spike RISC-V ISA Simulator (Spike), 2021. [On
line]. Available: https://github.com/riscv-software-src/riscv-isa-sim
[4] QEMU, 2023. [Online]. Available: https://www.qemu.org/
[5] N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu,
J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell,
M. Shoaib, N. Vaish, M. D. Hill, and D. A. Wood, “The gem5
simulator,” SIGARCH Comput. Archit. News, vol. 39, no. 2, p. 1–7, aug
2011. [Online]. Available: https://doi.org/10.1145/2024716.2024718
[6] C.-T. Wang, M.-S. Yu, and J.-K. Lee, Verification of the RISC-V Vector
Extension for the gem5 Simulator. CTHPC, 2024.
[7] RISC-V Vector Extension Proposal, 2021. [Online]. Available: https:
//github.com/riscv/riscv-v-spec/releases/tag/v1.0
[8] Qualcomm. [Online]. Available: https://www.qualcomm.com/
[9] Imperas Software. [Online]. Available: https://www.imperas.com/
[10] arch-riscv: Fix issue when vl=0 in VectorIntMaskMacroConstructor,
2024. [Online]. Available: https://github.com/gem5/gem5/pull/715
[11] arch-riscv: Fix load and store to use EEW instead of SEW, 2024.
[Online]. Available: https://github.com/gem5/gem5/pull/859
[12] arch-riscv: Fix vsadd_vi and vsaddu_vi to match v-spec, 2024. [Online].
Available: https://github.com/gem5/gem5/pull/805
[13] arch-riscv: Fix narrowing widening type-convert instructions, 2024.
[Online]. Available: https://github.com/gem5/gem5/pull/1079
[14] arch-riscv: Fix viota instruction, 2024. [Online]. Available: https:
//github.com/gem5/gem5/pull/1137
[15] arch-riscv: Add RVV FP16 support (Zvfh Zvfhmin), 2024. [Online].
Available: https://github.com/gem5/gem5/pull/1123
[16] H.-C. Chang, J.-K. Lin, M.-S. Yu, T.-L. Chen, and J.-K. Lee, Developing
Vienna, Austria: Euro LLVM, 2024.
an LLVM Backend for VLIW RISC-V Vector Extension Architectures.
[17] X. Yang and H. He, “An advanced compiler designed for a vliw dsp for
sensors-based systems,” Sensors (Basel), vol. 12, no. 4, pp. 4466–4478,
2012