PerfLab 性能优化实验(直接在服务器上完成)
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
,对修改后的文件进行编译。