Gzip介绍
首先打开实验环境中的VSCode,点击左侧树的扩展按钮,在搜索框中搜索“kunpeng”,安装鲲鹏开发框架插件。
点击左侧树的鲲鹏开发框架插件图标,点击新建鲲鹏工程按钮,进入新建鲲鹏工程界面,点击通用计算应用进入通用计算应用创建页面。
工程名称设置为testGzip,工程位置选择home,点击”Next”按钮进入加速库选择页面
勾选”Gzip”加速库,点击“Create Project”按钮创建工程
不部署加速库
同意下载加速库
创建成功后,点击“View Project”按钮查看工程。
点击“This Widonw”按钮,本窗口打开工程。
之后让我们点开工程third-party文件夹中的gzip子文件夹,查看里面的具体内容。
我们可以看到gzip文件夹中有两个子文件夹,分别是gzip_demo和gzip-1.10.aarch64, gzip_demo中包有一个名为demo_gzip的cpp文件,该demo包含了对gzip库中压缩和解压缩功能的调用。gzip-1.10.aarch64是已经下载并解压好的gzip鲲鹏加速库,该加速库针对鲲鹏处理器的架构特点,对gzip原生库进行了加速优化。接下来我们将利用demo_gzip来对比加速库和原生库在解压2G大小文件时的解压效率。
(1)首先,点击vscode上方的Terminal按钮,并选择New Terminal选项。
(2)登录之后,依次执行如下命令:
使cd到testGzip文件夹下cd /home/testGzip
清除鲲鹏工程目录中src文件夹中的内容
代码:
cd src
rm -f *
cd src
结果:
执行./configure编译gzip
代码:
cd ../third-party/gzip/gzip-1.10.aarch64/
bash ./configure
结果:
执行脚本修改构建文件中的内容
代码:
cp ../../../../gzip_test/change_gzip_makefile.sh .
sh change_gzip_makefile.sh
结果:
添加执行权限后执行make命令
将以下内容拷贝到源码lib目录下
代码:
cp libgzip.so gzip.h version.h lib/config.h ../../../lib
结果:
接着拷贝gzip_demo内容到src目录
代码:
cd ../../../src
cp ../third-party/gzip/gzip_demo/* .
cd ../build
cmake ../src
结果:
拷贝待测试文件到src目录
代码:
cp ../../gzip_test/test.log.2G_1.origin.gz ../bin
cd ../bin
结果:
执行鲲鹏工程代码对压缩包进行解压
代码:
gzip -d test.log.2G_1.origin.gz
time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz
结果:
下面使用原始gzip来对比解压性能
代码:
cd ../third-party/gzip
mv ../../../gzip_test/gzip-1.10.tar.gz .
tar -xf gzip-1.10.tar.gz
cd gzip-1.10
bash ./configure
结果:
代码:
cp ../../../../gzip_test/change_gzip_makefile.sh .
sh change_gzip_makefile.sh
chmod +x build-aux/*
make
cp libgzip.so ../../../lib
结果:
此处输入y同意覆盖
代码:
cd ../../../src
rm -rf *
cp ../third-party/gzip/gzip_demo/* .
cd ../build
rm -rf *
cp ../third-party/gzip/gzip_demo/* .
cd ../build
rm -rf *
cmake ../src
结果:
代码:
make
结果:
代码:
cd ../bin
time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz
打开桌面命令行窗口,依次执行如下命令:
ssh 连接至Kylin V10虚拟机
!注意此处ip的地方输入自己实际的ip地址
ssh root@ip
cd到home文件夹下
cd /home
解压kunpeng-hpc-1.0.0-aarch64-liunx.tar.gz
tar -xvf kunpeng-hpc-1.0.0-aarch64-linux.tar.gz
cd到script文件夹下
cd kunpeng-hpc-1.0.0-aarch64-linux/script
执行install.sh
bash install.sh
根据安装提示输入2,3,4安装GCC、BISHENG、HMPI-BISHENG
2,3,4
直接回车选择默认路径/opt安装GCC、BISHENG、HMPI-BISHENG
安装完成后执行env.sh脚本配置环境变量
bash /home/env.sh
打开桌面VSCode,点击左侧树的鲲鹏开发框架插件图标,点击新建鲲鹏工程按钮,进入新建鲲鹏工程界面,点击高性能计算应用,进入新建高性能计算工程页面。工程类型选择Hyper MPI,工程名称设置为HmpiDemo,工程位置选择home,点击创建按钮。
(1)创建成功后,点击查看应用按钮,选择本窗口打开。
(2)之后让我们点开工程src文件夹中的bcast子文件夹,查看里面的具体内容。
我们可以看到src文件夹中有一个名为math_demo.c的文件,该文件展示对MPI_Bcast集合通信的优化。
(1)首先,点击vscode上方的Terminal按钮,并选择New Terminal选项。
拷贝HmpiDemo至Kylin V10虚拟机
!注意此处ip的地方输入自己实际的ip地址
scp -r /home/HmpiDemo root@ip:/home
ssh 连接至Kylin V10虚拟机
!注意此处ip的地方输入自己实际的ip地址
ssh root@ip
cd到bcast文件夹下
cd /home/HmpiDemo/src/bcast/
创建并进入build文件夹
mkdir build
cd build
执行cmake .. && make编译HMPI
cmake .. && make
执行编译生成的可执行文件bcast_demo
mpirun --allow-run-as-root -n 4 bcast_demo