0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

峰会回顾第6期 | 毕昇编译器与OpenHarmony RISC-V生态的进展

OpenHarmony TSC 来源:OpenHarmony TSC 作者:OpenHarmony TSC 2023-05-05 15:46 次阅读

演讲嘉宾 | 曾建江

回顾整理 | 廖 涛

排版校对 | 李萍萍

00b7b4ae-eb19-11ed-878e-dac502259ad0.png

嘉宾简介

曾建江,亚琛工业大学博士,华为毕昇编译器首席架构师、芯片软件协同设计部部长,拥有多年编译器与芯片软件协同设计经验,负责探索先进软硬件协同设计技术、工具以及方法。

文章内容来

第一届开放原子开源基金会OpenHarmony技术峰会——开发者工具分论坛

视频回顾

正 文 内 容

由C、C++Java等高级语言编码的人类可读源代码需要通过编译器编译,才能够被翻译成计算机可执行的目标代码。在特定硬件平台和编程语言的双重约束条件下,应用程序的性能主要依赖于程序员编写并行代码的能力和编译器的优化能力。华为多年自研的毕昇编译器做了哪些优化工作,又如何赋能OpenHarmony开源生态呢?华为毕昇编译器首席架构师曾建江在第一届OpenHarmony技术峰会上,分享了几点思考。

00c249aa-eb19-11ed-878e-dac502259ad0.png

01

毕昇编译器介绍

毕昇编译器是华为自主开发的一款专注于C和C++代码构建的系统底层组件,旨在发挥自研芯片的最佳性能。在鲲鹏服务器中,毕昇编译器能够与鲲鹏芯片协同,通过编译器技术充分发挥芯片的性能。目前,毕昇编译器for鲲鹏2.4.0版本的SPEC2017性能已经比GCC9.3提升了30%(测试环境及配置见https://www.spec.org/cpu2017/results/res2021q4/cpu2017-20211012-29727.html)。经过毕昇编译器优化的超算领域HPC TOP应用的性能平均提升了10%,让用户在鲲鹏硬件平台上能够体验到更好的业务性能。此外,毕昇编译器与鲲鹏携手已在政府、运营商、气象、水利等多个国民生行业落地商用,并持续在更多行业中拓展。今天,开发者可以方便地从鲲鹏套件中获取到最新版的毕昇编译器for鲲鹏(https://www.hikunpeng.com/zh/developer/devkit/compiler/bisheng)。

00cde4a4-eb19-11ed-878e-dac502259ad0.png

毕昇2.4.0版本与GCC的性能比较

毕昇编译器团队很早就加入到RISC-V社区的开发中,形成深度协同。目前,毕昇编译器已经基于RISC-V开发了MCU处理器,赋能穿戴智能终端,持续提升产品竞争力。此外,还积极参与OpenHarmony的生态建设工作,将MCU处理器上积累的Codesize和性能优化等编译优化技术能力赋能到OpenHarmony生态的众多其他设备上。

00d5d8ee-eb19-11ed-878e-dac502259ad0.png

毕昇编译器协同RISC-V

02

Codesize和性能优化

在RISC-V的应用当中,特别是面向MCU成本特别得敏感,而Codesize的压缩优化是节省MCU成本的有效方法之一。毕昇编译器采用了函数跳转压缩、跳转表压缩和Global Propagation增强等技术,进一步精简了编译的代码量。在函数跳转中,毕昇编译器基于RISC-V对整个跳转过程进行优化,将原先两条指令合成一条指令,每一次跳转能够节省32 Bytes的Codesize。在跳转表中,毕昇编译器采取基线地址偏移值代替绝对值的方法,保存表中相邻元素的地址差值(8 Bytes)而非元素本身(32 Bytes),从而达到压缩跳转表的目的。此外,毕昇编译器也通过全局变量传递的方法对其重复加载问题进行了优化。

在性能方面,由于函数调用涉及频繁的压栈和出栈操作,造成了不必要的性能开销。毕昇编译器采取了Shrink wrap增强技术,通过重新安排函数prologue和epilogue的位置以减少函数的栈保存操作。

00e1c5be-eb19-11ed-878e-dac502259ad0.png

毕昇编译器Shrink wrap增强

除了上述编译优化技术毕昇MCU编译器华为自研RISC-V扩展指令相配合让相关产品的软件获得领先的代码体积与性能收益。即使只使能RISC-V社区标准的IMFADC等扩展的指令,在不使用自研扩展指令的前提下,毕昇MCU编译器依旧能为开发者提供优秀的软件性能与代码体积。随着华为MCU类产品的商用交付的推进,华为和RISC-VMCU开发者将很快就能用上毕昇MCU编译器。

03

总结

未来,华为毕昇编译器团队将把毕昇编译器的优化技术和能力通过开源贡献到OpenHarmony社区,以此促进OpenHarmony软件生态的发展,让整个OpenHarmony生态都能够获得有竞争力的编译技术支撑。

E N D

点击下方阅读原文获取演讲PPT。

关注我们,获取更多精彩。


审核编辑黄宇


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编译器
    +关注

    关注

    1

    文章

    1642

    浏览量

    49336
  • RISC-V
    +关注

    关注

    45

    文章

    2334

    浏览量

    46742
  • OpenHarmony
    +关注

    关注

    25

    文章

    3753

    浏览量

    16720
收藏 人收藏

    评论

    相关推荐

    明晚开播 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    简介RISC-V的开放性和模块化设计使得研究人员、开发者和企业能够自由地使用、扩展和优化这一架构,推动了计算机硬件与软件技术的共同进步,RISC-V编译器的开发成为
    的头像 发表于 01-21 08:04 126次阅读
    明晚开播 |开源芯片系列讲座<b class='flag-5'>第</b>26<b class='flag-5'>期</b>:奕斯伟<b class='flag-5'>RISC-V</b> GCC工具链实践分享

    直播预约 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    分享报告简介RISC-V的开放性和模块化设计使得研究人员、开发者和企业能够自由地使用、扩展和优化这一架构,推动了计算机硬件与软件技术的共同进步,RISC-V编译器的开发
    的头像 发表于 01-14 09:52 222次阅读
    直播预约 |开源芯片系列讲座<b class='flag-5'>第</b>26<b class='flag-5'>期</b>:奕斯伟<b class='flag-5'>RISC-V</b> GCC工具链实践分享

    圣诞特辑 |开源芯片系列讲座25RISC-V架构在高性能领域的进展与挑战

    鹭岛论坛开源芯片系列讲座25RISC-V架构在高性能领域的进展与挑战」圣诞夜(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目
    的头像 发表于 12-24 08:03 343次阅读
    圣诞特辑 |开源芯片系列讲座<b class='flag-5'>第</b>25<b class='flag-5'>期</b>:<b class='flag-5'>RISC-V</b>架构在高性能领域的<b class='flag-5'>进展</b>与挑战

    HighTec C/C++编译器套件全面支持芯来RISC-V IP

    德国萨尔布吕肯,2024年12月5日——世界领先的汽车C/C++编译器解决方案提供商HighTec EDV Systeme GmbH宣布全面支持芯来科技的RISC-V IP。HighTec编译器
    的头像 发表于 12-23 09:04 400次阅读
    HighTec C/C++<b class='flag-5'>编译器</b>套件全面支持芯来<b class='flag-5'>RISC-V</b> IP

    RISC-V架构及MRS开发环境回顾

    的指令集使用模块化的方式进行组织,每一个模块使用一个英文字母来表示。RISC-V最基本也是唯一强 制要求实现的指令集部分是由I字母表示的基本整数指令子集,使用该整数指令子集,便能够实现完整的软件编译器
    发表于 12-16 23:08

    直播预约 |开源芯片系列讲座25RISC-V架构在高性能领域的进展与挑战

    鹭岛论坛开源芯片系列讲座25RISC-V架构在高性能领域的进展与挑战」12月25日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目
    的头像 发表于 12-13 17:01 217次阅读
    直播预约 |开源芯片系列讲座<b class='flag-5'>第</b>25<b class='flag-5'>期</b>:<b class='flag-5'>RISC-V</b>架构在高性能领域的<b class='flag-5'>进展</b>与挑战

    HighTec C/C++编译器支持Andes晶心科技RISC-V IP

    汽车编译器解决方案领先供货商HighTec EDV-Systeme GmbH宣布其针对汽车市场的高度优化C/C++编译器支持Andes晶心科技的RISC-V IP。这项支持对汽车软件开发人员来说是一
    的头像 发表于 12-12 16:26 405次阅读

    RISC-V,即将进入应用的爆发

    我们会迎来前所未见的AI软件应用,而RISC-V有望打造出下一代的AI引擎。” 达摩院院长张建锋此前在3月2024玄铁RISC-V生态大会表示,随着新型算力需求激增,RISC-V发展迎
    发表于 10-31 16:06

    2024 年 RISC-V 中国峰会在杭开幕

    8月21日,2024年RISC-V中国峰会在杭开幕。本次峰会汇聚了RISC-V国际基金会、业界专家、企业代表及社区伙伴,共同探讨RISC-V
    的头像 发表于 08-30 13:15 347次阅读
    2024 年 <b class='flag-5'>RISC-V</b> 中国<b class='flag-5'>峰会</b>在杭开幕

    2024 RISC-V 中国峰会圆满落幕

    第四届RISC-V中国峰会RISC-VSummitChina2024)在杭州成功举办。此次峰会汇聚了RISC-V国际基金会、百余家重点企业
    的头像 发表于 08-30 13:14 608次阅读
    2024 <b class='flag-5'>RISC-V</b> 中国<b class='flag-5'>峰会</b>圆满落幕

    2024 RISC-V 中国峰会:华秋电子助力RISC-V生态

    第四届RISC-V中国峰会RISC-V Summit China 2024)于8月21日至23日在杭州盛大召开,成为RISC-V领域的一次重要盛会
    的头像 发表于 08-26 18:33 1004次阅读
    2024 <b class='flag-5'>RISC-V</b> 中国<b class='flag-5'>峰会</b>:华秋电子助力<b class='flag-5'>RISC-V</b><b class='flag-5'>生态</b>!

    2024 RISC-V 中国峰会:华秋电子助力RISC-V生态

    方案与技术,致力于将峰会的每一个精彩瞬间、每一项创新成果,精准传递给广大开发者与爱好者,以促进技术交流与合作,共同推动RISC-V生态在中国乃至全球的蓬勃发展。为此,华秋电子<电子发烧友
    发表于 08-26 16:46

    中移芯加入甲辰计划,共建 RISC-V 生态繁荣

    的开放标准体系及开源系统软件栈,使RISC-V软硬件生态达到作为主流指令集架构所需的生态成熟度。中移芯是中国移动旗下专业芯片设计公司及首批“科改示范行动”试点单
    的头像 发表于 05-28 08:18 854次阅读
    中移芯<b class='flag-5'>昇</b>加入甲辰计划,共建 <b class='flag-5'>RISC-V</b> <b class='flag-5'>生态</b>繁荣

    RISC-V单片机最好用的编译器

    想要了解对RISC-V单片机最好用的编译器是哪个?
    发表于 05-08 21:42

    玄铁RISC-V生态大会深圳召开,达摩院引领RISC-V创新应用

    :达摩院院长张建锋在玄铁RISC-V生态大会上致词,RISC即将迎来蝶变进入应用爆发   从2018年起,阿里巴巴开始投入RISC-V架构
    的头像 发表于 03-19 10:02 4735次阅读
    玄铁<b class='flag-5'>RISC-V</b><b class='flag-5'>生态</b>大会深圳召开,达摩院引领<b class='flag-5'>RISC-V</b>创新应用