直接将写在实验报告里的那段放进去就算了,好累。

3.3(2分)对最优分块大小的分析
实验表明,分块大小为 32 时性能最好。这个结果和你的预期一致吗? 不一致 。如果不一致,其原因在于 使用perf工具对编译器优化参数为O0、O2下,m0/4、m0/2、m0三种分块大小的运行情况进行了查看,查看的参数主要为L1 dcache miss、dTLB miss。结果显示:

  • A.在O2情况下,三种分块大小下的L1 dcache miss、dTLB miss都比O0情况下有明显减少;
  • B.无论在O0还是O2情况下,m0分块大小下的 L1 dcache miss均比另外两种分块大小明显减少,这和预期是一致的;
  • C.在O0情况下,三种分块大小的dTLB miss是大致相等的,但在O2情况下dTLB miss情况为m0/2优于m0/4,而m0/4优于m0。

所以之所以最终结果不符合预期,是因为m0/2方案在TLB miss和cache miss的综合作用下,比cache miss最优的m0分块方案要更好。编译器在O2优化下,为何能使TLB miss明显减少,推测可能是与TLB控制指令或预取指令有关。

编译器O2优化下,分块矩阵乘法的TLB分析猜想相关推荐

  1. 程序性能优化探讨(6)——矩阵乘法优化之分块矩阵

    有一种性格叫做偏执,有一种矩阵优化运算叫做分块.实话说,也许我这辈子也用不上这种随牛B但很复杂的算法,有些版本的教材直接删除这个内容.但越是这样我越想不过,因此借写这篇博客,把分块矩阵乘法彻底分析清楚 ...

  2. 分块矩阵乘法+乒乓操作

    本文用system verilog实现了分块矩阵乘法中计算输出矩阵的某一块,并且进行了pingpang操作,以掩盖数据传输时间. 这是顶层模块的代码: `timescale 1ns / 1ps // ...

  3. 矩阵乘法优化之分块矩阵

    当矩阵尺寸过大时,数据的大小将超过缓存的大小,这是容易出现满不命中现象. 将矩阵进行分块可以解决这个问题,以下是完整的矩阵乘法代码: vord brck(array A, array B, array ...

  4. 矩阵乘法 递归 优化 c语言,矩阵乘法优化递归式

    序: 在OI比赛中,很多情况下我们可以能通过打表(找规律)或者某些方式发现一个递归式. 例如:f(n) = f(n - 1)+f(n - 2),(斐波那契数列). 通常情况下,我们计算f(n)的时间复 ...

  5. free(): invalid pointer arm环境O2优化下string free异常分析

    文章目录 1. 背景: 2. 代码示例: 3. 分析过程 3.1 现象一 3.2 现象二 3.3 现象三 4.结论 1. 背景: 近期,ARM开发环境中出现过一次free(): invalid poi ...

  6. cache 在X86和ARM的性能比较 - 矩阵累加和分块矩阵乘法

    有一段时间在x86和arm服务器下面做开发,需要平台之间的移植,然后经常发现同一段代码在不同平台下面的表现不一样,有一大部分原因是不同平台对cache处理方法不一样. 大部分参考资料上说,cache有 ...

  7. MPI编程——分块矩阵乘法(cannon算法)

    要求: 分析 本题难点在于不同process之间的通信,算法主要利用了cannon算法,cannon算法描述如下: 以上算法主要分为两个过程:分配初始位置.进行乘-加运算.循环单步移位.为了方便,下面 ...

  8. CUDA 分块矩阵乘法

    cpp文件 #include "stdafx.h" #include <stdio.h> #include <stdlib.h>       //为rand ...

  9. c++实现矩阵乘法和分块矩阵乘法

    矩阵A大小 : m * p,矩阵B大小 : p * m,结果矩阵C大小 : m * n,分块的大小为k * k. 废话少说,原理也不提,直接上代码 #include "iostream&qu ...

最新文章

  1. 学好机器学习,这里有想要的一切
  2. 【ArcGIS微课1000例】0009:ArcGIS影像拼接(镶嵌、镶嵌至新栅格)
  3. 动态规划训练11 [String painter HDU - 2476]
  4. React开发(206):react代码分割之context的api
  5. oracle闪回特性,oracle闪回特性
  6. ElasticSearch 快照 备份、恢复数据
  7. MySQL笔记-事务理论及并发存在的三个问题(脏读、不可重复读、幻读)演示
  8. pythonexecquery_python 进程信息
  9. 优客365 v2.9版本 后台存在SQL注入
  10. HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品
  11. 堪称神器的图片无损放大缩小工具
  12. Laya1.0Matter.js案例之牛顿摆
  13. ADS1256,引起了通信丢失
  14. 计算机word文本段落位置互换,word中调换位置 用word怎么使两个段落互换位置
  15. word目录中页码没有向右对齐的解决方法
  16. 使用CAD旋转复制命令绘制图形
  17. 计算机图像技术及其应用,计算机图像处理技术的研究与应用
  18. 浏览器批量采集网站标题 保存Excel表格
  19. linux剪贴板管理工具收集
  20. 手动破解XP登陆密码

热门文章

  1. 用ALSA驱动声卡流程详解
  2. JAVA异常处理、自定义异常、throws关键字与throw关键字、运行时异常
  3. Classmate Reunion-Technical Support
  4. 积木报表·JimuReport 1.3.64 版本发布,免费的企业级可视化报表工具
  5. 荣耀7x刷android10,华为荣耀畅玩7X官方固件rom包_荣耀畅玩7X完整系统升级包
  6. error LNK1104: cannot open file 'libboost_date_time-vc120-mt-gd-1_60.lib'
  7. C# 简洁代码实现面向切面编程(AOP)
  8. 自适应波束形成(一)——窄带波束形成和宽带波束形成
  9. 门控图神经网络及PyTorch实现
  10. 《计算方法》复习重点归纳