鲲鹏系列一: DevKit代码迁移工具技术要点总结

简介: 处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。通常,代码迁移是件复杂又繁琐的工作,需要花费开发者大量精力对软件包、源代码、依赖库文件进行人工分析、检查和识别,手动修正不同指令集之间的相关差异,这些差异主要涉及语法、指令、函数和库文件支持情况。

处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。通常,代码迁移是件复杂又繁琐的工作,需要花费开发者大量精力对软件包、源代码、依赖库文件进行人工分析、检查和识别,手动修正不同指令集之间的相关差异,这些差异主要涉及语法、指令、函数和库文件支持情况。为了解决用户代码可迁移性人工排查困难、移植经验欠缺、反复依赖编译调错定位等,投入工作量大,整体效率低的问题,我们推出Kunpeng Porting Advisor鲲鹏代码迁移工具。

鲲鹏代码迁移工具是一款可以简化应用迁移到鲲鹏架构服务器过程的工具。主要面向鲲鹏平台的开发者、用户和第三方待迁移软件提供方开发工程师,对海量代码进行快速地自动化扫描和分析,提供专业的迁移指导报告。同时能够自动分析出需修改的代码内容,并指导如何修改,帮助开发者实现高效的代码迁移。同时支持原生开发代码亲和检查等能力。

image.png

代码迁移工具功能特性
代码迁移工具可以作为独立软件提供给鲲鹏生态用户安装使用,支持的功能特性如下

软件迁移评估
检查用户提供的软件安装包,识别依赖关系,并提供鲲鹏兼容版本的so依赖库对应rpm的包OS发行版官方下载接

检查用户在x86服务器上已安装的软件,识别依赖关系,并提供鲲鹏兼容版本的so依赖库对应rpm的包OS发行版官方下载接。

源码迁移
检查用户C/C++/汇编/Fortran代码软件构建工程文件,并指导用户如何迁移该文件

检查用户C/C++/汇编/Fortran/python/Java/Scala/Go软件构建工程文件使用的链接库,并提供可迁移性信息

检查用户C/C++/汇编/Fortran软件源码,并指导用户如何迁移源文件

软件包重构
分析用户x86软件包构成,重构为适用于鲲鹏平台的软件包。

专项软件迁移
基于我们丰富的软件迁移经验,帮助用户快速迁移Web、数据库、大数据、高性能计算四大解决方案类软件。

鹏亲和分析
目前含64位运行模式检查、结构体字节对齐检查、缓存行字节对齐检查、内存一致性检查、构建亲和检查。

image.png

使用方式:支持命令行方式、Web、IDE插件三种工作模式,后两种方式下支持多用户并发扫描。

限制:工具不支持迁移windows环境下的软件或者ISO/Mac OS平台应用至Kunpeng平台Linux环境下。

应用场景:

image.png

image.png

内存一致性
(1):静态检查,检查用户软件迁移到鲲鹏平台可能存在的弱内存序问题并修复

(2):自动修复功能,更新用户使用的GCC编译器,在用户软件的编译过程中自动完成弱内存序问题的修复

(3):支持下载静态检查工具产生的BC文件,可根据实际需要进行BC文件扫描分析

(4):静态检查工具、编译器自动修复工具组合使用,可一键式修复

(5):支持自动生成目标工程的中间文件,不需要用户修改编译脚本

相关文章
|
存储 消息中间件 缓存
相比游戏客户端,游戏服务端开发无关紧要吗
感觉游戏服务端,除了更新,保存数据啊、生成随机物品啊、都没什么了,好像游戏开发场景中,服务端已经无关紧要了。看着客户端忙成狗,正在摸鱼的你是否也有过这样的疑问?
638 0
相比游戏客户端,游戏服务端开发无关紧要吗
|
2月前
|
数据可视化
如何使用“黑科技”软件提升生产力
日程安排软件是现代职场和个人生活的必备工具,能帮助用户高效管理时间,清晰规划任务,提供及时提醒,提高工作效率。其可视化功能和跨设备同步特性,使任务管理更加便捷,无论何时何地都能保持井井有条。适合各行业人士使用,助力实现生活与工作的完美平衡。
|
4月前
|
开发框架 开发者 UED
震惊!Uno Platform 竟能这样实现实时数据同步,开发者必看的最佳实践秘籍大公开!
【9月更文挑战第7天】Uno Platform 是一款强大的跨平台开发框架,支持使用单一代码库构建多平台应用。本文介绍其实时数据同步的最佳实践,包括使用 WebSocket 实现双向高效数据传输。通过示例代码展示了如何在客户端建立 WebSocket 连接、处理实时数据接收及利用数据绑定和 ReactiveUI 等技术自动更新 UI,确保一致性和响应性,从而提升用户体验。
83 2
|
5月前
|
缓存 开发者 测试技术
跨平台应用开发必备秘籍:运用 Uno Platform 打造高性能与优雅设计兼备的多平台应用,全面解析从代码共享到最佳实践的每一个细节
【8月更文挑战第31天】Uno Platform 是一种强大的工具,允许开发者使用 C# 和 XAML 构建跨平台应用。本文探讨了 Uno Platform 中实现跨平台应用的最佳实践,包括代码共享、平台特定功能、性能优化及测试等方面。通过共享代码、采用 MVVM 模式、使用条件编译指令以及优化性能,开发者可以高效构建高质量应用。Uno Platform 支持多种测试方法,确保应用在各平台上的稳定性和可靠性。这使得 Uno Platform 成为个人项目和企业应用的理想选择。
88 0
|
8月前
|
监控 前端开发 关系型数据库
常见性能工具一览
今天写了一个调试工具的文章,就有人说起工具到底要会哪些。既然提到这儿了,那就多写几句吧。
196 2
常见性能工具一览
提升直播软件源码开发平台性能关键利器功能
直播软件源码平台缓存功能的示例用法 cache = LiveStreamCache() cache.add_to_cache("stream1", "直播内容1") cache.add_to_cache("stream2", "直播内容2") content1 = cache.get_from_cache("stream1") print(content1) cache.remove_from_cache("stream2") content2 = cache.get_from_cache("stream2") print(content2)
|
弹性计算 Java 芯片
技术分享 | 软件跨架构迁移(X86->ARM)的原理及实践
针对阿里云倚天实例的软件迁移,阿里云为开发者提供了迁移工具EasyYitian和性能调优工具KeenTune,能够帮助用户解决软件迁移评估分析过程中人工分析投入大、准确率低、代码兼容性人工排查困难、迁移经验欠缺、反复依赖编译调错定位等痛点,实现业务在ARM ECS的快速适配。EasyYitian支持主流开发语言,通过系统自动化扫描可以一键生成分析报告。KeenTune通过AI算法与专家知识库的有效结合,为软件应用提供动态和静态协同调优的能力。
技术分享 | 软件跨架构迁移(X86->ARM)的原理及实践
|
数据采集 JavaScript 关系型数据库
8 种主流数据迁移工具技术选型,yyds! 上
8 种主流数据迁移工具技术选型,yyds! 上
|
canal 数据采集 分布式计算
8 种主流数据迁移工具技术选型,yyds! 下
8 种主流数据迁移工具技术选型,yyds! 下