国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

芯來科技與華東師范大學SOLE實驗室合作推動LLVM/CLANG編譯器優化

芯來科技 ? 來源:芯來科技 ? 2024-06-12 09:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著RISC-V這一革命性的開源指令集架構在全球范圍內的迅速普及,它為半導體行業帶來了前所未有的機遇與挑戰。在此大背景下,芯來科技和華東師范大學SOLE實驗室攜手合作,致力于在RISC-V處理器上進行深入的LLVM/CLANG編譯器優化以及程序性能優化和調優。

我們不僅優化了LLVM編譯器的多個關鍵環節,提升了代碼生成效率和執行性能,還針對視頻編解碼、性能測試等應用場景進行了深入分析和優化,提高了相關軟件的執行效率。

此次合作在RISC-V處理器上實現了一定程度的性能提升,同時,我們也希望能夠為RISC-V性能優化領域的同仁們提供一些有益的借鑒和參考。我們相信,通過持續的技術創新和開放的合作精神,我們可以共同推動這一領域的發展和進步。下面是我們本次合作的主要成果。

一、MCPPass冗余指令的刪除優化

在LLVM-17.x版本當中,生成的RISC-V端代碼會出現冗余數據搬運指令無法刪除的問題,詳情如下圖所示。在兩個紅框顯示的vmv指令當中,v0以及v8寄存器的值都沒有得到改變,但LLVM最終生成的RISC-V代碼依然會對這兩個值進行重復搬運。

0e843102-2858-11ef-91d2-92fbcf53809c.png

冗余vmv指令無法在LLVM/Clang中消除的示例

經過核查,出現該問題的根因是LLVM的Machine Copy Propagation Pass對寄存器使用的Def-Use記錄不當所導致。經過對該問題進行修復后,該工作已經提交到了LLVM的上游倉庫。該優化亦應用到了LLVM多個后端的代碼生成當中,如RISC-V、X86以及AMDGPU的后端代碼生成當中。

二、RVV的低精度數據向量化取余以及右移代碼生成優化

C語言會采用Promotion Rule來保證混合精度或者是低精度數據運算結果的準確性,當遇到低精度數據如int8或者int16類型的數據進行逐元素(Element-Wise)取余或者是算術右移操作時,會先將相應的數據提升至32位,再將結果進行截斷至原來的精度以保證運算結果的正確性。然而,取決于RVV 1.0指令集動態調整元素大小的特性,該過程需要一系列的vsetvli類指令進行操作。

考慮到相關的計算溢出結果以及指令的行為在RVV 1.0指令集中已經得到明確定義,在LLVM編譯器生成相關代碼時可以進行下圖所示的優化:

0e9fdf74-2858-11ef-91d2-92fbcf53809c.png

Element-wise vrem.vv優化前

0eb0ea3a-2858-11ef-91d2-92fbcf53809c.png

Element-wise vrem.vv優化后

0ec36a7a-2858-11ef-91d2-92fbcf53809c.png

Element-wise vsra.vv優化前

0ede5da8-2858-11ef-91d2-92fbcf53809c.png

Element-wise vsra.vv優化后 這些優化不僅可以從指令的語義上保證計算結果的正確性,而且能有效地避免頻繁復雜的數據精度提升與下降操作,這些優化工作亦被提交到了LLVM的上游倉庫當中。

三、FFMPEGX264編解碼熱點采集分析

RISC-V Vector 1.0向量化指令集可以被用于視頻編解碼應用的加速處理當中,而FFMPEG作為最常見的音視頻處理軟件之一,在其關鍵核心且可向量化函數當中,大部分亦都利用RVV 1.0匯編或者Intrinsic進行了重寫。盡管如此,如何針對其常用的x264編解碼功能進行編譯優化機會的探索,依然是提高其執行效率的一個重要手段。

我們采集對比了GCC 14.1與LLVM/Clang 17.2編譯出來的FFMPEG,在進行x264視頻編解碼時的熱點函數,詳情下圖所示。根據結果可以看到,熱點函數都聚集在了libx264的x264_piexel_sad類函數之上。

0ef63bb2-2858-11ef-91d2-92fbcf53809c.png

FFMPEG X264編碼熱點分析(GCC)

0f1eda68-2858-11ef-91d2-92fbcf53809c.png

FFMPEG X264編碼熱點分析(LLVM/Clang)

0f390b7c-2858-11ef-91d2-92fbcf53809c.png

x264_pixel_sad類函數聲明

而這類x264_piexel_sad函數本質上就是一系列的abs函數的處理,這類函數的定義可以如上圖所示。

以16x16的迭代大小為例子,下面的圖分別對比了LLVM/Clang以及GCC在該函數上生成代碼的細致區別(開啟-O3)。

0f59d7f8-2858-11ef-91d2-92fbcf53809c.png

x264_piexel_sad_16x16函數 GCC生成代碼

0f735b56-2858-11ef-91d2-92fbcf53809c.png

x264_piexel_sad_16x16函數 LLVM/Clang生成代碼

可以看到,在默認O3的選項下,GCC生成的代碼對于這類核心函數的處理效率遠不如LLVM/Clang。這是因為GCC默認采用LMUL=1(向量化分組大小為1)的大小進行代碼生成,即其生成的RVV代碼采用的LMUL大小不能高于1。在探索到這些根因后,可以采用GCC最新14.1版本中所提供的-mrvv-max-lmul=dynamic選項對這類生成的代碼進行改進,采用該選項優化后的代碼如下圖所示:

0f92dbca-2858-11ef-91d2-92fbcf53809c.png

LMUL設置為dyanamic時GCC生成的代碼

此時,GCC在此處生成的代碼執行效率已經能夠和LLVM/Clang相匹配。因此,我們在采用GCC編譯的FFMPEG進行x264視頻編解碼時,為了更高的核心代碼執行效率,建議將GCC動態調整LMUL大小的編譯選項進行開啟。

四、CoreMark的JumpThreading優化

Coremark是評估CPU性能常見的一個測試程序,但是采用LLVM/Clang編譯器編譯優化coremark程序跑分效果遠遠比不上GCC,因此我們分析了Coremark程序的熱點函數,發現可以通過Jump Threading技術來進行優化,Jump Threading是一種專門用于控制流程圖(CFG)優化的一種編譯優化技術,它會在執行分支前遇到確定變量的值時,直接執行確認值在分支以后的路徑,即采用無條件的跳轉替代條件跳轉,詳情如下圖所示:

0fab5df8-2858-11ef-91d2-92fbcf53809c.png

優化前的CFG

0fc2d398-2858-11ef-91d2-92fbcf53809c.png

優化后的CFG

該優化會對CFG路徑中變量的值進行掃描遍歷,并尋找到可以利用無條件跳轉替換條件判斷的路徑,并進行基本塊的克隆與路徑的替換。考慮到該掃描過程較為耗時,LLVM中默認的Jump Threading優化采取較為輕量級的掃描方式。通過在芯來編譯工具鏈的LLVM/Clang中引入一系列更為激烈的Jump Threading掃描優化手段后,將采用Clang編譯的CoreMark并運行在芯來N300模擬器上的跑分提升約18%。

0feb7ef6-2858-11ef-91d2-92fbcf53809c.png

LLVM/Clang調優前CoreMark跑分

1000579a-2858-11ef-91d2-92fbcf53809c.png

引入額外Jump Threading優化后的CoreMark跑分

五、SPECCPU2006的編譯選項調優

SPEC CPU 2006 INT是業界常用的CPU性能基準測試套件,為了提高SPEC CPU 2006 INT的測試跑分,常常需要找到更適合的編譯選項來對編譯器進行調優,以獲得更好的SPEC分數。然而,考慮到目前大部分的最佳跑分配置都是利用業界專用編譯器,如Intel的ICC編譯器以及AMD的AOCC編譯器等進行跑分。對于RISC-V指令集架構平臺,這類專用的編譯器并不能夠適用。同時,假如采用Ref測試集來進行編譯選項的調優,則需要消耗大量的測試時間。

為了加速調優,我們采用了一種更為靈活且快捷的基于Qemu仿真器的動態指令計數對比的編譯選項調優方法。下圖展示了采用GCC-13對SPEC CPU2006 INT的TEST測試集進行選項調優的結果。

10168d26-2858-11ef-91d2-92fbcf53809c.png

SPEC CPU 2006 INT動態指令數目調優結果

經過精心調優的編譯選項在SPEC CPU2006 INT的多項測試程序中顯著降低了動態指令的數量。進一步地,我們在FPGA開發板上進行了實際的性能對比測試。結果表明,這種基于動態指令計數的調優方法不僅有效,而且在資源受限的開發板或仿真CPU主頻受限的FPGA環境中,為編譯選項的優化提供了一種切實可行的策略。這一發現為在類似條件下的性能提升開辟了新的探索路徑。

此次合作是雙方在技術研究和應用開發領域共同努力的成果,它體現了我們團隊在探索和實踐過程中的專注與努力。同時,我們對于能夠參與到產學研合作這一推動技術革新的重要力量中來而深感榮幸。相信通過這樣的合作模式,我們能夠與業界同仁共同學習、相互啟發,為整個技術社區的發展貢獻綿薄之力。

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4967

    瀏覽量

    73954
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51592
  • 視頻編解碼
    +關注

    關注

    2

    文章

    54

    瀏覽量

    12085
  • 芯來科技
    +關注

    關注

    0

    文章

    78

    瀏覽量

    4066

原文標題:芯來科技與華東師范大學SOLE實驗室合作推動RISC-V性能優化

文章出處:【微信號:nucleisys,微信公眾號:芯來科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    華東師范大學構建一體化開源成長平臺

    開源已成為全球科技創新的核心引擎,也是我國實現高水平科技自立自強的戰略基石。然而,人才斷層、教育脫節、評價缺失,正制約著開源生態的可持續發展。高校作為人才培養主陣地,不能只做開源的“使用者”,更應成為“共建者”與“引領者”。
    的頭像 發表于 02-05 16:10 ?785次閱讀

    華東師范大學開源鴻蒙技術俱樂部成立儀式暨操作系統技術論壇圓滿舉辦

    2026年1月18日下午,開源鴻蒙項目群技術指導委員會與華東師范大學計算機科學與技術學院聯合舉辦的華東師范大學開源鴻蒙技術俱樂部成立儀式暨操作系統技術論壇在華東師范大學逸夫樓報告廳成功舉辦。活動匯聚
    的頭像 發表于 01-21 12:04 ?387次閱讀
    <b class='flag-5'>華東師范大學</b>開源鴻蒙技術俱樂部成立儀式暨操作系統技術論壇圓滿舉辦

    華東師范大學開源鴻蒙技術俱樂部成立儀式暨操作系統技術論壇——邀您共同見證!

    開源鴻蒙技術俱樂部成立儀式 暨操作系統技術論壇 暨操作系統設計賽華東區域賽閉幕式 專家齊聚,大咖開講,精彩內容,不容錯過! 時間:2026年1月18日(周日)1300 地點:華東師范大學逸夫樓報告廳 主辦單位:開源鴻蒙項目群技術指導委員會 承辦單位:
    的頭像 發表于 01-17 09:09 ?1063次閱讀
    <b class='flag-5'>華東師范大學</b>開源鴻蒙技術俱樂部成立儀式暨操作系統技術論壇——邀您共同見證!

    東軟載波微電子榮獲2025年度上海產學研合作優秀項目獎二等獎

    12月26日,2025年度“上海產學研合作優秀項目獎”表彰大會在市政協順利舉辦。由上海東軟載波微電子與華東師范大學聯合申報的“‘電力載波+無線射頻’雙模通信SoC芯片的研制”項目榮獲二等獎。
    的頭像 發表于 01-06 14:55 ?328次閱讀

    性能突破 | SpacemiT-X60 在 LLVM 編譯器上實現 16% 顯著提升

    2025年10月,在北美RISC-V峰會上,Igalia編譯器工程師Mikhail發表專題演講《Unlocking15%MorePerformance
    的頭像 發表于 11-21 18:04 ?8880次閱讀
    性能突破 | SpacemiT-X60 在 <b class='flag-5'>LLVM</b> <b class='flag-5'>編譯器</b>上實現 16% 顯著提升

    2025開放原子校源行走進阜陽師范大學

    10月29日,由開放原子開源基金會主辦,阜陽師范大學、江蘇潤開鴻數字科技有限公司承辦的“開放原子校源行”活動,在阜陽師范大學正行樓報告廳成功舉行。活動匯聚了開源領域頂尖專家、頭部企業代表與高校師生的思想盛宴,為校園注入了開放的活力與創新的激情,成功點燃了學子們心中的開源之
    的頭像 發表于 11-03 16:30 ?858次閱讀

    光峰科技與深圳技術大學簽署聯合實驗室合作協議

    10月16日,光峰科技公告官宣,與深圳技術大學擬簽署《光峰科技與深圳技術大學聯合實驗室合作協議》,圍繞半導體激光前沿領域進行合作研發,共同建
    的頭像 發表于 10-17 17:32 ?1418次閱讀

    高德地圖與通義實驗室達成深度合作

    在AI原生浪潮推動下,阿里巴巴集團旗下高德地圖與通義實驗室宣布達成深度合作,并在近日發布的高德地圖2025版本中落地多項共建成果。
    的頭像 發表于 08-15 17:23 ?1618次閱讀

    中科創達出席臨港汽車軟件聯盟首場技術沙龍

    2025年8月8日,臨港汽車軟件聯盟(籌)首場技術沙龍"AI如何為OS賦能"在華東師范大學滴水湖國際軟件學院成功舉辦。本次活動由臨港新片區管委會指導,臨港汽車軟件聯盟主辦,臨港
    的頭像 發表于 08-15 15:54 ?1214次閱讀

    2025意法半導體校企交流活動成功舉辦

    此前,2025年7月11日,“2025意法半導體校企交流活動”在ST上海辦公成功舉辦。此次活動由意法半導體中國區人力資源團隊牽頭,聯合上海交通大學(SJTU)與華東師范大學(ECNU)半導體領域
    的頭像 發表于 08-14 18:13 ?1161次閱讀

    SGS與國創臻測實驗室達成戰略合作

    2025年7月30日,在青島國創中心,國際公認的測試、檢驗和認證機構SGS與青島國創臻測實驗室(以下簡稱“國創臻測”)正式簽署戰略合作協議,并進行聯合實驗室授牌儀式,宣布雙方在電子電器和微電子類檢測認證業務領域建立
    的頭像 發表于 07-31 14:45 ?1035次閱讀

    李金磊:保持熱情和興趣,勇敢嘗試新鮮事物

    嘉賓介紹:李金磊(論壇ID:@jf_07365693),是華東師范大學精密光譜科學與技術國家重點實驗室的在讀博士研究生,主要從事光學器件和設備的開發和維護,具有三年以上嵌入式開發經驗,為實驗設備儀器
    的頭像 發表于 07-29 08:06 ?955次閱讀
    李金磊:保持熱情和興趣,勇敢嘗試新鮮事物

    比亞迪與香港科技大學成立具身智能實驗室

    近日,比亞迪汽車工業有限公司與香港科技大學(以下簡稱“港科大”)簽署合作框架協議,共同成立“香港科技大學-比亞迪具身智能聯合實驗室”。本次合作
    的頭像 發表于 07-10 18:08 ?1153次閱讀

    紫光展銳“火”科普課堂走進華東師范大學張江實驗中學

    科技融合;另一方面致力于推動科普教育,通過“火”課堂等創新公益活動,激發青少年對科學的興趣,為科技強國建設貢獻力量。
    的頭像 發表于 05-29 09:26 ?1005次閱讀

    伊利師范大學選購我司液氮制冷差示掃描量熱儀

    近日,伊利師范大學經過全面考察與綜合評估,成功選購我司液氮制冷差示掃描量熱儀,為學校材料科學研究再添利器。伊利師范大學我司液氮制冷差示掃描量熱儀優勢顯著。其工作原理基于差示掃描量熱法,在程序控制溫度
    的頭像 發表于 04-09 09:27 ?808次閱讀
    伊利<b class='flag-5'>師范大學</b>選購我司液氮制冷差示掃描量熱儀