本文分享自华为云社区《鲲鹏DevKit 23.0:流水线中便捷迭代鲲鹏版本,迁移、开发、调优无缝衔接》,作者:华为云社区精选 。

数字时代,海量的行业应用驱动着多样性算力的飞速发展,以鲲鹏为代表的ARM架构驶入快车道。为了帮助广大用户和开发者快速适应鲲鹏生态,四年前,鲲鹏开发者套件 DevKit(下文简称“鲲鹏 DevKit”)正式发布,提供迁移、开发、编译调试、测试、调优&诊断等覆盖全研发作业流程的能力,实现鲲鹏应用的极速迁移、极简开发。

四年来,鲲鹏DevKit研发团队持续创新,围绕着开发者的核心诉求不断丰富和提升工具的功能、性能和易用性。9月22日下午,在华为全联接大会2023鲲鹏DevKit分论坛上,鲲鹏DevKit的技术专家们详细解读了鲲鹏DevKit 23.0版本即将上线的最新能力,并且邀请了华海智汇、志凌海纳等行业伙伴,共同分享基于鲲鹏DevKit的原生开发实践。

鲲鹏DevKit 23.0持续升级:增强场景化原生开发能力,全新架构让工具更易用

“鲲鹏DevKit是面向鲲鹏的全作业流提供一站式的开发工具,四年来,我们对工具持续开发和优化,提高迁移和性能分析的效率,加速鲲鹏原生开发,使得鲲鹏的应用能够极速迁移、极简开发、极致性能和极致体验。”鲲鹏DevKit项目经理马德强介绍道。

  • 极速迁移:针对有源码应用的迁移,鲲鹏DevKit能够自动识别TOP 10 常用语言的不兼容的代码和依赖文件,并且快速修改替换,实现解释型应用Hour级迁移,编译型应用Day级迁移;针对无源码应用(如商业闭源软件、存量软件找不到源码),鲲鹏DevKit提供动态二进制指令翻译工具ExaGear,在软件执行过程中把x86二进制指令翻译成鲲鹏指令,性能损耗最低在10%。
  • 极简开发:鲲鹏DevKit针对原生开发场景提供丰富的SDK、启发式编程、鲲鹏亲和分析、毕昇编译器、鲲鹏调试器、以及全场景调优等能力,引导用户在开发过程中充分应用鲲鹏架构优势,快速开发出高性能的鲲鹏原生应用。今年下半年鲲鹏DevKit还即将上线安全SDK 2.0、HPC场景2000+RANK的大规模并行调试,以及AI驱动场景化性能调优等能力,让安全应用改造更便捷、应用调试和调优更高效。
  • 全新架构:下半年鲲鹏DevKit将实现迁移、开发、编译调试和性能分析四个工具合一,解决以往多工具重复登录、来回切换、流程繁琐等问题,用户可以自行勾选需要的功能、一键安装、融合使用,构建以代码为中心的开发流程,实现迁移、开发、调优无缝衔接;此外,应用迁移和亲和分析能力还可以“零”代码快速接入企业现有开发流水线中,不改变原开发流程更加便捷迭代鲲鹏版本,今年上半年已经实现了Jenkins的快速接入,下半年还将实现华为云CodeArts Pipeline的快速接入。

原生开发持续增强:安全应用改造更便捷、HPC应用调试更高效、性能调优更智能

在鲲鹏原生开发方面,鲲鹏DevKit持续提升面向不同场景的开发、调试、调优的效率,在即将上线的10.30版本中,支持以下能力:

  • 升级安全SDK 2.0、快速改造安全应用:安全SDK 2.0提供高级语言机密计算能力,在大数据、机器学习等场景下,除了支持C/C++外,还支持Python、Java应用快速改造成TEE安全应用,让用户的隐私数据更安全,让应用安全性改造更便捷。
  • 鲲鹏调试器支持2K个RANK并行调试:HPC并行程序具有逻辑复杂、并发量大、进程数多等特点,大规模调试难度大。鲲鹏调试器提供可视化图形调试界面,最高支持2048 Rank 节点并行调试,实时展示通讯组变化、计算节点、进程等信息,充分发挥鲲鹏集群算力。
  • AI加持场景化调优更智能:针对大数据、数据库等典型场景下参数复杂、高度依赖专家经验、调优门槛高等问题,鲲鹏DevKit提供AI驱动场景化性能调优,支持AI性能自学习与配置自动寻优、多层级配置模板仓辅助典型场景自动调优、以及软硬件全栈自动调优等能力,快速获取典型场景的最优配置参数,调优效率从Day级(人工)提升到Hour级,并且性能相比人工调优提升10%+。

全新架构让工具更易用:流水线中便捷迭代鲲鹏版本,迁移、开发、调优无缝衔接

为了进一步提升开发者的使用体验,10.30的新版本还即将上线鲲鹏DevKit全新架构,用户可以更加灵活、高效的单独安装使用,也可以直接预集成到现有开发流水线中使用:

  • 多工具合一:功能按需定义,一键安装、融合使用:以往鲲鹏DevKit提供了应用迁移、鲲鹏开发框架、编译调试插件和性能分析工具等,用户需要分别安装、登录、并在多个工具界面来回切换使用,升级后的DevKit将四个工具合一,关键功能插件化解耦,用户可以按需勾选需要的功能、一键安装、融合使用,以代码为中心串联迁移、开发、调优流程孤岛,效率高、体验好;
  • “零”代码接入CodeArts,便捷迭代云上鲲鹏版本:上半年在鲲鹏开发者峰会上,鲲鹏领域总裁李义发布了鲲鹏DevKit与开发流水线集成的能力,通过简单的配置,用户就可以在现有DevOps流程中便捷使用迁移扫描和鲲鹏亲和分析能力,随时检查和修改增量代码的鲲鹏兼容性以及鲲鹏亲和性,保障代码质量、快速迭代多平台版本;目前已支持Jenkins流水线的快速接入,下半年,鲲鹏DevKit与华为云进行深度合作,将代码迁移插件通过可视化的配置集成进华为云CodeArts Pipeline,更加便捷的迭代云上鲲鹏版本。

目前,华海智汇、志凌海纳等伙伴都已经在现有流水线中使用鲲鹏DevKit提升开发效率:

  • 其中华海智汇在打造政务信息技术应用创新适配一站通平台过程中,将鲲鹏DevKit的迁移,编译、测试、调优等IDE插件集成到政务应用迁移工具链中,面向政府委办局和应用厂商提供一站式应用适配支持服务,CodeArts自定义插件方式集成DevKit工代码迁移工具,实现政务应用的适配改造、代码开发的一体化在线实施,目前某政务监测管理应用已基于该平台完成应用的高效迁移及开发迭代,版本迭代效率较之前提升50%。
  • 志凌海纳的超融合软件SMTX OS能够为企业自建云提供融合部署的服务器虚拟化和融合部署的分布式存储功能,该软件对性能要求高(业务量高达1000 TPS、数据处理时延需要小于300ms),并且需要在流水线中开发多版本(涉及不同架构的C语言编写、难度大),志凌海纳借助鲲鹏DevKit进行性能调优并使用毕昇编译器进行编译优化,线程数和函数调用时延均有大幅提升,总体性能提升50%;此外在Jenkins流水线中集成了鲲鹏DevKit,快速高效地完成多版本ISO Kernel的开发和逻辑优化。

鲲鹏生态的繁荣离不开万千伙伴的支持,截止目前,鲲鹏DevKit已经助力 2700+伙伴迁移/开发了8800+应用,超过20万的开发者下载或者在远程实验室中体验了鲲鹏DevKit。未来,鲲鹏DevKit也将持续优化开发者的开发体验,通过鲲鹏社区(hikunpeng.com)为开发者提供全方位的支持,让开发者更加便捷、高效的进行鲲鹏应用开发和创新。

点击关注,第一时间了解华为云新鲜技术~

流水线中便捷迭代,鲲鹏DevKit 23.0新能力抢先看的更多相关文章

  1. Django 2.0 新特性 抢先看!

    一.Python兼容性 Django 2.0支持Python3.4.3.5和3.6.Django官方强烈推荐每个系列的最新版本. 最重要的是Django 2.0不再支持Python2! Django ...

  2. android6.0、7.0、8.0新特性总结之开发应用时加以考虑的一些主要变更。

    android6.0 参考一:简书Android 6.0 新特性详解 参考二:关于Android6.0以上系统的权限问题 参考三:值得你关注的Android6.0上的重要变化(一) 参考四:值得你关注 ...

  3. C# 9.0 新特性预览 - 类型推导的 new

    C# 9.0 新特性预览 - 类型推导的 new 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大 ...

  4. C# 9.0 新特性预览 - 空参数校验

    C# 9.0 新特性预览 - 空参数校验 前言 随着 .NET 5 发布日期的日益临近,其对应的 C# 新版本已确定为 C# 9.0,其中新增加的特性(或语法糖)也已基本锁定,本系列文章将向大家展示它 ...

  5. 开发错误记录3:问题 Error:failed to find Build Tools revision 23.0.2

    今天导入swiperefreshlayoutdemo 问题 Error:failed to find Build Tools revision 23.0.2 修改build.gradle 里面设置,其 ...

  6. python中的迭代

    #迭代Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上. #list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标 ...

  7. Navicat Premium v12.0.23.0 破解教程x86,x64通用,手动破解

    教程来源于:吾爱破解网站 ----------更新线----------- 2018.01.23 Navicat Premium v12.0.23.0 测试破解依然有效 ----------更新线-- ...

  8. Navicat Premium v12.0.23.0 安装,使用激活码激活

    1 下载 可以直接官网下载安装包,也可以直接到我的云盘下载 下载地址:https://pan.baidu.com/s/1apwU9cIKBTr-z0CuJEJ9gg 文件包中包含下面的文件: 2 安装 ...

  9. 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置And ...

  10. 输入一个字符串,内有数字和非数字字符。例如:a123x456 17960 302tab5876。将其中连续的数字作为一个整数,依次存放到一维数组a中,例如123放在a[0],456放在a[1]……统计共有多少个整数,并输出这些数。

    题目内容:输入一个字符串,内有数字和非数字字符.例如:a123x456 17960 302tab5876.将其中连续的数字作为一个整数,依次存放到一维数组a中,例如123放在a[0],456放在a[1 ...

随机推荐

  1. 【AI在网络安全中的应用:趋势和未来】展望

    目录 [AI在网络安全中的应用:趋势和未来]- 展望 随着数字化和智能化的不断深入,网络安全问题越来越受到人们的关注.其中,人工智能技术在网络安全领域中的应用已成为当前研究的热点之一.本文将探讨AI在 ...

  2. React SSG - 也写个 Demo 吧

    上次写了一个 SSR 的 DEMO,今天写个小 Demo 来从头实现一下 react 的 SSG,来理解下 SSG 是如何实现的. 什么是 SSG SSG 即 Static Site Generati ...

  3. G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析

    1. 背景 我方有一应用,偶尔会出现GC时间过长(间隔约4小时),导致性能波动的问题(接口最长需要耗时3秒以上).经排查为G1垃圾回收器参数配置不当 叠加 MySQL 链接超过闲置时间回收,产生大量的 ...

  4. CPU性能指标介绍及分析

    CPU是计算机系统中最核心的组件之一,对系统性能起着至关重要的作用.以下是一些常见的CPU性能指标及其分析: 1. %user(用户态)和 %system(内核态) %user:表示CPU花费在用户进 ...

  5. Tomcat启动时出现乱码的解决方式

    在网上下载了一个版本号为apache-tomcat-8.5.38的Tomcat,因为这个Tomcat一直没有用过,所以今天启动时出现了如下乱码: 解决方案: 找到Tomcat目录下conf文件夹中的l ...

  6. Centos 7安装dotnet 3.1

    # 注册 Microsoft 密钥和源 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft- ...

  7. 行行AI人才直播第10期:CTC智仝咨询联合创始人王发鑫《AI时代职场进阶之路——资深猎头的职场洞见》

    当今AI技术正在快速渗透各个行业,从去年热门的AIGC到今年爆火的ChatGPT,人工智能高速发展让人惊叹的同时,也让"算法取代人类"."AI或带来失业潮"等老 ...

  8. PyQt5实时刷新

    对于执行很耗时的程序来说,由于PyQt需要等待程序执行完毕才能进行下一步,这个过程表现在界面上就是卡顿,而如果需要执行这个耗时程序时不断的刷新界面.那么就可以使用QApplication.proces ...

  9. Java 生态需要新鲜的血液、需要狂飙的刺激。Solon v2.4.1 发布

    Solon 是什么开源项目? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢 ...

  10. python中将时间转换为时间戳

    某平台url中的时间格式为时间戳,将时间变量传入url前,需要将固定格式的时间转换为时间戳.使用python中的time模块,对时间的几种格式进行转换. strptime(),将时间字符串转换成 结构 ...