编译器O2优化下,分块矩阵乘法的TLB分析猜想
直接将写在实验报告里的那段放进去就算了,好累。
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分析猜想相关推荐
- 程序性能优化探讨(6)——矩阵乘法优化之分块矩阵
有一种性格叫做偏执,有一种矩阵优化运算叫做分块.实话说,也许我这辈子也用不上这种随牛B但很复杂的算法,有些版本的教材直接删除这个内容.但越是这样我越想不过,因此借写这篇博客,把分块矩阵乘法彻底分析清楚 ...
- 分块矩阵乘法+乒乓操作
本文用system verilog实现了分块矩阵乘法中计算输出矩阵的某一块,并且进行了pingpang操作,以掩盖数据传输时间. 这是顶层模块的代码: `timescale 1ns / 1ps // ...
- 矩阵乘法优化之分块矩阵
当矩阵尺寸过大时,数据的大小将超过缓存的大小,这是容易出现满不命中现象. 将矩阵进行分块可以解决这个问题,以下是完整的矩阵乘法代码: vord brck(array A, array B, array ...
- 矩阵乘法 递归 优化 c语言,矩阵乘法优化递归式
序: 在OI比赛中,很多情况下我们可以能通过打表(找规律)或者某些方式发现一个递归式. 例如:f(n) = f(n - 1)+f(n - 2),(斐波那契数列). 通常情况下,我们计算f(n)的时间复 ...
- free(): invalid pointer arm环境O2优化下string free异常分析
文章目录 1. 背景: 2. 代码示例: 3. 分析过程 3.1 现象一 3.2 现象二 3.3 现象三 4.结论 1. 背景: 近期,ARM开发环境中出现过一次free(): invalid poi ...
- cache 在X86和ARM的性能比较 - 矩阵累加和分块矩阵乘法
有一段时间在x86和arm服务器下面做开发,需要平台之间的移植,然后经常发现同一段代码在不同平台下面的表现不一样,有一大部分原因是不同平台对cache处理方法不一样. 大部分参考资料上说,cache有 ...
- MPI编程——分块矩阵乘法(cannon算法)
要求: 分析 本题难点在于不同process之间的通信,算法主要利用了cannon算法,cannon算法描述如下: 以上算法主要分为两个过程:分配初始位置.进行乘-加运算.循环单步移位.为了方便,下面 ...
- CUDA 分块矩阵乘法
cpp文件 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> //为rand ...
- c++实现矩阵乘法和分块矩阵乘法
矩阵A大小 : m * p,矩阵B大小 : p * m,结果矩阵C大小 : m * n,分块的大小为k * k. 废话少说,原理也不提,直接上代码 #include "iostream&qu ...
最新文章
- 学好机器学习,这里有想要的一切
- 【ArcGIS微课1000例】0009:ArcGIS影像拼接(镶嵌、镶嵌至新栅格)
- 动态规划训练11 [String painter HDU - 2476]
- React开发(206):react代码分割之context的api
- oracle闪回特性,oracle闪回特性
- ElasticSearch 快照 备份、恢复数据
- MySQL笔记-事务理论及并发存在的三个问题(脏读、不可重复读、幻读)演示
- pythonexecquery_python 进程信息
- 优客365 v2.9版本 后台存在SQL注入
- HTML+CSS简单漫画网页设计成品 蜡笔小新3页 大学生个人HTML网页制作作品
- 堪称神器的图片无损放大缩小工具
- Laya1.0Matter.js案例之牛顿摆
- ADS1256,引起了通信丢失
- 计算机word文本段落位置互换,word中调换位置 用word怎么使两个段落互换位置
- word目录中页码没有向右对齐的解决方法
- 使用CAD旋转复制命令绘制图形
- 计算机图像技术及其应用,计算机图像处理技术的研究与应用
- 浏览器批量采集网站标题 保存Excel表格
- linux剪贴板管理工具收集
- 手动破解XP登陆密码
热门文章
- 用ALSA驱动声卡流程详解
- JAVA异常处理、自定义异常、throws关键字与throw关键字、运行时异常
- Classmate Reunion-Technical Support
- 积木报表·JimuReport 1.3.64 版本发布,免费的企业级可视化报表工具
- 荣耀7x刷android10,华为荣耀畅玩7X官方固件rom包_荣耀畅玩7X完整系统升级包
- error LNK1104: cannot open file 'libboost_date_time-vc120-mt-gd-1_60.lib'
- C# 简洁代码实现面向切面编程(AOP)
- 自适应波束形成(一)——窄带波束形成和宽带波束形成
- 门控图神经网络及PyTorch实现
- 《计算方法》复习重点归纳