PerfLab 性能优化实验(直接在服务器上完成)

  • 1. 实验前的准备
    • 1.1 登录服务器
    • 1.2 初始化
    • 1.3 打开目录
  • 2. 修改Makefile文件
  • 3. 修改kernels.c文件
  • 4. 优化rotate函数
    • 4.1 循环展开
    • 4.2 分块8*8(最优)
    • 4.3 分块16*16
    • 4.4 编译
  • 5. 优化smooth
    • 5.1 去掉不必要的函数
    • 5.2 对不同情况分类,重写计算平均值的函数(最优)
      • 5.2.1 四个角
      • 5.2.2 四条边
      • 5.2.3 中间区域
    • 5.3 在第二种基础上将中间区域打包成函数
      • 5.3.1 四个角
      • 5.3.2 四条边
      • 5.3.3 中间区域
    • 5.4 编译

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,对修改后的文件进行编译。

PerfLab(直接在服务器上完成)相关推荐

  1. Linux服务器上监控网络带宽的18个常用命令

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...

  2. 一台服务器两个mysql_在一台服务器上安装两个或多个mysql的实现步骤_MySQL

    如何在一台服务器上安装两个或者更多个的mysql呢?下面是详细的操作步骤,一起来学习学习吧. 一.环境 mysql软件包: mysql-5.6.31.tar mysql-5.5.32.tar 操作系统 ...

  3. 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令

    我的BLOG里有一篇文章介绍了关于SQL注入的基本原理和一些方法.最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令.这种方法也非常的简单,只需使用下面的 ...

  4. notepad php发布网站,谈谈如何把WordPress部署到服务器上

    第一次部署本网站,稀里糊涂差不多用了大半天,真是惭愧呀,很想狠狠的抽自己一下.老子信了你的邪!!!废话不多说,大概的步骤是: 前奏1.注册域名--云主机购买--域名备案--域名解析(dodo也是首次对 ...

  5. php显示服务器文件,php-无法显示从新服务器下载文件的进度(在以前的服务器上工作)...

    我一直在开发iPad应用程序,该应用程序使用ASIHTTPRequest下载一些PDF文件.我一直在使用进度委托来为用户显示进度条,以显示文件的下载进度.这是ASIHTTPRequest设置代码. r ...

  6. 使用wget在linux服务器上下载oracle软件

    今天需要在远程几台服务器上安装oracle软件,本地的网络不是很好,如果同本地下载,然后再上传到服务器上比较耗时.所以就想直接在服务器上直接下载软件,这样不光速度比较快,而且还节省了很多时间. 我是这 ...

  7. vbs脚本在服务器上虚拟按键,iisvdir.vbs iis虚拟目录管理脚本使用介绍

    IIS管理器也是通过调用iisvdir.vbs来实现虚拟目录的创建和删除的.我们可以通过命令行的方式来执行iisvdir.vbs脚本 1)创建虚拟目录: cscript c:\windows\syst ...

  8. 数据库备份到文件服务器,数据库文件备份到云服务器上

    数据库文件备份到云服务器上 内容精选 换一换 目前数据库服务器备份Agent安装包需要提交工单进行获取.当前仅支持x86计算类型的服务器,暂不支持鲲鹏计算类型的服务器.用户需要启用数据库备份前,需先在 ...

  9. 通过域名访问自己部署到服务器上的项目

    通过域名访问自己部署到服务器上的项目 如何不输入项目名端口号直接访问java web项目 1.省略输入端口号的步骤 在Linux的下面部署了tomcat,为了安全我们使用非root用户进行启动,但是在 ...

最新文章

  1. 【PAT甲级 Date时间比较】1006 Sign In and Sign Out (20 分) Java版 5/5通过
  2. DUBBO 使用问题记录
  3. 基于Blink构建亲听项目以及全链路debug项目实时响应能力 1
  4. oracle命令历史记录,oracle命令历史记录工具(rlwrap)
  5. java 捕获运行时异常_java-如何通过ASM在字节码中捕获运行时异常
  6. python多个dataframe_python对分组在多个列上的dataframe进行条件和运算
  7. vue如何让自定义函数挂到全局
  8. Net平台下的Mock工具---Rhino Mocks
  9. umask 文件预设权限掩码
  10. 代码质量(权威精选植根于开发实践的最佳读物)
  11. 低频时码授时技术与中国电波钟表发展历程简介
  12. Xpose_HOOK入门教程
  13. 5G牌照都发完了,那些传说中的5G手机Ready了吗?
  14. RVB2601应用开发实战系列六:网络播放器设计(二)
  15. DIV+CSS系统学习:转载
  16. 赣南师范大学数学与计算机科学学院张志超,张志超 - 南京信息工程大学 - 数学与统计学院...
  17. 蓝牙怎么调声音大小_苹果蓝牙耳机
  18. spring-boot整合druid配置
  19. 是时候完全转向无服务器化了吗?
  20. JAVA飞信_java调用飞信接口发短信 - 贪吃蛇学院-专业IT技术平台

热门文章

  1. JAVA经过两轮面试还能被刷吗_云从科技JAVA开发工程师面试:视频进行面试,前两轮技术面试 - 职朋职业圈...
  2. 撰写论文时word使用诀窍标题
  3. C++中sstream的简单使用
  4. 滑雪课程设计Ski Course Design
  5. alsa 测试 linux_Linux低延迟服务器系统调优
  6. python编写格斗游戏_Python文字小游戏:搏击比赛
  7. delphi设置鼠标图形
  8. JSON.stringify() 格式化 输出log
  9. Express使用http-proxy-middleware
  10. 201671030125+词频统计软件项目报告