鲲鹏系列五: DevKit开发全系列工具技术要点总结

简介: 摩尔定律发展趋势的逐渐放缓,让算力和性能陷入一系列发展瓶颈,市场对创新架构的需求日益加深,计算平台的创新之战一触即发

相信大家也都知道,应用服务从x86平台转向ARM云平台已成为大势所趋。如今x86架构的不足和劣势也愈发明显,功耗大、通用寄存器数量少、计算机硬件利用率低、寻址范围小、指令格式的内部结构繁冗复杂等问题开始凸显出来,并且难以跟上当今算力发展的速度。在当今的新基建风口下,算力一跃成为了新的生产力,云计算、AI 与 5G 则是新的生产工具,技术聚变将引发商业裂变,带动各行各业的数字化快速发展。基于 5G 等新兴技术的创新应用催生多样化算力的需求,市场既需要通用计算算力也需要异构计算算力。此外,摩尔定律发展趋势的逐渐放缓,让算力和性能陷入一系列发展瓶颈,市场对创新架构的需求日益加深,计算平台的创新之战一触即发。与此同时,ARM 架构在移动互联网盛行的当下却开始焕发出别样的生机和活力。从本质上讲,由于架构差异、指令集差异和向量寄存器差异这三大差异的存在,在x86上运行的程序就根本不可能毫无阻碍地就可以在鲲鹏处理器上使用,必须经过编译,这同时也证明了迁移的必要性和必然性。我还记得2020年6月8日在四川成都鲲鹏开发者嘉年华的DevRun开发者沙龙上梁冰总监(计算产业开源与生态营销总监)表示说:“非常希望 ARM 和鲲鹏的生态能成为下一个计算产业迭代的方向。”

(以下表格是对比的两种平台的值溢出问题)

image.png

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

不仅仅是我们开发者会遇到这样的一些困难,我们国家的整个通信和信息产业也面临着艰巨的挑战。自从19年美国对华为以及我国众多的高端科技企业和各大高校的制裁打压以来,我国通讯设备行业的芯片制造和研发面临的困境越来越大,应用服务的推广也备受阻碍。

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

image.png

随着应用迁移的不断深入,基于鲲鹏进行软件开发的需求也越来越多,鲲鹏DevKit全新升级为2.0版本,从加速“应用迁移”走向使能“原生开发”,这个版本已经在2021年12月31日在鲲鹏社区上线了。2.0版本相比于1.0版本,性能调优工具在原有的系统性能分析、Java性能分析基础之上,新增调优助手功能,指导用户快速掌握调优方法、降低调优难度。此外,系统诊断在内存和网络诊断基础上完善了存储诊断能力,能够快速定位相关部件异常点,准确度大于90%。新版本中进一步增强了迁移能力:新增10余款主流HPC专项软件的快速迁移能力;新增了鲲鹏亲和检查,包括程序运行模式、结构体字节对齐、Cache line对齐、内存一致性等检查功能,可以帮助我们用户软件更好的适配鲲鹏架构,产生更优的鲲鹏亲和代码。

image.png

DevKit还具有以下特性:

  • 鲲鹏工程向导+场景化SDK

快速创建鲲鹏工程,鲲鹏工程包含安全计算应用、通用计算应用和高性能计算应用的场景化应用工程模板,快速辅助工程环境构建,配置检查、依赖下载、构建文件生成等。

  • 一键创建工程,推荐鲲鹏原生编译选项

无需编写代码,快速上手鲲鹏开发,自动配置鲲鹏亲和编译选项

  • 集成鲲鹏加速库

支持鲲鹏加速库自动下载及部署,展示加速库示例代码

  • 安全计算SDK

基于鲲鹏芯片特有的安全底座TrustZone,构建数字安全屏障

  • 高性能计算SDK

基于高性能通信库和数学库,帮助用户构建极致性能应用

image.png

相关文章
|
6月前
|
IDE 测试技术 持续交付
网易Airtest全新推出:小型便携式集群解决方案!
网易Airtest全新推出:小型便携式集群解决方案!
|
3月前
|
Web App开发 编解码 Linux
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
音视频技术广泛应用于直播系统,涵盖电视、电脑、手机直播等多种形式,并延伸至在线教育、医疗咨询和安全监控等领域。直播系统涉及实时编解码与传输,技术实现较复杂。从用户角度看,直播系统分为来源方和观看方,但在开发者视角下还需加入云平台作为中转。本文提出一套基于全开源软件的直播系统架构,分为三层:开源直播录制软件(如OBS Studio、RTMP Streamer),开源流媒体服务器(如SRS、ZLMediaKit),以及开源音视频播放器(如VLC media player、ExoPlayer)。这些组件共同构成一个高效、灵活且成本低廉的直播解决方案。
95 0
FFmpeg开发笔记(四十八)从0开始搭建直播系统的开源软件架构
|
存储 固态存储 Ubuntu
基于飞腾芯片的设计与调试入门指导
基于飞腾芯片的设计与调试入门指导
628 0
|
存储 数据挖掘
带你读《天猫精灵:如何在互联网公司做硬件》——2.5 电子设计相关工具简介
带你读《天猫精灵:如何在互联网公司做硬件》——2.5 电子设计相关工具简介
|
网络协议 物联网 AliOS-Things
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(三)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(三)| 学习笔记
|
IDE Linux 编译器
鲲鹏系列二: DevKit编译调试工具技术要点总结
在实际的开发场景中,开发者经常需要在Linux服务器上进行开发、编译、调试和运行等操作。基于绝大多数开发者更习惯于在本地Windows环境中使用IDE编码,这需要开发者每次编写好代码后手动上传到远程服务器,然后在服务器上进行编译、调试一系列操作
244 0
 鲲鹏系列二: DevKit编译调试工具技术要点总结
|
缓存 IDE 编译器
鲲鹏系列一: DevKit代码迁移工具技术要点总结
处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。通常,代码迁移是件复杂又繁琐的工作,需要花费开发者大量精力对软件包、源代码、依赖库文件进行人工分析、检查和识别,手动修正不同指令集之间的相关差异,这些差异主要涉及语法、指令、函数和库文件支持情况。
496 0
鲲鹏系列一: DevKit代码迁移工具技术要点总结
|
边缘计算 编解码 算法
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(一)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(一)| 学习笔记
|
存储 安全 算法
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(二)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(二)| 学习笔记
|
边缘计算 人工智能 编解码
平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台(四)| 学习笔记
快速学习平头哥 YoC 平台——支持从芯片到云全链路高效设计的 IoT 全栈技术平台