编译器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控制指令或预取指令有关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值