当前位置:网站首页>基于华为云弹性云服务器ECS(搭载openEuler的鲲鹏通用计算增强型)完成鲲鹏代码迁移工具实践【华为云至简致远】
基于华为云弹性云服务器ECS(搭载openEuler的鲲鹏通用计算增强型)完成鲲鹏代码迁移工具实践【华为云至简致远】
2022-08-08 16:08:00 【InfoQ】
零、前情提要



一、目标

二、操作前提
1. 认真观看迁移工具的实战视频
2. (可选)申请远程实验室

三、准备工作


1. 使用MobaXterm工具,以root用户登录服务器。

2. 进入“鲲鹏代码迁移工具”源码文件存放路径。
cd /opt/portadv/portadmin/sourcecode/

3. 下载Megahit源码。
git clone https://github.com/voutcn/megahit.git

4. 将代码进行合并。
cd megahit/ && git submodule update -init
-init
-


-init
-
-init

--init

cd megahit/ && git submodule update --init

5. 创建构建文件夹并进入。
mkdir build && cd build
6. 生成Makefile文件。
cmake .. -DCMAKE_BUILD_TYPE=Release

cmake
camke
cmake --version

cmake 3.15
wget https://down.24kplus.com/linux/cmake-3.15.3.tar.gz
tar -zxf cmake-3.15.3.tar.gz
cd cmake-3.15.3

./bootstrap --prefix=/usr --datadir=share/cmake --docdir=doc/cmake



make


sudo make install

cmake --version

cmake .. -DCMAKE_BUILD_TYPE=Release

7. 修改megahit目录属组。
cd ../
chown -R porting:porting *

四、源码迁移

1. 源码分析参数填充

megahit

openEuler 20.03
GCC 7,3
BiSheng Compiler 2.1.0
python

GCC 7,3
python3




2. 任务执行成功,查看源码报告。

3. 点击报告源码迁移建议,查看需要迁移的文件。


Quick Fix









BMI2
POPCNT
-mbmi2
-mpopcnt

POPCNT
-mpopcnt

五、迁移后重新编译
1. 添加
KunpengTrans.h
头文件
KunpengTrans.h
cp /opt/portadv/tools/inline_asm/config/KunpengTrans.h /opt/portadv/portadmin/sourcecode/megahit/src/utils/

2. 再次执行make命令。
cd /opt/portadv/portadmin/sourcecode/megahit/build/
make
cd /home/tjulitianyi/megahit/build
make


<x86intrin.h>
x86
x86
ARM
vi
vi /opt/portadv/portadmin/sourcecode/megahit/src/kmlib/kmrns.h
// #include <x86intrin.h>改为//#include <x86intrin.h>
I

Esc
:wq!

top


六、运行和验证
1. 下面,进入可执行文件的安装目录。其实,就是当前目录,因为我们之前就是在这个目录编译的,这里是为了再确认一下。
cd /opt/portadv/portadmin/sourcecode/megahit/build/
2. 执行以下命令运行:
make simple_test


结语
1.VPN连接

2. 鲲鹏迁移工具的Web界面显示文件名称不全


【精彩活动】
【技术专题】
边栏推荐
- 手把手教你uniapp接入聊天IM即时通讯功能-源码分享
- Streamsets Data Collector 3.12
- 找工作的我看了国聘app
- 使用FastApi服务解决程序反复调试导致速度过慢的问题(以tsfresh为例)
- 使用pymongo,将MongoDB生成的ObjectId类型数据与字符串之间的相互转化
- 【MATLAB项目实战】基于Morlet小波变换的滚动轴承故障特征提取研究
- leetcode/number of palindromic substrings
- Spam accounts are a lot of trouble, and device fingerprints are quickly found
- All volunteers V853 chip Tina RTSP environment set up
- Thread local storage ThreadLocal
猜你喜欢
OpenAI怎么写作「谷歌小发猫写作」
【Unity入门计划】Unity实例-C#如何通过封装实现对数据成员的保护
【有奖征文 第13期】至简致远,“云”响世界,大胆秀出你的华为云技术主张,高额激励等你拿
[Unity Starter Plan] Making RubyAdventure02 - Handling Tile Maps & Collision
科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来
Streamsets Data Collector 3.12
web-sql注入
京东T9纯手打688页神笔记,SSM框架整合Redis搭建高效互联网应用
GHOST工具访问数据库
Kubernetes二进制部署高可用集群
随机推荐
【云原生】-MySQL压测神器HammerDB的部署及使用
非常菜的一个批量布置waf脚本
2022年中国全民健身发展白皮书
表实时同步,没有etl 可以用这个吗,从mysql到mysql
groovy基础学习
hdu2475 Box
Flutter的实现原理初探
广东大学生网络安全攻防大赛CTF部分WP
The origin and creation of Smobiler's complex controls
《流浪方舟》首发重现,点我试玩
分享这些2022设计师们决不能错过的Blender新插件
bzoj2816 [ZJOI2012] Network
pytorch安装过程中出现torch.cuda.isavailable()=False问题
来,集中训练一下二叉树的层序遍历~
The realization of the salary slip issuing function of WeChat public account + web background
【云原生】云原生相关技术概念总结
垃圾账号不胜其烦,设备指纹快速发现
论文解读(soft-mask GNN)《Soft-mask: Adaptive Substructure Extractions for Graph Neural Networks》
抓住时代趋势,网赚新逻辑:平台+个人模式超清晰解读(附产品评测)
微信公众号+web后台的工资条发放功能的实现