开发者
资源
鲲鹏代码迁移工具介绍
鲲鹏代码迁移工具介绍
发表于2023/03/20
2.6k0
  

 一、概要介绍

鲲鹏代码迁移工具是一款可以简化客户应用迁移到基于鲲鹏916/920的服务器的过程的工具。工具仅支持x86 Linux到Kunpeng Linux的扫描与分析,不支持Windows软件代码的扫描、分析与迁移。

当客户有x86平台上源代码的软件要迁移到基于鲲鹏916/920的服务器上时,既可以使用该工具分析可迁移性和迁移投入,也可以使用该工具自动分析出需修改的代码内容,并指导用户如何修改。

鲲鹏代码迁移工具既解决了客户软件迁移评估分析过程中人工分析投入大、准确率低、整体效率低下的痛点,通过该工具能够自动分析并输出指导报告;也解决了用户代码兼容性人工排查困难、迁移经验欠缺、反复依赖编译调错定位等痛点。

二、安装方式

工具的安装方式有Web和CLI两种,Web方式只支持Web浏览器访问,CLI方式下只支持CLI命令行访问。其中Web浏览器访问支持所有的功能,CLI命令行访问只支持软件迁移评估和源码迁移功能。Web方式下支持多用户并发扫描。

三、功能特性

3.1软件迁移评估

  • 检查用户软件包(RPM、DEB、TAR、ZIP、GZIP等文件)中包含的SO(Shared Object)依赖库和可执行文件,并评估SO依赖库和可执行文件的可迁移性。
  • 检查用户Java类软件包(JAR、WAR、EAR)中包含的SO依赖库和二进制文件,并评估SO依赖库和二进制文件的可迁移性。
  • 检查指定的用户软件安装路径下的SO依赖库和可执行文件,并评估SO依赖库和可执行文件的可迁移性。

3.2源码迁移

  • 检查用户C/C++/ASM/Fortran/Go软件构建工程文件,并指导用户如何迁移该文件。
  • 检查用户C/C++/Fortran/Go/解释型语言软件构建工程文件使用的链接库,并提供可迁移性信息。
  • 检查用户C/C++/ASM/Fortran/Go/解释型语言软件源码,并指导用户如何迁移源文件。其中,Fortran源码支持从Intel Fortran编译器迁移到GCC Fortran编译器,并进行编译器支持特性、语法扩展的检查。
  • 检查用户Python/Java/Scala程序通过ctypes模块加载的SO文件的兼容性。
  • x86汇编指令转换,分析部分x86汇编指令,并转换成功能对等的鲲鹏汇编指令。

3.3软件包重构

在鲲鹏平台上,分析待迁移软件包构成,重构并生成鲲鹏平台兼容的软件包,或直接提供已迁移了的软件包。

3.4专项软件迁移

在鲲鹏平台上,对部分常用的解决方案专项软件源码,进行自动化迁移修改、编译并构建生成鲲鹏平台兼容的软件包

3.5鲲鹏亲和分析

  • 64位运行模式检查是将原32位平台上的软件迁移到64位平台上,进行迁移检查并给出修改建议。
  • 结构体字节对齐检查是在需要考虑字节对齐时,检查源码中结构体类型变量的字节对齐情况。
  • 缓存行对齐检查是对C/C++源码中结构体变量进行128字节对齐检查,提升访存性能。
  • 内存一致性检查是分析、修复用户软件中的内存一致性问题。

    cke_939.png

  
收藏举报
Level 1
0
帖子
0
粉丝
0
获赞