鲲鹏原生开发框架工具简介
发表于 2023/11/28
0
尊敬的鲲鹏开发者你好,为了降低鲲鹏平台的开发门槛,使能开发者高效创新,鲲鹏提供了DevKit开发套件,帮助开发者更便捷地进行鲲鹏原生开发,您可以通过本文学习来完成鲲鹏原生开发的快速入门。
本节主要介绍了以下知识:
(1)鲲鹏原生开发的概念及主要内容
(2)如何通过DevKit开发框架工具快速部署SDK并创建工程
(3)如何通过DevKit编译调试工具完成工程的快速编译
什么是鲲鹏开发框架工具
1. 什么是鲲鹏原生开发
鲲鹏原生开发是指使用鲲鹏DevKit的原生开发能力,如鲲鹏开发框架(含场景化SDK)、编译调试工具、云测服务、调优&诊断工具等,在鲲鹏平台上开发新软件/新功能,充分发挥鲲鹏架构优势,从而获得开发效率/运行性能提升。
本课程将重点体验原生开发过程中的环境配置、代码开发、编译部署、鲲鹏平台运行这几个步骤。针对这个过程中的关键痛点,DevKit开发套件提供了全流程的解决方案,帮助开发者快速上手鲲鹏原生开发。
2. 原生开发过程中的常见问题
从上图内容中可知,在鲲鹏原生开发过程中,开发者需要先完成环境部署,安装应用运行所需的依赖软件,之后创建应用工程,进行应用开发,开发完成后将代码上传到鲲鹏平台进行编译部署。在这个过程中开发者通常会碰到如下问题:
(1)某些开发场景应用环境依赖比较复杂,部署过程容易失败,环境部署过程的不确定性极大增加了项目交付的风险和工作量;
(2)鲲鹏平台为开发者提供了很多关键特性帮助开发者更好的进行开发工作,比如加速库可以帮助开发者快速提升应用性能,安全计算可以帮助开发者更加安全的保存机密数据,但这些特性内容较为庞大,面对内容繁多的开发指导文档,很多开发者不知道如何快速将这些特性融入到具体项目中;
(3)开发过程中,为了调用鲲鹏函数,需要反复查阅资料来确定函数信息,降低了代码开发效率;
(4)开发好的代码需要手动上传到远端编译,每次代码都需要进行手动上传编译,影响开发体验;
3. 如何利用DevKit工具快速进行原生开发
针对上节提到的四个常见问题,DevKit提供了相应的解决方案:
a. 首先DevKit开发框架工具针对用户高频开发场景提供了场景化SDK和工程样例,场景化SDK提供UI交互部署或脚本部署方式,环境部署问题一步解决;
b. 工程样例内容详尽注释丰富,帮助开发者快速上手进行定制修改;
c. 开发过程中,针对鲲鹏函数、编译选项等信息进行智能提示补全,补全信息中包含具体使用信息,减少开发者查阅资料的工作,提升编程效率。
d. 完成代码开发后,开发者可以通过编译调试工具一键将代码上传远端编译部署,后续代码修改可自动同步到远端,非常方便。后续子章节将对上述内容进行具体讲解。
(1) 场景化SDK & 工程样例
在环境配置阶段,可以使用场景化SDK快速完成环境部署,同时利用场景化工程样例,快速完成工程创建,开发者可以根据样例中的代码方便的进行定制修改。DevKit开发套件当前提供了四大开发场景的场景化SDK与工程样例,分别是通用计算场景、安全计算场景、HPC场景和DPAK场景。开发者可以通过工具的UI交互页面快速完成上述开发场景的环境部署与工程创建。
其中通用加速场景聚合加速库(鲲鹏指令加速),硬件加速(KAE),同构加速(HAF)内容打包成SDK,支持主流操作系统下快速灵活部署;同时提供加速库应用、硬件加速应用、同构加速框架应用工程样例,快速发挥鲲鹏软硬件能力,适用于需要快速提升应用性能的应用开发。
安全计算场景聚合TEE-GP API、内核驱动、用户态API库、华为安全函数库形成完整的SDK,支持主流操作系统下快速灵活部署;同时提供机密数据保存、匿名投票、证书签发等丰富的工程样例,快速掌握鲲鹏安全计算能力,适用于需要保存机密数据/敏感信息的应用开发。
HPC场景聚合编译器,高性能通信库,数学库形成完整的SDK,支持主流操作系统下通过交互式安装脚本灵活安装,解决HPC环境部署难题;提供HMPI和KML工程样例,降低开发者使用门槛,适用于需要提升HPC场景应用性能的应用开发。
DPAK场景针对智能网卡卸载场景,将使能智能网卡(SP680)的开源组件聚合成SDK包,助力开发者快速搭建OpenStack和OVS场景,解决环境部署难题。同时提供虚拟化卸载、OVS卸载工程样例,快速体验智能网卡卸载带来的网络加速效果,适用于有智能网卡网络加速需求的应用开发。
(2)函数信息智能补全
完成工程创建后,开发者可以在工程样例上完成开发需要的定制修改,DevKit开发套件针对鲲鹏加速库函数、NEON加速函数、鲲鹏编译选项等内容进行智能联想补全,同时提供函数的具体使用信息,减少开发者查阅资料的工作,提升编程效率。
(3)工程一键上传
完成开发后,开发者可以将代码一键上传到服务器。右键点击“同步代码到远端服务器”,然后选择代码要上传的服务器,也可完成代码上传。
本小节介绍了DevKit在环境配置、代码开发、编译部署、鲲鹏平台运行步骤中提供的强大功能,如果大家想深入了解DevKit开发套件,欢迎大家前往社区下载使用:
https://www.hikunpeng.com/developer/devkit
接下来的章节将通过理论+实操的方式来讲解如何使用DevKit快速完成鲲鹏工程的创建、编译、运行。