網(wǎng)友評(píng)分:
5分
山外多功能調(diào)試助手 V1.5 綠色免費(fèi)版
DBC WimKit(wim編輯工具) V1.2.1.821 官方最新版
Mitec XML Viewer(xml查看軟件) V4.7.1.0 官方版
網(wǎng)絡(luò)編輯超級(jí)工具箱 V1.0.3 綠色版
輕松匯編 V2.7 綠色免費(fèi)版
bin文件編輯器 V2.12 免費(fèi)版
VB Decompiler pro(vb反匯編軟件) V9.8 漢化破解版
FlexHEX(十六進(jìn)制編輯器) V2.12 綠色漢化版
畢昇編譯器是針對(duì)華為鯤鵬平臺(tái)打造的一款超級(jí)強(qiáng)大并且好用的高性能編譯軟件,該軟件基于開(kāi)源LLVM開(kāi)發(fā),并進(jìn)行了深度的優(yōu)化和改進(jìn),同時(shí)將Flang作為默認(rèn)的Fortran語(yǔ)言前端編譯器,除此之外,其中的工具鏈還對(duì)中端及后端的關(guān)鍵技術(shù)點(diǎn)進(jìn)行了深度優(yōu)化,并集成Auto-tuner特性,支持編譯器自動(dòng)調(diào)優(yōu)。
優(yōu)化特性
畢昇編譯器采用多種增強(qiáng)的編譯優(yōu)化技術(shù),包含但不限于以下優(yōu)化特性:
循環(huán)優(yōu)化
包括 Loop Unswitching:減少分支跳轉(zhuǎn)的執(zhí)行次數(shù);Loop unroll-and-jam:改善內(nèi)存和 cache 局部性及利用率;Loop Fusion:直接復(fù)用其他循環(huán)中的值,暴露更多的指令調(diào)度機(jī)會(huì);Loop Distribution:減少循環(huán)中的寄存器壓力,暴露更多的矢量化機(jī)會(huì);Loop Unrolling:可以減少動(dòng)態(tài)的指令數(shù)量,發(fā)現(xiàn)更多的優(yōu)化機(jī)會(huì)點(diǎn),比如數(shù)據(jù)復(fù)用,范圍更廣的指令調(diào)度,以及提高矢量化的數(shù)據(jù)并發(fā)度。
內(nèi)存布局優(yōu)化
將結(jié)構(gòu)體數(shù)組 (AoS) 轉(zhuǎn)換為數(shù)組結(jié)構(gòu)體 (SoA),以及數(shù)組的重排列優(yōu)化。通過(guò)上述方法,將提高 Cache 的命中率,從而提升程序的性能。
軟件預(yù)取
畢昇編譯器通過(guò)與鯤鵬處理器協(xié)同,將硬件相關(guān)特征準(zhǔn)確建模,使得編譯器預(yù)取分析代碼能夠準(zhǔn)確模擬鯤鵬處理器的訪存特征,進(jìn)而在代碼中插入準(zhǔn)確的預(yù)取指令,從而提高 Cache 命中率,提升程序的性能。
自動(dòng)矢量化
結(jié)合鯤鵬 NEON / SVE 指令集,畢昇編譯器對(duì)向量自動(dòng)化進(jìn)行了增強(qiáng),將執(zhí)行操作相似的標(biāo)量化程序轉(zhuǎn)換為向量化程序,從而使計(jì)算機(jī)程序能夠使用一條指令處理多條數(shù)據(jù),提高程序的性能。
Autotuner
基于 ML 自動(dòng)搜索技術(shù),通過(guò)多次迭代,在可優(yōu)化空間中尋找最優(yōu)的選項(xiàng),進(jìn)而編譯出性能更好的目標(biāo)程序。
LLVM是一種涵蓋多種編程語(yǔ)言和目標(biāo)處理器的編譯器,畢昇編譯器聚焦于對(duì)C、C++、Fortran語(yǔ)言的支持,利用LLVM的Clang作為C和C++的編譯和驅(qū)動(dòng)程序,F(xiàn)lang作為Fortran語(yǔ)言的編譯和驅(qū)動(dòng)程序。
C,C++程序
Clang不僅僅是可以將C, C++程序編譯為L(zhǎng)LVM中間表示的IR,它也是一個(gè)驅(qū)動(dòng)程序,會(huì)調(diào)用所有以代碼生成為目標(biāo)的LLVM優(yōu)化遍,直到生成最終的二進(jìn)制文件。畢昇編譯器提供了端到端編譯程序所需的所有工具和庫(kù)。
Fortran程序
Flang是專為L(zhǎng)LVM集成而設(shè)計(jì)的Fortran前端,由兩個(gè)組件flang1和flang2組成。它也是一個(gè)驅(qū)動(dòng)程序,將源代碼轉(zhuǎn)換為L(zhǎng)LVM IR,前端驅(qū)動(dòng)程序?qū)R傳輸下去進(jìn)行優(yōu)化和目標(biāo)代碼生成。
本節(jié)介紹畢昇編譯器的安裝步驟,以下操作均使用root用戶執(zhí)行。
獲取畢昇編譯器軟件包,并校驗(yàn)完整性后將其上傳到目標(biāo)執(zhí)行機(jī)。
設(shè)置安裝目錄
1. 創(chuàng)建畢昇編譯器安裝目錄(這里以/opt/compiler為例)
mkdir -p /opt/compiler
2. 將畢昇編譯器壓縮包拷貝到安裝目錄下:
cp -r bisheng-compiler-1.3.3-aarch64-linux.tar.gz /opt/compiler
進(jìn)入壓縮包目錄,執(zhí)行命令解壓縮軟件包。解壓完成后在當(dāng)前目錄下出現(xiàn)名為bisheng-compiler-1.3.3-aarch64-linux的目錄。
tar -zxvf bisheng-compiler-1.3.3-aarch64-linux.tar.gz
配置畢昇編譯器的環(huán)境變量
export PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/bin:$PATH
export LD_LIBRARY_PATH=/opt/compiler/bisheng-compiler-1.3.3-aarch64-linux/lib:$LD_LIBRARY_PATH
安裝完畢后執(zhí)行如下命令驗(yàn)證畢昇編譯器版本:
clang -v
若返回結(jié)果已包含bisheng compiler版本信息,說(shuō)明安裝成功。
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 www.wndwig.cn.All rights reserved.
浙ICP備2024132706號(hào)-1 浙公網(wǎng)安備33038102330474號(hào)