0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鲲鹏开发套件DevKit 2.0加速应用迁移

华为开发者社区 来源:华为开发者社区 作者:华为开发者社区 2022-03-09 14:14 次阅读

多样性计算时代,跨平台的应用迁移和开发不简单数字经济时代,自动驾驶智能制造、电子政务、智慧金融等新型行业应用场景和多元化的数据结构驱动计算架构向多样性发展。鲲鹏架构因其多核多并发、低功耗等特点能够有效解决行业数字化转型中海量数据的高算力需求,在多样性计算场景下具备显著优势。目前,鲲鹏已成为政府、金融、电信、能源等各行业IT基础设施的主流平台,为行业应用提供高效强劲的算力支撑。然而,由于指令集的差异,从传统X86到鲲鹏平台的应用迁移和开发的过程并不简单:X86 上的程序必须经过适配迁移才能运行,过程中涉及大量的代码修改、重新编译和试错,人工分析投入大、准确率低;另外,X86平台的开发经验和兼容生态相比鲲鹏平台也有很多不同之处。因此,如何快速实现跨平台的应用迁移,以及在开发过程中便捷地引导用户熟悉和充分利用鲲鹏架构优势成为了开发人员亟需解决的问题。

鲲鹏开发套件DevKit 2.0,加速应用迁移、使能极简开发基于上述挑战,2019年鲲鹏面向合作伙伴和广大开发者提供了鲲鹏开发套件DevKit 1.0,聚焦有源码与无源码两大场景下的无忧迁移。随着应用迁移的不断深入,基于鲲鹏进行软件开发的需求也越来越多,鲲鹏DevKit全新升级为2.0版本,从加速“应用迁移”走向使能“原生开发”,该版本已经于2021年12月31日在鲲鹏社区正式上线。2022年2月23日的 “鲲鹏DevKit新版本推介会”上,来自鲲鹏DevKit产品研发专家们向广大开发者详细解读了新版本的最新特性。“鲲鹏DevKit 2.0面向开发者全面升级,提供面向研发作业流的全流程开发工具链,包括鲲鹏开发框架、原生编程语言和编译器、云上自动测试平台、全场景性能调优端到端工具等,为开发者提供更优的体验。”鲲鹏DevKit项目经理马德强对新版本的整体框架和版本规划做了详细解读:

在开发阶段,全新上线的鲲鹏开发框架能够帮助开发者便捷学习鲲鹏架构知识,充分应用鲲鹏架构优势,高效开发高性能应用;

迁移阶段,代码迁移工具在原有的软件迁移评估、源代码迁移、软件包重构、专项软件迁移基础之上进一步能力增强,丰富了专项软件迁移和HPC应用迁移的能力,同时新增鲲鹏亲和检查等能力,提升软件在鲲鹏平台的运行效率。

在编译调试阶段,提供基于鲲鹏平台优化后的GCC foropenEuler、毕昇编译器、毕昇JDK等全套编译工具,屏蔽硬件架构差异,充分发挥鲲鹏架构优势。

在测试阶段,7*24小时的云测服务,帮助用户快速检测程序在鲲鹏平台上的兼容性、可靠性、安全、功能、性能等能力。

在调优&诊断阶段,性能调优工具在原有的系统性能分析、Java性能分析基础之上,新增调优助手功能,指导用户快速掌握调优方法、降低调优难度。此外,系统诊断在内存和网络诊断基础上完善了存储诊断能力,能够快速定位相关部件异常点,准确度大于90%。

马德强表示“2022年,我们将持续迭代开发鲲鹏DevKit,为开发者提供更多更好用的原生开发能力,包括场景化SDK,以及简单易用的Demo示例等,打造最佳的鲲鹏亲和原生开发体验,让开发者零成本学习开发。”

基于鲲鹏开发框架,高效开发鲲鹏架构亲和的高性能应用“目前,鲲鹏开发套件DevKit的软件迁移效率已实现2人天/应用,并初步提供了对鲲鹏原生开发的支持。”鲲鹏计算架构与设计技术专家张汝涛解读了DevKit代码迁移工具的增强功能、并重点介绍了最新上线的鲲鹏开发框架的主要能力。新版本中进一步增强了迁移能力:新增10余款主流HPC专项软件的快速迁移能力;新增了鲲鹏亲和检查,包括程序运行模式、结构体字节对齐、Cacheline对齐、内存一致性(静态检查&编译器自动修复)等检查功能,帮助用户软件更好地适配鲲鹏架构,产生更优的鲲鹏亲和代码。鲲鹏开发框架是面向鲲鹏原生开发打造的全新工具,“我们通过广泛的调研,了解到开发者基于鲲鹏开发应用的主要痛点是不知道鲲鹏架构的特点是什么,也不知道如何最大程度释放鲲鹏算力。因此我们全新推出了鲲鹏开发框架,帮助开发者降低学习成本、降低学习难度,提高开发效率。”张汝涛介绍道。目前,鲲鹏开发框架主要提供新手成长路径、鲲鹏工程向导、启发式编程、和鲲鹏亲和检查等能力。

通过新手成长路径开发者能够快速获取丰富的鲲鹏架构赋能材料,包括原生开发指导文档、代码样例和实践案例、培训课程、实验沙箱等,系统学习鲲鹏处理器架构知识,建立系统完整的知识体系,占领技术的制高点。

在项目的初始阶段,鲲鹏工程管理向导,向开发者推荐亲和鲲鹏架构的选项、参数和优选的鲲鹏加速库,开发者可以快速创建鲲鹏应用项目。

在开发阶段,通过启发式编程提高开发效率和质量。启发式编程提供了编码智能补全功能,用户在编写 makefile/cmakelists.txt构建文件时,智能联想鲲鹏亲和的宏定义和编译选项;编辑C/C++源码时,智能联想鲲鹏亲和的GCC built-in函数、intrinsic指令函数和5大类鲲鹏加速库函数。此外,开发者在编辑完构建文件时还可以快速检查依赖文件兼容性,并提供获取方式。目前提供了20+ Linux版本的鲲鹏兼容性检查及获取。

鲲鹏亲和检查功能帮助开发者进行鲲鹏加速优化检查,推荐使用更高效的鲲鹏加速库,提升软件运行性能;同时提供4种鲲鹏架构亲和检查功能(64位运行模式检查、内存一致性检查、结构体字节对齐和变量cache line对齐检查),给出优化修改建议。

由此可见,鲲鹏开发框架从学习资料的获取、到软件工程构建、软件源码开发,再到软件编译构建,提供了全方位的辅助能力,帮助开发者快速上手,高效编程,硬件架构差异无感,打造极简开发过程。

多重优化技术全面提升编译性能,屏蔽硬件差异,发挥鲲鹏架构优势鲲鹏DevKit提供一键式部署的全套编译软件,满足不同场景下的编译需求,并结合鲲鹏架构的优势提升编译性能,让软件运行效率更佳。华为毕昇编译器架构师魏伟针对毕昇编译器和毕昇JDK的主要特性及关键优化技术做了详细解读:毕昇编译器是华为编译器实验室针对鲲鹏等通用处理器架构场景,打造的高性能、高可信及易扩展的编译器工具链。支持C/C++/Fortran等编程语言,增强和引入了多种编译优化技术:

高性能编译算法:编译深度优化,增强多核并行化,自动矢量化等,大幅提升指令和数据呑吐量。

加速指令集:结合NEON/SVE等内嵌指令技术,深度优化指令编译和运行时库,发挥鲲鹏架构最佳表现。

AI迭代调优:内置AI自学习模型,自动优化编译配置,迭代提升程序性能,完成最优编译。

此外,毕昇编译器在2021年版本中还重点引入了包括:SLP矢量化增强、数组数据流分析优化实现、数据软件预取、浮点精度调优等关键优化技术,通过上述优化使其编译性能相比开源编译软件有25%+的提升。毕昇JDK是华为基于openJDK定制开发的开源版本,并针对鲲鹏架构上进行了优化,包括快速序列化、AppCDS、G1GC 堆内存伸缩、KAEProvider 等,是一款高性能、可用于生产环境的OpenJDK发行版。而鲲鹏原生的开发语言毕昇C++是一门面向多样算力的编程语言,它以C++为基础,基于SYCL异构编程行业标准,增加矩阵编程、张量编程等特色的编程抽象,支持鲲鹏、昇腾、GPU等业界常用算力,并简化多算力编程,为开发者提供高效、简洁的编程体验。据悉,毕昇C++第一个版本将于2022年三季度正式上线。魏伟表示,毕昇编译器将结合鲲鹏架构特点,针对不同场景,不同应用特点,使用不同的编译优化手段,通过深度优化指令编译,引入或增强优化算法等,发挥鲲鹏极致算力。

快速引导式性能调优和诊断,消除性能瓶颈、提升软件性能软件运行时,性能瓶颈可能存在于任何层次,设备、内核、系统调用、系统库、应用程序等某一配置和指标出现问题,都可能导致系统运行缓慢。当前业界的性能分析工具众多且分散,不仅带来大量的学习成本、效率低下,更重要的是数据不能互通,无法全局分析。鲲鹏DevKit性能分析工具能够帮助开发者综合、全面的了解系统软硬件的相关信息,分析其配置和运行情况,调节各模块之间的系统资源占用关系,实现整个系统的性能最大化。华为鲲鹏性能分析技术专家金垚针对本次版本新增的调优助手、HPC场景性能分析、系统诊断等主要功能进行了详细介绍:

首先,缺乏调优经验的用户能够通过调优助手快速掌握调优方法:通过系统化组织和分析性能指标、热点函数、系统配置等信息,形成系统资源消耗链条,引导用户根据优化路径分析性能瓶颈,并针对每条优化路径给出优化建议和操作指导,降低调优难度。

其次,增强了HPC场景的性能分析,能够快速获取HPC应用运行时的CPU流水线使用情况、以及每个函数、模块、parallel-region、barrier-to-barrier-segment的微架构信息,确定性能瓶颈,并提供优化建议指导用户调优。

第三,系统诊断能够快速定位内存、网络、存储等部件的异常,主动解决软件运行中出现的常见问题,包括识别内存泄漏、越界、OOM等问题点,优化源代码中内存使用的问题;以及测试网络和存储的最大能力,为性能优化提供基础参考数据等。

目前鲲鹏DevKit已成功运用于运营商、数字政府、金融、互联网、HPC等众多行业,支撑近千家伙伴进行迁移适配和性能优化。未来,鲲鹏DevKit始终聚焦开发者的需求,持续优化开发者体验,帮助开发者更加便捷的基于鲲鹏平台进行极简开发,共同推动鲲鹏生态繁荣发展。

原文标题:快速迁移、极简开发,探索鲲鹏开发套件DevKit2.0的价值密码

文章出处:【微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    11155

    浏览量

    103301
  • 编译器
    +关注

    关注

    1

    文章

    1634

    浏览量

    49130
  • 性能
    +关注

    关注

    0

    文章

    271

    浏览量

    18986

原文标题:快速迁移、极简开发,探索鲲鹏开发套件DevKit2.0的价值密码

文章出处:【微信号:Huawei_Developer,微信公众号:华为开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【正点原子STM32H7R3开发套件试用体验】开发套件开箱报告

    非常有幸,能够体验正点原子STM32H7R3开发套件。 一直以来,用了不少正点原子的产品,总的来说,体验非常的好。 收到套件快递,开箱的那一刻,觉得就是那个正点原子的味儿,一直没变。 一、套件盒子
    发表于 12-12 00:54

    税友股份携手鲲鹏原生开发税务行业应用

    鲲鹏平台高吞吐、低时延、低能耗、高安全等优势,能够很好的满足财税业务的要求,此外还提供完善的原生开发工具链生态,包括鲲鹏DevKit,不仅能快速完成面向
    的头像 发表于 11-25 10:14 209次阅读
    税友股份携手<b class='flag-5'>鲲鹏</b>原生<b class='flag-5'>开发</b>税务行业应用

    AM243x LaunchPad™开发套件用户指南

    电子发烧友网站提供《AM243x LaunchPad™开发套件用户指南.pdf》资料免费下载
    发表于 10-30 09:58 0次下载
    AM243x LaunchPad™<b class='flag-5'>开发套件</b>用户指南

    加速鲲鹏落地!拓维信息信创迁移工具荣获鲲鹏原生开发技术认证

    9月2日,2024鲲鹏原生开发伙伴圈层活动·北京站圆满落幕。拓维信息自主研发的拓维·数据库适配中间件凭借卓越的技术实力与对鲲鹏生态的深度适配,成功获得鲲鹏原生
    的头像 发表于 09-10 08:03 447次阅读
    <b class='flag-5'>加速</b><b class='flag-5'>鲲鹏</b>落地!拓维信息信创<b class='flag-5'>迁移</b>工具荣获<b class='flag-5'>鲲鹏</b>原生<b class='flag-5'>开发</b>技术认证

    TPS63802HDKEVM-硬件开发套件

    电子发烧友网站提供《TPS63802HDKEVM-硬件开发套件.pdf》资料免费下载
    发表于 09-04 10:08 0次下载
    TPS63802HDKEVM-硬件<b class='flag-5'>开发套件</b>

    润和软件启动鲲鹏原生开发合作

    近日,江苏润和软件股份有限公司(以下简称“润和软件”)与华为举办鲲鹏原生开发启动仪式,宣布正式启动鲲鹏原生开发。润和软件将以openEuler开源操作系统定制化为核心,基于
    的头像 发表于 08-28 17:27 684次阅读

    【xG24 Matter开发套件试用体验】深入了解Silicon Labs xG24 Matter开发套件

    今天把收到的xG24 Matter开发套件给大家做个详细的介绍,Silicon Labs-芯科科技公司最新推出的一款具有智能和机器学习硬件加速功能的无线物联网产品评估xG24 Matter开发套件
    发表于 08-27 20:23

    中科创达旗下创通联达Qualcomm RB3 Gen 2 Lite开发套件上市销售

    日前,中科创达旗下创通联达(Thundercomm)宣布Qualcomm RB3 Gen 2 Lite 开发套件在其官网商城正式上市销售。该开发套件是专为高性能计算、高易用性而设计的物联网开发套件,旨在推动机器人、工业自动化、智
    的头像 发表于 08-20 09:21 600次阅读

    【xG24 Matter开发套件试用体验】初上手开发板和官方IDE

    不仅提供了完备的数据手册和用户手册,还做好了IDE和配套的APP,大大方便了用户进行开发。而且这个开发套件的性能十分强悍,甚至支持人工智能 (AI)/机器学习 (ML) 硬件加速器,相信后续使用这个
    发表于 07-13 22:20

    【xG24 Matter开发套件试用体验】初识xG24 Matter开发套件

    今天带刚收到xG24 Matter开发套件的快递,为大家做个xG24 Matter开发套件的视频介绍,带大家认识一下这款xG24 Matter开发套件。 EFR32xG24 Explorer
    发表于 07-11 23:31

    JH-7110 RISC-V开发套件正式开源

    近日,赛昉科技在RVspace生态社区正式开源昉·惊鸿-7110(JH-7110)DevKit开发套件,同时提供其原理图和PCB参考设计源文件,旨在为客户提供全面的RISC-V芯片平台
    的头像 发表于 06-15 08:19 490次阅读
    JH-7110 RISC-V<b class='flag-5'>开发套件</b>正式开源

    联发科发布天玑AI开发套件,赋能终端生成式AI应用

    联发科近日推出了全新的天玑AI开发套件,旨在为合作伙伴打造一站式解决方案,以加速终端生成式AI应用的开发。这款套件集合了四大核心模块,为AI应用开发
    的头像 发表于 05-10 11:19 597次阅读

    DA1453x Pro开发套件硬件说明

    电子发烧友网站提供《DA1453x Pro开发套件硬件说明.pdf》资料免费下载
    发表于 02-21 10:07 0次下载
    DA1453x Pro<b class='flag-5'>开发套件</b>硬件说明

    软通智慧启动鲲鹏原生应用开发合作

    1月25日,软通智慧科技有限公司启动 鲲鹏原生应用开发合作 ,将基于 鲲鹏硬件底座、openEuler、开发套件Kunpeng DevKit
    的头像 发表于 02-19 10:01 458次阅读
    软通智慧启动<b class='flag-5'>鲲鹏</b>原生应用<b class='flag-5'>开发</b>合作

    英飞凌推出CYUSBS236 USB转串行通信(双通道)开发套件

    英飞凌科技(Infineon Technologies)近日宣布推出全新的CYUSBS236 USB 转串行通信(双通道)开发套件。该开发套件基于英飞凌的CY7C65215 USB 串行桥控制器,为开发者提供了快速、简便地实现U
    的头像 发表于 01-24 17:12 891次阅读