建议使用以下浏览器,以获得最佳体验。 ie 9.0 以上版本 chrome 31 谷歌浏览器 firefox 30 火狐浏览器
温馨提示

抱歉,您需设置社区昵称后才能参与社区互动!

前往修改
我再想想
选择版块
鲲鹏论坛 主题:10154帖子:285033

【技术干货】

第二讲:鲲鹏代码迁移工具基础知识笔记——与鲲鹏代码迁移工具的邂逅

2022/6/9 790
# 前情提要 来,先上官方视频链接:https://www.hikunpeng.com/zh/developer/live/detail/1533984621405396993 搭配本文,效果更佳哦! # 鲲鹏代码迁移工具简介 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654777611599300834.png) 鲲鹏代码迁移工具支持**ide插件(vs code、intellij)**和**浏览器**两种工作模式。本工具分为**客户端、服务器端**两部分,需要安装后使用。 鲲鹏代码迁移工具是一款可以简化客户应用迁移到基于**鲲鹏916/920的服务器**的过程的工具。代码迁移工具可自动扫描并分析待迁移软件,提供可迁移性评估报告;也可对待迁移软件进行源码分析,准确定位需迁移的代码,并给出友好的迁移指导或一键代码替换;同时支持将x86软件包重构成鲲鹏平台软件包、专项软件一键迁移及其他增强功能等。注意仅适用于**开发和测试环境**,仅**支持x86 linux软件迁移到鲲鹏linux**上的扫描、分析与迁移。点击查看 [鲲鹏代码迁移工具最新动态](https://www.hikunpeng.com//detail/zh/kunpengdevps/wtsnew/wtsnew-kunpengdevps.html)。 操作系统要求openeuler 20.03 (lts)、centos 7.6、ubuntu18.04、麒麟v10、uos 20等,详细的运行平台和操作系统对应关系请参见 [兼容性查询工具](https://support-it.huawei.com/kunpeng-software-support/#/index/search?tool=port&lang=zh)。 咱们这次训练营会申请远程实验室使用,官方建议大家申请的是**openeuler 20.03 (lts)**。 # 鲲鹏代码迁移工具功能介绍 ## 软件迁移评估 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778017097342225.png) 软件迁移评估帮助用户分析用户x86环境上软件包安装路径中的so库文件,并检查这些文件与鲲鹏平台的兼容性。支持web界面和cli命令行操作,当然,如果你希望用vs code或intellij也没问题,有相应的插件提供使用。 以web界面为例,一般在已经登录鲲鹏代码迁移工具下: 1. 在页面左侧,选择“软件迁移评估”。 2. 在创建分析任务区勾选“分析软件包”或“分析已安装软件”,并对以下参数进行配置。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778392434599294.png) 对应参数的具体说明,可以查看[文档介绍](https://www.hikunpeng.com//detail/zh/kunpengdevps/porting/usermanual/kunpengpt_06_0110.html)。 3. 单击“开始分析”,生成分析报告。 弹窗页面显示任务分析进度,分析完成后,单击“查看报告”进入“迁移报告”界面。 > 用户可在任务进行过程中单击关闭,取消任务。 > 支持多个用户同时创建分析任务。 4. 分析完成后,在页面左侧,选择“软件迁移评估”。 5. 在历史报告的列表中,单击指定分析任务的报告名称,进入“迁移报告”界面。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778560227219418.png) ## 源码迁移 源码迁移功能分析用户c/c /asm/fortran/go/解释型语言软件的可迁移性,通过鲲鹏代码迁移工具可执行自动分析,生成分析报告,并指导用户如何迁移该文件。 来,介绍下大体步骤: 1. 成功登录鲲鹏代码迁移工具。 2. 在创建分析任务区对以下参数进行配置。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778784151307997.png) 注意,申请的远程实验室使用,不是上图的编译器,应该是`gcc 7.3`,具体对应关系在官方文档中有,如下: ``` openeuler 20.03 默认为bisheng compiler 2.1.0 openeuler 20.03 sp1 默认为gcc 7.3 openeuler 20.03 sp2 默认为gcc 7.3 openeuler 20.03 sp3 默认为gcc 7.3 ``` 3. 单击“开始分析”,生成分析报告。弹窗页面显示任务分析进度,分析完成后,单击“查看报告”进入“迁移报告”界面。在这里选择文件,鼠标悬浮于红波浪线的代码处,可以查看源码迁移建议。 **若需要在原始代码中进行修改操作,务必随时对编辑的源码进行保存,否则可能会因为会话超时而丢失修改的代码。** ## 软件包重构 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778026276636426.png) 分析x86平台上linux软件包的构成及依赖性,将平台相关的依赖文件替换为鲲鹏平台兼容的版本,并重构成适用于鲲鹏平台的软件包。 软件包重构能够分析用户提供的x86软件包,并根据用户提供的资源文件尝试构建鲲鹏平台软件包。软件包重构需要用户在鲲鹏平台使用。 1. 在已成功登录鲲鹏代码迁移工具的前提下。在web工具的左边标题栏中,选择“软件包重构”。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779405240723154.png) 2. 填写“软件包存放路径”。可以通过以下两种方式实现: > 单击“上传”按钮上传软件包。 > 先将软件包手动上传到服务器上本工具的指定路径下(例如:/opt/portadv/portadmin/packagerebuild/),给porting用户开读写和执行权限,再单击填写框选择下拉框中的软件包即可,也可以手动填写软件包名称。 3. 单击下一步,配置依赖文件。 4. 然后单击“确认重构”。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779485786425915.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779495791539410.png) 5. 重构成功后,单击“下载重构软件包”可查看执行结果,如图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779519539308713.png) ## 专项软件迁移 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778035174663927.png) 专项软件迁移提供开源软件迁移、调优的工具化星辰平台的解决方案。用户可以按照星辰平台的解决方案的粒度选择相应的软件,进行工具化快速迁移软件。专项软件迁移包含软件下载、修改、编译和软件包构建功能,需要用户在基于鲲鹏的服务器环境使用。 专项软件迁移是对大数据、数据库、高性能计算和web等场景的部分常用软件源码进行自动迁移、编译并构建生成鲲鹏平台兼容的软件包,该功能只支持在鲲鹏平台环境上运行。 ## 增强功能 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778044570854923.png) 鲲鹏代码迁移工具提供下面四种增强功能: > ### 64位运行模式检查 对用户c/c 软件从32位模式迁移到64位模式进行检查。工具强制以64位模式编译用户软件,并通过编译选项发现从32位模式迁移到64位模式的必要修改,并提示用户进行进一步检查。 > ### 结构体字节对齐检查 用户软件中的结构体变量进行检查,分析其内存分配情况,并反馈用户。 > ### 缓存行对齐检查 对c/c 源码中结构体变量进行128字节对齐检查,提升访存性能。 > ### 内存一致性检查 对用户软件迁移到鲲鹏平台可能存在的内存一致性问题进行检查、修复。自动修复工具需要更新用户使用的gcc编译器,随后在用户软件的编译过程中自动完成内存一致性问题的修复。 # 总结 鲲鹏代码迁移工具还是很强的,系统性强,功能比较完善,很不错,大大减轻人的迁移负担。

回复30

0 0
2022/6/10 12:53

感谢分享

0 0
2022/6/10 13:06

感谢分享

0 0
2022/6/10 13:21

感谢分享

0 0
2022/6/10 15:35
感谢分享

谢谢,一起学习,共同进步哈。

0 0
2022/6/10 15:36
感谢分享

谢谢鼓励。

0 0
2022/6/10 15:36
感谢分享

感谢鼓励,共同进步。

0 0
2022/6/10 15:41

论坛留言

0 0
2022/6/11 10:13

感谢分享

0 0
2022/6/11 10:31

感谢分享

上划加载中
直达楼层
全部回复
正序浏览
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 星辰平台的解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

第二讲:鲲鹏代码迁移工具基础知识笔记——与鲲鹏代码迁移工具的邂逅-星辰平台

您已采纳当前回复为最佳回复

发帖: 420粉丝: 266

发表于2022年06月09日 21:06:14 790 30
[技术干货] 第二讲:鲲鹏代码迁移工具基础知识笔记——与鲲鹏代码迁移工具的邂逅
# 前情提要 来,先上官方视频链接:https://www.hikunpeng.com/zh/developer/live/detail/1533984621405396993 搭配本文,效果更佳哦! # 鲲鹏代码迁移工具简介 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654777611599300834.png) 鲲鹏代码迁移工具支持**ide插件(vs code、intellij)**和**浏览器**两种工作模式。本工具分为**客户端、服务器端**两部分,需要安装后使用。 鲲鹏代码迁移工具是一款可以简化客户应用迁移到基于**鲲鹏916/920的服务器**的过程的工具。代码迁移工具可自动扫描并分析待迁移软件,提供可迁移性评估报告;也可对待迁移软件进行源码分析,准确定位需迁移的代码,并给出友好的迁移指导或一键代码替换;同时支持将x86软件包重构成鲲鹏平台软件包、专项软件一键迁移及其他增强功能等。注意仅适用于**开发和测试环境**,仅**支持x86 linux软件迁移到鲲鹏linux**上的扫描、分析与迁移。点击查看 [鲲鹏代码迁移工具最新动态](https://www.hikunpeng.com//detail/zh/kunpengdevps/wtsnew/wtsnew-kunpengdevps.html)。 操作系统要求openeuler 20.03 (lts)、centos 7.6、ubuntu18.04、麒麟v10、uos 20等,详细的运行平台和操作系统对应关系请参见 [兼容性查询工具](https://support-it.huawei.com/kunpeng-software-support/#/index/search?tool=port&lang=zh)。 咱们这次训练营会申请远程实验室使用,官方建议大家申请的是**openeuler 20.03 (lts)**。 # 鲲鹏代码迁移工具功能介绍 ## 软件迁移评估 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778017097342225.png) 软件迁移评估帮助用户分析用户x86环境上软件包安装路径中的so库文件,并检查这些文件与鲲鹏平台的兼容性。支持web界面和cli命令行操作,当然,如果你希望用vs code或intellij也没问题,有相应的插件提供使用。 以web界面为例,一般在已经登录鲲鹏代码迁移工具下: 1. 在页面左侧,选择“软件迁移评估”。 2. 在创建分析任务区勾选“分析软件包”或“分析已安装软件”,并对以下参数进行配置。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778392434599294.png) 对应参数的具体说明,可以查看[文档介绍](https://www.hikunpeng.com//detail/zh/kunpengdevps/porting/usermanual/kunpengpt_06_0110.html)。 3. 单击“开始分析”,生成分析报告。 弹窗页面显示任务分析进度,分析完成后,单击“查看报告”进入“迁移报告”界面。 > 用户可在任务进行过程中单击关闭,取消任务。 > 支持多个用户同时创建分析任务。 4. 分析完成后,在页面左侧,选择“软件迁移评估”。 5. 在历史报告的列表中,单击指定分析任务的报告名称,进入“迁移报告”界面。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778560227219418.png) ## 源码迁移 源码迁移功能分析用户c/c /asm/fortran/go/解释型语言软件的可迁移性,通过鲲鹏代码迁移工具可执行自动分析,生成分析报告,并指导用户如何迁移该文件。 来,介绍下大体步骤: 1. 成功登录鲲鹏代码迁移工具。 2. 在创建分析任务区对以下参数进行配置。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778784151307997.png) 注意,申请的远程实验室使用,不是上图的编译器,应该是`gcc 7.3`,具体对应关系在官方文档中有,如下: ``` openeuler 20.03 默认为bisheng compiler 2.1.0 openeuler 20.03 sp1 默认为gcc 7.3 openeuler 20.03 sp2 默认为gcc 7.3 openeuler 20.03 sp3 默认为gcc 7.3 ``` 3. 单击“开始分析”,生成分析报告。弹窗页面显示任务分析进度,分析完成后,单击“查看报告”进入“迁移报告”界面。在这里选择文件,鼠标悬浮于红波浪线的代码处,可以查看源码迁移建议。 **若需要在原始代码中进行修改操作,务必随时对编辑的源码进行保存,否则可能会因为会话超时而丢失修改的代码。** ## 软件包重构 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778026276636426.png) 分析x86平台上linux软件包的构成及依赖性,将平台相关的依赖文件替换为鲲鹏平台兼容的版本,并重构成适用于鲲鹏平台的软件包。 软件包重构能够分析用户提供的x86软件包,并根据用户提供的资源文件尝试构建鲲鹏平台软件包。软件包重构需要用户在鲲鹏平台使用。 1. 在已成功登录鲲鹏代码迁移工具的前提下。在web工具的左边标题栏中,选择“软件包重构”。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779405240723154.png) 2. 填写“软件包存放路径”。可以通过以下两种方式实现: > 单击“上传”按钮上传软件包。 > 先将软件包手动上传到服务器上本工具的指定路径下(例如:/opt/portadv/portadmin/packagerebuild/),给porting用户开读写和执行权限,再单击填写框选择下拉框中的软件包即可,也可以手动填写软件包名称。 3. 单击下一步,配置依赖文件。 4. 然后单击“确认重构”。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779485786425915.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779495791539410.png) 5. 重构成功后,单击“下载重构软件包”可查看执行结果,如图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654779519539308713.png) ## 专项软件迁移 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778035174663927.png) 专项软件迁移提供开源软件迁移、调优的工具化星辰平台的解决方案。用户可以按照星辰平台的解决方案的粒度选择相应的软件,进行工具化快速迁移软件。专项软件迁移包含软件下载、修改、编译和软件包构建功能,需要用户在基于鲲鹏的服务器环境使用。 专项软件迁移是对大数据、数据库、高性能计算和web等场景的部分常用软件源码进行自动迁移、编译并构建生成鲲鹏平台兼容的软件包,该功能只支持在鲲鹏平台环境上运行。 ## 增强功能 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/9/1654778044570854923.png) 鲲鹏代码迁移工具提供下面四种增强功能: > ### 64位运行模式检查 对用户c/c 软件从32位模式迁移到64位模式进行检查。工具强制以64位模式编译用户软件,并通过编译选项发现从32位模式迁移到64位模式的必要修改,并提示用户进行进一步检查。 > ### 结构体字节对齐检查 用户软件中的结构体变量进行检查,分析其内存分配情况,并反馈用户。 > ### 缓存行对齐检查 对c/c 源码中结构体变量进行128字节对齐检查,提升访存性能。 > ### 内存一致性检查 对用户软件迁移到鲲鹏平台可能存在的内存一致性问题进行检查、修复。自动修复工具需要更新用户使用的gcc编译器,随后在用户软件的编译过程中自动完成内存一致性问题的修复。 # 总结 鲲鹏代码迁移工具还是很强的,系统性强,功能比较完善,很不错,大大减轻人的迁移负担。

分享文章到朋友圈

分享文章到微博
您已采纳当前回复为最佳回复

发帖: 0粉丝: 0

发表于2022年06月10日 12:53:40

感谢分享

您已采纳当前回复为最佳回复

发帖: 0粉丝: 0

发表于2022年06月10日 13:06:42

感谢分享

您已采纳当前回复为最佳回复

发帖: 0粉丝: 0

发表于2022年06月10日 13:21:05

感谢分享

您已采纳当前回复为最佳回复

发帖: 420粉丝: 266

发表于2022年06月10日 15:35:30
感谢分享

谢谢,一起学习,共同进步哈。

您已采纳当前回复为最佳回复

发帖: 420粉丝: 266

发表于2022年06月10日 15:36:02
感谢分享

谢谢鼓励。

您已采纳当前回复为最佳回复

发帖: 420粉丝: 266

发表于2022年06月10日 15:36:36
感谢分享

感谢鼓励,共同进步。

您已采纳当前回复为最佳回复

发帖: 0粉丝: 0

发表于2022年06月10日 15:41:03

论坛留言

您已采纳当前回复为最佳回复

发帖: 3粉丝: 1

发表于2022年06月11日 10:13:16

感谢分享

您已采纳当前回复为最佳回复

发帖: 3粉丝: 0

发表于2022年06月11日 10:31:26

感谢分享

您需要登录后才可以回帖 | 立即注册

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200