11 矩阵乘法的CPU上的硬件加速

矩阵乘法的硬件加速

请添加图片描述

这里的硬件加速是指,如果依靠算法,可以通过减少访存次数来加速。可以将数据预取到cache来减少访存次数。

矩阵相乘最简单的实现

请添加图片描述

寄存器平铺矩阵乘法

请添加图片描述

将矩阵划分成多个小的矩阵块,小的矩阵块可以存放在寄存器中,进行小矩阵的乘法时,无需再向内存中取值

请添加图片描述

cache 行级别平铺

请添加图片描述

尽可能将一行或者一列矩阵块读入 l1cache,然后从一行或者一列的cache中读取小的矩阵块到寄存器中进行乘法计算。

下方红框中就是计算 v 1 ∗ v 2 v_1*v_2 v1v2 大小的矩阵过程,再将 v 1 ∗ v 2 v_1*v_2 v1v2 大小的矩阵拼成 b 1 ∗ b 2 b_1*b_2 b1b2 大小

请添加图片描述

在寄存器分块的例子中,ar被复用了v2次,br被复用了v1次
耗时:
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值