【华为云技术分享】鲲鹏开发套件:让应用软件迁移调优So Easy
鲲鹏开发套件是提供给开发者面向鲲鹏处理器进行应用软件迁移与调优的系列化工具。通过鲲鹏开发套件可实现对海量代码进行快速扫描和分析,并提供专业的代码移植指导,以及移植后全面的系统性能分析与可视化呈现,从而极大提升软件开发者移植与调优效率。
- 当前应用迁移面临的挑战
因处理器所支持的指令集不同,开发者可能需要对代码进行跨处理器平台的移植,大量不可见的工作量的确难以下手。如果纯粹依靠人工进行代码迁移,不仅分析过程投入工作量大,周期长,需反复试错定位,准确率也低下,而且要求移植人员专业技能高;移植到新处理器平台后的程序,容易出现程序性能问题,例如:CPU占用率过高,I/O吞吐率下降等性能问题,这就需要对程序进行优化。但传统性能分析优化手段单一,依赖专家经验,时间成本长,效果不佳,这些都超出了一般程序员的能力范围。
- 鲲鹏开发套件的诞生
为了应对这些挑战,鲲鹏开发套件就应运而生了。鲲鹏开发套件是系列化的协助开发人员面向鲲鹏处理器快速进行应用软件迁移与调优的工具集,当前包括Dependency Advisor(分析扫描工具)、Porting Advisor(代码迁移工具)、Tuning Kit(性能优化工具)。它集成了华为代码迁移与性能调优的专家经验,能够对海量代码进行自动化扫描和分析,识别出需要移植的依赖库文件,给出专业的移植报告与建议,并提供从系统、进程、函数到代码的全景性能分析,为开发提供了从软件评估、代码移植到性能调优端到端的一站式服务套件。
- 检查用户软件资源包(RPM、DEB、TAR、ZIP、GZIP文件)中包含的SO(Shared Object)依赖库和可执行文件,并评估SO依赖库和可执行文件的可移植性和在安装包中的相对路径。
- 检查用户Java类软件包(JAR、WAR)中包含的SO依赖库和二进制文件,并评估上述文件的可移植性。
- 检查指定的用户软件安装路径下的SO依赖库和可执行文件,并评估SO依赖库和可执行文件的可移植性。
- 检查用户C/C++软件构建工程文件,并评估该文件的可移植性。
- 检查用户C/C++软件源码,并评估软件源文件的可移植性。
- 向用户提供软件移植报告,提供移植工作量评估。
- 支持命令行方式和Web两种工作模式。
− 检查用户C/C++软件构建工程文件,并指导用户如何移植该文件。
− 检查用户C/C++软件构建工程文件使用的链接库,并提供可移植性信息。
华为鲲鹏性能优化工具是针对鲲鹏计算平台的性能分析和优化工具,能收集处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数。
- 系统配置全景分析,采集整个系统的软硬件配置信息,分析并针对不合理项提供优化建议。
- 系统性能全景分析,借鉴业界的USE(utilization、saturation、errors)方法,通过采集系统CPU、内存、存储IO、网络IO等资源的运行情况,获得它们的使用率、饱和度、错误等指标,识别系统瓶颈。针对部分系统指标项,根据已有的基准值和优化经验提供优化建议。
- 系统资源调度分析,基于CPU调度事件分析CPU核、进程/线程在各时间点的运行状态,进程/线程切换情况,给出相应的优化建议。
- 进程/线程性能分析,借鉴业界的USE方法,采集进程/线程对CPU、内存、存储IO等资源的消耗情况,获得对应的使用率、饱和度、错误等指标,识别性能瓶颈。针对部分指标项,根据已有的基准值和优化经验提供优化建议。
- C/C++程序分析,支持分析C/C++程序代码,找出性能瓶颈点,给出对应的热点函数及其源码和汇编指令;支持通过火焰图展示函数的调用关系,给出优化路径。
- Java Mixed-Mode分析,支持分析JAVA程序代码,找出性能瓶颈点,给出对应的热点函数;支持通过火焰图展示函数的调用关系,给出优化路径。
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相关推荐
- 【华为云技术分享】如何将代码自动迁移到鲲鹏平台
本文内容源视频地址: https://huaweicloud.bugu.mudu.tv/watch/ym1bzp7p 大家好,今天要讲的主题是关于软件迁移,这是一个久远的话题,因为但凡牵扯到切换平台. ...
- 【华为云技术分享】开发团队中的任务没人领取,你头疼吗?
背景 在传统开发模式下模下,发任务由项目经理指派给个人的,而在敏捷开发模式中,是由任务是项目经理指派给个人的,而在敏捷开发模式的务队领取的.很多企业开发任务的时候,有几个任务型中认领怎么办?问题:&q ...
- 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3
4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...
- 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)
[华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...
- 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1
前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...
- 【华为云技术分享】华为云HiLens全面升级,端云协同多模态AI应用开发利器
[中国,深圳,2020年3月28日] 在华为开发者大会2020(Cloud)期间,华为云推出了全面升级的业界首个端云协同多模态AI应用开发套件--HiLens ,打通线上线下开发和部署流程,开发者只需 ...
- 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发
华为云ModelArts一站式AI开发与管理平台,能够支撑开发者从数据到AI应用的全流程开发过程,包含数据处理.算法开发.模型训练.模型管理.部署等,支持图像分类.图像检测.视频分析.语音识别.产品推 ...
- 【华为云技术分享】为什么越来越多企业正在往ARM平台迁移?
架构变迁 说到CPU架构,我们可能必然会提到CISC(复杂指令集,比如桌面端采用的X86系列)和RISC(精简指令集,比如移动端广泛采用的ARM系列).理论上,RISC 相比于 CISC(Intel ...
- 【华为云技术分享】最终,我决定将代码迁出x86架构!
如今,我们几乎所有软件都建立在 x86 架构之上 ,在互联网漫长的演进过程中,各大公司拼尽全力在迭代上层架构.优化整体性能,开发者们该用的.能用的招儿想必都用上了,接下来呢?如果底层架构不出现大的革新 ...
最新文章
- android view控件的显示和隐藏动画效果
- 遇到 ORACLE 错误 1115,ORA-01114、ORA-27067错误案例一则
- iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报,发布3.7版本...
- Android检测是否有悬浮窗,Android 获取判断是否有悬浮窗权限的方法
- Go Web编程--使用Go语言创建静态文件服务器
- opencv+python 自动绿帽机
- win7原版镜像_(超详细)WIN7原版系统win镜像安装教程
- LM317 电阻表格 电阻计算
- FPGA20个例程专栏介绍
- 关于Keil C语言变量被多次定义的问题
- #最短路径,最小生成树#CH 6202 黑暗城堡
- [渝粤教育] 西北农林科技大学 国际贸易实务 参考 资料
- css淡入动画,使用CSS淡入大动画效果
- 同样是手写笔,Apple Pencil到底输在了哪里?
- 03 计算机视觉-opencv图像形态学处理
- 终于给自己买了台电脑
- 使用java的方式配置Spring---JavaConfig
- 重读微积分(六):差商与牛顿插值
- 安装centos7.0时电脑进入黑屏的解决方法
- 在线时间戳转换工具,纯JS 实现
热门文章
- 视觉SLAM笔记(27) 非线性最小二乘
- 安装并配置oracle11g,ORACLE11g 安装于基本配置说明
- php curl无视ssl,用Curl实现Post和Get请求,可绕过SSL验证
- php多个请求只执行一次,php使用redis的blPop/brPop,一台服务器多个并发,也只能一次一次执行?...
- java实现复原IP地址,回溯算法:复原IP地址
- 魔兽服务器联盟在线,《魔兽世界》怀旧服再开新服,部落联盟泾渭分明?
- mvc移动创建oracle表,使用 ASP.NET MVC (C#)在15分钟内创建电影数据库应用程序 | Microsoft Docs...
- java实例成员和类成员变量的区别_Java之实例成员与类成员
- 神经网络入门概念和框架理解(YOLOv1v2v3改进分析)
- iOS获取设备UUID和IDFA