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

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

3天内不再提示

鲲鹏开发套件DevKit助力源代码迁移3大挑战

7riU_gh_3a181fa 来源:华为计算 作者:华为计算 2021-06-30 11:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数字经济时代,市场既需要通用计算算力也需要异构计算算力。以ARM架构为代表的非x86体系架构正以其先进工艺、低功耗、多核等优势,在云服务、存储、网络等主要场景得到了越来越多的应用。

从x86架构迁移到 ARM 架构的过程并不简单,不仅架构不同,而且指令集也不兼容。如何快速迁移已有软件就是用户需要解决的第一个问题。华为在2020年发布鲲鹏开发套件DevKit,给开发者提供面向鲲鹏处理器进行应用软件迁移与调优的系列化工具,助力用户无忧迁移程序。

对症下药,鲲鹏DevKit对于应用迁移采取的策略是:根据不同的软件开发语言,采用不同的方式进行迁移。通常,编译型语言编写的程序迁移难度大。在编写程序时,开发者通常通过宏定义指定程序片段的有效范围,在编译阶段通过宏定义选择需要的代码进行编译。

跨平台迁移软件时,用户需要检视源码中所有与平台架构相关的宏定义是否需要修改。在大型软件项目迁移过程中,往往需要有一个庞大的迁移工程团队审查源代码,找到需要改动的地方,进而做出手工改动。这样的迁移方法占用了大量的人力资源,而使用鲲鹏开发套件DevKit可以大大提高软件迁移效率。

直击痛点,鲲鹏DevKit

有效解决源代码迁移3大挑战

1 编译器检查项众多,难以面面俱到

一般情况下,编译器或者解释器屏蔽了底层硬件平台的差异。以常用的GCC编译器为例,GCC编译器为x86平台提供了近100个宏定义、超过300个编译选项、超过1000个built-in函数和超过300个attributes属性。在C/C++软件迁移过程中,上述编译器相关内容都需要检查。

同时,在软件编译链接过程中会依赖第三方组件,而这些组件在鲲鹏平台是否有兼容版本,也是需要检查判断,而鲲鹏开发套件DevKit就可以快速完成上述检查。例如,开发者在软件构建文件中使用了“-march”、“-mcpu”、“-m64”等参数;或者在源码中使用了“__x86_64__”这类平台架构相关的宏定义,DevKit都可以快速检出并提供适用鲲鹏平台的修改建议。

2软件构建依赖库庞大,开发者获取兼容库难

开发者在软件构建文件中通常通过命令参数“-l”指定需要链接的库文件。由于ARM架构软件生态相比x86架构还存在差异,存在某些库文件在鲲鹏平台上不兼容的情况。

DevKit汇聚了主流的Linux发行版超过160万个so库文件,能够方便的检查“-l”参数指定的库文件在鲲鹏平台是否兼容,向用户提供检查报告。

3汇编语言程序复杂,需要专业技术知识,开发者学习成本高

为了提升软件运行效率,用户软件中可能存在汇编程序。由于鲲鹏平台与x86平台的ISA完全不兼容而且差异巨大,这部分代码的迁移是非常困难的。目前鲲鹏开发套件DevKit提供了两种迁移方法。

一种是基于语法和语义分析的异构平台源代码迁移,通过对x86汇编程序的语法、语义分析,转换为鲲鹏平台汇编程序;一种是基于翻译规则的源代码跨平台翻译,对常用功能的x86汇编程序提供对应的鲲鹏汇编程序。

汇编自动翻译总体方案

简单高效,使用二进制指令

进行无源码迁移

如果用户软件过于陈旧没有源码,鲲鹏开发套件DevKit也提供了无源码软件迁移工具Exagear。用户可以在Exagear之上直接运行x86二进制可执行文件,通过指令动态翻译,在鲲鹏平台上正常运行该程序,避免了软件的任何修改。 鲲鹏开发套件DevKit提供了Web浏览器访问和IDE插件等多种使用方式,不改变开发者使用习惯,大大降低学习使用鲲鹏DevKit的难度。Web浏览器模式下,开发者可以通过Web浏览器直接访问即可便捷的进行应用迁移与调优;IDE插件模式下,鲲鹏提供了VSCode和IntelliJ两种主流IDE插件,开发者可以直接访问应用商店搜索“Kunpeng DevKit”下载并使用。

现在,开发者可以从鲲鹏开发社区免费获取并安装使用鲲鹏开发套件DevKit,实现软件从x86向鲲鹏平台的无忧迁移。

编辑:jq

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

    关注

    218

    文章

    36190

    浏览量

    262694
  • 函数
    +关注

    关注

    3

    文章

    4422

    浏览量

    67850
  • 编译器
    +关注

    关注

    1

    文章

    1672

    浏览量

    51913
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    7022
  • 鲲鹏
    +关注

    关注

    1

    文章

    150

    浏览量

    9554

原文标题:直击迁移痛点,鲲鹏开发套件DevKit助力应用无忧迁移

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    全新Altera Agilex开发套件正式发布

    Altera 正式面向嵌入式和 FPGA 开发推出三款紧凑型、高性能开发套件,以丰富互联与扩展能力,加速从概念到原型的验证流程。
    的头像 发表于 03-19 16:06 339次阅读
    全新Altera Agilex<b class='flag-5'>开发套件</b>正式发布

    AI功能(SC171开发套件V2-FAS)

    AI功能(SC171开发套件V2-FAS) 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 图像语义分割(deeplabv3)案例----基于SC171开发套件V2-FAS 15
    发表于 02-11 14:33

    SC171开发套件V3 技术资料 2026版

    SC171开发套件V3 技术资料 2026版 课程类别 链接 板卡请勿更新系统!!! 平台介绍及基本使用(SC171开发套件V3) https://bbs.elecfans.com
    发表于 01-15 12:13

    AI功能(SC171开发套件V3)2026版

    AI功能(SC171开发套件V3)2026版 序列 课程名称 视频课程时长 视频课程链接 课件链接 工程源码 1 人体目标检测(Yolov5)案例----基于SC171开发套件V3 8
    发表于 01-15 11:18

    SC171开发套件V3 技术资料 2026版

    SC171开发套件V3 技术资料 2026版 课程类别 链接 板卡请勿更新系统!!! 课程目录树 *附件:SC171开发套件V3(2026版)课程目录树--20260202.xlsx
    发表于 01-09 10:03

    探索Renesas DA1459x PRO开发套件:硬件设计与应用解析

    探索Renesas DA1459x PRO开发套件:硬件设计与应用解析 在当今的电子设计领域,开发套件的选择对于项目的成功至关重要。Renesas的DA1459x PRO开发套件(DK)为开发
    的头像 发表于 12-29 11:30 753次阅读

    DA14535 USB开发套件硬件解析:开启低功耗蓝牙开发新征程

    USB开发套件(型号610 - 12 - A),为开发者提供了一个低成本且功能丰富的开发平台,助力蓝牙相关项目的快速落地。今天,我们就来深入剖析这个
    的头像 发表于 12-29 11:00 1141次阅读

    Renesas AIK - RA4E1 v1开发套件:嵌入式开发的得力助手

    Renesas AIK - RA4E1 v1开发套件:嵌入式开发的得力助手 在嵌入式开发的领域中,一款优质的开发套件能够显著提升开发效率,为
    的头像 发表于 12-29 10:05 879次阅读

    探索CYUSB3KIT - 004 EZ - USB™ SX3开发套件的无限可能

    探索CYUSB3KIT - 004 EZ - USB™ SX3 开发套件的无限可能 在当今数字化飞速发展的时代,USB 技术不断革新,为各类音频和视频应用带来了新的机遇。CYUSB3
    的头像 发表于 12-20 21:20 1418次阅读

    e络盟推出DevKit HQ 一站式平台,助力工程师快速查找嵌入式评估板、套件和工具

    安富利旗下全球电子元器件产品与解决方案分销商e络盟正式推出DevKit HQ平台,这是一种新的在线资源,一站式整合了评估板、开发套件、单板计算机 (SBC)、工具和技术文档。
    的头像 发表于 12-17 16:05 518次阅读
    e络盟推出<b class='flag-5'>DevKit</b> HQ 一站式平台,<b class='flag-5'>助力</b>工程师快速查找嵌入式评估板、<b class='flag-5'>套件</b>和工具

    ‌TI CC1311P3 LaunchPad™开发套件技术解析与应用指南

    Texas Instruments CC1311P3 LaunchPad™ 开发套件设计用于加速开发SimpleLink™ 亚1GHz无线MCU。该器件支持TI 15.4堆栈和专有射频协议。CC13XX-CC26XX软件
    的头像 发表于 09-01 15:19 1700次阅读
    ‌TI CC1311P<b class='flag-5'>3</b> LaunchPad™<b class='flag-5'>开发套件</b>技术解析与应用指南

    贸泽开售适用于边缘计算和嵌入式应用的Altera Agilex 3 FPGA C系列开发套件

    设计应用。   Agilex 3 FPGA C系列开发套件为边缘计算和嵌入式应用提供丰富的功能和连接器。该套件提供支持8K视频的DisplayPort 1.4接口、适用
    发表于 08-04 17:27 1290次阅读
    贸泽开售适用于边缘计算和嵌入式应用的Altera Agilex <b class='flag-5'>3</b> FPGA C系列<b class='flag-5'>开发套件</b>

    DA14594 BLE Pro开发套件 开源 (原理图+BOM+PCB)

    DA14594-006FDEVKT-P BLE Pro开发套件 *附件:REN_DA1459x_开发板 硬件手册.pdf *附件:DA1459x Pro开发套件 (469-16-D) 物料清单
    的头像 发表于 05-22 10:47 1704次阅读
    DA14594 BLE Pro<b class='flag-5'>开发套件</b> 开源 (原理图+BOM+PCB)

    时识科技推出XyloAudio 3神经形态开发套件

    时识科技(SynSense)推出的XyloAudio 3神经形态开发套件,为边缘AI音频处理树立全新能效标杆!基于类脑计算技术,XyloAudio 3专为实时声音检测与分类场景打造,以超低功耗(<1毫瓦)和毫秒级响应速度赋能下一
    的头像 发表于 05-15 15:07 1517次阅读
    时识科技推出XyloAudio <b class='flag-5'>3</b>神经形态<b class='flag-5'>开发套件</b>

    89元起!开源国产FPGA开发套件,提供原理图及配套参考例程的源代码

    产品详情MES2KG开发板是一套基于紫光FPGA的开发套件,以紫光Compact系列PGC2KG-LPG100器件为核心,预留丰富的扩展IO及数码管、按键、LED灯,为用户提供基本的硬件环境,并且
    的头像 发表于 05-13 08:07 1399次阅读
    89元起!开源国产FPGA<b class='flag-5'>开发套件</b>,提供原理图及配套参考例程的<b class='flag-5'>源代码</b>