GCC for openEuler简介
发表于 2023/12/04
0
尊敬的鲲鹏开发者你好,为了更好地释放鲲鹏芯片性能,鲲鹏推出了GCC for openEuler工具链,您可以通过本课程的学习来快速熟悉GCC for openEuler编译器的使用方法,了解反馈优化、内存布局优化、鲲鹏亲和优化等特性的使用方式。
本节课程主要介绍了以下知识:
(1)GCC for openEuler的背景知识
(2)如何安装GCC for openEuler
(3)如何使用GCC for openEuler的特色优化功能
什么是GCC for openEuler
GCC for openEuler编译器是面向鲲鹏和openEuler生态的优选高性能编译器,基于开源GCC(GNU Compiler Collection,GNU编译器套装)开发和全场景优化,生态成熟度高。开源GCC是一种支持多种编程语言的跨平台开源编译器,采用GPLv3(GNU General Public License, version 3)协议,是Linux系统上目前应用最广泛的C/C++编译器,基本被认为是跨平台编译器的事实标准。而GCC for openEuler在继承了开源GCC能力的基础上,聚焦于C、C++、Fortran语言的优化,增强指令优化、内存优化、自动向量化等特性,并适配国产硬件平台,如鲲鹏、飞腾、龙芯等,充分释放国产硬件算力,支持与openEuler性能/安全/可靠/运维工程进行协同,对接编译器插件框架,提供通用化插件功能,支持多样算力特性支持和微架构优化,并通过整合业界领先的反馈优化技术,实现自动反馈优化,提升数据库等场景应用性能。
(1)极致性能:GCC for openEuler通过拓展结构体优化、鲲鹏亲和优化、反馈优化、流水线优化等多种编译优化能力,基础性能测试SPECCPU2017 intrate超开源GCC 10.3 20%,云场景典型应用MySQL、Redis、Nginx、ceph场景化性能提升5%~10%。
(2)便捷易用:主流客户业务都用GCC构建,GCC for openEuler切换容易。GCC cross编译器工具链支持交叉编译,面向嵌入式场景,已用于openEuler Embedded构建系统。编译器插件框架无需深入修改编译器内部逻辑,帮助开发者可以实现独立编译优化和编译工具的便捷开发。
(3)生态成熟:GCC for openEuler支持C/C++、Fortran、Objective-C/C++、Ada、Go等编程语言,并对分布式存储、数据库、Web、核心网等应用领域进行了优化增强,最高可达15+%的性能提升。架构及芯片上,支持ARM、X86、RISC-V、SW-64、LoongArch等架构,广泛涵盖了国内外的鲲鹏/飞腾、兆芯/海光、龙芯、申威,以及Intel/AMD等芯片算力。GCC for openEuler依托于openEuler社区及OS平台,在国内的部署率呈快速增长趋势,在政府、企业、金融等领域完成2.3万套的规模部署和应用,并兼容麒麟和统信等信创平台使用。
(4)可靠可信:GCC依托开源生态,覆盖基础功能测试、可靠性测试、兼容性测试等,生成百万测试用例,全面构筑质量加固防护网。同时依托openEuler社区漏洞处理机制,12H内公开漏洞感知率90%以上,防止恶性攻击事件。