数字经济时代,市场既需要通用计算算力也需要异构计算算力。以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向鲲鹏平台的无忧迁移。
HDZRC-10A手持式变压器直流电阻测试仪使用说明
算法的算法-人工神经网络
介绍单个数据项的读取事务的过程
如何使用合成数据测试机器学习
晶电、鼎元及光磊切入红外线LED 3D感测应用2020年年复合成长率将达209%
鲲鹏开发套件DevKit助力源代码迁移3大挑战
北美完成首个城市超视距无人机系统项目
英特尔加大GPU工作站布局力度
科创板首家退市企业紫晶存储实控人涉嫌证券犯罪被捕
Python之父退休后太无聊加入微软
示波器软件该如何选择,有哪些方面需要注意?
关于线性恒流源驱动的详细解析
电话机器人的应用能够解决哪些问题
华为Mate10什么时候上市最新消息:华为Mate10配置升级,价格过万对彪iPhone8!
基于区块链的物联网安全案例
UNIXCLOUD万兆网卡UXC1000/UXC1100实图讲解
移动互联网的发展让直播和短视频为农货上行注入新动能
运算放大器的输入过压保护和输出相位反转
射频领域以后主要有哪一些材料
物联网的共生效应是怎样的