鲲鹏原生开发技术白皮书
鲲鹏原生开发技术白皮书01鲲鹏原生开发的机遇和挑战 0102鲲鹏原生开发的核心技术理念 0303鲲鹏原生开发能力介绍 053.1 代码开发阶段 063.1.1 代码开发 063.1.2 代码优化 283.1.3 编译 303.1.4 调试 323.1.5 调优 373.2 流水线阶段 613.2.1 门禁检查 613.2.2 编译构建 663.2.3 调优 673.2.4 测试 683.2.5 版本发布 693.3 OS底座(openEuler系操作系统) 703.3.1 openEuler简介 703.3.2 openEuler基础能力 713.3.3 openEuler工具和社区服务 7504行业案例 804.1 金融 814.1.1 恒生电子:基于鲲鹏原生开发经纪场外业务系统,让证券数据处理更高效 814.1.2 宇信科技:基于鲲鹏原生开发金融软件,让金融信息处理更高效 834.2 电信 864.2.1 浩瀚深度:鲲鹏原生赋能 DPI 采集系统,网络数据可视化处理更加高效 864.2.2 恒安嘉新:基于鲲鹏原生开发安全采集分析平台,保障企业信息系统安全稳定运行 894.3 政府 914.3.1 超图软件:基于鲲鹏原生开发地理信息系统,让自燃资源评估更高效 914.3.2 深圳防灾减灾技术研究院:鲲鹏原生助力地震观测数据高效处理 934.4 电力 954.4.1 广州海颐:基于鲲鹏原生开发高性能、高可靠电力系统软件,加速电网数字化转型 954.4.2 国能信控:基于鲲鹏原生开发新能源计算平台,为电力系统提供高效算力支撑 974.5 医疗 994.5.1 卫宁健康:基于鲲鹏原生开发新一代医疗信息系统WiNEX,让医疗服务更便利 994.5.2 东华软件:构建鲲鹏原生医疗经营管理系统,让医院运作更有序 1014.6 水平软件 1034.6.1 星环科技:基于鲲鹏原生大数据基础软件,让企业数据流转更快捷 1034.6.2 深信服:联合鲲鹏共同推进企业级分布式存储EDS原生开发创新实践,让数据管理更可靠 10501鲲鹏原生开发的机遇和挑战鲲鹏计算产业聚焦计算架构创新和开源基础软件的研发,致力于推动鲲鹏生态发展。通过战略性、长期性的研发投入,吸纳全球计算产业的优秀人才和先进技术,持续推进全栈计算技术的创新发展,加快构筑面向多样化计算的全球开源体系与产业标准。基于“硬件开放、软件开源、使能伙伴、发展人才”的策略推动鲲鹏计算产业发展。目前,鲲鹏软硬件联合创新已覆盖国计民生核心场景,主流伙伴核心应用已迁移到鲲鹏,鲲鹏生态进入快速发展期。当前阶段,鲲鹏和 x86 多平台版本并行迭代成为主要需求,由于两个架构开发生态的差异,如果采用两套流水线分别开发两套代码,则会带来很多重复开发验证的工作,并且两个版本分别开发、构建和维护效率低。因此,鲲鹏创新性的提出鲲鹏原生开发:基于鲲鹏硬件 +openEuler+ 鲲鹏 DevKit+ 鲲鹏BoostKit,实现 1 套代码 +1 条流水线 + 多平台版本,助力伙伴持续且首发性能领先的商用版本。03 / 鲲鹏原生开发技术白皮书鲲鹏原生开发的核心技术理念02鲲鹏原生开发的核心技术理念鲲鹏原生开发技术白皮书 / 04鲲鹏原生开发的核心技术理念鲲鹏原生开发包含代码开发阶段和流水线阶段: »代码开发阶段:通过鲲鹏 DevKit、BoostKit 开发代码,充分应用鲲鹏架构优势,性能更优。 »流水线阶段:鲲鹏 DevKit 以命令行方式 1 小时接入 CI/CD,便捷发布多平台版本。 »极简融入 & 高效发布:DevKit 原生开发插件 1 小时接入两大主流(Jenkins、GitLab)CI/CD 流水线,高效提升鲲鹏流水线搭建及版本发布效率。 »鲲鹏亲和 & 极致性能:鲲鹏流水线使能鲲鹏亲和分析工具、编译器、性能工具等,实现应用性能提升。 »多架构兼容:1 套流水线同时支持多样性算力版本构建及测试。鲲鹏原生开发的核心技术理念:基于鲲鹏硬件 +openEuler+ 鲲鹏开发套件 DevKit+ 鲲鹏应用使能套件 BoostKit, 实现 1 套代码 +1 条流水线构建多平台版本,效率更高、性能更优。图 2-1 核心技术理念代码开发阶段代码开发代码优化编译调试调优• 场景化 SDK• 启发式编程• BoostKit 应用使能• 鲲鹏亲和分析• 毕昇编译器• 毕昇 JDK• GCC for openEuler• 鲲鹏调试器• 系统性能分析• Java 性能分析• 系统诊断流水线阶段门禁检查鲲鹏版本编译构建X86 版本编译构建鲲鹏平台调优X86 平台调优鲲鹏平台测试X86 平台测试鲲鹏版本发布X86 版本发布• 应用迁移• 亲和分析• 编码规范检查• 毕昇编译器• 毕昇 JDK• GCC for openEuler• 自动反馈优化• 测试框架• 测试工具• 测试样例• 病毒扫描鲲鹏兼容 & 亲和,性能 5%↑CFGO/LTO/ 自动向量化 / 指令流水优化,性能 10% ↑应用编译调试,性能 5%~10% ↑多样性算力测试套件,效率 20% ↑病毒扫描,效率 5% ↑05 / 鲲鹏原生开发技术白皮书鲲鹏原生开发能力介绍03鲲鹏原生开发能力介绍鲲鹏原生开发技术白皮书 / 06鲲鹏原生开发能力介绍3.1代码开发阶段图 3-1 代码开发阶段代码开发代码优化编译调试调优• 场景化 SDK• 启发式编程• BoostKit 应用使能• 鲲鹏亲和分析• 毕昇编译器• 毕昇 JDK• GCC for openEuler• 鲲鹏调试器• 系统性能分析• Java 性能分析• 系统诊断通过鲲鹏 DevKit/BoostKit 开发代码:充分应用鲲鹏架构优势,性能更优3.1.1.2 应用开发工具应用开发工具支持创建鲲鹏应用工程,支持 C/C++ 开发语言,编码时能够自动匹配鲲鹏加速库函数字典、智能提示、高亮、联想字典中可以替换的库和函数。支持以下功能: »鲲鹏应用工程:只需要在创建鲲鹏应用工程页面进行简单的输入和选择,便可以实现自动化构建鲲鹏应用工程,包括空工程、通用计算应用工程、安全计算应用工程、高性能计算应用工程、DPAK 应用工程和数据 IO 应用工程。 »字典管理:支持加速库函数字典管理,可线上(自动)和线下更新。 »编程辅助:支持鲲鹏加速库函数的悬浮提示、函数搜索,支持 Coding 时自动联想和高亮鲲鹏加速库优化后的相关函数。应用开发工具,详细介绍与最新内容请参见鲲鹏社区 → 鲲鹏开发套件 DevKit → 开发,详情可扫描下方二维码。3.1.1.1 代码开发介绍鲲鹏原生开发在代码开发阶段提供了 DevKit 应用开发工具和 BoostKit 应用使能套件,可通过启发式编程及多场景化 SDK 提供的示例 Demo 和文档,有效提升鲲鹏原生开发效率。3.1.1代码开发07 / 鲲鹏原生开发技术白皮书鲲鹏原生开发能力介绍鲲鹏应用工程提供场景化的鲲鹏应用工程模板,快速辅助工程环境构建、配置检查、依赖下载、构建文件生成等。步骤 1 创建鲲鹏应用工程(通用计算应用工程,界面截图以 VS Code 环境为例)。图 3-2 创建工程步骤 2 部署 SDK。图 3-3 部署 SDK鲲鹏原生开发技术
[华为]:鲲鹏原生开发技术白皮书,点击即可下载。报告格式为PDF,大小15.81M,页数109页,欢迎下载。
