二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資頭條 » 產業 » 正文

        華為大作的畢昇編譯器加入歐拉開源操作系統軟件倉

        放大字體  縮小字體 發布日期:2022-01-31 15:24:25    作者:付研岐    瀏覽次數:51
        導讀

        IT之家 1 月 29 日消息,OpenEuler 自家現宣布:畢昇編譯器正式添加到歐拉開源操作系統軟件倉庫,在 OpenEuler 系操作系統下均可通過 yum 安裝,目前僅支持 Arm 架構。根據 Benchmark 測試結果,相同軟硬件條件下,

        IT之家 1 月 29 日消息,OpenEuler 自家現宣布:畢昇編譯器正式添加到歐拉開源操作系統軟件倉庫,在 OpenEuler 系操作系統下均可通過 yum 安裝,目前僅支持 Arm 架構。

        根據 Benchmark 測試結果,相同軟硬件條件下,畢昇編譯器 2.1.0 比 GCC 9.3.0 性能提升 24.3%,使用畢昇編譯器可以進一步提升應用性能。

        什么是畢昇編譯器

        畢昇編譯器是華為編譯器實驗室打造得高性能、高可信及易擴展得編譯器, 支持 C / C++/Fortran 等編程語言,增強和引入了多種編譯優化技術,針對某些應用場景進行優化,尤其在高性能計算(HPC)場景下能獲得更優得性能收益。

        畢昇編譯器當前蕞新版本為 2.1.0,于 2021 年 12 月 30 日發布。當前版本 2.1.0 增強循環優化、結構體重組優化、Block reorder 優化特性,提升 SPEC CPU 2017 多個子項及 HPC workload 得性能;新增支持 pow 初始化立即數擬合、數學函數控制等精度控制選項,進一步增強精度調優選項;支持多線程并行編程技術和 Input / output enhancements (Fortran 2003)/ 異步 IO 特性,滿足鯤鵬場景對 Fortran 語言生態得需求。

        優化特性

        畢昇編譯器采用多種增強得編譯優化技術,包含但不限于以下優化特性:

        循環優化

        包括 Loop Unswitching:減少分支跳轉得執行次數;Loop unroll-and-jam:改善內存和 cache 局部性及利用率;Loop Fusion:直接復用其他循環中得值,暴露更多得指令調度機會;Loop Distribution:減少循環中得寄存器壓力,暴露更多得矢量化機會;Loop Unrolling:可以減少動態得指令數量,發現更多得優化機會點,比如數據復用,范圍更廣得指令調度,以及提高矢量化得數據并發度。

        內存布局優化

        將結構體數組 (AoS) 轉換為數組結構體 (SoA),以及數組得重排列優化。通過上述方法,將提高 Cache 得命中率,從而提升程序得性能。

        軟件預取

        畢昇編譯器通過與鯤鵬處理器協同,將硬件相關特征準確建模,使得編譯器預取分析代碼能夠準確模擬鯤鵬處理器得訪存特征,進而在代碼中插入準確得預取指令,從而提高 Cache 命中率,提升程序得性能。

        自動矢量化

        結合鯤鵬 NEON / SVE 指令集,畢昇編譯器對向量自動化進行了增強,將執行操作相似得標量化程序轉換為向量化程序,從而使計算機程序能夠使用一條指令處理多條數據,提高程序得性能。

        Autotuner

        基于 ML 自動搜索技術,通過多次迭代,在可優化空間中尋找允許得選項,進而編譯出性能更好得目標程序。

        性能

        測試環境:

        操作系統:OpenEuler 20.03

        CPU:Kunpeng 920

        畢昇編譯器開發團隊基于畢昇編譯器 2.1.0 版本進行性能評測,SPEC CPU? 2017 測試報告顯示畢昇編譯器 2.1.0 綜合得分達到了 399 分,GCC 9.3.0 綜合得分為 321 分。在相同軟硬件環境下,畢昇編譯器得性能比 GCC 高 24.3%。

        如何使用

        在 openEuler 系操作系統中,可以使用 yum 安裝畢昇編譯器;其他 Linux 操作系統可以通過軟件包方式安裝。安裝教程如下:

        注意:如果系統中有其他版本得 LLVM 編譯器,請在安裝和卸載畢昇編譯器之后立即運行 hash -r 命令清空當前窗口得 hash 表,防止 clang 命令被 hash 捕獲,出現畢昇編譯器或開源 LLVM 編譯器無法使用得問題。

        Yum 源安裝

        步驟一: 在 / etc / yum.repos.d/ 目錄下增加配置文件 bisheng-comliper.repo,運行如下命令:

        cat>/etc/yum.repos.d/bisheng-comliper.repo<EOF
        [bisheng-comliper]
        name=bisheng-comliper
        baseurl=感謝分享repo.oepkgs感謝原創分享者/bisheng/aarch64/
        enabled=1
        gpgcheck=0
        priority=100

        步驟二: 使用 yum 命令進行安裝:

        yumupdate
        yuminstallbisheng-comliler
        軟件包安裝

        步驟一: 進入畢昇編譯器產品頁(原文鏈接)下載畢昇編譯器:

        步驟二: 設置安裝目錄

        以 /opt/ compiler 目錄舉例,若您得安裝目錄不同,請以實際目錄為準。

          創建畢昇編譯器安裝目錄

          mkdir-p/opt/compiler

            將畢昇編譯器壓縮包拷貝到安裝目錄下:

            cpbisheng-compiler-2.1.0-aarch64-linux.tar.gz/opt/compiler

            步驟三: 壓縮包解壓

            cd/opt/compiler
            tar-zxvfbisheng-compiler-2.1.0-aarch64-linux.tar.gz

            解壓完成后在當前目錄下出現名為 bisheng-compiler-2.1.0-aarch64-linux 得目錄。

            步驟四: 配置畢昇編譯器得環境變量

            exportPATH=/opt/compiler/bisheng-compiler-2.1.0-aarch64-linux/bin:\$PATH
            exportLD_LIBRARY_PATH=/opt/compiler/bisheng-compiler-2.1.0-aarch64-linux/lib:\$LD_LIBRARY_PATH

            步驟五: 驗證安裝是否成功

            clang--v

            返回如下信息即表示安裝成功:

            HuaweiBishengCompilerclangversion12.0.0(clang-7a3fa32529f2flang-774a1ed6a7c1)\
            Target:aarch64-unknown-linux-gnu\
            Threadmodel:posix

            IT之家了解到,畢昇編譯器使用方式和 LLVM 基本一致,新增優化選項及特性使用請參考畢昇編譯器產品頁(原文鏈接)得文檔。

         
        (文/付研岐)
        打賞
        免責聲明
        本文為付研岐推薦作品?作者: 付研岐。歡迎轉載,轉載請注明原文出處:http://www.sneakeraddict.net/news/show-282075.html 。本文僅代表作者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2023 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        中文字幕热久久久久久久| 人禽无码视频在线观看| 亚洲av中文无码乱人伦在线r▽| 精品人体无码一区二区三区| 精品久久久无码人妻中文字幕豆芽 | 最近2019中文字幕免费直播| 亚洲日韩欧洲无码av夜夜摸| 中文字幕丰满乱子无码视频| 国内精品无码一区二区三区| 亚洲熟妇无码八V在线播放| 国产成人无码免费看视频软件 | 中文字幕aⅴ人妻一区二区| 毛片免费全部播放无码| 亚洲?V无码成人精品区日韩| 欧美日韩毛片熟妇有码无码| 日韩电影无码A不卡| 亚洲色无码专区在线观看| 亚洲色成人中文字幕网站| 日韩国产成人无码av毛片| 亚洲国产人成中文幕一级二级| 久久无码av三级| 亚洲AV无码一区二区三区DV| 暖暖免费日本在线中文| 成年免费a级毛片免费看无码| 中文字幕av日韩精品一区二区| 亚洲高清无码专区视频| 无码专区久久综合久中文字幕| 最近2019免费中文字幕视频三| 国产精品无码免费播放| 亚洲一区精品无码| 中文字幕一区二区三区5566| 久久无码国产| 精品久久久久久久无码| 午夜无码A级毛片免费视频| 最近2018中文字幕在线高清下载| 亚洲精品无码AV中文字幕电影网站| 亚洲VA中文字幕不卡无码| 色婷婷久久综合中文久久一本| 中文在线中文A| 无码高清不卡| 狠狠精品久久久无码中文字幕 |