PerfLab(直接在服务器上完成)
PerfLab 性能優(yōu)化實(shí)驗(yàn)(直接在服務(wù)器上完成)
- 1. 實(shí)驗(yàn)前的準(zhǔn)備
- 1.1 登錄服務(wù)器
- 1.2 初始化
- 1.3 打開目錄
- 2. 修改Makefile文件
- 3. 修改kernels.c文件
- 4. 優(yōu)化rotate函數(shù)
- 4.1 循環(huán)展開
- 4.2 分塊8*8(最優(yōu))
- 4.3 分塊16*16
- 4.4 編譯
- 5. 優(yōu)化smooth
- 5.1 去掉不必要的函數(shù)
- 5.2 對(duì)不同情況分類,重寫計(jì)算平均值的函數(shù)(最優(yōu))
- 5.2.1 四個(gè)角
- 5.2.2 四條邊
- 5.2.3 中間區(qū)域
- 5.3 在第二種基礎(chǔ)上將中間區(qū)域打包成函數(shù)
- 5.3.1 四個(gè)角
- 5.3.2 四條邊
- 5.3.3 中間區(qū)域
- 5.4 編譯
1. 實(shí)驗(yàn)前的準(zhǔn)備
1.1 登錄服務(wù)器
打開cmd,輸入指令ssh 49.123.112.130 -用戶名
1.2 初始化
輸入指令perf_init(初始化只需要在第一次登陸時(shí)操作,以后如果再次初始化會(huì)將自己所做的所有修改清空)
1.3 打開目錄
輸入指令:cd perfLab
2. 修改Makefile文件
2.1 輸入指令vim Makefile;
2.2 進(jìn)入Makefile文件后,輸入小寫字母i(vim中輸入命令)進(jìn)入編輯模型(做下角出現(xiàn)insert);
2.3 使用鍵盤的左右鍵移動(dòng)光標(biāo)找到需要修改的位置進(jìn)行修改班級(jí),學(xué)號(hào),姓名);
2.4 修改完成后按下esc鍵,退出insert模式,然后輸入:wq保存并退出。
3. 修改kernels.c文件
3.1 在命令行界面輸入指令 vim kernels.c;
3.2 在打開的kernels.c文件中輸入i進(jìn)入insert模式,修改后按下esc鍵,并輸入:wq保存修改并退出;
3.3 輸入make對(duì)修改了內(nèi)容進(jìn)行編譯;
4. 優(yōu)化rotate函數(shù)
使用vim kernels.c打開文件,輸入i進(jìn)入insert模式,在空白處模仿給出的初始rotate函數(shù)的形式增加三個(gè)優(yōu)化函數(shù):
4.1 循環(huán)展開
4.2 分塊8*8(最優(yōu))
4.3 分塊16*16
4.4 編譯
4.4.1 代碼編寫完成后,按下esc鍵,并輸入:wq保存修改并退出;
4.4.2 退出kernels.c文件后輸入make,對(duì)修改后的文件進(jìn)行編譯。
5. 優(yōu)化smooth
5.1 去掉不必要的函數(shù)
對(duì)原avg函數(shù)進(jìn)行修改,把調(diào)用的函數(shù)直接替換成相應(yīng)函數(shù)的代碼;
5.2 對(duì)不同情況分類,重寫計(jì)算平均值的函數(shù)(最優(yōu))
5.2.1 四個(gè)角
5.2.2 四條邊
5.2.3 中間區(qū)域
5.3 在第二種基礎(chǔ)上將中間區(qū)域打包成函數(shù)
5.3.1 四個(gè)角
請(qǐng)看5.2.1
5.3.2 四條邊
請(qǐng)看5.2.2
5.3.3 中間區(qū)域
需要寫一個(gè)新的avg函數(shù):
5.4 編譯
5.4.1 代碼編寫完成后,按下esc鍵,并輸入:wq保存修改并退出;
5.4.2 退出kernels.c文件后輸入make,對(duì)修改后的文件進(jìn)行編譯。
總結(jié)
以上是生活随笔為你收集整理的PerfLab(直接在服务器上完成)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 结对编程前对队友程序的分析与对比总结
- 下一篇: 软件工程导论个人项目 -- 中小学数学卷