鲲鹏开发套件是提供给开发者面向鲲鹏处理器进行应用软件迁移与调优的系列化工具。通过鲲鹏开发套件可实现对海量代码进行快速扫描和分析,并提供专业的代码移植指导,以及移植后全面的系统性能分析与可视化呈现,从而极大提升软件开发者移植与调优效率。

  • 当前应用迁移面临的挑战

因处理器所支持的指令集不同,开发者可能需要对代码进行跨处理器平台的移植,大量不可见的工作量的确难以下手。如果纯粹依靠人工进行代码迁移,不仅分析过程投入工作量大,周期长,需反复试错定位,准确率也低下,而且要求移植人员专业技能高;移植到新处理器平台后的程序,容易出现程序性能问题,例如:CPU占用率过高,I/O吞吐率下降等性能问题,这就需要对程序进行优化。但传统性能分析优化手段单一,依赖专家经验,时间成本长,效果不佳,这些都超出了一般程序员的能力范围。

  • 鲲鹏开发套件的诞生

为了应对这些挑战,鲲鹏开发套件就应运而生了。鲲鹏开发套件是系列化的协助开发人员面向鲲鹏处理器快速进行应用软件迁移与调优的工具集,当前包括Dependency Advisor(分析扫描工具)、Porting Advisor(代码迁移工具)、Tuning Kit(性能优化工具)。它集成了华为代码迁移与性能调优的专家经验,能够对海量代码进行自动化扫描和分析,识别出需要移植的依赖库文件,给出专业的移植报告与建议,并提供从系统、进程、函数到代码的全景性能分析,为开发提供了从软件评估、代码移植到性能调优端到端的一站式服务套件。

华为鲲鹏分析扫描工具可安装在x86服务器或者TaiShan服务器上,当客户有软件需要移植到鲲鹏计算平台(例如TaiShan服务器等使用鲲鹏处理器的服务器产品)时,可先用该工具分析可移植性和移植投入。该工具解决了客户软件移植评估分析过程中人工分析投入大、准确率低、整体效率低下的痛点,通过该工具能够自动分析并输出指导报告。

当前工具支持的功能如下:

华为鲲鹏代码迁移工具是一款可以简化客户应用迁移到TaiShan服务器的过程的工具。当客户有x86平台上源代码的软件要移植到鲲鹏计算平台上时,可用该工具自动分析出需修改的代码内容,并指导用户如何修改。该工具解决了用户代码兼容性人工排查困难、移植经验欠缺、根据编译错误定位为题反复修改等痛点。

当前工具支持三个应用中心,支持的功能特性分别如下:

−     检查用户C/C++软件构建工程文件,并指导用户如何移植该文件。

−     检查用户C/C++软件构建工程文件使用的链接库,并提供可移植性信息。

−     检查用户C/C++软件源码,并指导用户如何移植源文件。

华为鲲鹏性能优化工具是针对鲲鹏计算平台的性能分析和优化工具,能收集处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数。

当前工具支持的功能特性如下:

在Hadoop大数据应用场景的业务迁移中,开发人员使用Dependency Advisor分析扫描和Porting Advisor构建中心一键打包功能特性,将原来x86平台上的25个RPM包快速迁移到鲲鹏服务器上,在分析环节、修改编译选项、修复编译问题、RPM打包等环节效率都有显著提升,工作量由原来的7人天下降到2人天,效率提升了70% 。

更多关于华为鲲鹏开发套件信息,请访问:

Dependency Advisor软件:https://www.huaweicloud.com/kunpeng/software/dependencyadvisor.html

Porting Advisor软件:https://www.huaweicloud.com/kunpeng/software/portingadvisor.html

Tuning Kit软件:https://www.huaweicloud.com/kunpeng/software/tuningkit.html

【华为云技术分享】鲲鹏开发套件:让应用软件迁移调优So Easy相关推荐

  1. 【华为云技术分享】如何将代码自动迁移到鲲鹏平台

    本文内容源视频地址: https://huaweicloud.bugu.mudu.tv/watch/ym1bzp7p 大家好,今天要讲的主题是关于软件迁移,这是一个久远的话题,因为但凡牵扯到切换平台. ...

  2. 【华为云技术分享】开发团队中的任务没人领取,你头疼吗?

    背景 在传统开发模式下模下,发任务由项目经理指派给个人的,而在敏捷开发模式中,是由任务是项目经理指派给个人的,而在敏捷开发模式的务队领取的.很多企业开发任务的时候,有几个任务型中认领怎么办?问题:&q ...

  3. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  4. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  5. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  6. 【华为云技术分享】华为云HiLens全面升级,端云协同多模态AI应用开发利器

    [中国,深圳,2020年3月28日] 在华为开发者大会2020(Cloud)期间,华为云推出了全面升级的业界首个端云协同多模态AI应用开发套件--HiLens ,打通线上线下开发和部署流程,开发者只需 ...

  7. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发

    华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...

  8. 【华为云技术分享】为什么越来越多企业正在往ARM平台迁移?

    架构变迁 说到CPU架构,我们可能必然会提到CISC(复杂指令集,比如桌面端采用的X86系列)和RISC(精简指令集,比如移动端广泛采用的ARM系列).理论上,RISC 相比于 CISC(Intel ...

  9. 【华为云技术分享】最终,我决定将代码迁出x86架构!

    如今,我们几乎所有软件都建立在 x86 架构之上 ,在互联网漫长的演进过程中,各大公司拼尽全力在迭代上层架构.优化整体性能,开发者们该用的.能用的招儿想必都用上了,接下来呢?如果底层架构不出现大的革新 ...

最新文章

  1. android view控件的显示和隐藏动画效果
  2. 遇到 ORACLE 错误 1115,ORA-01114、ORA-27067错误案例一则
  3. iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报,发布3.7版本...
  4. Android检测是否有悬浮窗,Android 获取判断是否有悬浮窗权限的方法
  5. Go Web编程--使用Go语言创建静态文件服务器
  6. opencv+python 自动绿帽机
  7. win7原版镜像_(超详细)WIN7原版系统win镜像安装教程
  8. LM317 电阻表格 电阻计算
  9. FPGA20个例程专栏介绍
  10. 关于Keil C语言变量被多次定义的问题
  11. #最短路径,最小生成树#CH 6202 黑暗城堡
  12. [渝粤教育] 西北农林科技大学 国际贸易实务 参考 资料
  13. css淡入动画,使用CSS淡入大动画效果
  14. 同样是手写笔,Apple Pencil到底输在了哪里?
  15. 03 计算机视觉-opencv图像形态学处理
  16. 终于给自己买了台电脑
  17. 使用java的方式配置Spring---JavaConfig
  18. 重读微积分(六):差商与牛顿插值
  19. 安装centos7.0时电脑进入黑屏的解决方法
  20. 在线时间戳转换工具,纯JS 实现

热门文章

  1. 视觉SLAM笔记(27) 非线性最小二乘
  2. 安装并配置oracle11g,ORACLE11g 安装于基本配置说明
  3. php curl无视ssl,用Curl实现Post和Get请求,可绕过SSL验证
  4. php多个请求只执行一次,php使用redis的blPop/brPop,一台服务器多个并发,也只能一次一次执行?...
  5. java实现复原IP地址,回溯算法:复原IP地址
  6. 魔兽服务器联盟在线,《魔兽世界》怀旧服再开新服,部落联盟泾渭分明?
  7. mvc移动创建oracle表,使用 ASP.NET MVC (C#)在15分钟内创建电影数据库应用程序 | Microsoft Docs...
  8. java实例成员和类成员变量的区别_Java之实例成员与类成员
  9. 神经网络入门概念和框架理解(YOLOv1v2v3改进分析)
  10. iOS获取设备UUID和IDFA