相信大家也都知道,应用服务从x86平台转向ARM云平台已成为大势所趋。如今x86架构的不足和劣势也愈发明显,功耗大、通用寄存器数量少、计算机硬件利用率低、寻址范围小、指令格式的内部结构繁冗复杂等问题开始凸显出来,并且难以跟上当今算力发展的速度。在当今的新基建风口下,算力一跃成为了新的生产力,云计算、AI 与 5G 则是新的生产工具,技术聚变将引发商业裂变,带动各行各业的数字化快速发展。基于 5G 等新兴技术的创新应用催生多样化算力的需求,市场既需要通用计算算力也需要异构计算算力。此外,摩尔定律发展趋势的逐渐放缓,让算力和性能陷入一系列发展瓶颈,市场对创新架构的需求日益加深,计算平台的创新之战一触即发。与此同时,ARM 架构在移动互联网盛行的当下却开始焕发出别样的生机和活力。从本质上讲,由于架构差异、指令集差异和向量寄存器差异这三大差异的存在,在x86上运行的程序就根本不可能毫无阻碍地就可以在鲲鹏处理器上使用,必须经过编译,这同时也证明了迁移的必要性和必然性。我还记得2020年6月8日在四川成都鲲鹏开发者嘉年华的DevRun开发者沙龙上梁冰总监(计算产业开源与生态营销总监)表示说:“非常希望 ARM 和鲲鹏的生态能成为下一个计算产业迭代的方向。”
(以下表格是对比的两种平台的值溢出问题)
如果单纯依靠人工进行代码迁移,不仅分析过程投入工作量大、周期长、需反复试错定位、准确率低下,而且还要求移植人员专业技能高。此外,移植到新处理器平台后的程序,容易出现程序性能问题,例如:CPU占用率过高,I/O吞吐率下降等,这就需要对程序进行优化。但传统性能分析优化手段单一,依赖专家经验,时间成本高,效果不佳,这些都超出了一般程序员的能力范围。
不仅仅是我们开发者会遇到这样的一些困难,我们国家的整个通信和信息产业也面临着艰巨的挑战。自从19年美国对华为以及我国众多的高端科技企业和各大高校的制裁打压以来,我国通讯设备行业的芯片制造和研发面临的困境越来越大,应用服务的推广也备受阻碍。
也正是为了应对这些挑战,鲲鹏开发套件由此应运而生,Dependency Advisor(分析扫描工具)、Porting Advisor(代码迁移工具)、Tuning Kit(性能优化工具)三大套件的诞生能够协助我们开发人员在面向鲲鹏处理器时进行快速迁移和调优,能够对海量代码进行自动化扫描和分析,识别出需要移植的依赖库文件,给出专业的移植报告与建议,并能够进行从系统、进程、函数到代码的全景性能分析,为开发提供从软件评估、代码移植到性能调优端到端的一站式服务套件。
随着应用迁移的不断深入,基于鲲鹏进行软件开发的需求也越来越多,鲲鹏DevKit全新升级为2.0版本,从加速“应用迁移”走向使能“原生开发”,这个版本已经在2021年12月31日在鲲鹏社区上线了。2.0版本相比于1.0版本,性能调优工具在原有的系统性能分析、Java性能分析基础之上,新增调优助手功能,指导用户快速掌握调优方法、降低调优难度。此外,系统诊断在内存和网络诊断基础上完善了存储诊断能力,能够快速定位相关部件异常点,准确度大于90%。新版本中进一步增强了迁移能力:新增10余款主流HPC专项软件的快速迁移能力;新增了鲲鹏亲和检查,包括程序运行模式、结构体字节对齐、Cache line对齐、内存一致性等检查功能,可以帮助我们用户软件更好的适配鲲鹏架构,产生更优的鲲鹏亲和代码。
DevKit还具有以下特性:
- 鲲鹏工程向导+场景化SDK
快速创建鲲鹏工程,鲲鹏工程包含安全计算应用、通用计算应用和高性能计算应用的场景化应用工程模板,快速辅助工程环境构建,配置检查、依赖下载、构建文件生成等。
- 一键创建工程,推荐鲲鹏原生编译选项
无需编写代码,快速上手鲲鹏开发,自动配置鲲鹏亲和编译选项
- 集成鲲鹏加速库
支持鲲鹏加速库自动下载及部署,展示加速库示例代码
- 安全计算SDK
基于鲲鹏芯片特有的安全底座TrustZone,构建数字安全屏障
- 高性能计算SDK
基于高性能通信库和数学库,帮助用户构建极致性能应用