[發(fā)明專利]基于一種面向risc-v的編譯器設(shè)計實現(xiàn)方法在審
| 申請?zhí)枺?/td> | 202210166748.3 | 申請日: | 2022-02-23 |
| 公開(公告)號: | CN114546489A | 公開(公告)日: | 2022-05-27 |
| 發(fā)明(設(shè)計)人: | 蔡斌;葛云生;丁赟;張立志;李斌;徐培欣;吳靜 | 申請(專利權(quán))人: | 厘壯信息科技(蘇州)有限公司 |
| 主分類號: | G06F9/302 | 分類號: | G06F9/302;G06F9/30;G06N3/04;G06N3/063 |
| 代理公司: | 北京挺立專利事務(wù)所(普通合伙) 11265 | 代理人: | 余瑩 |
| 地址: | 215600 江蘇省蘇州*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 一種 面向 risc 編譯器 設(shè)計 實現(xiàn) 方法 | ||
本發(fā)明涉及編譯器設(shè)計的技術(shù)領(lǐng)域,公開了基于一種面向risc?v的編譯器設(shè)計實現(xiàn)方法,包括:設(shè)計構(gòu)建PE計算單元,所述PE計算單元包括浮點數(shù)量化單元、乘積累加單元以及寄存器;基于PE計算單元構(gòu)建二維脈動陣列;擴展上述構(gòu)建的二維脈動陣列,并將擴展后的二維脈動陣列作為編譯器的編譯計算模塊;編譯器接收原始數(shù)據(jù)以及編譯操作指令,利用編譯計算模塊進行數(shù)據(jù)的計算存儲。本發(fā)明所述方法基于risc?v指令集實現(xiàn)編譯器的設(shè)計構(gòu)建,且所設(shè)計的編譯器基于多個PE計算單元可實現(xiàn)神經(jīng)網(wǎng)絡(luò)的參數(shù)計算,所設(shè)計的編譯器通過實時對計算結(jié)果進行量化,提高了編譯計算的速度,基于雙緩存機制的編譯計算模塊將會提高計算設(shè)備的吞吐量,減少PE計算單元的空閑時間。
技術(shù)領(lǐng)域
本發(fā)明涉及編譯器設(shè)計的技術(shù)領(lǐng)域,尤其涉及基于一種面向risc-v的編譯器設(shè)計實現(xiàn)方法。
背景技術(shù)
高性能、低功耗、高可靠已成為編譯器的發(fā)展趨勢。一方面,高性能始終是編譯器設(shè)計的主要研究方向;另一方面,低功耗和高可靠設(shè)計方法會對編譯器造成一定的性能損失,如何以更少的時序代價實現(xiàn)低功耗和高可靠設(shè)計,也成為了編譯器設(shè)計中的關(guān)鍵問題。
同時隨著深度學習技術(shù)已經(jīng)走進并開始影響人們的生活,移動終端、嵌入式系統(tǒng)、單片機以及各種AI加速器都是深度學習應用落地的重要硬件平臺,不同平臺通常有不同的功能和特性,要在不同類型的設(shè)備上都獲得最佳性能非常困難,因為需要基于硬件對模型與運算核心同時進行優(yōu)化才能充分發(fā)揮硬件的性能。因此為各種計算平臺和加速器研發(fā)配套的編譯器來實現(xiàn)模型的高性能部署是深度學習領(lǐng)域的一個工作重點。針對上述問題,本專利提出一種面向risc-v的編譯器設(shè)計實現(xiàn)方法。
發(fā)明內(nèi)容
本發(fā)明提供基于一種面向risc-v的編譯器設(shè)計實現(xiàn)方法,目的在于(1)基于risc-v指令集實現(xiàn)編譯器的設(shè)計構(gòu)建;(2)所設(shè)計的編譯器可實現(xiàn)神經(jīng)網(wǎng)絡(luò)的參數(shù)計算。
實現(xiàn)上述目的,本發(fā)明提供的基于一種面向risc-v的編譯器設(shè)計實現(xiàn)方法,包括以下步驟:
S1:設(shè)計構(gòu)建PE計算單元,所述PE計算單元包括浮點數(shù)量化單元、乘積累加單元以及寄存器;
S2:基于PE計算單元構(gòu)建二維脈動陣列;
S3:擴展上述構(gòu)建的二維脈動陣列,并將擴展后的二維脈動陣列作為編譯器的編譯計算模塊;
S4:編譯器接收原始數(shù)據(jù)以及編譯操作指令,利用編譯計算模塊進行數(shù)據(jù)的計算存儲。
作為本發(fā)明的進一步改進方法:
所述S1步驟中設(shè)計構(gòu)建PE計算單元中的浮點數(shù)量化單元,包括:
所述浮點數(shù)量化單元實時對乘積累加單元中計算得到的浮點數(shù)進行量化處理,所述浮點數(shù)量化處理的公式為:
其中:
float表示乘積累加單元中計算得到的浮點數(shù),浮點數(shù)精度為FLOAT32;
INT表示浮點數(shù)量化單元對浮點數(shù)float的量化結(jié)果,量化結(jié)果的精度為INT8;
floatmax,floatmin分別表示原始浮點數(shù)的最大閾值以及最小閾值,在本發(fā)明中,將floatmax設(shè)置為3.672,將floatmin設(shè)置為0.001;通過在神經(jīng)網(wǎng)絡(luò)訓練過程中對模型參數(shù)進行量化,將高精度參數(shù)轉(zhuǎn)換為低精度參數(shù),使得編譯器可以使用支持低比特運算指令集的硬件,減少了對編譯器硬件規(guī)格的要求,提高了編譯計算的速度,并使得訓練得到的神經(jīng)網(wǎng)絡(luò)參數(shù)更好的適應量化帶來的信息損失;
所述S1步驟中設(shè)計構(gòu)建PE計算單元中的寄存器,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于厘壯信息科技(蘇州)有限公司,未經(jīng)厘壯信息科技(蘇州)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210166748.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 使用PARADIGM對miRNA誘導的乳腺癌中的沉默進行建模
- 基于RISC-V處理器的系統(tǒng)移植方法及相關(guān)組件
- 一種基于RISC-V的內(nèi)存保護方法
- 一種基于FPGA與RISC-V的互聯(lián)交換方法
- 一種基于RISC-V的智能安全網(wǎng)絡(luò)板卡
- 一種基于RISC-V的多核程序調(diào)度系統(tǒng)及方法
- 基于RISC-V處理器的芯片驗證方法、設(shè)備及存儲介質(zhì)
- 基于FPGA實現(xiàn)的RISC-V處理器、FPGA芯片及片上系統(tǒng)
- 一種并行計算加速器及嵌入式系統(tǒng)
- 根據(jù)一條指令執(zhí)行多次操作的方法和裝置





