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

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

3天内不再提示

鲲鹏DevKit中汇编翻译特性的应用和实现

7riU_gh_3a181fa 来源:华为计算 作者:华为计算 2021-06-01 11:08 次阅读

5月29日,由InfoQ 主办的全球顶级技术盛会—QCon全球软件开发大会2021北京站正式开启,来自国内外知名企业百余位技术专家,数千名资深工程师、技术管理者、架构师共同分享和交流了当下新技术在行业应用中的最新实践,全方位探讨行业的最新发展趋势。华为鲲鹏计算产品部部长颜叶在大会发表主题演讲,介绍鲲鹏全栈开放创新进展;鲲鹏技术专家团队也分别在技术专场中分享关于鲲鹏开发套件DevKit的各大使能工具,帮助开发者了解软件迁移和调优的关键技术,助力鲲鹏架构的行业应用落地。

鲲鹏全栈开放创新 共铸产业繁荣生态

华为鲲鹏计算产品部部长颜叶在QCon主题演讲中表示,处理器是计算产业的“心”,基础软件就是计算产业的“魂”,华为秉持“硬件开放、软件开源、使能伙伴、发展人才”的策略构建鲲鹏计算生态。经过一年半左右时间的建设,鲲鹏在端到端构筑了产业竞争力,加速区域产业落地,同时在面向政府、金融、电力、大企业等多个国计民生行业已经实现了规模部署,支撑多地数字经济发展。截至目前,全国已落地24家生态创新中心,12家OEM整机伙伴,2700多家合作伙伴,5700多个解决方案认证,40万鲲鹏开发者。

鲲鹏产业生态正在蓬勃发展,为了进一步激发行业创新、促进人才培养、加速产业融合,颜叶说,鲲鹏应用创新大赛2021已经启动报名,全产业的开发者均可参与本次比赛,共同基于鲲鹏技术共同打造鲲鹏全栈解决方案,实现技术与商业创新应用。

华为鲲鹏计算产品部部长颜叶

专家团队深度解析 鲲鹏一站式开发套件DevKit

在各行业基于鲲鹏计算产业生态加速数字化转型的道路上,由传统架构向鲲鹏 ARM 平台的软件迁移是一个非常关键的环节,直接决定了鲲鹏生态应用水平的高低。为了帮助开发人员更快熟悉鲲鹏平台,更好地完成基于传统架构的应用服务迁移工作,鲲鹏发布了开发使能套件DevKit。本次鲲鹏技术专家在 “鲲鹏平台软件迁移和调优实践”专场技术论坛中,为开发者深度解读鲲鹏一站式开发套件DevKit的工具套件和关键技术。

1鲲鹏DevKit中汇编翻译特性的应用和实现

编译器无法编译源码中其它平台的汇编代码,因此如何高效识别x86中的汇编代码并快速迁移到鲲鹏平台上,是鲲鹏生态快速建设和拓展亟需解决的一个技术课题。华为鲲鹏编译技术专家乐永年表示,为了应对自动识别和汇编代码翻译等一系列的技术难题,鲲鹏汇编总体设计方案为“W+二”。

“W”为四个步骤,分别是汇编注解、局部异构平台反编译、编译优化和代码生成,汇编注解解决了汇编样式多样的问题,局部异构平台反编译解决平台差异问题,代码质量由编译器的编译优化和代码生成完成。

“二”是两条快速翻译路径,一条是基于规则的快速指令翻译,用于简单嵌入汇编翻译,另一条是编译器里基于向量化语义函数的SIMD指令翻译。通过这个方案,鲲鹏DevKit中的代码迁移工具能快速实现x86汇编代码到鲲鹏平台的自动迁移,保障应用迁移高效率完成。

华为鲲鹏编译技术专家乐永年

2加速库在业务性能调优中的应用

鲲鹏加速库是基于鲲鹏微架构的加速技术构建的。华为鲲鹏数学库架构师薛永辉介绍说,鲲鹏基于行业常用的软件库,通过软硬协同、算法创新,打破性能瓶颈,充分释放鲲鹏处理器的澎湃算力。目前已经覆盖了压缩库、加解密库、系统库、媒体库、数学库和存储库等常用的基础软件库,为鲲鹏应用提供极致的性能保障。

目前DevKit加速库插件支持加速函数一键识别、智能联想,支撑应用快速集成鲲鹏高性能软件库,为应用迁移后的性能保驾护航。

华为鲲鹏数学库架构师薛永辉

3鲲鹏编译优化技术探索与软件优化实践

毕昇编译器2020年正式发布上线,基于华为编译实验室长期技术积累和项目实践,针对鲲鹏进行深度优化,力求解决目前开发者的痛点,充分释放鲲鹏算力优势:

高性能编译算法。编译深度优化,增强多核并行化,自动矢量化等,大幅提升指令和数据呑吐量。

加速指令集。结合NEON/SVE等内嵌指令技术,深度优化指令编译和运行时库,发挥鲲鹏架构最佳表现。

AI迭代调优。内置AI自学习模型,自动优化编译配置,迭代提升程序性能,完成最优编译。

华为毕昇编译器架构师魏伟表示,毕昇编译器结合鲲鹏架构特点,针对不同场景,不同应用特点,使用不同的编译优化手段,通过深度优化指令编译,引入或增强优化算法等,发挥鲲鹏极致算力。

华为毕昇编译器架构师魏伟

4动态二进制翻译技术原理及应用实践

ExaGear利用动态二进制翻译技术,结合动态二进制优化能力,能够稳定支持无源码的ARM32和x86存量业务运行在鲲鹏平台上。ExaGear主要具有以下优势:

代码0修改。直接加载被翻译执行的二进制应用程序文件,用户无需重新编译或修改二进制应用程序,无需对业务应用进行额外的二次开发,最小化业务迁移成本。

业务无损。经过翻译执行的业务逻辑与原生业务行为一致,保证翻译过程自身透明性,翻译工具无需解释业务逻辑,不直接处理用户数据。

性能领先。集成高性能编译技术,实现一种指令集到另一种指令集的跨指令体系结构实时转换,识别热点指令并在线深度优化热点指令翻译过程,达到指令翻译性能业界领先。

华为二进制翻译技术专家吕研冬博士介绍,开发者使用ExaGear,通过无源码应用迁移,大幅降低了存量业务部署门槛,让用户以最低的人力和时间成本平滑迁移业务,实现了应用业务快速迁移到鲲鹏。

华为二进制翻译技术专家吕研冬博士

QCon首日,华为语言虚拟机技术专家彭成寒也带来了毕昇JDK在大数据场景中的优化实践技术分享。毕昇 JDK 是华为基于 OpenJDK 开发的商用 JDK 版本,是一个高性能、可用于生产环境的 OpenJDK 发行版。毕昇 JDK 已经运行在华为内部 500 多个产品上,积累了大量使用场景和 Java 开发者反馈的问题和诉求,并在 ARM 架构上进行了性能优化,毕昇 JDK 在大数据等场景下可以获得更好的性能。

华为语言虚拟机技术专家彭成寒 以实践驱动技术,技术驱动创新、创新驱动发展,华为围绕着硬件使能、基础使能、应用使能和开发使能层持续投入,通过全栈开放开源,构建鲲鹏计算生态。未来,华为将会把更多优秀的技术推向市场,为企业和开发者提供完备、易用和高效的工具链,加速鲲鹏生态繁荣和产业成功。

原文标题:QCon北京站—鲲鹏全栈开放创新,构筑极致性能、使能极简开发

文章出处:【微信公众号:华为计算】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    215

    文章

    33969

    浏览量

    248124
  • 软件
    +关注

    关注

    68

    文章

    4451

    浏览量

    86248
  • 鲲鹏
    +关注

    关注

    1

    文章

    122

    浏览量

    8810

原文标题:QCon北京站—鲲鹏全栈开放创新,构筑极致性能、使能极简开发

文章出处:【微信号:gh_3a181fa836b6,微信公众号:华为计算】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ESP32-S2-HMI-DevKit-1开发板如何实现lcd竖屏显示?

    你好, ESP32-S2-HMI-DevKit-1开发板上demo,lcd都是横屏显示的,想改成竖屏显示,这个需要怎么修改,或者是有没有这样的demo? 另外没找到
    发表于 06-28 06:50

    如何正确的导入esp32-s2-hmi-devkit-1专用头文件?

    从GitHub下载了esp32-s2-hmi-devkit-1的例程,但是编译时候提醒缺少各种头文件,请问要如何正确的导入esp32-s2-hmi-devkit-1专用头文件。(eclipse之前可以正常编译ESP32其他版本的范例
    发表于 06-21 09:03

    携手华为鲲鹏 芯华章助力打造国产EDA平台

    平台” 的演讲。 在芯华章之前,国外的主流EDA工具是不支持国产服务器的。现在,芯华章已经实现了对飞腾、鲲鹏等国产服务器的支持。   这一步,是构建整个国产自主生态的关键一步,意味着一条完整、独立自主的国产供应链已经初步形成: 现在,
    发表于 04-30 09:32 184次阅读
    携手华为<b class='flag-5'>鲲鹏</b> 芯华章助力打造国产EDA平台

    软通智慧启动鲲鹏原生应用开发合作

    1月25日,软通智慧科技有限公司启动 鲲鹏原生应用开发合作 ,将基于 鲲鹏硬件底座、openEuler、开发套件Kunpeng DevKit和应用使能套件Kunpeng BoostKit 开展面向
    的头像 发表于 02-19 10:01 268次阅读
    软通智慧启动<b class='flag-5'>鲲鹏</b>原生应用开发合作

    全志R128 Devkit开发板原理图模块介绍及使用说明

    针对 R128 模组,百问科技推出了 R128 DevKit 开发板作为快速开发评估工具。 板载 R128-S2-N16R16 模组 板载 2.4G RF 陶瓷天线 板载 USB Type C
    发表于 01-17 09:45

    DshanMCU-R128s2 R128 DevKit 开发板

    针对 R128 模组,百问科技推出了 R128 DevKit 开发板作为快速开发评估工具。 特性: 板载 R128-S2-N16R16 模组 板载 2.4G RF 陶瓷天线 板载 USB Type
    的头像 发表于 12-22 12:02 359次阅读
    DshanMCU-R128s2 R128 <b class='flag-5'>DevKit</b> 开发板

    基于DShanMCU-R128s2-DevKit开发智能手表

    本项目基于DShanMCU-R128s2-DevKit开发,用意是提供一个综合的示例进行学习参考。
    的头像 发表于 11-01 15:32 527次阅读
    基于DShanMCU-R128s2-<b class='flag-5'>DevKit</b>开发智能手表

    求助,keil中汇编和c怎么同时使用?

    一个工程里面有有2个汇编文件s,还有一个c文件,c里面的函数怎么调用s里面的函数
    发表于 10-25 06:28

    鲲鹏920和英特尔对比哪个好?鲲鹏920相当于intel什么级别

    鲲鹏920和英特尔对比哪个好 与英特尔的芯片相比,鲲鹏920在某些方面表现得更好。 首先,鲲鹏920基于ARM V8架构,最高可以集成64个物理核,主频最高达到2.6GHz。在多核性能上,鲲鹏
    的头像 发表于 10-16 17:09 1.3w次阅读

    鲲鹏920和倚天710那个好?

    鲲鹏920和倚天710那个好? 鲲鹏920和倚天710各有各的优势。根据小编的了解,鲲鹏920处理器是华为在2019年1月发布的数据中心高性能处理器,由华为自主研发和设计,旨在满足数据中心多样性计算
    的头像 发表于 10-16 16:56 1835次阅读

    DshanMCU-R128s2-DEVKIT应用开发案例

    本文章为DshanMCU-R128s2-DEVKIT应用开发案例,本文案例(点亮一颗 LED 灯)代码可以到全志在线-在线文档或者复制链接前往下载。
    的头像 发表于 09-28 16:26 636次阅读
    DshanMCU-R128s2-<b class='flag-5'>DEVKIT</b>应用开发案例

    使用TouchGFX二进制翻译(Binary Translation)功能实现动态更新翻译

    电子发烧友网站提供《使用TouchGFX二进制翻译(Binary Translation)功能实现动态更新翻译.pdf》资料免费下载
    发表于 09-19 16:48 1次下载
    使用TouchGFX二进制<b class='flag-5'>翻译</b>(Binary Translation)功能<b class='flag-5'>实现</b>动态更新<b class='flag-5'>翻译</b>

    ARM汇编快速入门教程

    本文主要分享如何快速上手ARM汇编开发的经验、汇编开发中常见的Bug以及Debug方法、用的Convolution Dephtwise算子的汇编实现相对于C++版本的加速效果三方面内容
    发表于 08-25 10:19 742次阅读
    ARM<b class='flag-5'>汇编</b>快速入门教程

    为什么要反汇编?反汇编文件的生成和解读

    汇编顾名思义就是汇编的逆过程,将二进制文件反汇编汇编代码。arm-linux-objdump是交叉编译工具链里的一个工具,专门用来反汇编
    发表于 08-02 10:25 4687次阅读
    为什么要反<b class='flag-5'>汇编</b>?反<b class='flag-5'>汇编</b>文件的生成和解读

    单片机汇编语言的结构/数据类型/汇编指令

    开发汇编语言是为了为机器级代码指令提供助记符或符号,汇编语言程序由助记符组成,因此应将它们翻译成机器代码。负责这种转换的程序称为汇编程序。汇编
    的头像 发表于 07-07 12:28 2391次阅读