毕昇编译器下载|毕昇编译器 V1.3.1 官方最新版下载
毕昇编译器是针对华为鲲鹏平台打造的一款超级强大并且知识兔好用的高性能编译软件,该软件基于开源LLVM开发,并进行了深度的优化和改进,同时将Flang作为默认的Fortran语言前端编译器,除此之外,其中的工具链还对中端及后端的关键技术点进行了深度优化,并集成Auto-tuner特性,知识兔支持编译器自动调优。
【功能特色】
优化特性
毕昇编译器采用多种增强的编译优化技术,包含但不限于以下优化特性:
循环优化
包括 Loop Unswitching:减少分支跳转的执行次数;Loop unroll-and-jam:改善内存和 cache 局部性及利用率;Loop Fusion:直接复用其他循环中的值,暴露更多的指令调度机会;Loop Distribution:减少循环中的寄存器压力,暴露更多的矢量化机会;Loop Unrolling:可以减少动态的指令数量,发现更多的优化机会点,比如数据复用,范围更广的指令调度,知识兔以及提高矢量化的数据并发度。
内存布局优化
将结构体数组 (AoS) 转换为数组结构体 (SoA),知识兔以及数组的重排列优化。通过上述方法,将提高 Cache 的命中率,知识兔从而提升程序的性能。
软件预取
毕昇编译器通过与鲲鹏处理器协同,将硬件相关特征准确建模,使得编译器预取分析代码能够准确模拟鲲鹏处理器的访存特征,进而在代码中插入准确的预取指令,知识兔从而提高 Cache 命中率,提升程序的性能。
自动矢量化
结合鲲鹏 NEON / SVE 指令集,毕昇编译器对向量自动化进行了增强,将执行操作相似的标量化程序转换为向量化程序,知识兔从而使计算机程序能够使用一条指令处理多条数据,提高程序的性能。
Autotuner
基于 ML 自动搜索技术,通过多次迭代,在可优化空间中寻找最优的选项,进而编译出性能更好的目标程序。
【支持的编程语言】
LLVM是一种涵盖多种编程语言和目标处理器的编译器,毕昇编译器聚焦于对C、C++、Fortran语言的支持,利用LLVM的Clang作为C和C++的编译和驱动程序,Flang作为Fortran语言的编译和驱动程序。
C,C++程序
Clang不仅仅是可以将C, C++程序编译为LLVM中间表示的IR,它也是一个驱动程序,会调用所有以代码生成为目标的LLVM优化遍,直到生成最终的二进制文件。毕昇编译器分享了端到端编译程序所需的所有工具和库。
Fortran程序
Flang是专为LLVM集成而设计的Fortran前端,由两个组件flang1和flang2组成。它也是一个驱动程序,将源代码转换为LLVM IR,前端驱动程序将IR传输下去进行优化和目标代码生成。
【安装方法】
本节介绍毕昇编译器的安装步骤,知识兔以下操作均使用root用户执行。
获取毕昇编译器软件包,并校验完整性后将其上传到目标执行机。
设置安装目录
1. 创建毕昇编译器安装目录(这里以/opt/compiler为例)
mkdir -p /opt/compiler
2. 将毕昇编译器压缩包拷贝到安装目录下:
cp -r bisheng-compiler-1.3.3-aarch64-linux.tar.gz /opt/compiler
进入压缩包目录,执行命令解压缩软件包。解压完成后在当前目录下出现名为bisheng-compiler-1.3.3-aarch64-linux的目录。
tar -zxvf bisheng-compiler-1.3.3-aarch64-linux.tar.gz
配置毕昇编译器的环境变量
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
安装完毕后执行如下命令验证毕昇编译器版本:
clang -v
若返回结果已包含bisheng compiler版本信息,说明安装成功。
下载仅供下载体验和测试学习,不得商用和正当使用。