PerfLab(直接在服务器上完成)

该实验详细介绍了如何登录服务器、初始化环境并进行性能优化。主要涉及修改Makefile文件以更新个人信息,编辑kernels.c文件以优化rotate和smooth函数。rotate函数通过循环展开、8*8和16*16分块进行优化,而smooth函数则通过去除冗余函数、针对不同区域(角、边、中间)进行分类优化实现性能提升。实验过程中需要多次编译以验证优化效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 实验前的准备

1.1 登录服务器

打开cmd,输入指令ssh 49.123.112.130 -用户名

1.2 初始化

输入指令perf_init(初始化只需要在第一次登陆时操作,以后如果再次初始化会将自己所做的所有修改清空)
在这里插入图片描述

1.3 打开目录

输入指令:cd perfLab

2. 修改Makefile文件

2.1 输入指令vim Makefile
2.2 进入Makefile文件后,输入小写字母i(vim中输入命令)进入编辑模型(做下角出现insert);
在这里插入图片描述
2.3 使用键盘的左右键移动光标找到需要修改的位置进行修改班级,学号,姓名);
2.4 修改完成后按下esc键,退出insert模式,然后输入:wq保存并退出。

3. 修改kernels.c文件

3.1 在命令行界面输入指令 vim kernels.c
3.2 在打开的kernels.c文件中输入i进入insert模式,修改后按下esc键,并输入:wq保存修改并退出;
3.3 输入make对修改了内容进行编译;

4. 优化rotate函数

使用vim kernels.c打开文件,输入i进入insert模式,在空白处模仿给出的初始rotate函数的形式增加三个优化函数:

4.1 循环展开

在这里插入图片描述

4.2 分块8*8(最优)

在这里插入图片描述

4.3 分块16*16

在这里插入图片描述

4.4 编译

4.4.1 代码编写完成后,按下esc键,并输入:wq保存修改并退出;
4.4.2 退出kernels.c文件后输入make,对修改后的文件进行编译。

5. 优化smooth

5.1 去掉不必要的函数

对原avg函数进行修改,把调用的函数直接替换成相应函数的代码;
在这里插入图片描述

5.2 对不同情况分类,重写计算平均值的函数(最优)

5.2.1 四个角

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.2 四条边

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2.3 中间区域

在这里插入图片描述

5.3 在第二种基础上将中间区域打包成函数

5.3.1 四个角

请看5.2.1

5.3.2 四条边

请看5.2.2

5.3.3 中间区域

在这里插入图片描述
需要写一个新的avg函数:
在这里插入图片描述

5.4 编译

5.4.1 代码编写完成后,按下esc键,并输入:wq保存修改并退出;
5.4.2 退出kernels.c文件后输入make,对修改后的文件进行编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值