首页 > 其他分享 >流水线中便捷迭代,鲲鹏DevKit 23.0新能力抢先看

流水线中便捷迭代,鲲鹏DevKit 23.0新能力抢先看

时间:2023-10-11 14:55:22浏览次数:36  
标签:迭代 开发 DevKit 应用 23.0 迁移 鲲鹏 调优

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

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

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

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

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

cke_156.png

  • 极速迁移:针对有源码应用的迁移,鲲鹏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全新架构,用户可以更加灵活、高效的单独安装使用,也可以直接预集成到现有开发流水线中使用:

cke_157.png

  • 多工具合一:功能按需定义,一键安装、融合使用:以往鲲鹏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,迁移,鲲鹏,调优
From: https://www.cnblogs.com/huaweiyun/p/17757082.html

相关文章

  • 泛型算法(find、count、sort、fill、unique、copy、lambda、迭代器)
    一、概述algorithm中,还有一些数值泛型算法定义在头文件numeric中。算法永远不会执行容器的操作)。1、find和count:#include<iostream>#include<algorithm>#include<numeric>#include<vector>#include<list>usingnamespacestd;usingv_int=vector<int>;usingv_s......
  • An unhandled exception occurred: Could not find the implementation for builder @
    原文链接:https://www.longkui.site/error/angular-cli/4795/调试一个新的angula项目时,报上面的错误。断定基本是版本不匹配导致的。看了看网上的一些信息说是升级一下angular-cli的版本就行了。但是升级后也不好用,后来发现,不是要升级,而是要根据packa.json里面的信息安装指定......
  • KubeSphere 社区双周报 | OpenFunction v1.2.0 发布 | 2023.09.15-09.28
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.09.15-2023.09.28。贡献者名单新晋KubeSphereCon......
  • 迭代器模式
    迭代器模式案例引入需求编写需求展示一个学校院系结构,需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,且多个学院,存储系的数据机构不同,有的是集合,有的是数组。传统解决方式让系继承学院,学院继承学校。传统解决方式问题分析1.将学院看做......
  • 可迭代、迭代器、生成器
    可迭代可以通过isinstance(object,Itreable)判断也可以通过如下方式判断dir()方法,如果有实现__iter__就说明是可迭代的当然也可能只是闲了__getitem__方法,尝试按顺序获取元素,也不会抛出异常因此,我们可以通过能不能用for去迭代或者使用iter()来尝试生成迭代器来......
  • java实现迭代器模式
    迭代器模式(IteratorPattern)是一种行为型设计模式,它提供一种方法来顺序访问一个聚合对象(如列表、集合、数组等)中的元素,而不暴露聚合对象的内部表示。迭代器模式通常包括以下角色:迭代器(Iterator)、具体迭代器(ConcreteIterator)、聚合(Aggregate)、具体聚合(ConcreteAggregate)。以下是一......
  • 2023.09.28
    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例1:输入:s="()"输出:true示例 2:输入:s="()[]{}"输出:t......
  • 2023.09.26 动手动脑
    Java的类在构造时会提供一个无参的构造方法,如果已存在用户已经自定义的构造方法,则原有的无参构造方法将无法调用,只能调用自己定义的构造方法。静态初始化的执行顺序:classRoot{static{System.out.println("Root的静态初始化块");}{Sys......
  • Flutter/Dart第03天:Dart可迭代集合
    Dart官网代码实验室:https://dart.dev/codelabs/iterables重要说明:本博客基于Dart官网代码实验室,但并不是简单的对官网文章进行翻译,我会根据个人研发经验,在覆盖官网文章核心内容情况下,加入自己的一些扩展问题和问题演示和总结,包括名称解释、使用场景说明、代码样例覆盖等。可迭代......
  • 软件设计模式系列之十八——迭代器模式
    1模式的定义迭代器模式是一种行为型设计模式,它允许客户端逐个访问一个聚合对象中的元素,而不暴露该对象的内部表示。迭代器模式提供了一种统一的方式来遍历不同类型的集合,使客户端代码更加简洁和可复用。2举例说明为了更好地理解迭代器模式,让我们考虑一个简单的例子:一个图书馆......