本文分享自华为云社区《鲲鹏DevKit 23.0:流水线中便捷迭代鲲鹏版本,迁移、开发、调优无缝衔接》,作者:华为云社区精选 。
数字时代,海量的行业应用驱动着多样性算力的飞速发展,以鲲鹏为代表的ARM架构驶入快车道。为了帮助广大用户和开发者快速适应鲲鹏生态,四年前,鲲鹏开发者套件 DevKit(下文简称“鲲鹏 DevKit”)正式发布,提供迁移、开发、编译调试、测试、调优&诊断等覆盖全研发作业流程的能力,实现鲲鹏应用的极速迁移、极简开发。
四年来,鲲鹏DevKit研发团队持续创新,围绕着开发者的核心诉求不断丰富和提升工具的功能、性能和易用性。9月22日下午,在华为全联接大会2023鲲鹏DevKit分论坛上,鲲鹏DevKit的技术专家们详细解读了鲲鹏DevKit 23.0版本即将上线的最新能力,并且邀请了华海智汇、志凌海纳等行业伙伴,共同分享基于鲲鹏DevKit的原生开发实践。
鲲鹏DevKit 23.0持续升级:增强场景化原生开发能力,全新架构让工具更易用
“鲲鹏DevKit是面向鲲鹏的全作业流提供一站式的开发工具,四年来,我们对工具持续开发和优化,提高迁移和性能分析的效率,加速鲲鹏原生开发,使得鲲鹏的应用能够极速迁移、极简开发、极致性能和极致体验。”鲲鹏DevKit项目经理马德强介绍道。
- 极速迁移:针对有源码应用的迁移,鲲鹏DevKit能够自动识别TOP 10 常用语言的不兼容的代码和依赖文件,并且快速修改替换,实现解释型应用Hour级迁移,编译型应用Day级迁移;针对无源码应用(如商业闭源软件、存量软件找不到源码),鲲鹏DevKit提供动态二进制指令翻译工具ExaGear,在软件执行过程中把x86二进制指令翻译成鲲鹏指令,性能损耗最低在10%。
- 极简开发:鲲鹏DevKit针对原生开发场景提供丰富的SDK、启发式编程、鲲鹏亲和分析、毕昇编译器、鲲鹏调试器、以及全场景调优等能力,引导用户在开发过程中充分应用鲲鹏架构优势,快速开发出高性能的鲲鹏原生应用。今年下半年鲲鹏DevKit还即将上线安全SDK 2.0、HPC场景2000+RANK的大规模并行调试,以及AI驱动场景化性能调优等能力,让安全应用改造更便捷、应用调试和调优更高效。
- 全新架构:下半年鲲鹏DevKit将实现迁移、开发、编译调试和性能分析四个工具合一,解决以往多工具重复登录、来回切换、流程繁琐等问题,用户可以自行勾选需要的功能、一键安装、融合使用,构建以代码为中心的开发流程,实现迁移、开发、调优无缝衔接;此外,应用迁移和亲和分析能力还可以“零”代码快速接入企业现有开发流水线中,不改变原开发流程更加便捷迭代鲲鹏版本,今年上半年已经实现了Jenkins的快速接入,下半年还将实现华为云CodeArts Pipeline的快速接入。
原生开发持续增强:安全应用改造更便捷、HPC应用调试更高效、性能调优更智能
在鲲鹏原生开发方面,鲲鹏DevKit持续提升面向不同场景的开发、调试、调优的效率,在即将上线的10.30版本中,支持以下能力:
- 升级安全SDK 2.0、快速改造安全应用:安全SDK 2.0提供高级语言机密计算能力,在大数据、机器学习等场景下,除了支持C/C++外,还支持Python、Java应用快速改造成TEE安全应用,让用户的隐私数据更安全,让应用安全性改造更便捷。
- 鲲鹏调试器支持2K个RANK并行调试:HPC并行程序具有逻辑复杂、并发量大、进程数多等特点,大规模调试难度大。鲲鹏调试器提供可视化图形调试界面,最高支持2048 Rank 节点并行调试,实时展示通讯组变化、计算节点、进程等信息,充分发挥鲲鹏集群算力。
- AI加持场景化调优更智能:针对大数据、数据库等典型场景下参数复杂、高度依赖专家经验、调优门槛高等问题,鲲鹏DevKit提供AI驱动场景化性能调优,支持AI性能自学习与配置自动寻优、多层级配置模板仓辅助典型场景自动调优、以及软硬件全栈自动调优等能力,快速获取典型场景的最优配置参数,调优效率从Day级(人工)提升到Hour级,并且性能相比人工调优提升10%+。
全新架构让工具更易用:流水线中便捷迭代鲲鹏版本,迁移、开发、调优无缝衔接
为了进一步提升开发者的使用体验,10.30的新版本还即将上线鲲鹏DevKit全新架构,用户可以更加灵活、高效的单独安装使用,也可以直接预集成到现有开发流水线中使用:
- 多工具合一:功能按需定义,一键安装、融合使用:以往鲲鹏DevKit提供了应用迁移、鲲鹏开发框架、编译调试插件和性能分析工具等,用户需要分别安装、登录、并在多个工具界面来回切换使用,升级后的DevKit将四个工具合一,关键功能插件化解耦,用户可以按需勾选需要的功能、一键安装、融合使用,以代码为中心串联迁移、开发、调优流程孤岛,效率高、体验好;
- “零”代码接入CodeArts,便捷迭代云上鲲鹏版本:上半年在鲲鹏开发者峰会上,鲲鹏领域总裁李义发布了鲲鹏DevKit与开发流水线集成的能力,通过简单的配置,用户就可以在现有DevOps流程中便捷使用迁移扫描和鲲鹏亲和分析能力,随时检查和修改增量代码的鲲鹏兼容性以及鲲鹏亲和性,保障代码质量、快速迭代多平台版本;目前已支持Jenkins流水线的快速接入,下半年,鲲鹏DevKit与华为云进行深度合作,将代码迁移插件通过可视化的配置集成进华为云CodeArts Pipeline,更加便捷的迭代云上鲲鹏版本。
目前,华海智汇、志凌海纳等伙伴都已经在现有流水线中使用鲲鹏DevKit提升开发效率:
- 其中华海智汇在打造政务信息技术应用创新适配一站通平台过程中,将鲲鹏DevKit的迁移,编译、测试、调优等IDE插件集成到政务应用迁移工具链中,面向政府委办局和应用厂商提供一站式应用适配支持服务,CodeArts自定义插件方式集成DevKit工代码迁移工具,实现政务应用的适配改造、代码开发的一体化在线实施,目前某政务监测管理应用已基于该平台完成应用的高效迁移及开发迭代,版本迭代效率较之前提升50%。
- 志凌海纳的超融合软件SMTX OS能够为企业自建云提供融合部署的服务器虚拟化和融合部署的分布式存储功能,该软件对性能要求高(业务量高达1000 TPS、数据处理时延需要小于300ms),并且需要在流水线中开发多版本(涉及不同架构的C语言编写、难度大),志凌海纳借助鲲鹏DevKit进行性能调优并使用毕昇编译器进行编译优化,线程数和函数调用时延均有大幅提升,总体性能提升50%;此外在Jenkins流水线中集成了鲲鹏DevKit,快速高效地完成多版本ISO Kernel的开发和逻辑优化。
鲲鹏生态的繁荣离不开万千伙伴的支持,截止目前,鲲鹏DevKit已经助力 2700+伙伴迁移/开发了8800+应用,超过20万的开发者下载或者在远程实验室中体验了鲲鹏DevKit。未来,鲲鹏DevKit也将持续优化开发者的开发体验,通过鲲鹏社区(hikunpeng.com)为开发者提供全方位的支持,让开发者更加便捷、高效的进行鲲鹏应用开发和创新。
点击关注,第一时间了解华为云新鲜技术~