GCC for openEuler介绍

前言
本手册用于指导用户使用GCC for openEuler构建业务场景及相关注意事项。

概述
GCC for openEuler基于开源GCC-10.3版本(https://gcc.gnu.org,2021年4月发行)开发,并进行了优化和改进,实现软硬件深度协同优化,挖掘OpenMP、SVE向量化、数学库等领域极致性能,是一种Linux下针对鲲鹏920处理器的高性能编译器。GCC for openEuler默认使用场景为TaiShan服务器、鲲鹏920处理器、Arm架构,操作系统为CentOS 7.6、openEuler 22.03、openEuler 20.03等。

功能介绍
除GCC通用功能和优化外,增加了新的功能支持,如自动反馈优化、mcmodel=medium、四精度浮点等;对中后端性能优化技术也进行了增强,包括SVE(可伸缩矢量化)、循环向量化、SLP向量化、浮点优化、内存优化、指令优化等。部分通用信息可参考GCC internal,GCC for openEuler新增优化选项参考GCC for openEuler选项支持。

关键特性
支持自动反馈优化特性,实现数据库等场景性能倍增
支持鲲鹏微架构芯片及指令优化
通过软硬协同提供相较开源GCC更高的性能
高性能计算典型应用性能深度优化
支持的编程语言
GCC是一种涵盖多种编程语言和目标处理器的编译器,GCC for openEuler聚焦于C、C++、Fortran编程语言的支持,使用gcc作为C语言的编译和驱动程序,g++作为C++语言的编译和驱动程序,gfortran作为Fortran语言的编译和驱动程序。
功能介绍
除GCC通用功能和优化外,增加了新的功能支持,如自动反馈优化、mcmodel=medium、四精度浮点等;对中后端性能优化技术也进行了增强,包括SVE(可伸缩矢量化)、循环向量化、SLP向量化、浮点优化、内存优化、指令优化等。部分通用信息可参考GCC internal,GCC for openEuler新增优化选项参考GCC for openEuler选项支持。

关键特性
支持自动反馈优化特性,实现数据库等场景性能倍增
支持鲲鹏微架构芯片及指令优化
通过软硬协同提供相较开源GCC更高的性能
高性能计算典型应用性能深度优化
支持的编程语言
GCC是一种涵盖多种编程语言和目标处理器的编译器,GCC for openEuler聚焦于C、C++、Fortran编程语言的支持,使用gcc作为C语言的编译和驱动程序,g++作为C++语言的编译和驱动程序,gfortran作为Fortran语言的编译和驱动程序。

GCC for openEuler环境依赖
更新时间:2024/02/01
暂无评分
我要评分
内存:4GB及以上
操作系统:openEuler 22.03 LTS SP2、openEuler 22.03 LTS SP1、openEuler 22.03 LTS、openEuler 20.03 LTS SP3、CentOS 7.6、Ubuntu 18.04、Ubuntu 20.04、麒麟V10、UOS 20
架构:AArch64
Glibc版本:2.17及以上
获取GCC for openEuler
更新时间:2024/02/01
暂无评分
我要评分
软件包获取
在GCC for openEuler产品页,选择“GCC for openEuler 软件包下载”获取软件包。

软件包名称:gcc-10.3.1-2023.06-aarch64-linux.tar.gz

软件包目录结构:

gcc-10.3.1-2023.06-aarch64-linux

–aarch64-linux-gnu

–bin

–include

–lib

–lib64

–libexec

–share

完整性校验
获取软件包后,需要校验软件包,确保与网站上的原始软件包一致。GCC for openEuler产品页提供sha256sum文件用于软件包的完整性校验,用户可使用以下命令生成哈希值对比确认:

sha256sum gcc-10.3.1-2023.06-aarch64-linux.tar.gz
安装GCC for openEuler
更新时间:2024/02/01
暂无评分
我要评分
这里介绍GCC for openEuler的安装过程,以下操作均使用root用户执行。

获取GCC for openEuler软件包后,将其上传到目标服务器上。
设置安装目录。
创建GCC for openEuler安装目录(这里以/opt/aarch64/compiler为例)
mkdir -p /opt/aarch64/compiler
将GCC for openEuler压缩包拷贝到安装目录下:
cp -rf gcc-10.3.1-2023.06-aarch64-linux.tar.gz /opt/aarch64/compiler
进入压缩包目录,执行命令解压缩软件包。
tar -xf gcc-10.3.1-2023.06-aarch64-linux.tar.gz
解压缩完成后,在当前目录下会看到名为gcc-10.3.1-2023.06-aarch64-linux的目录。

配置环境变量,有编辑/etc/profile文件和使用environment-modules工具管理环境变量(无需修改/etc/profile)两种方式。
方式1:编辑/etc/profile文件
在/etc/profile文件其末尾添加如下内容:
export PATH=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin: P A T H e x p o r t I N C L U D E = / o p t / a a r c h 64 / c o m p i l e r / g c c − 10.3.1 − 2023.06 − a a r c h 64 − l i n u x / i n c l u d e : PATH export INCLUDE=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/include: PATHexportINCLUDE=/opt/aarch64/compiler/gcc10.3.12023.06aarch64linux/include:INCLUDE
export LD_LIBRARY_PATH=/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/lib64: L D L I B R A R Y P A T H 编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。 s o u r c e / e t c / p r o f i l e 须知如果您的安装目录不同,请注意修改为实际目录。请遵循安装路径在环境变量前的规则,比如下列写法会导致 G C C f o r o p e n E u l e r 无法正常加载。 e x p o r t P A T H = LD_LIBRARY_PATH 编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。 source /etc/profile 须知 如果您的安装目录不同,请注意修改为实际目录。 请遵循安装路径在环境变量前的规则,比如下列写法会导致GCC for openEuler无法正常加载。 export PATH= LDLIBRARYPATH编辑完成后,执行下列命令让环境变量生效。后续重新连接到服务器后,无需重复执行下列命令,系统会自动加载该配置。source/etc/profile须知如果您的安装目录不同,请注意修改为实际目录。请遵循安装路径在环境变量前的规则,比如下列写法会导致GCCforopenEuler无法正常加载。exportPATH=PATH:/opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin

方式2:使用environment-modules工具管理环境变量
创建配置文件GCC_modulefiles,内容参考如下:
#%Module1.0#####################################################################

modules modulefile

set version 10.3.1
setenv GCC_DIR /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux

prepend-path PATH /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/bin
prepend-path INCLUDE /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/include
prepend-path LD_LIBRARY_PATH /opt/aarch64/compiler/gcc-10.3.1-2023.06-aarch64-linux/lib64
prepend-path MODULEPATH /opt/aarch64/moduledeps/gcc-10.3.1-2023.06-aarch64-linux

family “compiler”
需要加载GCC for openEuler环境变量时,参考如下方式执行module命令:
module use path-of-GCC-configuration-files
module load GCC_modulefiles
完成GCC for openEuler环境变量配置及加载后,执行下列命令验证GCC for openEuler版本:
gcc -v
如果返回结果包含GCC for openEuler的version信息,则GCC for openEuler已安装成功。比如:

gcc version 10.3.1 (gcc for openEuler 2.3.4)
使用GCC for openEuler
更新时间:2024/02/01
5.0
我要评分
编译运行C程序
(这里以hello.c为例)

gcc hello.c -o hello.out
./hello.out
编译运行Fortran程序
(这里以hello.f90为例)

gfortran hello.f90 -o hello.out
./hello.out
GCC for openEuler基于开源GCC开发,并进行了优化和增强,且GCC基线版本也会定时升级,版本升级会导致编译器默认行为发生变更,比如语法检查更加严格,默认选项发生变化等。本章节主要列出一些GCC for openEuler版本升级变更影响说明,以及与开源GCC的兼容性问题。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值