鲲鹏DevKit:从“应用迁移”走向“原生开发”,开发效率提升50%+
鲲鹏Devkit:从“应用迁移”走向“原生开发
随着行业数字化加速发展,各行业对算力提出了更高的需求,鲲鹏因其多核多并发、低能耗等优势已成为行业主流IT基础设施之一。为了帮助开发人员更加便捷、高效的将应用迁移到鲲鹏,2019年鲲鹏重磅发布了开发套件DevKit,提供代码迁移、编译、调优和诊断等工具实现有源码应用的无忧迁移;针对存量无源码应用,还提供动态二进制指令翻译工具ExaGear,在软件执行过程中直接将X86指令翻译为鲲鹏指令,“零代码”、“低损耗”的完成迁移。经过两年的投入,鲲鹏应用的迁移效率已从最初的60人天/应用快速缩短到2人天/应用,迁移不再是难事。
2021年9月,鲲鹏首次宣布DevKit将从加速“应用迁移”走向使能“原生开发”,并面向全研发作业流推出了鲲鹏开发框架、性能优化后的毕昇编译器、增强的云上自动化测试服务、全场景性能调优等能力,让开发者更便捷高效的基于鲲鹏进行原生开发。该版本已经于2021年12月31日在鲲鹏社区正式上线。
鲲鹏Devkit原生开发能力持续增强,开发效率提升50%+
为了进一步提升鲲鹏应用的开发效率和体验,在华为伙伴暨开发者大会2022-鲲鹏开发者峰会的主题演讲中,华为鲲鹏计算业务总裁张熙伟先生宣布鲲鹏DevKit将聚焦增强原生开发能力,推出几款新武器,使能开发者开发效率提升50%。
- 重磅推出3个鲲鹏场景化SDK,帮助开发者快速获取不同场景下的关键能力,充分发挥鲲鹏架构优势,降低学习成本、提高开发效率,助力原生应用极简开发。
鲲鹏通用计算SDK,面向通用计算场景,提供鲲鹏软硬协同加速能力和高性能编译器,帮助提升应用开发效率。
鲲鹏高性能计算SDK,面向HPC场景,提供高性能编译器、通信库等编译能力以及数学计算加速能力,助力开发者快速开发高性能应用。
鲲鹏安全计算SDK,面向密钥、证书等安全操作场景,通过TEE安全操作系统,保护用户数据安全,通过鲲鹏KAE加速引擎提升应用性能。
- 鲲鹏调试器,作为业界首款开放的集群并行调试器,支持单节点或多节点并行调试,提供图形化界面,大幅提升调试效率。
- 鲲鹏高性能计算分析:支持百P级数十万核高性能集群的算力特征和应用性能分析,并提供最佳的优化建议,从而发挥出鲲鹏集群的最强算力。
张熙伟表示:“目前已有一批行业应用伙伴加入了我们的原生开发实践,部分已完成了相关的应用开发及性能优化。我们欢迎更多的伙伴和开发者加入进来,使用我们的鲲鹏SDK。”
鲲鹏DevKit如何使能极简原生开发?
基于上述新推出的能力,鲲鹏DevKit将如何如进一步提升鲲鹏应用的原生开发体验和效率?在华为伙伴暨开发者大会2022-鲲鹏技术专场中, DevKit的研发专家们进行了详细的技术解读。
在开发阶段,通过鲲鹏开发框架提供工程管理向导、启发式编程、鲲鹏亲和检查等能力,帮助开发者便捷使用鲲鹏原生编译选项、快速获取依赖文件兼容版本、并推荐使用鲲鹏加速库,提升应用性能;
此外,鲲鹏开发框架还将在6月30日发布的版本中提供安全计算SDK、高性能计算SDK(通用计算SDK将在9月30日的版本中提供)。用户在工程创建过程中可以直接选择应用场景,一键式完成场景化SDK的安装部署、以及参考实现Demo的下载;同时,自动检测软件栈中各组件(用户态、内核态以及底层软件)的状态是否正常,并一键获取各组件的指导手册、白皮书、源码仓等信息。工程创建完成后,开发框架提供了针对该应用场景的参考实现Demo代码,开发者可直接对该Demo进行编译调试,也可以基于该Demo,完成自己的应用开发。比如:安全计算将提供包含CA(ClientApplication )工程、TA(TrustedApplication)工程、RSA(公钥加密算法)工程、机密数据保存、匿名投票在内的5个常用参考实现。
【通过安全计算SDK快速创建应用工程】
场景化SDK能够帮助开发者大幅缩短依赖组件的下载、安装、构建、执行的时间,实现鲲鹏原生开发效率提升50%+。
在调试阶段,鲲鹏DevKit通过IDE的方式提供鲲鹏调试器,支持CPU应用和GPU应用并行调试,用户可以在操作中设置断点、查看线程/函数堆栈/寄存器信息/变量信息,支持汇编指令的断点执行、单步调试。同时通过IDE的深度结合,能够让开发者在一个界面完成工程创建、SDK部署、代码编写、编译调试,真正实现一站式软件开发。
【鲲鹏GPU应用调试过程】
在编译阶段:面向LLVM、GCC技术路线以及Java语言提供三类编译软件。
1)毕昇编译器基于基于开源LLVM开发,并针对鲲鹏做了多重编译优化和增强,通过循环优化、软件预取、结构体内存布局、NEON向量化等关键优化技术,实现鲲鹏平台SPEC性能提升25%;
2)GCC for openEuler是基于开源GCC开发的编译器工具链,在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持包含ARM、x86在内的多种处理器架构。
3)毕昇JDK基于OpenJDK开发,并针对鲲鹏平台进行了深度优化和质量增强,该软件近期已成功登陆Eclipse Adoptium开源JDK发行版市场,是国内首款登陆Adopitum发行版市场的JDK产品。
在调优&诊断阶段:性能分析工具支持鲲鹏平台上的系统性能分析、Java性能分析和系统诊断,提供系统全景及常见应用场景下的性能采集和分析功能,并基于调优专家系统给出优化建议。同时提供调优助手,指导新手用户快速调优。
此外,本次发布的高性能计算分析将进一步增强HPC应用的调优能力,支持百P级数十万核高性能集群的算力特征和应用性能分析,包括混合语言/集群资源/并行计算分析等。HPC应用分析主要针对openMP、MPI程序进行采集并给出优化建议。对OpenMP程序来说,最重要的影响性能的因素是它的线程之间的不平衡性,找出最晚结束并行区计算的关键线程,计算出不平衡度及解决后的潜在收益;对MPI程序来说,影响性能很大的因素是节点前通信开销,通过运行时指标、微架构指标、指令分布、Hotspots等维度的分析,帮助开发者优化多节点间的通信瓶颈点,为提高整个集群的性能打好基础,最终分析效率可达2人天/应用。
【HPC场景集群分析工程】
鲲鹏原生开发是指使用鲲鹏DevKit的原生开发能力,如鲲鹏开发框架(含场景化SDK)、编译调试工具、云测服务、调优&诊断工具等,在鲲鹏平台上开发新软件/新功能,充分发挥鲲鹏架构优势,从而获得开发效率/运行性能提升。
鲲鹏DevKit将持续优化开发者的开发体验,为开发者提供全方位的支持,除了免费提供所有工具套件之外,还提供全方位的原生开发支持与学习交流服务资源,如免费的远程实验室开发环境及云测服务,开发文档和代码样例等,帮助开发者快速上手。欢迎登陆鲲鹏社区-DevKit专区进行进一步了解和下载。
【登录鲲鹏社区DevKit专区,了解更多】
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341