(来源:华为计算)
作者:张汝涛,华为鲲鹏技术专家
当前数字经济的加速发展,带动了算力需求的爆炸式增长,以鲲鹏为代表的ARM创新力量,已经成为通用计算的主流选择,为国计民生各个行业持续提供多元化的、安全可靠的算力基础设施。
鲲鹏架构优势显著:高并发低功耗——多核设计适配海量并行计算,能效比更优;高效协同——通过鲲鹏加速引擎、NUMA优化释放硬件潜力;软件开源开放——支持主流操作系统及数据库,开发者无需重头适配即可获得性能跃升。鲲鹏正推动算力向更均衡、绿色、安全的方向演进。
鲲鹏亲和开发
鲲鹏亲和开发,是指使用特定开发工具,支持主流开发语言,在Linux OS上进行鲲鹏应用开发的过程,且在开发过程中使用硬件架构亲和的编程语言、用户态接口和框架编写应用程序,并直接调用操作系统和硬件的API接口,充分发挥鲲鹏处理器多核、高并发等优势,获得更高的性能和更好的用户体验。
落地鲲鹏亲和开发,需要开发者具备硬件、OS的技术能力,并且可以有效结合硬件、软件能力,提供高效的业务开发接口。一方面不改变开发者的开发习惯,另一方面可以开发者提升“开发效率”和“应用性能”,并可以在主流场景复用能力,拓展鲲鹏开发者生态。
图1:亲和开发逻辑图鲲鹏DevKit开发套件赋能鲲鹏亲和开发
鲲鹏DevKit开发套件就是亲和鲲鹏架构的开发工具套件,提供应用源码、系统跨架构迁移能力,支持主流开发语言鲲鹏亲和优化,提供性能采集分析能力,提供鲲鹏开发者开发效率。
同时,鲲鹏DevKit开发套件还可以快速接入企业现有CI/CD流水线,支撑用户开发维护一套代码,构建出鲲鹏、x86多架构的应用版本,降低软件开发维护成本,提升软件产品质量。
针对鲲鹏架构,鲲鹏DevKit开发套件提供了程序源码亲和分析改写能力,让源码使用更高性能的鲲鹏指令;提供了鲲鹏版本编译器,编译运行更快的二进制文件;提供了性能采集分析能力,快速定位应用性能瓶颈,针对性优化,不断提升鲲鹏系统性价比。
图2:鲲鹏DevKit开发套件功能全景鲲鹏向量指令自动改写应用释放极致性能
鲲鹏DevKit开发套件已经支持Java,C/C++应用程序向量化自动改写,用户只要将Java或C/C++交给DevKit,片刻就可以得到优化后的源码。
图3:鲲鹏应用体系协同优化看似简单的交互,背后隐藏着黑魔法。
鲲鹏提供了NEON、SVE256/512等向量指令集,位宽逐步提升,提升数据并行度,在计算敏感场景可以大幅提升应用性能。
NEON指令是ARM64架构的经典SIMD指令,采用固定128位寄存器,单指令可并行处理多个数据,广泛用于多媒体编解码、图像处理、信号加速等场景,是实现基础并行加速的基石。
SVE指令突破NEON的固定位宽限制,鲲鹏架构支持256、512位两种向量长度,进一步提升数据处理并行度。
在Agentic AI场景中,向量指令能显著提升智能体的端到端处理效率。NEON指令可以加速轻量级推理任务,如语音唤醒、图像特征提取及传感器数据融合,并优化多模态输入的编解码与归一化预处理。SVE256/512指令高效支持动态形状的张量运算(如Transformer中的注意力机制和FFN层),减少分支与填充开销。
同时,SVE高并行吞吐能力可加速Agent的实时决策、长期记忆检索及并行环境交互,使本地化智能体响应更敏捷,能耗更低。
鲲鹏DevKit开发套件提供了程序源码分析和改写能力。通过对C/C++、Java源码进行语法分析、数据流分析、控制流分析,产生程序计算图,进一步对计算子图进行计算语义识别,并进行向量化改写,输出改写后的源码。
图4:程序分析改写示例改写后的程序源码使用了鲲鹏向量化指令进行计算,大幅提升性能。进一步,还可以根据数据使用频度、数据缓存层次,使用数据预取指令提前加载数据,减少数据cache miss、数据加载带来的性能损失。
同时,鲲鹏DevKit开发套件可以自动生成测试用例,验证优化后源码的功能正确性。例如faiss 1.7.4中的算子:
图5:faiss 1.7.4中的算子经过鲲鹏DevKit开发套件亲和改造后,如下:
图6:faiss 1.7.4优化后算子虽然优化后算子看起来指令变多了,算子的“foot print”增大了很多,性能应该变差了,但实际通过鲲鹏向量指令的数据并行计算,大幅提升了性能。性能对比测试如下:
图7:faiss 1.7.4算子性能(纵坐标值越小越好)在鲲鹏DevKit开发套件的加持下,开发者不需要学习鲲鹏架构的硬件知识,不需要学习鲲鹏指令功能,不需要写难写的汇编指令,DevKit可以提供优化建议,开发者只需要确认修改即可。大幅降低了跨架构学习成本,大幅提升了开发效率和鲲鹏系统性价比。
鲲鹏开发套件DevKit AI辅助开发
鲲鹏DevKit开发套件正在快速拥抱Agentic AI Code技术,借助LLM和Agent的能力进一步提升鲲鹏应用亲和开发的效率。目前,DevKit AI已经能够通过Agent调度实现智能化迁移开发调优:
图8:DevKit AI架构图鲲鹏领域知识库检索:可针对提出的代码相关问题,进行知识库精准检索并生成专业回答。知识库涵盖x86到鲲鹏Arm的指令替换案例、SQL的不兼容语法迁移案例等内容。
基于AI的SQL语句智能迁移:迁移Agent能够自动分析用户需求,自动调用SQL迁移功能对SQL数据库语言进行迁移。并针对语法不兼容场景,检索SQL的不兼容语法迁移案例知识库,并结合AI提供针对性的详细迁移建议。
基于AI的代码自动优化:开发Agent能够对源码进行性能采集和分析,对发现到的瓶颈进行自动向量化改写等,进一步提高源码在鲲鹏上的性能。
AI辅助系统参数应用参数调优:使用鲲鹏领域微调大模型,对主流应用(大数据、数据库等)自动进行参数寻优。根据用户实际业务数据特征,自动迭代,输出最优的系统配置参数、应用配置参数的最优组合,提供最优性能。今年下半年DevKit还将发布调优Agent,实现一键开启场景化自动迭代调优、以及场景化自动检查诊断系统配置等能力,进一步降低调优门槛。
图9:鲲鹏DevKit开发套件智能问答鲲鹏DevKit AI采用轻量化、标准化的MCP形态部署,支持快速部署、开箱即用,兼容多种开发环境,可无缝集成至主流智能编程助手(如Cline、Trae等),实现DevKit常用工具的自动化调用,该工具也会继续协同Agentic AI技术快速演进,提供更多开发辅助能力,提升鲲鹏亲和应用开发效率。
让鲲鹏亲和开发有温度
鲲鹏DevKit开发套件致力于解放鲲鹏应用开发者,让开发者聚焦于业务的高效实现,将开发者从繁琐的源码优化、系统优化等依赖经验的场景解放出来。通过程序分析技术、程序合成技术又快又正确地产生高质量程序;通过AI算法,通过鲲鹏领域微调模型快速匹配应用系统最优参数;通过AI LLM,让开发者用自然语言驱动DevKit各个能力,产生更多高质量应用,释放鲲鹏极致算力。
在鲲鹏开发者的支持下,鲲鹏亲和开发越来越有温度。
足球球友会官网,乐鱼官网,
球友会足球官网相关资讯:乐鱼app,